Documentos científicos con LaTeX

La mayoría de los documentos que a lo largo de su vida genera un universitario son documentos científicos: Tesis doctorales, tesinas, proyectos fin de carrera, las diferentes modalidades de informes a congresos, artículos en revistas especializadas… Incluso los trabajos académicamente dirigidos que realizan los estudiantes en algunas asignaturas, si están realmente bien hechos y tratan un tema de auténtico interés, son documentos científicos, es decir: documentos que describen los resultados de una investigación, o el progreso alcanzado, o el estado actual de un problema de naturaleza científica o técnica.

Como es normal, este tipo de documentos varía mucho según la especialidad y no es igual, por ejemplo, una comunicación a un congreso de biología celular, que un artículo en una revista de arqueología. No obstante los documentos científicos tienen ciertos aspectos o características comunes; hasta el punto de que tanto la International Organization for Standardization (ISO) como la Asociación Española de Normalización y Certificación (AENOR) han elaborado lo que ellas llaman normas, más bien estándares, que intentan reflejar y regularizar los apartados de que los documentos científicos suelen constar. Se trata de las denominadas normas “ISO 5966:1982” y “UNE 50135:1996”, sobre informes científicos y técnicos, e “ISO 7144:1986” y “UNE 50136:1997” sobre tesis y documentos similares.

En teoría en las webs de ISO y en la de AENOR podemos encontrar el texto de dichas normas. Pero estos textos no son de distribución gratuita. Por ello en Internet hay numerosas páginas que los explican sin proporcionar copias de ellos. Puede buscarse con cualquier buscador.

Aunque no es el cometido de este curso explicar esas normas, las señalo simplemente para hacer ver que los documentos científicos, sean de la especialidad que sean, tienen determinados aspectos comunes, de modo que su confección puede quedar facilitada si se utiliza para ello una herramienta específicamente diseñada para la generación de este tipo de documentos. Entre esos aspectos comunes podemos aquí mencionar, como más destacables, la necesidad de generar documentos bien estructurados, la utilización de referencias y aparatos bibliográficos, la generación de índices sistemáticos y analíticos, la inclusión de citas literales… Y por supuesto, en el campo de las ciencias experimentales y de la tecnología, la presencia en ellos de abundantes dosis de matemáticas, fórmulas químicas, o, en general, texto que emplea símbolos que habitualmente no están presentes en los teclados de los ordenadores.

La herramienta que aquí vamos a exponer es LaTeX, un sistema de escritura de documentos científicos y técnicos con calidad profesional. Quien ya sepa lo que es LaTeX, puede saltar al final de esta página. Las líneas que siguen son para quien aún no sepa en qué consiste LaTeX:

TeX

TeX (escrito así, las consonantes en mayúsculas y la vocal en minúscula) está considerado el más potente programa formateador para producir libros científicos o técnicos de calidad profesional. Fue desarrollado por Donald E. Knuth y el nombre TeX procede de la palabra griega “τεχ” que es la raíz de palabras españolas (e inglesas) tales como “técnica” o “tecnología”, aunque los griegos la usaban también como raíz de “techné”, arte. Por ello dice el autor de TeX que escogió ese nombre para poner el énfasis en el arte y en la tecnología; es decir: TeX no se conforma con obtener documentos pasables sino que busca la más alta calidad posible (la más artística) en documentos relativos a la técnica y a la tecnología. Por tanto la “x” final de TeX no es una “x”, sino el carácter griego χ, que en español se pronuncia como la jota; de ahí que TeX se pronuncie “tej” o, si se prefiere, “tek”. Algo que no debería sorprender a los hispanoparlantes, que ya en el siglo XVI usaban “x” para representar el sonido “j” en palabras como “México” o “Texas”.

TeX está diseñado a modo de compilador que recibe como entrada un fichero de texto en el que junto con el texto propiamente dicho hay unas “marcas” o “instrucciones” de formateado. A partir de ese documento TeX generará un nuevo documento ya formateado, en el que al texto se le habrán aplicado esas instrucciones. Por ello pronto empezó a hablarse de “TeX” no solo en el sentido de un programa informático, sino también en el sentido de un lenguaje de marcado para el formateo de textos, para hacer referencia a las instrucciones de formateo que TeX era capaz de reconocer.

