我有相当大的Latex文档,里面有很多TikZ数字。我有一个经常重新编译的习惯,使用pdflatex编译它需要花费很长时间。 TikZ的数据占据了大部分时间。
我的问题是,将文档拆分为单独的tex文件(图/章)以实现图形和章节的单独编译,单独的pdf章节和整个文档pdf文件的最佳方法是什么?
答案 0 :(得分:7)
您是否尝试过自己编辑每张图片,然后将它们作为pdf而不是tikz代码包含在您的tex文件中?您可以单独使用该包,以便图片将是您需要的确切大小。所以:
\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}
答案 1 :(得分:6)
缓存tikz-pictures 可能有更好的方法(imho)。在您的添加中添加以下行 前导码:
\usetikzlibrary{external}
\tikzexternalize[prefix=i/]
在pdflatex-run之后,您将看到子目录./i中的所有图片。 如果更新tikz-picture的代码,只需丢弃相应的pdf文件,它就会被重新生成。有关详细信息,请参阅PFG / TikZ部分的手册 32.4外部化图形 并且可能 32.5使用没有安装pgf的外部图形。
答案 2 :(得分:2)
如何将每个章节放在一个单独的文件中,然后使用\include
将它们放入某个主文件中?然后,您可以使用\includeonly
仅编译您当前正在处理的章节。这应该至少节省一些时间。
我希望某种基于makefile的解决方案比这更好,但我对makefile没有任何了解......
答案 3 :(得分:1)
我通常这样做的方法是将Latex应用于文件的一部分:Emacs和其他几个Latex编辑器允许您使用编译器区域:使用Auctex,您可以运行TeX-pin-region来指定当前章节,以及然后TeX命令区域在所选区域上运行Latex。
执行此操作的传统方法是将大文件的部分剪切为\include
d的较小部分,然后注释掉您不想处理的部分,或者在开头放置一些宏观文件和每个文件的结尾,允许它们单独编译。