Construir un documento LaTeX a mano implica repetir “compilar → bibliografía → compilar → compilar” y recordar cuándo volver a ejecutar cada paso. Una compilación automatizada delega ese juicio en una herramienta: sigue las dependencias, ejecuta solo los pasos necesarios y, en modo de vigilancia, recompila en cuanto guardas. Esta página trata ese flujo de trabajo (para las herramientas en sí, consulta “Build tools”).
Qué es una compilación automatizada
Con referencias cruzadas, tabla de contenido, bibliografía o índice, la compilación necesita varias pasadas, con biber o makeindex intercalados. Una herramienta de compilación automatizada deduce por sí misma el orden y la cantidad, llama a las herramientas auxiliares en el momento adecuado y continúa hasta que la salida se estabiliza. En la práctica escribes un solo comando. El estándar es latexmk; la alternativa declarativa es llmk.
Automatizar con latexmk
Un solo latexmk -pdf document.tex ejecuta tantas compilaciones como hagan falta, invoca bibtex/biber y makeindex, y repite hasta que todo se estabiliza. La configuración específica del proyecto va en .latexmkrc (cambiar el motor, la configuración japonesa uplatex + dvipdfmx, etc.). En colaboración, incluye ese archivo en el repositorio y conviértelo en el contrato del proyecto: “este documento se construye con este comando”. Así es más fácil reproducir el mismo PDF entre editores y sistemas operativos. Para cada opción, consulta “Build tools”.
latexmk -pdf document.tex # 必要な手順を自動で回す / runs all the needed stepsLa primera decisión es la ruta de motor que produce el PDF. Un documento corto solo en inglés suele ir bien con pdflatex; el texto japonés o las fuentes OpenType normalmente llevan a upLaTeX + dvipdfmx o LuaLaTeX. Escribe esa decisión en .latexmkrc para que los botones del editor, la terminal y CI usen la misma ruta. Cuanto más crece el documento, más rinde esta ruta de compilación fija.
# .latexmkrc — upLaTeX + dvipdfmx の例 / example route
$latex = 'uplatex -interaction=nonstopmode -halt-on-error %O %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;Recompilar al guardar — latexmk -pvc
El modo más útil mientras escribes es -pvc (preview continuously). latexmk vigila todos los archivos fuente de los que depende: el archivo principal, los .tex incorporados con \input/\include y los archivos gráficos. Cuando se guarda cualquiera de ellos, recompila automáticamente y actualiza el visor. Se siente como un “servidor de desarrollo” para el documento: guardas y ves el resultado de inmediato.
latexmk -pdf -pvc document.tex # 監視して保存ごとに自動更新 / watch and auto-rebuild on saveProcesar solo lo cambiado — compilaciones incrementales
latexmk evita repeticiones redundantes porque registra las dependencias. Después de cada ejecución guarda el estado de cada archivo fuente en una base de datos, .fdb_latexmk, y usa el archivo .fls producido por -recorder (una lista de lo que esa ejecución leyó y escribió) para saber con precisión qué entradas y salidas intervienen. En la siguiente invocación, un paso se repite solo si cambiaron sus entradas: si no cambiaste nada, no pasa nada; una edición pequeña dispara solo las pasadas necesarias. Por eso las recompilaciones son rápidas.
llmk también automatiza la compilación. Como sus ajustes se escriben de forma declarativa en llmk.toml (o como magic comments en el documento), los pasos son los mismos para cualquiera en cualquier máquina: muy reproducible y adecuado para colaboración y distribución. Piensa en latexmk como la herramienta que infiere repeticiones a partir de registros y dependencias, y en llmk como la herramienta que declara el flujo de procesamiento dentro del propio proyecto del documento.
Integrarlo en tu flujo de trabajo
-pvc es para escribir, una ejecución normal de latexmk sirve para revisar antes de entregar, y latexmk -C es la limpieza que demuestra que no dependes de archivos generados obsoletos. En colaboración, un documento que no puede construirse limpiamente probablemente fallará para otra persona. No dependas solo de las vistas previas instantáneas al guardar; limpia y recompila periódicamente para que la entrega final del PDF no tenga sorpresas.
- Mientras escribes →
latexmk -pdf -pvc: actualización automática en cada guardado. - Incluye la configuración con el proyecto → mantén
.latexmkrc/llmk.tomlen el repositorio para reproducibilidad. - Última pasada antes de distribuir →
latexmk -Cpara borrar salidas y luego hacer clean build. - Construir en un servidor o en CI → consulta la página “CI”.