AUCTeX no puede colocar archivos auxiliares en un directorio determinado

AUCTeX no puede colocar archivos auxiliares en un directorio determinado

Estoy usando Emacs + Auctexpara editar y compilar el archivo .tex xelatexactualmente. Quiero poner esos archivos auxiliares (creados durante la compilación) en otro directorio, por ejemplo, /tmp. Entonces tengo el siguiente código en mi init.el. Pero no funciona: los archivos auxiliares todavía están en el directorio raíz. ¿Qué pasa con mi código? ¿Alguien puede ayudarme con esto?

(add-to-list 'TeX-command-list '("XeLaTeX" "%`xelatex%(mode)%' %t" TeX-run-TeX nil  t))
(setq TeX-command-default "XeLaTeX -aux-directory=./tmp")

Respuesta1

Agregar XeLaTeX explícitamente TeX-command-listpodría hacer que las cosas funcionen (no lo he intentado), pero ciertamente no es muy "AUCTeXy", por así decirlo.

AUCTeX intenta adivinar el motor correcto que se utilizará (digamos, si lo carga, fontspecle preguntará al respecto) y le permite configurarlo para el archivo actual fácilmente, con variables locales.

En cuanto a su uso de TeX-command-default, hasta donde tengo entendido, eso no es lo que se espera allí.

Le sugiero que utilice variables locales para configurar esto, en lugar de jugar con su archivo de inicio. Y dejemos que AUCTeX haga el trabajo duro, como lo hace bien.

Puede agregar variables locales a su archivo con M-x add-file-local-variable. Puedes agregar dos: TeX-enginey TeX-command-extra-options. (Se le preguntará si estas opciones deben ejecutarse cuando abra el archivo; puede optar por guardar la opción). Deberías terminar con algo como lo siguiente al final de tu archivo:

% Local Variables:
% TeX-engine: xetex
% TeX-command-extra-options: "-aux-directory=./tmp"
% End:

(suponiendo "-aux-directory=./tmp"que funcione. No puedo probarlo aquí, creo que esta es una opción exclusiva de MikTeX. Aunque funciona con "-output-directory=./tmp".)

Una vez hecho esto, cree su documento LaTeX(y cualquier otra cosa que necesite).

información relacionada