我想加快我的乳胶文档的构建速度,并且好奇在构建文档时是否可以使用我的所有四个处理器核心。
有Windows 用户说明,但我还没有找到任何适合 Linux 用户的。
答案1
TeX 引擎是单线程的,因此无法将负载分配到多个核心。TeX 处理通常需要运行外部程序(biber、bibtex、makeindex),但由于它们需要 TeX 生成的文件并将其结果作为文件发送到 TeX,因此您在这里也无法做太多事情。
不过,多核机器还是有优势的:如果你的编辑器(或 TeXStudio)在一个核上运行,而 TeX 引擎在另一个核上运行,那么速度会更快。不过,这通常是由你的操作系统自动完成的,对你来说是透明的。
另一种情况是使用或处理rnw
文档。虽然 R 也是单线程的,但它可以使用包并行计算。这可以大大加快 R 部件的速度。knitr
Sweave
multicore
答案2
这pgf-手册描述了一种使用多个核心并行处理 tikzpictures 的方法:有关/tikz/external/mode
详细信息,请参阅条目。
简短的摘要
您首先需要通过在序言中包含以下内容来外部化 tikzpictures 的创建:
\usetikzlibrary{external}
\tikzset{external/mode=list and make}
这将在您的工作目录中为每个 tikzpicture 创建几个辅助文件。您可能希望将这些辅助文件保存在单独的子目录中,如下所示:
\tikzexternalize[prefix=figures/]
请注意,指定的子目录需要存在。
现在你可以用下面的例程进行编译:
%step 1: generate main.makefile:
pdflatex main
% step 2: generate ALL graphics on 2 processors:
make -j 2 -f main.makefile
% step 3: include the graphics:
pdflatex main