Utiliza latexmk para automatizar la compilación de documentos
Usuarios con más experiencia en LaTeX, y dependiendo del editor o mecanismo
que utilicen para compilar documentos, encontrarán más y más desconcertante
el número de veces que hay que procesar un documento y con diferentes
herramientas. ¿Por qué es que hay que hacer pdflatex + bibtex
+ pdflatex + pdflatex para ver el resultado final de un documento?
En este caso la respuesta viene también de una historia donde las computadoras solían ser algo más lentas y este modo de ‘compilación incremental’ podría hacer el ciclo de editar-compilar-visualizar un poco más fluido.
En fin, el problema se complica también un poco más porque el número de veces que hay que compilar un documento, y con qué herramientas, depende del resultado de las compilaciones anteriores. Además, en lo posible, a uno le gustaría no tener que volver a compilar o aplicar herramientas que no sean necesarias si, por ejemplo, la bibliografía o el número de referencias no se han modificado.
Lo bueno es que alguien finalemnte se sentó a pensar y resolver el problema y creo el script latexmk que hace precisamente esto. No voy a recomendar el uso de este script para nuevos usuarios, pero si tienes experiencia con lineas de comando, usar y configurar scripts tipo Unix, definitivamente dale una revisada a esta herramienta.
La instalación es relativamente sencilla: tienes que copiar el
script en algún lugar accesible en tu $PATH, digamos
en ~/Library/bin, y—para activar la compilación en modo
pdf—crear el archivo ~/.latexmkrc y escribir en él la siguiente línea:
$pdf_mode = 1;
Después puedes generar la versión final de tu documento con ejecutar el siguiente comando una sóla vez.
latexmk archivo.tex
Para usar latexmk como el motor para compilar en TeXShop hay que
crear también el archivo ~/Library/TeXShop/Engines/latexmk.engine
que contenga algo como:
#!/bin/sh
~/Library/bin/latexmk "$1"
Después de reiniciar TeXShop, la opción para compilar con latexmk
aparecerá en el menú de opciones junto al botón de Typeset.