`latexmk` 可以并行处理多个文件吗?

`latexmk` 可以并行处理多个文件吗?

*.tex为了编译多个子目录中的多个文件,我使用

find -name *.tex -exec latexmk -lualatex  {} \;

按照推荐这里

运行良好,但只使用一个核心。必须进行哪些更改才能并行处理?

答案1

在@David Carlisle 的帮助下,我找到了两种在命令行上运行的解决方案:

for i in *.tex */*.tex */*/*.tex */*/*/*.tex; do latexmk "$i" & done

或者,使用find第二个 bash 文件:

find . -name *.tex -exec sh mk.sh {} \;

其中 mk.sh

#!/bin/bash
latexmk "$1" &

在我的示例中,八核 CPU 上的并行性将处理时间缩短了 2 倍。当包含在程序中时,我无法使用这些解决方案。

latexmk我认为,如果能提供一个选项来并行转换.tex子树中的所有文件,那将会很有吸引力 。

相关内容