我在 中编辑 tex 文件,然后通过命令Emacs编译它。编译它的另一种方法是在终端中使用。C-c C-cLaTeXlatex file.tex
现在,我想编译一个文件xelatex,它xelatex file.tex已经在终端行中工作。所以我想让C-c C-cinEmacs能够启动LaTeX或者XeLaTeX. 理想情况下,XeLaTeX应将其添加到可能的命令列表中。
这是当前的.emacs,有人可以帮忙吗?
说
M-x customize-group
和
tex-command
然后找到“Tex 命令列表”选项。从那里您可以引入新的 AUCTeX 命令。
但是,AUCTeX 的使用方式略有不同。而不是创建一个单独的XeLaTeX命令,你可以做
M-x TeX-engine-set其次是xetex 或 (TeX-engine-set 'xetex)在 lisp 代码中或Command | TeXing Options | Use XeTeX engine在菜单栏中(这三种方法是等价的)。
之后,该LaTeX命令将运行 xelatex 而不是 latex。
一种更本地化的指定方法TeX-engine是将以下文本附加到.tex文件的最后。这将设置TeX-engine为xetex仅用于当前文件。
%%% Local Variables:
%%% TeX-engine: xetex
%%% End:
此处给出了相同的答案:
https ://tex.stackexchange.com/a/450955/90321 ,但该答案还显示了如何Tex-engine使用命令行参数调用,通过向局部变量添加另一行:
%%% TeX-command-extra-options: "-shell-escape"