如何設定 \citep 的語法突出顯示與 AUCTeX 中的 \cite 相同?

如何設定 \citep 的語法突出顯示與 AUCTeX 中的 \cite 相同?

最好對兩者都有統一的語法突出顯示\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內部加載natbibgraphicx一些其他包。 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在您的序言中。

相關內容