TeX es, por otra parte, relativamente difícil. Consta de unas 300 instrucciones básicas llamadas primitivas que, como su propio nombre indica, son bastante primitivas. Por ello el propio autor de TeX, utilizando una de las capacidades de TeX que mayor potencia le dan, la de generar nuevas instrucciones (llamadas macros), escribió en torno a 600 de esas macros, dando lugar así a lo que se suele denominar Plain TeX, que es un dialecto de TeX que consta de aproximadamente 900 instrucciones. Habitualmente se identifica Plain TeX con el propio TeX, hasta el punto de que quienes dicen trabajar directamente en TeX, en realidad casi siempre se refieren a Plain TeX.

Las instrucciones de que consta Plain TeX, por otra parte, son en un muy alto porcentaje de naturaleza tipográfica: es decir indican directamente cómo hay que formatear el texto. Lo que significa que si el autor del documento no sabe nada de tipografía, por muy bueno que sea TeX, el resultado que se obtendrá muy probablemente sea mediocre, ya que las decisiones tipográficas habrán sido tomadas por quien no entiende de ello.

Pero, aunque mediocre, muy posiblemente sea mejor que el que se habría obtenido de no usar TeX, porque el autor de TeX mientras lo generaba, estudió concienzudamente las mejores tradiciones tipográficas, y diseñó sus propias fuentes, y preparó al programa para enfrentarse a todas las tareas y decisiones que suelen tomar los tipógrafos. Así TeX se diferencia de los demás sistemas informáticos de tratamiento de texto en cientos de pequeños detalles, como, por ejemplo, la distancia entre las letras de una palabra, que siempre es igual en el tratamiento informático de los textos, salvo en TeX donde, de acuerdo con la tradición tipográfica, ciertas combinaciones de letras producen un aumento o reducción del espacio entre las letras, o a veces producen las llamadas ligaduras tipográficas en virtud de las cuales dos caracteres consecutivos se convierten en uno sólo, o en el espacio de separación entre palabras de un párrafo, que en TeX, a diferencia de lo que es normal en los sistemas de tratamiento automatizado de textos, no difieren entre las distintas líneas, ni siquiera para conseguir el llamado texto justificado en el que todas las líneas tienen la misma longitud… Es muy difícil aquí ofrecer ejemplos de lo que estoy diciendo porque esta página se muestra en HTML, que es un sistema que no ofrece la calidad suficiente como para mostrar ejemplos de lo que TeX puede hacer. Recomiento por lo tanto que miremos con detenimiento un libro en una edición de calidad, veremos que, por ejemplo, la combinación de letras “fi” no se suele representar como dos letras separadas, sino como una sola letra…

Todos estos detalles, y el hecho de que en TeX todo está diseñando pensando en la legibilidad del texto y en la belleza estética de la página compuesta, son el fundamento de la altísima calidad obtenida con TeX.

LaTeX

La capacidad de TeX para escribir macros, de la que antes se ha hablado, hacía relativamente sencillo generar dialectos de TeX a partir del propio TeX. Ya hemos visto que el propio autor de TeX generó un dialecto, llamado Plain TeX que aunque es más sencillo de usar que el propio TeX, sigue ofreciendo bastante dificultad y, sobre todo, tiene el inconveniente de que gran parte de las decisiones de carácter tipográfico se siguen dejando en manos del autor del documento.

LaTeX es uno de los dialectos derivados de TeX, lo que significa que, desde el punto de vista interno, LaTeX no es sino un conjunto de macros para TeX. Fue diseñado originariamente en 1985 por Leslie Lamport con la intención de simplificar el uso de TeX sin renunciar al uso de su gran calidad. Consiste en un conjunto de macros de alto nivel dirigidas a la producción de documentos técnicos, con una alta calidad tipográfica. En este sentido LaTeX en gran medida sustituye las instrucciones tipográficas de TeX por instrucciones lógicas en las que el autor en lugar de indicar él cómo quiere formatear el documento, se limita a ir señalando qué función cumple cada una de las partes del documento, de modo que sea el propio LaTeX el que, a la vista de la función, seleccione el formato más adecuado, para lo que se tendrán en cuenta consideraciones de índole tipográfica de las que posiblemente el autor del documento no entienda.

