當我從其他檔案編譯時,有沒有辦法讓 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:
我發現這比在每個單獨文件的末尾添加部分更方便。當然,如果存在一些不應應用這些設定的特殊文件,您仍然可以使用每個文件的局部變數來覆寫其中的任何一個。