我有一个相当大的LaTeX文档,其中包含许多TikZ图形。我习惯于经常重新编译,但使用pdflatex编译它需要很长时间,TikZ中的图形需要大部分时间。
我的问题是,将文档拆分为单独的tex文件(图表/章节)以实现图表和章节的分别编译、分别生成章节pdf文件以及整个文档pdf文件,最好的方法是什么?
我有一个相当大的LaTeX文档,其中包含许多TikZ图形。我习惯于经常重新编译,但使用pdflatex编译它需要很长时间,TikZ中的图形需要大部分时间。
我的问题是,将文档拆分为单独的tex文件(图表/章节)以实现图表和章节的分别编译、分别生成章节pdf文件以及整个文档pdf文件,最好的方法是什么?
你尝试过将每个图片单独编译为pdf文件,然后在TeX文件中包含它们,而不是使用TikZ代码吗?您可以使用standalone宏包,以使图片的大小与您需要的完全一致。因此:
\documentclass{standalone}
\usepackage{tikz,pgf} %and any other packages or tikzlibraries your picture needs
\begin{document}
\begin{tikzpicture}
%your tikz code here
\end{tikzpicture}
\end{document}
这个好处是你可以直接编译该文档以获得一个pdf图形,然后将其包含在你的文档中;或者你可以使用命令\input将其作为tikz代码包含在你的主文档中,方法是添加
\usepackage{standalone}
将以下代码放置于你的主文档中(与tikz包和库一起),然后
\begin{figure}
\input{tikzfile.tex}
\end{figure}
我认为有一种可能更好的方法来缓存tikz图片。在你的导言部分添加以下几行:
\usetikzlibrary{external}
\tikzexternalize[prefix=i/]
在运行pdflatex后,您将在子目录./i中看到所有图片。 如果您更新tikz图片的代码,请直接删除其相应的pdf文件,它将被重新生成。有关更多信息,请参阅PFG/TikZ手册第32.4节“外部化图形”,以及可能的第32.5节“在未安装pgf的情况下使用外部图形”。
\include
将它们放入某个主文件中?然后您可以使用\includeonly
只编译当前正在工作的章节。这样至少可以节省一些时间。\include
,然后要么注释掉您不想处理的部分,要么在每个文件的开头和结尾放置一些宏代码,以便它们可以单独编译。
\tikzstyle
命令,您可以将它们放在\begin{tikzpicture}
选项中,例如这里。 - jmon12