让 AUCTeX 了解主文件中设置的 TeX 引擎

让 AUCTeX 了解主文件中设置的 TeX 引擎

当我从其他文件编译时,有没有办法让 AUCTeX 知道主文件中设置的 TeX 引擎局部变量?

master.tex

\documentclass{minimal}
\usepackage{fontspec}

\begin{document}
  \input{content}
\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-engine: luatex
%%% End:

content.tex

Here is some content.

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "master"
%%% End:

当我在里面content.tex并按下时C-c C-c,AUCTeX 运行pdflatex,但不会运行lualatex

答案1

如果全部此目录中的 LaTeX 文件将使用相同的引擎,因此您可以TeX-engine使用以下方式为所有文件设置Emacs 每个目录的局部变量. 在此目录中创建一个名为的文件,.dir-locals.el其内容如下:

((latex-mode
  (TeX-engine . luatex)))

如果此目录中的所有 LaTeX 文件共享同一个主文件,则每个目录的局部变量也是设置此项的方便位置:

((latex-mode
  (TeX-engine . luatex)
  (TeX-master . "master")))

Local variables:我发现这比在每个文件末尾添加部分更方便。当然,如果有一些例外文件不应应用这些设置,您仍然可以使用每个文件的局部变量来覆盖其中任何一个。

相关内容