16

我在 中编辑 tex 文件,然后通过命令Emacs编译它。编译它的另一种方法是在终端中使用。C-c C-cLaTeXlatex file.tex

现在,我想编译一个文件xelatex,它xelatex file.tex已经在终端行中工作。所以我想让C-c C-cinEmacs能够启动LaTeX或者XeLaTeX. 理想情况下,XeLaTeX应将其添加到可能的命令列表中。

这是当前的.emacs,有人可以帮忙吗?

4

2 回答 2

13

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。

于 2013-04-10T13:23:38.923 回答
1

一种更本地化的指定方法TeX-engine是将以下文本附加到.tex文件的最后。这将设置TeX-enginexetex仅用于当前文件。

%%% Local Variables:
%%% TeX-engine: xetex
%%% End:

编辑回复评论

此处给出了相同的答案: https ://tex.stackexchange.com/a/450955/90321 ,但该答案还显示了如何Tex-engine使用命令行参数调用,通过向局部变量添加另一行:

%%% TeX-command-extra-options: "-shell-escape" 
于 2020-12-07T09:49:50.307 回答