article
编译具有许多子文件的类的文档的最有效方法是什么TikZ
?
在主文档中,我添加了\usepackage{standalone}
各个\includestandalone
子文件。
添加选项
subpreambles = true
、并从主文档中sort = true
修剪所有前言会更好吗?TikZ
或者我不应该使用这些选项并保留
TikZ
主.tex
文件和子文件中的所有前导码?
哪种方法可以加快编译速度?如果这两种方法都不是真正有效的,我该怎么做?
目前,我的文档有大约 10060
页,但编译需要几分钟。我有 30 多个.eps
图表和 30 多个TikZ
子文件。除了TikZ
代码,其他一切都很标准LaTeX
。
子文件的文档类别standalone
带有选项convert = false
。
另一个导致编译速度变慢的问题是,standalone
在编译主文档时会编译所有图片。然而,95% 的图片可能没有任何变化。
主要示例文档:
\documentclass{article}
\usepackage{standalone}
\usepackage{tikz}
\usepackage{float}
\begin{document}
text here
\begin{figure}[H]
\centering
\includestandalone{test}
\end{figure}
text here
\end{document}
测试示例文档
\documentclass[convert = false, tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0, 0) circle[radius = .35cm];
\end{tikzpicture}
\end{document}
答案1
我使用的建议zeroth 的讨论. 讨论是为了pdflatex。
不过,我用赛莱特,我只测试方法特科利在Linux x64系统。
这是我让它发挥作用的方法赛莱特编译器:
在文档序言之后
\usepackage{tikz}
:\usepackage{tikz} \usetikzlibrary{external} \tikzexternalize[figure list=false,prefix=tikz/] % make tikz externalize and store in directory "tikz" \tikzset{external/system call={xelatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"}} % to let xelatex work
并使用该命令
xelatex -shell-escape xxxxxxx.tex
编译外部化的图片。(到目前为止,正常xelatex xxxxxxx.tex
命令会返回错误)一旦所有独立的 pdf 文件编译完毕,
xelatex xxxxxxx.tex
就可以正常工作。
这不是完美的方式做 tikz 图形外部化,因为这里的选项无法识别外部化的 pdf 文件是否与新的 tikz 图形相同。