当我从其他文件编译时,有没有办法让 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:
我发现这比在每个文件末尾添加部分更方便。当然,如果有一些例外文件不应应用这些设置,您仍然可以使用每个文件的局部变量来覆盖其中任何一个。