背景

背景

背景

希望使用 生成 PDF latexmk。从基于 Web 的应用程序自动生成的 LaTeX 文档将包含许多大图像、Tikz 图形、目录、多个索引等。

默认调用latexmk将在每次运行中包含图像pdflatex。为了提高性能,建议使用-draftmode

问题

程序latexmk无法确定下一次运行pdflatex是否是生成完成文档所需的最后一次运行。

通过简单的测试,不使用时差别为 10 秒-draftmode,使用时差别为 0.9 秒-draftmode:这是一个数量级,非常显著。

问题

如何确定pdflatex生成 PDF 文档所需的确切运行次数,以便pdflatex除最后一次调用之外的调用都可以使用-draftmode

谢谢你!

想法

  • 可以传入一个等于所需运行次数的数字。我宁愿不使用这种方法,因为动态确定是理想的。
  • 在最后执行额外的运行pdflatex,这不在-draftmode

答案1

在评论中您指出该文档是在结构上生成和约束的,因此可能无需排版就可以预先确定运行次数。

如果有任何\pageref交叉引用,那么最好排版直到 LaTeX 确定引用稳定,因为排版页码和文档的分页之间存在循环依赖关系,在病理情况下可能根本无法解决。

如果没有页面引用,则一次运行 latex 就会将所有参考编号放入辅助文件中,因此\ref第二次运行时所有内容都应该是正确的。

开头的目录实际上是页面引用的集合,因此如果您有目录并想限制所需的运行次数,请将目录放在带有(比如说)罗马页码的前言部分,后跟强制分页符,以便主要文档内容的分页和编号不受目录长度的影响。

相关内容