使用 AUCTeX 将自定义宏添加到完成列表

使用 AUCTeX 将自定义宏添加到完成列表

我希望 AUCTeX(即加载了 auctex 的 Emacs)在使用完成(M-Tab或)时建议比默认更多的 LaTeX 宏。我希望拥有从我在 CTAN 上下载的软件包和我编写的宏。如果它能完成或可以通过 等访问的其他宏,C-Ret我也希望如此。\sectionC-c C-sC-c C-e

解决方案:我无法使代码引用AUCTeX 维基 工作。我在加载 emacs 时遇到错误,但我没有进一步研究,因为我无法忍受在文件中添加几行代码的麻烦。

Ben 给出的链接(自动添加私有宏包含一个可行的解决方案,因此我接受他的答案。我在研究中偶然发现了这个页面,但不知何故搞砸了。最终对我有用的是使用TeX-auto-generate TEX AUTO在 ~/.emacs.d/auctex/auto 目录中创建一堆 .el 文件。请注意,必须创建此目录事先。由于某些原因TeX-macro-private没有达到想要的结果。

答案1

AUCTeX 必须配置为解析文件,以便它可以提取所需的宏。确保将变量设置TeX-parse-selft,以便它扫描当前文件以查找其中定义的宏,设置TeX-auto-regexp-listTeX-auto-full-regexp-list以便它查找尽可能多的宏,设置TeX-auto-parse-length999999以便它处理长文件。这些可以在您的文件中设置.emacs,并根据需要作为您个人项目中的文件局部变量覆盖(如果它们给您带来麻烦)。您还应该尝试添加

%%% Local Variables:
%%% TeX-master: "your-main-filename"
%%% End:

到属于项目的所有文件的底部,以便 AUCTeX 知道如何从一个包含的文件返回到主文件,然后再返回到其他包含的文件。

完成所有操作后,它应该可以找到项目中的所有宏。

编辑

根据AUCTeX 维基,您可以TeX-master通过让 AUCTeX 猜测主文件来避免局部变量;他们发布了必要的 elisp 代码来执行此操作。

要检查其他目录中的样式文件,请将目录添加到TeX-macro-private列表中(请参阅这里)。

相关内容