Wie kann ich die Syntaxhervorhebung für \citep genauso einstellen wie für \cite in AUCTeX?

Wie kann ich die Syntaxhervorhebung für \citep genauso einstellen wie für \cite in AUCTeX?

Es wäre besser, eine einheitliche Syntaxhervorhebung für beide zu haben \citep, \citeda dies in meinem Manuskript ziemlich oft vorkommt.

Ich habe versucht, die Vorschläge umzusetzen inHierso

(setq font-latex-match-reference-keywords
  '(
    ("citeauthor" "[{")
    ("citep" "[{")))

Die obigen Zeilen wurden meiner ~\.emacs\init.elDatei hinzugefügt. Obwohl es funktioniert \citeauthor, hat es keine Wirkung \citep, was immer noch sediert erscheint.

Gibt es eine Lösung, damit das funktioniert?

Antwort1

Es gibt 2 Lösungen für Ihre Frage.

Voraussetzung

Aktualisieren Sie AUCTeX auf die neueste Version 11.90. Ich schlage vor, Sie tun dies über ELPA, wie indas Handbuch. Wenn Sie dies tun, lesen Sie bitte auchSchnellstart. Und fügen Sie dies unbedingt in Ihre Init-Datei ein:

(setq TeX-parse-self t)

Schnelle Lösung

elsarticle.clslädt intern natbibund graphicxeinige andere Pakete. AUCTeX analysiert die .cls-Datei nicht, um dies zu erkennen. Sie können AUCTeX einen Hinweis geben, indem Sie diese Pakete erneut in der Präambel Ihrer .tex-Datei laden. Wenn TeX-parse-selfauf gesetzt ist t, lädt AUCTeX seine Supportdateien (Jargon: Style-Dateien) für diese Pakete und Ihre Datei sieht folgendermaßen aus:

Bildbeschreibung hier eingeben

Beachten Sie auch, dass Sie jetzt die automatische Vervollständigung von Makros erhalten, wenn natbibSie auf klicken C-c C-m citep RET. Wenn Sie RefTeX verwenden, wird es noch besser.

Langfristige Lösung

Dazu gehört das Schreiben einer AUCTeX-Supportdatei elsarticle.el. Für Ihre Frage reichen die folgenden Zeilen aus:

;;; elsarticle.el --- AUCTeX style for `elsarticle.cls'

(TeX-add-style-hook
 "elsarticle"
 (lambda ()
   (TeX-run-style-hooks "natbib" "graphicx" "geometry")))

Passen Sie die Variable TeX-style-privatean ein Verzeichnis Ihrer Wahl an, z. B.

(setq TeX-style-private (expand-file-name "~/.emacs.d/auctex-styles"))

Speichern Sie elsarticle.elin diesem Verzeichnis, starten Sie Emacs neu und laden Sie Ihre .tex-Datei. Dies sollte dann ohne erneutes Laden natbibund graphicxin Ihrer Präambel funktionieren.

verwandte Informationen