我正在处理一个文档(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。如果它们存在,则只包含这些图像,而不会处理图片本身。如果图形文件不存在,则采取措施生成缺失的文件。