Resumen
Esta clase enseña a compilar con seguridad y a corregir lo que falla. Explica que una compilación se hace en pasadas, por qué las referencias y el índice necesitan una segunda, y cómo latexmk repite las pasadas por sí solo, en Texmaker y en la terminal. Enseña a leer el registro: dónde está, cómo se lee un error con su línea de exclamación, su número de línea y su contexto partido en dos, y qué distingue un error de una advertencia y de un aviso de caja desbordada. Recorre los errores más frecuentes con sus mensajes reales, los modos de interacción del motor y una estrategia de depuración: leer primero el primer error, dividir la fuente por mitades, reducir el problema a un ejemplo mínimo, limpiar los auxiliares y buscar el texto del mensaje. Termina con las advertencias que conviene atender.
Objetivos de aprendizaje
- Explicar por qué un documento con referencias o índice necesita más de una pasada, y compilarlo con latexmk.
- Leer un error del registro e identificar su mensaje, la línea en que el motor lo detectó y el punto exacto de esa línea.
- Reconocer los errores más frecuentes por su mensaje y relacionar cada uno con sus causas probables.
- Localizar la causa real de un error cuando no está en la línea señalada, leyendo primero el primer error y dividiendo la fuente por mitades.
- Distinguir las advertencias que exigen una corrección de las que pueden ignorarse.
Qué hace una compilación
El motor lee la fuente una sola vez, de principio a fin, y compone cada página a medida que avanza. Esa lectura única tiene una consecuencia: cuando en la segunda página aparece una referencia a la sección cinco, o cuando el índice de la primera página debe listar secciones que aún no se han leído, el motor no puede saber todavía qué número o qué página les corresponde. La solución de LaTeX es trabajar en pasadas. En cada una, anota en el archivo .aux el número y la página de cada etiqueta (las que se ponen con \label), y en el archivo .toc los títulos de las secciones; en la pasada siguiente, lee esos archivos al comienzo y usa lo anotado. De ello se sigue que, en la primera compilación, las referencias aparecen como dos signos de interrogación y el índice sale vacío, y que basta compilar otra vez para que se completen. Si un cambio desplaza los números, puede hacer falta una tercera pasada; la bibliografía, como se verá en su unidad, añade un programa más, Biber, entre pasadas.
Contar pasadas a mano es tedioso y propenso a olvidos. Para eso existe latexmk, un programa que viene con las distribuciones: ejecuta el motor, examina el registro y los auxiliares, y repite las pasadas, o llama a Biber, hasta que nada cambie. Su opción -lualatex le indica que use LuaLaTeX, y su opción -c borra los archivos auxiliares, conservando el PDF.
La primera orden compila tesis.tex con LuaLaTeX tantas veces como haga falta; la segunda limpia los auxiliares.
$ latexmk -lualatex tesis.tex$ latexmk -c tesis.texEn Texmaker, una de las secuencias predefinidas de la compilación rápida usa latexmk (LatexMk + View PDF); en la lista de órdenes del diálogo de configuración, la orden de latexmk se cambia por latexmk -lualatex -synctex=1 -interaction=nonstopmode %.tex, para que use LuaLaTeX y conserve la sincronización con el PDF.
Cargando el contenido…