AUCTeX 会自动解析我的标头并确定我使用的包,并做出相应的调整。例如,它知道我何时使用了 cleveref,并在我输入时相应地更改可用的引用类型C-c )
。
但是,如果我预编译我的序言,AUCTeX 不知道我正在使用哪些软件包。有没有办法可以设置一个变量来让它解析从未明确包含的头文件(除非通过特殊注释%&preamble
)?
如果我还可以说服 AUCTeX 预编译标题,那将是一个额外的好处,我目前是从命令行进行的。
答案1
我不确定你是否可以通过设置变量来实现你想要的效果。没有测试过,但我能想到以下几点:
启动 Emacs,打开一个 .tex 文件以便加载 AUCTeX。然后执行M-x TeX-auto-generate RET。当要求输入 TeX 文件时,输入
preamble.tex
。当要求输入 AUTO 目录时,输入/path/to/your-tex-file/auto
或 存储在 中的目录TeX-auto-private
。Emacs 应该解析并preamble.el
在那里保存 。在您的 .tex 文件中,将以下行添加到文件局部变量:
%%% eval: (TeX-run-style-hooks "preamble")
。
整个块应如下所示:%%% Local Variables: %%% mode: latex %%% TeX-master: t %%% eval: (TeX-run-style-hooks "preamble") %%% End:
现在重新启动 Emacs 并加载您的 .tex 文件,然后通过点击查看是否有效C-h e:您应该看到 AUCTeX 样式文件是否已加载。
对于奖励问题,我建议你尝试添加一个用于前导预编译的命令到TeX-command-list
。