En suma: LaTeX oculta al usuario la complejidad de TeX, al tiempo que le permite concentrarse en el contenido del documento, garantizando que el resultado final tendrá una alta calidad tipográfica.

Como al usar LaTeX se usa también TeX, el autor puede cambiar cualquiera de los aspectos formales del documento. Pero en la filosofía de LaTeX está el que no haga eso, sino que se concentre en escribir documentos bien estructurados, dejando las decisiones estilísticas en manos del propio LaTeX.

LaTeX es, por ello, en mayor medida que TeX un lenguaje de marcado lógico o descriptivo: las instrucciones no se concentran tanto en decir qué recurso tipográfico hay que usar, como en indicar qué efecto se pretende conseguir o qué función cumple cierto bloque de texto en el total, para que el texto sea formateado según dicha función o según el efecto que se quería obtener.

Pero LaTeX no es en su totalidad un marcado lógico (como lo puede ser XML). Junto con las instrucciones lógicas conviven algunas de naturaleza tipográfica; sobre todo las que podríamos considerar más habituales (negrita, cursiva…) y además, por supuesto, en LaTeX siempre podemos usar cualquier instrucción de TeX, aunque es cierto que en los manuales de LaTeX no suelen documentarse aquellas funciones de TeX que, aunque se pueden usar, no ha sido previsto que se utilicen.

LaTeX 2e

Como es normal en materia de software, desde su introducción a mediados de los años 80, LaTeX ha venido sufriendo revisiones periódicas. Durante mucho tiempo se mantuvo como versión vigente la versión 2.09, a partir de la cual podría decirse que LaTeX hizo eclosión. Su enorme popularidad le llevó a ir expandiéndose en campos diferentes, para los que no había sido pensado, y a ir dando lugar a múltiples formatos derivados, hasta que en en un esfuerzo para restablecer un verdadero estándar, se creó el Proyecto LaTeX3, con la finalidad de construir un conjunto básico de comandos eficientes y optimizados, complementados con varios paquetes que añadieran tantas funcionalidades específicas como fuera preciso.

A esa versión que el Proyecto LaTeX 3 considera que será la versión definitiva, se la llama LaTeX 3, y se sigue trabajando en ella. Pero hasta que se obtenga, desde 1994, la versión oficial es la denominada LaTeX 2e, que es la que se suele explicar en la documentación sobre LaTeX accesible desde Internet.

En la actualidad se considera que LaTeX 2.09 es obsoleta, y el estándar está constituido por LaTeX 2e, que es el que se explicará en este curso.

Programas auxiliares de LaTeX

Determinados aspectos relacionados con los documentos a generar, no son realizados directamente por LaTeX sino por ciertos programas auxiliares que se distribuyen junto con el compilador propiamente dicho. Así para la gestión de bases de datos bibliográficas, existe la herramienta “bibtex”, para la gestión de índices o glosarios, existe makeindex… Estas herramientas se integran a la perfección con LaTeX en el sentido de que reconocen los ficheros auxiliares generados por LaTeX y son capaces de añadir en ellos información que luego el propio LaTeX pueda utilizar.

Entre los programas auxiliares de LaTeX se cuentan también los dirigidos a modificar el formato de los ficheros generados por LaTeX: dvips, dvipdfm, ps2pdf… Más adelante los explicaremos.

Extensiones de LaTeX

Además de esas herramientas auxiliares que se acaban de mencionar, LaTeX fue diseñado para que fuera sencillo ampliar sus funcionalidades mediante paquetes.

Un paquete es un conjunto de macros que se cargan al principio de un documento LaTeX y que provocan o bien un cambio en el funcionamiento por defecto de LaTeX, o bien una serie de funcionalidades nuevas.

A partir de este diseño, cientos de voluntarios de todo el mundo han ido diseñando paquetes para conseguir numerosos efectos. La mayor parte de esos paquetes, junto con las más importantes distribuciones de LaTeX pueden conseguirse en la CTAN, siglas de Comprehensive TeX Archive Network (Red del Archivo completo de TeX); se trata de un conjunto de servidores FTP (originariamente uno norteamericano, otro inglés y un tercero alemán) pensados para almacenar casi todo lo relacionado con TeX, sus formatos derivados (como LaTeX) y sus herramientas auxiliares. Para acceder a la CTAN en protocolo www la dirección es http://www.ctan.org.

