如何使用ANT(或其他一些构建系统,如果您愿意)构建PDF LaTeX文档?

时间:2009-10-08 17:49:04

标签: ant latex makefile

我工作的团队管理着大量的技术文档,这些文档是用LaTeX编写的。

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

我设法破解了一个简单的脚本来使用Make构建PDF - 它非常笨拙。

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

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

5 个答案:

答案 0 :(得分:7)

LaTeX PDF生成有一个外部Ant task,但该网站是德语版。

要使用它,请将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,但我找不到任何文档。

答案 1 :(得分:1)

没有尝试过,但我记得seeing a blog post about i t。

答案 2 :(得分:1)

如果您了解python,this blog post might be interesting

编辑:另外,我会假设您正在使用某种版本控制系统,我不能肯定地说,但我使用git来管理我的所有乳胶文档,以及有可能使用某种提交后挂钩来执行脚本来重建文档。这取决于你的存储库的结构......只是大声思考,可以这么说。

答案 3 :(得分:1)

我在this question中对乳胶的大量构建系统进行了详细介绍,但在您的情况下略有不同。我想你想要橡胶或者latexmk。 latex-makefile似乎是一个好主意,但只支持通过postscript构建,这可能不是你的构建过程。

通常,出于这个原因,最好将生成的文件保留在版本控制之外。一个很好的例外是当专业构建工具不能广泛使用时,您的情况听起来很相似。使用commit-hook在提交时自动构建可能会做得更好。

我想我还应该指出,在没有先构建它并检查它的情况下进行某些操作是一种致命的罪行,因此更好的解决方案可能是将其标记出来。

答案 4 :(得分:0)

与Ant相比,Maven是构建系统的更好选择。所以我建议使用maven-plugin从LaTeX源生成PDF。看看mathan-latex-maven-plugin