大型文档的增量构建

大型文档的增量构建

我正在处理一个文档(scrbook如果相关的话,使用类),该文档最终将包含大量文本和大量 tikz 图形。即使在编写第一章时,我也注意到运行 pdflatex、bibtex 和 makeindex 需要相当长的时间。我预计当文本和图形数量增加时,这种情况会变得更糟(即甚至更长)。

我已经将文档结构化为多个文件,因为在编写过程中,我经常只对整个文档的一部分进行更改(例如,一章或附录的一部分)。有没有办法重用上次运行期间 pdflatex 生成的文件来预览更新后的文档(而不必等待文档完全重建)?

我不介意目录之类的东西不更新。我当前的工具链和编辑器安装在 Windows (MiKTeX) 和 Linux (TeX Live) 上,但我可以忍受只限于这两个平台之一。我的首要任务是减少预览所需的构建时间。

答案1

我不知道pdflatex或其他latex程序可以进行增量编译,tikz 可以使用来缓存创建的图像tikzexternal,来自手册:

50.4 外部化图形

\documentclass{article}
% main document, called main.tex
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize % activate!
\begin{document}
\begin{tikzpicture}
\node {root}
child {node {left}}
child {node {right}
child {node {child}}
child {node {child}}
};
\end{tikzpicture}
A simple image is \tikz \fill (0,0) circle(5pt);.
\end{document}

该方法的工作原理如下:如果文档排版正常,则库会搜索每张图片的替换图像。在默认配置下,文件名会自动生成。在我们的例子中,两个文件名将是 main-figure0 和 main-figure1。如果它们存在,则只包含这些图像,而不会处理图片本身。如果图形文件不存在,则采取措施生成缺失的文件。

相关内容