Herramientas libres

Tanto TeX, como LaTeX, sus programas auxiliares, y gran parte de los paquetes de extensión constituyen software libre en el sentido estricto de la palabra, es decir: no es sólo un software de distribución gratuita, sino que en él los usuarios tienen las cinco libertades que definen este tipo de software: libertad de usar, estudiar, copiar, modificar y redistribuir.

De hecho LaTeX tiene su propia licencia, que no es la licencia GPL, pero se le parece bastante. se trata de la Licencia Pública del Proyecto LaTeX, o, en inglés: la LaTeX Project Public License (LPPL). Es a esta licencia a la que está acogido el núcleo del propio LaTeX así como la mayor parte de las herramientas y paquetes relacionados.

Distribuciones de LaTeX

Como se ve LaTeX consta de numerosas piezas. De un lado está el compilador de TeX y todos sus ficheros auxiliares, luego los ficheros de formato del propio LaTeX y los que recogen las diferentes macros que este implica; están también los paquetes de extensión, las herramientas auxiliares, así como otra serie de ficheros con utilidades tales como visores para los distintos formatos manejados por LaTeX, patrones para la partición de palabras en los diferentes idiomas, ficheros con fuentes en distintos tamaños…

Instalar LaTeX puede llegar a ser complicado, porque son muchas las piezas a tener en cuenta. Por ello se diseñaron las llamadas distribuciones de LaTeX. Una distribución consiste en una selección más o menos amplia de los paquetes disponibles para LaTeX, junto con el núcleo del propio LaTeX, sus programas auxiliares, tal vez algún visor para documentos dvi, o para documentos postscript, etc. Todo ello con un programa dirigido a instalar todos los ficheros necesarios en un ordenador concreto.

Hasta hace poco las distribuciones eran específicas para cada plataforma o sistema operativo; recientemente se ha lanzado una distribución multiplataforma denominada TeXLive que se supone que funciona indistintamente en sistemas Unix/Linux, Mac-OS, Microsoft Windows, etc.

Las distribuciones que no son de pago, tanto las específicas para cada plataforma como las multiplataforma, están disponibles en la CTAN.

Ventajas de LaTeX frente a otras herramientas

De lo hasta ahora dicho se desprende que LaTeX ofrece, como primera ventaja frente a otros sistemas de tratamiento de texto, su impresionante calidad, así como el hecho de estar específicamente diseñado para escribir documentos científicos y técnicos. Pero esas no son las únicas ventajas. Podemos citar también:

  • Hay distribuciones de LaTeX para cualquier sistema operativo. Lo que significa que si, por ejemplo, en el ordenador de nuestra casa funciona Microsoft Windows, y en el trabajo el sistema operativo es alguna distribución de Linux… Podremos trabajar en nuestros documentos exactamente igual. Cosa que no ocurriría si usáramos, por ejemplo, Microsoft Word como herramienta principal para el trabajo con textos.
  • Aún más: Como en LaTeX los ficheros fuente son ficheros de texto, y todo ordenador dispone de alguna herramienta para manejar este tipo de ficheros, podemos escribir y modificar nuestros ficheros en cualquier ordenador, sin que ni siquiera sea necesario que en él esté instalado LaTeX. Sólo para compilar nuestro fichero (la fase final de nuestro trabajo) necesitaremos trabajar en un ordenador que tenga instalado LaTeX.
  • LaTeX, ya lo hemos dicho, es software libre lo que implica un importante ahorro económico. Además lleva siendo probado durante mucho tiempo en muchos sistemas distintos, por lo que está prácticamente exento de fallos. Con él tenemos la certeza de que el mismo documento fuente siempre dará exactamente el mismo resultado, con independencia del ordenador en que se ejecute, el sistema operativo, la impresora…

Se verá que gran parte de las ventajas apuntan a la posibilidad de trabajar en distintos ordenadores, en distintos sistemas operativos, y por distintas personas. Y es que LaTeX es especialmente bueno cuando se trata de trabajos colaborativos. Pero no olvidemos que la ciencia es siempre colaborativa; y que antes o después, todo científico termina compartiendo su trabajo con otros, o se traslada a otras instituciones durante cierto tiempo, viéndose precisado a usar distintos ordenadores, cada uno con su sistema operativo y con diferentes programas instalados en ellos.

