Qué es TeX

Qué es TeX

TeX es un sistema de composición tipográfica de textos de alta calidad y refinamiento, y con funciones avanzadas de automatización. TeX en sí mismo es un completo lenguaje de programación que permite el marcado lógico de documentos de forma que el formato se pueda generar automáticamente.

TeX fue desarrollado por Donald Knuth en el año 1978, por petición de la American Mathematical Society, para poder componer texto y fórmulas matemáticas con la calidad de los sistemas de fotocomposición de entonces, pero sin el penoso esfuerzo que esos sistemas requerían.

Ejemplo

Éste es el origen de TeX y donde todavía sigue siendo insustituible, sin que haya ningún sistema de maquetación que tan siquiera se aproxime a sus resultados. El estándar MathML, para representar matemáticas con XML, está basado en TeX.

Knuth, junto con las dos entidades que prestaron apoyo al proyecto (la AMS y Addison-Wesley), decidieron poner el programa a disposición de todo aquel que quisiera usarlo, sin ningún tipo de restricciones. Sin embargo, aunque su gratuidad haya contribuido a su difusión y a que se haya convertido en un estándar de facto para el intercambio a nivel mundial de información científica, las razones de su éxito no hay que buscarlas en ese hecho sino en la alta calidad de los resultados.

TeX está disponible en casi cualquier plataforma existente, y sus archivos se pueden intercambiar con relativa facilidad entre ellas. La combinación de estas cuatro caracteristicas de calidad, gratuidad, disponibilidad y compatibilidad han sido, en definitiva, las claves para su amplia difusión.

Ejemplo

TeX cubre todo el proceso en la creación de un libro, desde la escritura por el autor, liberado de la tarea del formato (izquierda), pasando por la composición (centro), hasta la imposición (derecha). Los resultados se muestran en formato PDF, que también ha tomado ideas de TeX.

TeX no es un procesador de textos

El objetivo de los procesadores de texto es la introducción (es decir, el tecleo) y preparación de texto. Programas como WordStar, WordPerfect, Word... son la lógica continuación de la máquina de escribir, aunque todos ellos ofrecen características adicionales que los hacen útiles para bastantes tareas, siempre que no están relacionadas con la composición profesional. TeX no es un procesador de texto, y de hecho hace falta un programa externo para el propio tecleo del documento que va a ser compuesto.

TeX no es un programa de maquetación

Los programas de maquetación permiten la distribución de texto en la página según una cierta maqueta o diagrama. Su principal uso es sobre todo en periódicos y revistas ilustradas, que hasta la aparición del Macintosh en 1984 y programas como PageMaker, Ventura y QuarkXPress tenían que hacerse por medios completamente artesanales o de un altísimo coste. Sin embargo, TeX no esta dedicado a la maquetación (al menos de esta forma) y su uso en los contextos donde PageMaker revolucionó la compaginación es bastante limitado. Los programas de maquetación prestan relativamente poca atención a la composición del texto (es decir, la forma en que cada letra se coloca con relación a las demás, y la forma en que se componen las líneas), que es uno de los principales objetivos de TeX.

Entonces, ¿qué es TeX?

En realidad, TeX se entronca más con las técnicas de fotocomposición de Compugraphic, Digiset o Fototronic, donde el énfasis se pone en la forma en que el texto se distribuye en líneas. Al igual que los programas de proceso de texto han incorporado funciones que hacen de las máquinas de escribir algo del pasado, TeX ha incorporado una serie de funciones que permiten la calidad de composición de los sistemas de fotocomposición tradicionales al tiempo que extiende sus capacidades en tal grado que se esta convirtiendo en una pieza fundamental para tecnologías recientes como XML y permite avanzar en el desarrollo de nuevos sistemas en el nuevo milenio. Pero al contrario que los sistemas de fotocomposición, cuyo uso era extremadamente complicado, TeX pone al alcance de cualquiera con un esfuerzo relativamente pequeño todas sus posibilidades (en realidad más, al poder automatizarse).

Ejemplo

Los gráficos no son adiciones a la página sino que pueden ser parte integrante del texto en sí y permitir así efectos interesantes. El óvalo del pie y la flecha de enlace con la nota marginal no están dibujados a mano, sino que el texto está marcado para se tracen.

De esta forma, al permitir el acceso de todos a unas prestaciones tal altas, tanto autores como empresas de artes gráficas pueden sacar ventaja de TeX: los autores, porque ya no necesitan acudir a una empresa de fotocomposición para preparar un libro, y las artes gráficas, al poder prescindir, precisamente, de dichos sistemas sin renunciar a la calidad. Más aun, el trabajo combinado de autor y editorial permite un proceso más rápido y económico por medio de plantillas de TeX que produzcan los resultados adaptados al estilo de la editorial, al poder disponer ambos de las herramientas necesarias.

Ejemplo

TeX sigue evolucionando. El sistema Omega lee archivos con codificación Unicode y los representa adecuadamente, con un control tipográfico absoluto sobre las características propias de otras escrituras. XSL-Formatting Objects ha incorporado ideas procedentes de Omega.

Qué es TeX: Cómo funciona

Todos los programas para preparar texto (ya sea un programa de proceso, de maquetación o de composición) siguen siempre un proceso de tres pasos:

  • Introducción del texto
  • Preparación con su formato
  • Presentación en pantalla

Mientras que los programas llamados WYSIWYG unen el primer paso con el último y ocultan el segundo (para crear la sensación de que realmente se toca el formato), TeX deja los tres pasos separados de forma que se pueden controlar y automatizar más fácilmente; de esa forma se puede tener el control que las nuevas tecnologías exigen y que de hecho se ha perdido en los programas de maquetación más tradicionales, al tiempo que garantizamos una precisión tipográfica insuperada hasta el momento. (Algunos programas recientes intentan adaptarse a este nuevo método de trabajo, como en el paquete Frame+SGML, pero el concepto de funcionamiento de los programas de maquetación hace que su adaptación a este sustancial avance no sea fácil.) Otra ventaja de este método es que un error de TeX no corrompe el archivo original, ya que éste no se toca al componerlo, al contrario que otros sistema que manipulan un único archivo; eso incrementa la seguridad en su uso y evita perder tiempo y dinero.

La separación de estos tres pasos es tan estricta en TeX, que en cada uno de ellos se usa un programa diferente. Eso nos permite usar justamente aquellos elementos en cada paso que nos resulte más conveniente para nuestras necesidades. A continuación describimos algunos programas disponibles en cada uno de estos tres grupos.

Entrada de texto

La entrada de texto, o más precisamente su tecleo (o, como se dice en Cataluña, su picado), es la función primordial de los procesadores de texto. Y sí, cualquier procesador que permita guardar como texto puede servir. Sin embargo, ya hay editores adaptados para la función, que permiten, por ejemplo, crear cuadros, definir atajos de teclado, integrar todos los pasos y sus programas en una única interfaz gráfica, abrir ventanas con botones de símbolos...

En Windows, uno de los más populares es WinEdit, pero también están WinShell, TeXniccenter y TeXShell. En Mac, hace años Alpha era el más usado, pero la llegada de la versión X del sistema cambió las cosas, con la llegada de utilidades Unix como emacs, o interfaces como iTeXMac y TeXShop. En Unix el campo también es amplio, con vi, emacs y sucesores. Un interfaz gráfico muy popular en linux es Kile.

Tal es el caso, por ejemplo, de la imagen siguiente: un pantallazo de WinShell, que se puede instalar opcionalmente con el TeXLive y que se integra automáticamente con él. Aquí se muestra con un breve documento de LaTeX.

Ejemplo

Mención aparte merecen los programas que intentan ofrecer una interfaz gráfica tipo WYSIWYG pero pueden exportar como archivo TeX para continuar luego con el proceso normal. No son sistemas WYSIWYG reales porque el resultado final no siempre concide con el que se ve, pero pueden resultar más cómodos. Entre ellos está LyX, TeXmacs o el comercial Scientific Word, aunque en ocasiones pueden resultar problemáticos y no ser completamente compatibles con TeX (particularmente en el caso de Scientific Word, cuyos archivos son rechazados en algunas revistas y editoriales). Incluso MS Word da la posibilidad de guardar como TeX si se instala una extensión llamada Word2TeX.

Preparación con su formato

Bien, este es el corazón del sistema y es justamente lo que hace TeX. Una vez que hemos preparado nuestro archivo de texto con las marcas de cómo debe componerse, TeX se encarga de producir un archivo con ese texto ya preparado en lo que se denomina archivo DVI, y que se puede ver en la forma que veremos más adelante. Obsérvese que el original no se toca, al contrario que los sistemas WYSIWYG donde el formato sólo se puede añadir directamente en el texto y manualmente.

La elección no está restringida a DVI, ya que puede generar un archivo PDF, bien directamente con una variante llamada pdftex, bien con conversores de DVI a PDF o a PostScript. Actualmente, PDF se ha convertido un estándar de hecho para el intercambio de información cuando el formato es esencial y para los flujos de trabajo en artes gráficas que prescinden de los pasos mecánicos de antaño (como fotolitos) y se preparan las planchas directamente de los archivos (directo a plancha o a imprenta).

Todavía hay más posibilidades, que son las extensiones que se han hecho o se están haciendo al programa de TeX en sí, para añadirle nuevas funciones, y entre las que destacan tres: eTeX, NTS y Omega. Mientras que eTeX busca hacer la vida más fácil a los autores de estilos de TeX, NTS (escrito en Java) quiere servir como medio para probar extensiones a modo de prototipos. Mención aparte merece Omega, sucesor de TeX a medio plazo y que incorporará ideas tomadas de eTeX y NTS, además de extender notablemente sus capacidades tipográficas, de proceso de datos y de integración con XML, Unicode y SVG; de hecho, XML ha tomado ideas de Omega sobre la forma de tratar ciertos aspectos de documentos con diversas escrituras.

Presentación en pantalla

Los archivos DVI necesitan un programa específico para poder verse en las pantallas, pero casi todas las distribuciones de TeX incluyen alguno.

Así, en WinShell, tras procesar el documento con el botón 'LaTeX', basta con pulsar el que indica 'DVI' para ver el resultado.

Ejemplo

Si el formato final es PostScript o PDF, el archivo se podrá ver en cualquier visor para esos formatos. Para PDF se puede usar, por ejemplo, Acrobat Reader, mientras que para PostScript vale cualquier programa capaz de importarlo adecuadamente. El programa gratuito Ghostscript, disponible en todas las plataformas, permite ver PostScript y PDF. Como ya se ha dicho, esos archivos son la base del trabajo en imprenta para el directo a plancha (con los programas de imposición correspondientes), pero PDF también puede servir para Internet, ya que TeX permite crear los marcadores y los enlaces para las remisiones (o referencias cruzadas) de forma automática.

Tanto en un caso como en otro, lo que se ve en la pantalla es exactamente WYSIWYG (siglas inglesas que significan 'lo que se ve es lo que se obtiene'. Los mal llamados programa WYSIWYG presentan pequeñas variaciones entre lo que se ve en pantalla y lo que se obtiene impreso debido a que integran visualmente dos pasos tan conceptualmente distintos como proceso y visualización, lo que no siempre es completamente factible.

Cómo se usa

Para usar TeX, lo primero es hacerse con una distribución. Se llama así al programa TeX para una cierta plataforma con una serie de programas y utilidades complementarias. Cada distribución incluye unos complementos distintos y por tanto las hay más o menos completas en función de su objetivo de ser más básica y reducida o más avanzada y extensa. Las distribuciones no siempre contienen un editor específico de TeX, y en ese caso conviene hacerse con uno.

Las distribuciones más importantes que podemos encontrar son:

  • Unix: TeXLive.
  • Windows: MikTeX/proTeXt y TeXLive.
  • MacOS X: MacTeX (basada en TeXLive).

(hasta el año 2006, era muy popular la distribución tetex, que era mantenida por Thomas Esser, hasta que dejó de hacerlo y sugirió a todos los usuarios que pasaran a TeXLive). Todas ellas se pueden conseguir en las páginas web del TeX Users Group.

Los CD-ROM/DVD de TeXLive, que es la distribución más completa de TeX, tienen multitud de adiciones para PostScript, editores de TeX... (TeXLive se distribuye cuando se publica entre los socios que lo hayan solicitado). Además de éstas, las hay comerciales como Textures, Y&Y o TrueTeX.

Instalación de TeXLive

Cada distribución tiene su propio método de instalación, así que nos centraremos en el TeXLive, a modo de ejemplo. De entre las plataformas disponibles en el CD-ROM, seguiremos los pasos que corresponden a Windows.

instalador

Cuando el disco se introduce en la computadora, debería arrancarse automáticamente. De no ser así, basta ir al directorio bin/win32 y abrir TeXLive.exe. Una vez que se abre el programa de instalación, hay que ir al menú Install y ahí seleccionar TeXLive. Se irán pidiendo datos diversos, pero los valores predeterminados suelen ser los más adecuados y por tanto basta con ir aceptándolos. Sin embargo, en una primera prueba tal vez sea mejor optar por la instalación básica en lugar de la recomendada, lo que se puede cambiar en el paso correspondiente:

esquema

Tras instalar TeXLive, hay que instalar un editor, como por ejemplo WinShell, lo que se hace con el menú Install - Editors - WinShell. Una vez terminado el proceso, ya se puede probar el ejemplo mínimo descrito en el apartado Cómo funciona de esta descripción de TeX.

Formatos

Otro concepto clave en el uso de TeX es el de formato. TeX combina los métodos para realizar la composición tipográfica con un lenguaje de programación, pero en principio no ofrece más. Si se limitara a la composición, no sería muy distinto de un sistema de fotocomposición y habría que indicar explícitamente los blancos, los tipos de letra, etc., incluso si hay estructuras que se repiten. Sin embargo, el lenguaje de programación que incorpora permite automatizar la presentación de esos elementos estructurales. Así, con indicar \section, se pueden tomar las medidas oportunas para componer una sección con una cierta letra (por ejemplo, negrita a 16 pt), disponerlo de una forma especial (como centrado, en arracada o al margen) y pasar la información oportuna al índice general y a los folios de cabeza (título, número de sección, página...).

El conjunto de esas utilidades que permiten establecer la presentación del documento a partir de las indicaciones dadas es lo que se conoce con el nombre de formato. Por medio de los formatos tendríamos los equivalentes a las hojas de estilo de otros programas, aunque con una capacidad de manipulado muy superior. Los formatos más extendidos son los siguientes:

  • Plain. Desarrollado por el propio Knuth con el principal propósito de mostrar lo que se puede conseguir incluso con unos elementos mínimos. No fue concebido para un trabajo diario, aunque no son pocos los que lo usan regularmente.
  • LaTeX. Desarrollado paralelamente al propio TeX por Leslie Lamport como un sistema más completo y adecuado para el trabajo diario. LaTeX es el formato más popular y sigue siendo el preferido en muchos contextos, donde no es raro que se identifique TeX. Se puede extender fácilmente con la ayuda de paquetes.
  • ConTeXt. Más reciente y desarrollado por Hans Hagen, no tiene todas las posibilidades de LaTeX, pero ofrece un sistema coherente más adecuado para publicaciones de contenido general y está integrado con utilidades de preimpresión como la imposición.

Todas las distribuciones más o menos recientes incluyen estos tres formatos.

Documentación de TeXLive

texdoctk

Como parte integrante del TeXLive, se incluye una utilidad para explorar su contenido de forma sistemática, con breves descripciones y con la posibilidad de abrir la documentación de los programas y los paquetes (un paquete en un módulo que permite extender las capacidades básicas de LaTeX). Esta utilidad se abre en el menú Documentation - TeXDocTK (a la derecha se muestra una imagen con el programa en funcionamiento).