我有相当大的Latex文档,里面有很多TikZ数字。我有一个经常重新编译的习惯,使用pdflatex编译它需要很长时间。TikZ的数字占据了大部分时间。

我的问题是将文档拆分为单独的tex文件(数字/章节)以实现单独编译数字和章节,单独章节pdf和整个文档pdf文件的最佳方法是什么?

有帮助吗?

解决方案

您是否尝试自己编译每张图片,然后在TEX文件中包括PDF而不是TIKZ代码?您可以使用包独立式,以便图片将是您需要的精确尺寸。所以:

\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图,或者您可以使用命令\输入将其包含在主要文档中作为TIKZ代码。添加

\usepackage{standalone}
.

在您的主文档(与Tikz软件包和库一起),然后

\begin{figure}
\input{tikzfile.tex}
\end{figure}
.

其他提示

可能有一种更好的方法(imho)到 cache tikz-picture 。添加以下行 序言:

\usetikzlibrary{external}
\tikzexternalize[prefix=i/]
.

在pdflatex运行之后,您会在子目录中看到所有图片./i。 如果更新Tikz-Picture的代码,只需丢弃其对应的PDF文件,它将被重新生成。有关详细信息,请参阅PFG / TIKZ部分 32.4的手册 32.4外化图形 并且可能使用没有PGF的外部图形 32.5。

如何将每个章节放在一个单独的文件中,然后使用 \include 把它们放到主文件里?然后你可以使用 \includeonly 只编译您当前正在编写的章节。这至少可以节省一些时间。

我希望某种基于makefile的解决方案会比这更好,但我对makefile一无所知。..

我通常这样做的方式是将乳胶应用于文件的一部分:emacs和几个其他乳胶编辑器允许您编译:使用auctex,您可以运行Tex-Pin-Region来指定当前章节,并提供本章然后tex-command-eaigs以在所选区域上运行乳胶。

要执行的传统方式是将大文件的部分切割成为生成的较小部分,然后注释出您不想工作的零件,或者在每个文件的开头和结尾放置一些巨大允许它们单独编译。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top