代码之家  ›  专栏  ›  技术社区  ›  Salim Fadhley

如何使用Ant(或者其他构建系统,如果您愿意的话)构建PDF LaTex文档?

  •  7
  • Salim Fadhley  · 技术社区  · 16 年前

    我的团队负责管理大量用乳胶编写的技术文档。

    目前,我们拥有的所有文档都是由编辑器手工构建的,然后签入到版本控制系统中。有时人们会忘记编译他们的文档,因此我们遇到了这样一种情况:PDF和.tex文件常常不同步。不幸的是,当这种情况发生时,我们的用户发现自己正在阅读我们文档的旧版本。

    我已经设法破解了一个简单的脚本来使用make构建PDF——这相当笨拙。

    我想知道有没有更好的方法?我们部门的大多数人将Eclipse+Pydev用于Python项目,这意味着我们都非常熟悉这个IDE。我知道Ant可以很好地处理Eclipse,所以我们可以在构建Doc时使用这个工具吗?

    那么,最好的方法是什么呢?我希望我不必学习所有关于新构建系统的知识,以便自动构建一些非常简单的文档。

    5 回复  |  直到 8 年前
        1
  •  7
  •   Rich Seller    16 年前

    有一个外部的 Ant task 对于LaTex PDF的生成,尽管该站点是德语的。

    要使用它,请将JAR下载到计算机上的某个位置,然后定义一个taskdef,如下所示:

    <taskdef name="latex"    classname="de.dokutransdata.antlatex.LaTeX"  
      classpath="/path/to/ant/lib/ant_latex.jar"/> 
    

    然后,要使用它,请定义如下目标:

    <target name="doLaTeX">  
      <latex  
        latexfile="${ltx2.file}"  
        verbose="on"  
        clean="on"  
        pdftex="off"  
        workingDir="${basedir}"  
      />  
    </target> 
    

    其中ltx2.file是要处理的文件。

    这是到 howto page 列出参数。如果你需要更多的选择,我的德语大概可以解释一下。

    还有一个 maven plugin for LaTeX 但是我找不到任何文件。

        2
  •  1
  •   Uri    16 年前

    没试过,但我记得 seeing a blog post about i T

        3
  •  1
  •   Mica    16 年前

    如果你认识巨蟒, this blog post might be interesting

    编辑 :另外,我假设您使用的是某种版本控制系统,我不能肯定,但我使用Git来管理所有的LaTex文档,并且可能使用某种提交后挂钩来执行脚本来重建文档。这将取决于存储库的结构…就这么大声地想吧。

        4
  •  1
  •   Community Mohan Dere    9 年前

    我详细介绍了在年为乳胶建造的大量系统。 this question 但在你的情况下有点不同。我想你要橡胶的还是晚点的。LaTex Makefile似乎是一个好主意,但只支持通过PostScript进行构建,这可能不是您的构建过程。

    一般来说,出于这个原因,最好将生成的文件保持在版本控制之外。一个很好的例外是,专家构建工具并不广泛可用,而且您的情况听起来类似。使用提交挂钩可以更好地在提交时自动构建。

    我想我也应该指出,在没有首先构建和检查的情况下犯下某件事是一种致命的罪行,所以更好的解决办法可能是消除这种情况。

        5
  •  0
  •   reallyinsane    8 年前

    与Ant相比,Maven是更好的构建系统替代方案。所以我推荐一个Maven插件从乳胶源生成PDF。看一看 mathan-latex-maven-plugin