我正在尝试让 Latexmk 在运行 OSX Catalina 的新计算机上运行。我已经安装了 MacTeX 和 TeXworks。据我所知,我的所有设置都与旧计算机上的设置一致,旧计算机上运行正常。我可以使用 PDFLaTeX 选项在 TeXworks 中顺利编译 .tex 文档(在新计算机上)。但是,如果我尝试在 TeXworks 中通过 Latexmk 进行编译,则会失败并出现错误:
Latexmk:应用规则‘pdflatex’……
sh:pdflatex:未找到命令
但是,如果我通过终端使用 Latexmk 编译 .tex 文件,则不会出现任何问题。
奇怪的是,如果我通过终端(而不是从应用程序)打开 TeXworks,TeXworks 中的 Latexmk 编译选项就可以顺利编译。
我很想弄清楚为什么我无法使用 Latexmk 进行编译。
其他可能相关的信息:
$ which pdflatex 返回 /usr/local/bin/pdflatex
$ latexmk 返回 /Library/TeX/texbin/latexmk
这两条路径都存在于 TeXworks 首选项 > 排版 > TeX 和相关程序的路径中。
$ echo $PATH 返回 /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin:/Library/Apple/usr/bin
这是 Latexmk 4.70b 版本。
已解决:在通过终端打开的 TeXworks 中,在 TeXworks 首选项 > 排版 > 路径中添加了路径。通过应用程序打开的 TeXworks 现在可以通过 latexmk 进行编译。
请参阅下面约翰柯林斯的评论以了解另一种解决方案。
答案1
出现此问题的原因是,当前版本的 TeXworks 没有为其调用的程序的 PATH 环境变量提供合适的值。这可能会在未来版本中发生变化。相反,在命令行中,PATH 确实有一个合适的值,这是 MacTeX 的安装安排的。
可能的解决方案:
使用 TeXShop 而不是 TeXworks。在 TeXShop 中,latexmk 可以工作并且受支持。
通过让 latexmkrc 文件之一适当地设置 PATH 来配置 latexmk。一个非常简单的解决方案是将以下行添加到 latexmkrc 文件:
$ENV{PATH} .= ':/Library/TeX/texbin';
可能存在更奇妙的解决方案。