tikz
我的文档包含由、、forest
等生成的大量图像bussproofs
,因此编译花费了太多时间。如果我可以先将图像编译为 PDF,然后直接将它们插入到主文档中,那就更好了。理想情况下,只有当源代码发生更改并且相应的 PDF 不再是最新时,才会编译图像文件。
昨天,我读了外包 TikZ 代码而这个standalone
包似乎是解决我耗时的编译问题的完美方法。我standalone
为每张图片创建了一个包含单独文件的子文件夹,并将它们包含在我的主文件中\includestandalone
。不幸的是,这似乎并没有加快速度。但后来我注意到马丁在他的回答关于上述问题:
也可以将所有 TikZ 文件编译为单个 PDF 并将其包含在文档中。这可以显著加快编译过程(当然,第一个除外)。
是的,所以我实际上必须先编译我的所有图像文件。由于我不想手动编译它们,我开始阅读standalone
手动的寻找解决方案,发现有几种输入模式。我认为这mode=buildnew
正是我所寻找的,但是当我编译主文件时,没有一个图像文件被编译,我仍然需要等待很长时间才能输出 PDF。build
和buildnew
模式也是如此。
我是否误解了这些模式的功能?我的主要问题仍未解决:如何standalone
在将文件插入主文档之前自动编译它们?
答案1
这将复制除要替换的一页之外的所有页面。注意:重命名 PDF 文件,以免每次都自动销毁。(另存为文件名)
\documentclass[multi={tikzpicture,wrapper}]{standalone}
\usepackage{tikz}
\newenvironment{wrapper}{\ignorespaces}{\ignorespaces}
\newcommand{\beforepage}[2]% #1=page, #2=standalone filename
{\loop\ifnum\value{page}<#1\relax
\begin{wrapper}
\includegraphics[page=\thepage]{#2}%
\end{wrapper}
\repeat}
\begin{document}
\beforepage{1}{filename}
\begin{tikzpicture}
\node[draw]{this is a test \thepage};
\end{tikzpicture}
\beforepage{2}{filename}% last page plus one
\end{document}
您还可以使用它一次添加一页。