Как настроить подсветку синтаксиса для \citep так же, как и для \cite в AUCTeX?

Как настроить подсветку синтаксиса для \citep так же, как и для \cite в AUCTeX?

Было бы лучше иметь единую подсветку синтаксиса для обоих вариантов, \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внутренне загружает и некоторые другие пакеты. AUCTeX не анализирует файл .cls, чтобы знать об этом. Вы можете дать AUCTeX подсказку, загрузив эти пакеты снова в преамбуле вашего файла .tex. Если natbibустановлено значение , AUCTeX загружает свои файлы поддержки (жаргон: файлы стилей) для этих пакетов, и ваш файл будет выглядеть следующим образом:graphicxTeX-parse-selft

введите описание изображения здесь

Также обратите внимание, что теперь вы получаете поддержку автодополнения для макросов, предоставляемых при 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в вашей преамбуле.

Связанный контент