让 latexmk 忽略错误并完成编译

让 latexmk 忽略错误并完成编译

我喜欢用latexmk在命令行中这样:

latexmk -pvc -pdf -xelatex foo.tex

如果翻译出现错误,我必须手动终止命令行中的编译(字母 x)让我很烦恼。有没有办法修改命令,以便在保存文件时自动翻译(不考虑以前的错误)?

答案1

你可以使用这个:

latexmk -pvc -pdf -e "$pdflatex='xelatex %O -interaction=nonstopmode %S'" foo.tex

这是针对 Windows 的,对于 Linux,下面的方法可能有效,但我不使用 Linux,所以我不知道它是否真的有效:

latexmk -pvc -pdf -e '$pdflatex=q/xelatex %O -interaction=nonstopmode %S/' foo.tex

-e可以指定要运行的内容为“ pdflatex”,并且您需要的参数是-interaction=nonstopmode,即无论如何都一路编译。

看看latexmk 文档,我以为 latexmk 选项-f会做到这一点,但至少在我的系统上,它不会。


-f更新:正如他在评论中所承诺的,John Collins在文档中澄清了用法:

注:“进一步处理”是指运行其他程序或重新运行乳胶(等等),如果没有发生错误,则会执行此操作。相反,或者另外,如果您希望乳胶(等)程序在发生错误后不会暂停以等待用户输入,你应该通过传递给程序的选项来安排这一点,例如,通过latexmk的选择-interaction=nonstopmode

答案2

一个更简单的解决方案是

latexmk -pvc -pdf -xelatex -interaction=nonstopmode foo.tex

答案3

另一个更简单的解决方案是:

latexmk -pvc -pdf foo.tex < /dev/null

相关内容