En un mundo informático cada vez más variado, la mejor herramienta es la más versátil; la que menos exigencias plantea. Y, en este sentido, pocas herramientas hay capaces de trabajar en cualesquiera condiciones, sin necesidad siquiera de que la propia herramienta esté instalada, e incluso en ordenadores que funcionen exclusivamente en modo de consola.

El presente curso

El presente curso es una simple introducción a LaTeX que ni es exhaustiva ni lo pretende. En ese sentido no es mejor ni peor de los documentos que para aprender LaTeX más adelante indicamos. Es sólo uno más.

Hallar el tono adecuado en una introducción a LaTeX es difícil. Si se intenta entrar en demasiados detalles se puede asustar al lector que llegará a la conclusión de que se trata de un sistema endiabladamente difícil; pero si, por el contrario, no se entra nunca en detalles, el lector no llegará a hacerse una idea cabal de las posibilidades de LaTeX.

En este curso he intentado explicar lo básico, aunque en ocasiones he ido algo más allá (no mucho más allá). Al final de cada tema se añade un apartado indicando todo lo que falta por aprender y, a veces, el dónde aprenderlo. Por supuesto mi visión de lo que falta por aprender tiene mucho que ver con lo que yo sé. Las cosas que yo ignoro —que en relación con TeX y con LaTeX bastantes hay—, difícilmente las mencionaré en estos apartados.

Si, no obstante, algún lector se asusta y piensa que LaTeX es demasiado complicado, puede saltar directamente al último tema, denominado Chuleta de LaTeX en donde se explica lo imprescindible para escribir un documento completo en LaTeX y se recogen los 10 comandos básicos de LaTeX. Quien así haga escribirá documentos de LaTeX desde el primer día, pero… ¡No sólo no podrá aprovechar su potencia, sino que ni siquiera será consciente de ello!

Una pena.

Por último, aunque un buen curso debe constar de ejemplos, el problema de escribir un curso sobre LaTeX en HTML está en que este último lenguaje, muy apropiado para Internet, no permite mostrar la calidad que se obtiene con LaTeX. Para ello debería haber llenado estas páginas con decenas de imágenes; lo que las haría lentas y poco manejables.

Por ello he decidido prescindir de los ejemplos. Al igual que he prescindido de los ejercicios a partir del tema 3º. Porque se supone que una vez que hemos compilado nuestro primer documento en LaTeX (como se hace en el tema 2º), no hay mejor ejercicio que ir probando todos los aspectos de LaTeX de los que se va hablando: el efecto de sus comandos y entornos, las peculiaridades de que se informa en cada momento.

Este curso, por lo tanto, no está pensado para ser simplemente leído y recordado. La primera vez que lo leamos, al menos, hay que ir probando todo lo que en él se dice. Y siendo eso así ¡Quién necesita más ejercicios!.

Para terminar diré que, como universitario, no me gusta escribir de lo que sólo sé de oídas, o repetir como papagayo lo que nunca he comprobado; y por ello, dado que no soy matemático, ni procedo de ningún campo afín a las matemáticas, sino que soy un “hombre de letras”, he decidido no incluir en este curso ningún apartado para las matemáticas con LaTeX.

¡¡¡Horror!!! dirán algunos: ¡LaTeX, TeX, que nacieron para escribir matemáticas! Un curso sobre ellos que no haga referencia a las matemáticas…

En el fondo creo que ese es el mejor piropo que se le puede dar a LaTeX y a TeX: nacieron para escribir buenos documentos con muchas matemáticas; pero fueron tan bien pensados, generan documentos de tanta calidad, que hoy día son usados por personas que nunca han necesitado escribir matemáticas.

Además, quien quiera aprender sobre matemáticas y LaTeX, no le faltará información en alguno de los recursos que a continuación recojo

Recursos

  • Para aprender LaTeX:
    • LaTeX para humanidades: Un interesante y original documento en español de Luis Sanjuán en el que se ofrece una introducción práctica elemental y amena al uso de LaTeX, dirigida principalmente a los autores relacionados con el campo de las humanidades. Esta concebido como un relato en el que se huye del uso de tecnicismos.
    • ¿Alergia al LaTeX?: Escrito por Francisco Javier Pueyo Mena, este pequeño manual expone de modo conciso lo más importante que se debe saber sobre LaTeX.
    • LaTeX para usuarios de procesadores de textos: Antoni Aloy López escribió para Bulma este documento en el que se expone un resumen de LaTeX específicamente orientado a personas acostumbradas al uso de procesadores de texto.
    • Preparación de texto con LaTeX: Se trata de un texto bastante conciso, escrito por Carlos Ivorra. Contiene todo lo que hay que saber para empezar, aunque no siempre explica el por qué de las cosas; lo que tal vez lo haga más difícil de comprender para un novato.
    • Recetario de LaTeX: Es una página bastante interesante para los novatos (y para los no tan novatos) que pretende combinar el hecho de que en LaTeX la curva de aprendizaje es, al principio, más acusada que en otros sistemas. Para combatir esto, aquí se contienen una serie de consejos o “recetas” sobre cómo hacer en LaTeX ciertas cosas, que permiten obtener buenos resultados desde el primer momento.
    • Una descripción de LaTeX2e: Posiblemente sea el texto más amplio y detallado en español accesible gratuitamente desde Internet. Imprescindible si queremos aprender LaTeX por nuestra cuenta. Es obra de Tomás Bautista.
    • The Visual LaTeX FAQ: Es un original documento, en inglés, en el que, a lo largo de 29 páginas se usan determinados recursos y efectos (títulos, textos a doble columna, notas a pie de página…), de tal manera que para saber cómo conseguir uno de esos efectos con LaTeX basta con hacer clic sobre el texto que lo representa.
    • The not so short introduction to LaTeX (o también: LaTeX en 139 minutos): Hasta donde yo se, este documento de Tobias Oetiker constituye la mejor introducción a LaTeX, en inglés, que circula gratuitamente por Internet. Su lectura es verdaderamente útil.

Ejercicios

En esta primera lección, se propone un solo ejercicio: Descargar e instalar una distribución de LaTeX. Para ello debemos:

  • Leer detenidamente la información que, al respecto, se contiene en la FAQ de CervanTeX.
  • Buscar la distribución adecuada para nuestro sistema en la CTAN, concretamente en el directorio tex-archive/systems. En dicho directorio encontraremos un directorio para cada sistema operativo, así como directorios para algunas distribuciones multiplataforma, como TeXLive (que es, de hecho, la que recomiendo). Si en el directorio correspondiente a la distribución elegida hay algún fichero readme o readme.html deberemos leerlo antes. Tengan en cuenta además, los usuarios de Microsoft-Windows, que en sistemas como Linux/Unix, se pueden descargar las fuentes de un programa para compilarlo, o la imagen binaria, ya compilada; y que por lo tanto un directorio llamado images no necesariamente contendrá “imágenes” en el sentido de ficheros multimedia con imágenes, sino que muy posiblemente sea allí donde hay que buscar el ejecutable a instalar. También es posible que este esté comprimido en un fichero cuya extensión no sea ”.zip”. Que no se desespere nadie: basta con buscar (también en Internet) las herramientas necesarias para descomprimir esos ficheros. Hay incluso versiones de “winzip” o “winrar” capaces de descomprimirlos (o al menos las había cuando yo trabajaba con sistemas Windows).

En todo caso el ejercicio consiste en indagar por el árbol de directorios de la CTAN y, tal vez, en aprender algo de otros sistemas.

Para usuarios de Linux, muy posiblemente haya un procedimiento más sencillo para instalar LaTeX, pues hasta donde yo se, todas las distribuciones de Linux incluyen “paquetes” para instalar LaTeX. Incluso es muy probable que una parte de LaTeX haya sido instalada por defecto con el propio Linux.

En particular en Debian, el sistema de dependencias de esa distribución (casi perfecto, en mi opinión) hace que con simplemente instalar el paquete correspondiente al idioma español para kile (un editor de textos especializado en el trabajo con LaTeX), se instale el núcleo de LaTeX junto con un conjunto razonable de sus paquetes de extensión. De modo que ejecutando en una consola, como superusuario, la orden:

apt-get install kile-i18n-es  

obtendremos una instalación muy razonable de LaTeX. ¡Para que luego digan que el sistema operativo difícil es Linux!.

Todas las Secciones