¿Cómo configurar el resaltado de sintaxis para \citep igual que \cite en AUCTeX?

¿Cómo configurar el resaltado de sintaxis para \citep igual que \cite en AUCTeX?

Sería mejor tener un resaltado de sintaxis uniforme para ambos \citepy \citeaparece bastante en mi manuscrito.

Intenté implementar lo sugerido enaquíal igual que

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

Las líneas anteriores se agregaron a mi ~\.emacs\init.elarchivo. Aunque funciona \citeauthor, no afecta \citepa quienes todavía parecen sedados.

¿Existe una solución para que esto funcione?

Respuesta1

Hay 2 soluciones para su pregunta.

Requisito previo

Actualice AUCTeX a la última versión 11.90. Le sugiero que lo haga a través de ELPA como se describe enel manual. Si lo hace, lea tambiénInicio rápido. Y definitivamente pon esto en tu archivo de inicio:

(setq TeX-parse-self t)

Solución de solución rápida

elsarticle.clscargas internas natbiby graphicxalgunos otros paquetes. AUCTeX no analiza el archivo .cls para estar al tanto de esto. Puede darle una pista a AUCTeX cargando estos paquetes nuevamente en el preámbulo de su archivo .tex. Con TeX-parse-selfel valor establecido en t, AUCTeX carga sus archivos de soporte (jerga: archivos de estilo) para estos paquetes y su archivo se verá así:

ingrese la descripción de la imagen aquí

También tenga en cuenta que ahora obtiene soporte de autocompletado para macros proporcionadas natbibcuando presiona C-c C-m citep RET. Las cosas mejoran aún más si usas RefTeX.

Solucion de largo plazo

Esto incluye escribir un archivo de soporte AUCTeX elsarticle.el. Para lo que preguntas, las siguientes líneas serán suficientes:

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

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

Personalice la variable TeX-style-privatea un directorio de su elección, por ejemplo

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

Guarde elsarticle.elen ese directorio, reinicie Emacs y cargue su archivo .tex. Esto debería funcionar sin recargar natbiby graphicxen su preámbulo.

información relacionada