Есть ли способ сделать так, чтобы 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:
разделов в конец каждого отдельного файла. Конечно, вы все еще можете использовать локальные переменные для каждого файла, чтобы переопределить любой из них, если есть несколько исключительных файлов, к которым эти настройки не должны применяться.