Esta es una pregunta simple pero no tiene respuestas tan simples. Los archivos temporales se utilizan repetidamente en la producción de salida en pdf. Ni AUCTeX ni ORG saben cuándo es seguro eliminarlos. Por lo tanto, se dejan allí para su eliminación manual después de determinar si ya no son necesarios.
Aquí hay algunas maneras de acelerar el proceso de eliminación manual. Un simple comando de shell hará el trabajo sin demasiado alboroto (agregue otras extensiones según sea necesario):
(defun clear-latex-temp-files () (shell-command "rm -rf *.tex *.prv preview.fmt"))
Use latexmk (en lugar de pdflatex) para generar su pdf para que pueda usar la -c
opción de eliminar los archivos temporales:
latexmk -c
y luego ponga la siguiente línea en este archivo ~\.latexmkrc
para cubrir todos los archivos temporales, no solo *.tex
y *.prv
:
@generated_exts = qw(aux idx ind lof lot out toc acn acr alg glg glo gls ist);
Puede agregar otros archivos temporales (.synctex .gz .nav .vrb .snm .blg -blx .bib .bbl .run .xml) según sus necesidades. Esta es la opción más personalizable.
Para evitar esta complicación para archivos organizativos simples, puede usar la -output-directory
opción integrada de pdflatex.
pdflatex -output-directory=target <file>
Lo que también colocará la salida pdf allí en el directorio de destino. Luego puede mover el archivo pdf fuera de allí una vez que esté satisfecho de que se generó correctamente. Todos los archivos borrables están en una ubicación que se puede purgar periódicamente.
¿Por qué no usar una macro para delete-file
después org-latex-compile
? Porque eso a veces puede eliminar los archivos temporales prematuramente. Puede terminar con enlaces rotos, entradas bibliográficas no vinculadas, encabezados de capítulos no vinculados en TOC e índices no terminados, lista de tablas, lista de figuras. Consulte la cadena de documentación del modo org para C-h f org-latex-compile
:
La razón por la que se trata de una lista es que generalmente requiere varias ejecuciones de 'pdflatex', tal vez mezclado con una llamada a 'bibtex'. Org no tiene un mecanismo inteligente para detectar cuáles de estos comandos deben ejecutarse para obtener un resultado estable, y tampoco realiza ninguna comprobación de errores.
(add-hook 'org-mode-hook (lambda ()(add-to-list 'org-latex-logfiles-extensions "tex")))