Minted 运行缓慢是正常的吗?

Minted 运行缓慢是正常的吗?

我刚刚安装了 minted,但是简单的命令:

latexmk -pdf -shell-escape main.tex

main.tex 简单来说就是:

\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{r}
sprem <- choose(13, 2)
\end{minted}
\end{document}

大约需要 5 秒钟。有什么办法可以加快速度吗?

答案1

Minted 本身运行速度确实很慢,至少部分原因是它运行的外部程序,尤其是 pygmentize。但 latexmk 有时会多运行一次 pdflatex,从而使问题更加严重,就像本文档一样。对于简单文档,pdflatex 的额外运行是因为在第一次运行后,minted 将缓存信息放入 .aux 文件中。Latexmk 看到了更改的 .aux 文件,但不知道这些更改对 .pdf 文件的内容没有影响。请参阅下文了解如何培训 latexmk。

在我的(相当旧的)iMac 上,安装了 macOS 和 TeXLive 2021,使用 latexmk 的处理时间约为 3.5 秒。两次运行 pdflatex 分别需要 1.7 秒和 1.4 秒,而 latexmk 的开销为 0.4 秒。但对于实际的较大文档,这些时间不会延长到天文数字;例如,使用 latexmk 处理铸造文档(91 页)大约需要 23 秒。

为了解决 pdflatex 额外运行的问题,请将以下内容放入 latexmkrc 文件中:

$hash_calc_ignore_pattern{aux} = 'minted@oldcachelist|default\.pygstyle|\.pygtex';

这告诉 latexmk,当它检查 .aux 文件中的更改时,它将忽略 minted 写入其缓存信息的行。(专家可以改进上述正则表达式,但它会更长且更难理解。)

相关内容