最好对两者进行统一的语法突出显示\citep
,\cite
因为它在我的手稿中出现了很多次。
我尝试实施这里就像这样
(setq font-latex-match-reference-keywords
'(
("citeauthor" "[{")
("citep" "[{")))
上面的几行已添加到我的~\.emacs\init.el
文件中。虽然它适用于\citeauthor
,但它对仍然显得镇静的无效\citep
。
有解决方案可以使它工作吗?
答案1
您的问题有 2 个解决方案。
先决条件
将 AUCTeX 更新至最新版本 11.90。我建议您按照 ELPA 中的说明进行操作手册。如果您这样做,还请阅读快速开始. 一定要把这个放在你的初始化文件中:
(setq TeX-parse-self t)
快速修复解决方案
elsarticle.cls
内部加载natbib
和graphicx
一些其他包。AUCTeX 不会解析 .cls 文件来了解这一点。您可以通过在 .tex 文件的序言中再次加载这些包来给 AUCTeX 一个提示。TeX-parse-self
设置为 后t
,AUCTeX 会加载这些包的支持文件(行话:样式文件),您的文件将如下所示:
natbib
还请注意,现在当您点击 时,您将获得 提供的宏自动完成支持C-c C-m citep RET。如果您使用 RefTeX,情况会变得更好。
长期解决方案
这包括编写 AUCTeX 支持文件elsarticle.el
。对于您要问的问题,以下几行就足够了:
;;; elsarticle.el --- AUCTeX style for `elsarticle.cls'
(TeX-add-style-hook
"elsarticle"
(lambda ()
(TeX-run-style-hooks "natbib" "graphicx" "geometry")))
将变量自定义TeX-style-private
为您选择的目录,例如
(setq TeX-style-private (expand-file-name "~/.emacs.d/auctex-styles"))
保存elsarticle.el
在该目录中,重新启动 Emacs 并加载您的 .tex 文件。然后,这应该可以在您的序言中工作natbib
而无需重新加载。graphicx