Emacs + auctex 使用 lualatex 编译时冻结

Emacs + auctex 使用 lualatex 编译时冻结

尝试在 emacs + auctex 中使用 Cc Cc 编译以下内容会冻结 emacs:

\documentclass{article}
\begin{document}
asdf
\end{document}
%%% Local Variables:
%%% TeX-engine: lualatex
%%% TeX-master: t
%%% End:

我的局部变量有错误吗?我遵循了以下建议:关联。我的 emacs 和 auctex 应该是最新的。

emacs 版本:GNU Emacs 25.1.1

auctex 版本:11.90.0

答案1

default使用“局部变量”设置,您可以声明 Emacs 将调用的“引擎”。通常,您的选择将是¹luatex或之一xetexmode相反, 会命名您正在使用的格式(例如,contextlatextex)。

lualatex因此,对于需要 LuaTeX 引擎的 LaTeX 文档(您通常会使用终端中的命令调用该引擎) ,您可以使用以下命令:

%%% Local Variables: 
%%% mode: latex 
%%% TeX-engine: luatex
%%% TeX-master: t 
%%% End:

当 Emacs.tex在缓冲区中打开新文件时,它会查询我的主文件是什么(默认为t,这意味着当前新文件/缓冲区将是它自己的主文件)并假定格式latex。现在,如果我想指定引擎,我可以添加该TeX-engine行。您还可以临时选择引擎(在 Emacs 使用 访问文件的剩余时间内)M-x TeX-engine-set RET <default|luatex|xetex> RET

您可以对整个目录执行的另一件事是创建一个名为的文件,.dir-locals-el其中包含以下行:

((latex-mode    
  (TeX-engine . luatex)))

这会将目录的默认引擎设置为luatex。如果要命名主文件,还可以执行以下操作:

((latex-mode
  (TeX-engine . luatex)   
  (TeX-master . "mainfile"))) ;; now mainfile.tex is the master file for the directory

¹ 我的默认引擎.emacspdfTeX,这当然是默认的;但是这可以改变。

相关内容