latex – Informar a AucTeX sobre el archivo de estilo de índice

Pregunta:

Actualmente estoy trabajando en un documento para el que utilizo un archivo de estilo de índice personalizado. Cuando escribo Cc Cc para compilar mi documento, Emacs / AucTeX ofrece ejecutar su comando Index (que supongo que ejecuta makeindex ). Esto funciona bien, excepto que no se aplica el estilo. ¿Hay alguna manera de decirle a AucTeX que debería usar un determinado archivo de estilo para este archivo LaTeX específico (es decir, que debería ejecutar makeindex -s mystile.ist )? Miré a mi alrededor en las personalizaciones de AucTeX, pero no pude encontrar ningún comando relacionado con la indexación.

Editar Parece que el comando index está definido en TeX-command-list . ¿Hay alguna forma de sobrescribir esto para un archivo determinado? Por ejemplo, ¿agregando algo a las Local Variables en la parte inferior de mi archivo .tex ?

Respuesta:

Muy buena pregunta, es extraño que nadie haya pedido nunca esta función. Afortunadamente, AUCTeX le permite expandirlo con un poco de código Lisp. El truco consiste en agregar un nuevo comando a TeX-command-list y un nuevo expansor a TeX-expand-list (para más detalles ver (info "(auctex)Selecting a command") ).

Agregue lo siguiente a su archivo de inicio:

(eval-after-load "tex"
  '(progn
     ;; Define a new safe buffer-local variable to change its value on a
     ;; per-file basis
     (defvar mg-TeX-index-options "")
     (make-variable-buffer-local 'mg-TeX-index-options)
     (put 'mg-TeX-index-options 'safe-local-variable 'stringp)
     ;; Add new expansion string
     (add-to-list 'TeX-expand-list
          '("%(indexopts)" (lambda () mg-TeX-index-options)))
     ;; Add new command.
     (add-to-list 'TeX-command-list
          '("MyIndex"
            "makeindex %(indexopts) %s"
            TeX-run-index nil t
            :help "Run makeindex to create index file"))))

Compile el índice con el comando MyIndex lugar de Index cuando necesite especificar un archivo de estilo y agregue mg-TeX-index-options como una variable local de archivo, que es una cadena que contiene las opciones que desea pasar a makeindex :

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% mg-TeX-index-options: "-s mystile.ist"
%%% End:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım