AUCTeX 无法将辅助文件放入某个目录

AUCTeX 无法将辅助文件放入某个目录

我目前正在使用Emacs + Auctex来编辑和编译 .tex 文件xelatex。我想将这些辅助文件(在编译期间创建)放在另一个目录中,例如 /tmp。因此,我的 中有以下代码init.el。但它不起作用 - 辅助文件仍然在根目录中。我的代码有什么问题,有人可以帮我吗?

(add-to-list 'TeX-command-list '("XeLaTeX" "%`xelatex%(mode)%' %t" TeX-run-TeX nil  t))
(setq TeX-command-default "XeLaTeX -aux-directory=./tmp")

答案1

明确添加 XeLaTeXTeX-command-list可能会让事情顺利进行(我还没有尝试过),但可以说它肯定不是很“AUCTeXy”。

AUCTeX 会尝试猜测要使用的正确引擎(比如,如果您加载fontspec它,它会询问您),并允许您使用局部变量轻松地为当前文件设置它。

至于您对 的使用TeX-command-default,据我所知,这并不是那里所期望的。

我建议你使用局部变量来设置它,而不是摆弄你的初始化文件。让 AUCTeX 来做这些艰苦的工作,因为它做得很好。

您可以使用 向文件添加局部变量M-x add-file-local-variable。您可以添加两个:TeX-engineTeX-command-extra-options。(打开文件时会询问您是否应运行这些选项,您可以选择保存该选项)。文件底部应该出现类似以下内容:

% Local Variables:
% TeX-engine: xetex
% TeX-command-extra-options: "-aux-directory=./tmp"
% End:

(假设"-aux-directory=./tmp"有效。我无法在这里测试它,我相信这是 MikTeX 的唯一选项。但它确实有效"-output-directory=./tmp"。)

有了这个,就可以构建您的文档LaTeX(以及其他所需的内容)。

相关内容