Como definir o realce de sintaxe para \citep da mesma forma que \cite no AUCTeX?

Como definir o realce de sintaxe para \citep da mesma forma que \cite no AUCTeX?

Seria melhor ter um destaque de sintaxe uniforme para ambos \citepe \citecomo aparece bastante no meu manuscrito.

Tentei implementar o que foi sugerido emaquiigual a

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

As linhas acima foram adicionadas ao meu ~\.emacs\init.elarquivo. Embora funcione \citeauthor, não afeta \citepo que ainda parece sedado.

Existe uma solução para fazer isso funcionar?

Responder1

Existem 2 soluções para sua pergunta.

Pré-requisito

Atualize o AUCTeX para a versão mais recente 11.90. Sugiro que você faça isso via ELPA conforme descrito emo manual. Se você fizer isso, leia tambémComeço rápido. E definitivamente coloque isso no seu arquivo init:

(setq TeX-parse-self t)

Solução de solução rápida

elsarticle.clscarrega internamente natbibe graphicxalguns outros pacotes. AUCTeX não analisa o arquivo .cls para estar ciente disso. Você pode dar uma dica ao AUCTeX carregando esses pacotes novamente no preâmbulo do seu arquivo .tex. Com TeX-parse-selfdefinido como t, AUCTeX carrega seus arquivos de suporte (jargão: arquivos de estilo) para esses pacotes e seu arquivo ficará assim:

insira a descrição da imagem aqui

Observe também que agora você obtém suporte de preenchimento automático para macros fornecido natbibquando você clica em C-c C-m citep RET. As coisas ficam ainda melhores se você usar o RefTeX.

Solução a longo prazo

Isto inclui escrever um arquivo de suporte AUCTeX elsarticle.el. Para o que você está perguntando, as seguintes linhas serão suficientes:

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

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

Personalize a variável TeX-style-privatepara um diretório de sua escolha, por exemplo

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

Salve elsarticle.elnesse diretório, reinicie o Emacs e carregue seu arquivo .tex. Isso deve funcionar sem recarregar natbibe graphicxno seu preâmbulo.

informação relacionada