\immediate\write18
运行 latexmk (多次调用 pdftex) 时,如何防止多次执行脚本 (via )?问题在于,在 pdftex 的每次迭代过程中,\immediate\write18
都会执行通过调用的脚本。
一个解决方案(尽管非常简陋)是让脚本创建一个临时文件,并在找到该文件时停止执行。但肯定有更优雅的方法来处理这个问题……
我确信这与问题无关,但我使用的是 Linux,并且脚本是一个简单的 bash 命令。
答案1
一种方法是复制 latexmk 在确定所需的 pdflatex 迭代次数时所做的事情,并复制它。
但是,正如其他人所评论的,最简单的方法确实是依靠将状态存储在文件中并在执行期间读取它。
由于我从不清理生成的文件,我遵循的方法是检查 .fdb_latexmk 是否存在(在运行 latexmk 的最后生成),如果存在则删除它并运行脚本。如果不存在则不执行任何操作。
虽然不是最优雅的答案,但确实有效。