AUCTeX にマスターファイルで設定された TeX エンジンを認識させる

AUCTeX にマスターファイルで設定された TeX エンジンを認識させる

他のファイルからコンパイルするときに、マスター ファイルに設定されている TeX エンジンのローカル変数を AUCTeX に認識させる方法はありますか?

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:。もちろん、これらの設定を適用すべきでない例外的なファイルがいくつかある場合は、ファイルごとのローカル変数を使用してこれらのいずれかを上書きすることもできます。

関連情報