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

相關內容