【问题标题】:How can I build PDF LaTeX documents with ANT (or some other build system if you prefer)?如何使用 ANT(或其他构建系统,如果您愿意)构建 PDF LaTeX 文档?
【发布时间】:2009-10-08 17:49:03
【问题描述】:

我所在的团队管理着大量用 LaTeX 编写的技术文档。

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

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

我想知道是否有更好的方法来做到这一点?我们部门的大多数人在 Python 项目中使用 Eclipse + Pydev,这意味着我们都非常熟悉这个 IDE。我知道 Ant 可以很好地与 Eclipse 配合使用,那么我们可以使用这个工具来构建文档吗?

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

【问题讨论】:

  • 为什么要将自动生成的内容签入到存储库中?这似乎是一种不寻常的做法。
  • 我们不会签入任何自动生成的内容。文档大多是手写的。

标签: ant latex makefile


【解决方案1】:

有一个用于 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,但是我找不到任何文档。

【讨论】:

  • 我看到了那个链接,不幸的是我只会说英语。
  • 我的德语也不是很好,但我找到了指向操作指南页面的链接并发布了其中一个示例。参数至少是英文的,所以你可能没问题...
【解决方案2】:

没试过,但我记得seeing a blog post about it。

【讨论】:

    【解决方案3】:

    如果你知道 python,this blog post might be interesting

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

    【讨论】:

      【解决方案4】:

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

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

      我想我还应该指出,在没有先构建并检查它的情况下提交某些东西是一种致命的罪过,因此更好的解决方案可能是消除它。

      【讨论】:

        【解决方案5】:

        与 Ant 相比,Maven 是一个更好的构建系统替代品。所以我会推荐一个 maven-plugin 从 LaTeX 源生成 PDF。看看mathan-latex-maven-plugin

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-03-01
          • 2011-09-22
          • 2010-10-29
          • 1970-01-01
          • 1970-01-01
          • 2011-03-08
          • 2012-01-10
          相关资源
          最近更新 更多