Errores y avisos frecuentes de LaTeX

Siendo todavía un novato en LaTeX, no es un tema que yo conozca ni siquiera mínimamente. Lo que sí puedo decir es que la criatura ha salido un poco quejica, pero en el fondo es por nuestro bien. Básicamente (y muy, pero que muy) distinguimos estos tipos de mensajes:

  • Errores. Implican que la salida no será generada. Normalmente se deben a un olvido de algún '}' o ']' o confusión entre ellos. En estos casos, LaTeX normalmente acierta al indicar la causa del error, pero no suele dar muchas pistas acerca de en qué línea está el problema. En otras ocasiones, el error es más extraño, ahí me pierdo.
  • Avisos. Son mensajes que indican la existencia de algún problema no fatal, de modo que LaTeX puede seguir analizando el documento y generando la salida (aunque probablemente ésta no sea satisfactoria). Básicamente:

    • Undefined references (referencias no definidas):
      LaTeX Warning: Reference `tab:tmn-std-informacion' on page 234 undefined on input line 4873.
      Son frecuentes y no necesariamente dañinos. En la primera pasada, LaTeX normalmente no es capaz de resolver todas las referencias, por lo que es necesario dar una segunda pasada (es decir, volver a ejecutar LaTeX sobre el documento). A veces es necesaria una tercera pasada. Cuando es necesario dar una nueva pasada, LaTeX lo dice explícitamente:
      LaTeX Warning: There were undefined references.
      LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
      Sin embargo, otras veces se produce por haber introducido erróneamente la etiqueta en cuestión. En estos casos, después de la segunda/tercera pasada, LaTeX sigue informando del error, así que debemos subsanarlo.

    • Overfull hbox: se produce cuando LaTeX no sabe cómo dividir una palabra que cae al final de una línea, y que, por tanto, invade el margen derecho. Normalmente el resultado no es aceptable; la solución pasa por buscar la palabra en cuestión e indicar cómo hay que romperla. Hay casos más peliagudos, como el ejemplo que se muestra a continuación, en el que el problema se produce en el encabezado. En este caso, romper la palabra no sirve de mucho; habría que plantearse si modificar el formato de el encabezado para permitir dos líneas, si eliminar la palabra "Capítulo", si obligar a LaTeX a usar minúsculas en el encabezado, o por supuesto, cambiar el nombre del capítulo a algo más corto. Nótese que el aviso indica cúanto espacio ha invadido la línea en el margen derecho (xx.xxxxxpt too wide); se indica en pt, es decir, en unidades de 1/72 pulgadas. A modo de referencia, cada 10pt son aproximadamente 3,5mm, por lo que el aviso del ejemplo nos indica una invasión del margen derecho de unos 14mm.

      Overfull hbox (39.74638pt too wide) has occurred while output is active
      []/pplr7t@10.95pt/228 /pplro7t@10.95pt/CAP[]ITULO 5. ITU-T TELECOMMUNICATIONS
      MANAGEMENT NETWORK

      []
      overfull hbox

    • Underfull hbox: se produce cuando, en el proceso de justificación, la línea queda con demasiados espacios en blanco entre palabras. Normalmente no son dañinos, pues el resultado no es demasiado desagradable a la vista. La única solución sería escribir las cosas de otra manera. La gravedad de la situación viene dada por el parámetro "badness"; sin embago, incluso para valores altos puede verse que el resultado es aceptable, por ejemplo:

      Underfull hbox (badness 10000) in paragraph at lines 1398--1399
      /pplr7t@10.95pt/ti-va-mente. Para definir un tipo sin[]onimo al tipo en-tero:
      []
      underfull hbox