Estoy usando Emacs + Auctex
para editar y compilar el archivo .tex xelatex
actualmente. 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-list
podrí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, fontspec
le 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-engine
y 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).