我如何让 emacs/auctex 解析预编译的头文件?

我如何让 emacs/auctex 解析预编译的头文件?

AUCTeX 会自动解析我的标头并确定我使用的包,并做出相应的调整。例如,它知道我何时使用了 cleveref,并在我输入时相应地更改可用的引用类型C-c )

但是,如果我预编译我的序言,AUCTeX 不知道我正在使用哪些软件包。有没有办法可以设置一个变量来让它解析从未明确包含的头文件(除非通过特殊注释%&preamble)?

如果我还可以说服 AUCTeX 预编译标题,那将是一个额外的好处,我目前是从命令行进行的。

答案1

我不确定你是否可以通过设置变量来实现你想要的效果。没有测试过,但我能想到以下几点:

  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在那里保存 。

  2. 在您的 .tex 文件中,将以下行添加到文件局部变量:
    %%% eval: (TeX-run-style-hooks "preamble")
    整个块应如下所示:

    %%% Local Variables:
    %%% mode: latex
    %%% TeX-master: t
    %%% eval: (TeX-run-style-hooks "preamble")
    %%% End:
    
  3. 现在重新启动 Emacs 并加载您的 .tex 文件,然后通过点击查看是否有效C-h e:您应该看到 AUCTeX 样式文件是否已加载。

对于奖励问题,我建议你尝试添加一个用于前导预编译的命令到TeX-command-list

相关内容