Índice
Si trabajas habitualmente con LaTeX, estás acostumbrado a ver múltiples ficheros generados automáticamente al compilar el proyecto. Pueden llegar a molestar bastante, ya que ensucian el directorio de trabajo. Hoy explicaré dos alternativas para mover todos esos ficheros a un directorio separado para mantener un directorio de trabajo limpio.
Estructura del directorio
La idea sería tener el directorio de trabajo organizado del siguiente modo:
Directorio del proyecto/
|__ main.tex
|__ main.bib
|__ main.pdf
|__ chapter1.tex
|__ chapter2.tex
|__ …
|__ metafiles/
| |__ main.aux
| |__ main.bcf
| |__ main.blg
| |__ main.glo
| |__ main.ist
| |__ main.log
| |__ main.toc
| |__ …
|__ figures/
|__ figure1.pdf
|__ …
Mediante un script
Este script lo encontré en el blog de Tom, en su artículo Hiding LaTeX metafiles from project directory:
#!/bin/bash
# Create directory if it doesn't exist
if [ ! -d "metafiles" ]; then
mkdir metafiles
fi
# Run pdflatex and biber with metafiles as in-/output directories
pdflatex -output-directory=metafiles main
biber --input-directory=metafiles --output-directory=metafiles main
pdflatex -output-directory=metafiles main
pdflatex -output-directory=metafiles main
makeglossaries -d metafiles main
pdflatex -output-directory=metafiles main
# Create a softlink to the output PDF
ln -s metafiles/main.pdf
Usando latexmk
Para aportar algo al artículo de Tom, miré la documentación de LatexMK, comando que ya hemos visto en este blog, y tiene la opción -output-directory
que permite especificar donde se guardaran todos los metaficheros, su uso es simple:
latexmk -shell-escape -pdf -pvc -output-directory=metafiles main.tex
Esto tendrá un efecto parecido al script de Tom, sin embargo el pdf también queda generado dentro de esta carpeta, podemos solucionarlo con un soft link:
ln -s metafiles/main.pdf
Espero que os haya sido de utilidad, yo ya lo uso de forma habitual.
¿Has visto algún error?: Por favor, ayúdame a corregirlo contactando conmigo o comentando abajo.