如何在 MacOS El Capitan 中使用 Auctex?

如何在 MacOS El Capitan 中使用 Auctex?

我正在使用 GNU Emacsemacsformacos.com迁移到 OSX 10.11“El Capitan”后,Auctex 无法再运行 *tex 实用程序:

Running `LaTeX' on `poisson' with ``pdflatex  -file-line-error   -interaction=nonstopmode "\input" poisson.tex''
/bin/sh: pdflatex: command not found

pdflatex例如在shell上运行没有问题:

#pdflatex
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) (preloaded format=pdflatex)
 restricted \write18 enabled.

但似乎 auctex 调用/bin/sh pdflatex了,而且不再起作用:

/bin/sh pdflatex
/Library/TeX/texbin/pdflatex: /Library/TeX/texbin/pdflatex: cannot execute binary file

可能是由于 El Capitan 对 Gatekeeper 沙盒的更改。我该如何配置 auctex 以再次运行 pdflatex?

答案1

问题在于 Emacs 使用的 PATH 变量(并传递给它运行的 shell)与用户的 PATH 变量不同。要自定义 Emacs 的 PATH,可以使用

(setenv "PATH" "/usr/local/bin:/Library/TeX/texbin/:$PATH" t)

通过此更改,AucTeX 可以再次调用命令行程序。 另请参阅此问题

更新(2015 年 11 月):在 AucTeX 11.88.9 中安装了另一张支票查看命令行程序是否可访问。即使上述方法有效,此检查也更加严格,因为它会查看 tex 二进制文件是否位于 emacs 路径中。要通过此检查,/Library/TeX/texbin还必须将其添加到exec-path变量中。为此,请将其添加到您的 init 文件中:

(setq exec-path (append exec-path '("/Library/TeX/texbin")))

答案2

El Capitan 不允许直接写入,因此安装 El Capitan 时,/usr通常指向 TeX 二进制文件的符号链接会被删除,并且无法重建。为了弥补这一点,MacTeX-2015 和 BasicTeX-2015 还安装了另一个可写入的符号链接。CLI 的 PATH 设置为包含该链接而不是 /usr/texbin,因此它开箱即用。但是许多 GUI 应用程序需要重新配置。/usr/local/Library/TeX/texbin/Library/TeX

我真的很想得到更多关于在哪里放置这条线的细节

(setenv "PATH" "/usr/local/bin:/Library/TeX/texbin/:$PATH" t)

重新配置 Aquamamcs/AUCTeX,因为我不是用户,但与我联系的其他人是用户。

相关内容