TeX (pronúnciese "tek") es el más potente de los procesadores de textos encaminados a documentos científicos, si bien puede usarse para cualquier tipo de documento. LaTeX (y su sucesor LaTeX2e) es un lenguaje estructurado construido a partir de TeX, para la elaboración de documentos tales como artículos, libros, boletines de problemas, boletines de prácticas... Como ejemplos tenemos el manual de Campos Electromagnéticos de este departamento, la revista Physical Review, etc
La diferencia esencial entre TeX y otros programas, como WordPerfect, es que no es un procesador WYSIWYG ("What you see is what you get"). Ello quiere decir que un documento en TeX debe ser escrito en forma de fichero fuente y posteriormente compilado. Esto, que en principio puede parecer un inconveniente, puede tornarse en una de sus grandes ventajas, como veremos más tarde. En este aspecto, es similar al lenguaje HTML en que está escrita esta página (pero muchísimo más complejo).
Una de las razones de la difusión del LaTeX es que es gratis. Tal como ocurre con el Linux, el LaTeX es freeware. Esto quiere decir que puede conseguirse libre y legalmente haciendo un ftp anónimo a las direcciones apropiadas (que indico más tarde). Esto permite además estar siempre a la última (ya que aparece una vesrión nueva cada seis meses), y es lo que ha facilitado que su desarrollo haya sido realizado por personas a todo lo largo del mundo.
Un poco de historia
La primera versión de TeX, obra de Donald E. Knuth (DEK), nacio a principios de los años ochenta. En su nivel más básico, estaba constituido por un conjunto de órdenes (o primitivas) del tipo "centrar texto", "dejar un espacio vertical", etc. El uso de un lenguaje de tan bajo nivel, si bien muy potente, era extremadamente dificil, por lo que el mismo DEK desarrolló la primera ampliación de TeX, el Plain TeX.
La primera gran ventaja de TeX es que es extremadamente fácil definir macros a partir de las primitivas (o de otras macros). A un conjunto estructurado de macros se le denomina un formato. El Plain TeX fue el primero de ellos. Introducía gran número de órdenes de alto nivel, pero seguía estando más orientado a aspectos tipográficos que a la estructura de los documentos como un todo.
Por ello, en 1985, Leslie Lamport desarrolló un lenguaje construido sobre el Plain TeX (el cual lo estaba sobre el TeX), que recibió el nombre de LaTeX (el nombre, propicio a chistes de dudoso gusto, deriva de La de Lamport y TeX). Consiste en una serie de macros y formatos dirigidos a confeccionar documentos completos (articulos o libros) y así presta especial atención a aspectos tales como estructura en secciones, subsecciones, etc., control de numeración de ecuaciones y referencias cruzadas, citas bibliográficas, tablas y figuras, índices,... conservando toda la potencia a la hora de escribir ecuaciones de gran calidad.
Desde su aparición, LaTeX ha conocido una gran difusión en el ámbito científico, siendo hoy día el procesador más usado por matemáticos y físicos y gran número de ingenieros. Hoy día hay libros y revistas científicas escritas en LaTeX. LaTeX es tan programable como TeX y por ello ha estado sujeto a desarrollos ulteriores. Estos desarrollos no siempre han sido compatibles entre así, ya que fueron realizados independientemente por individuos en todo el mundo. Para armonizar estos avances se creó el equipo LaTeX3 con el objeto de desarrollar una versión de LaTeX que englobara a las existentes y permitiera un crecimiento uniforme en el futuro.
El primer resultado de sus trabajos es el llamado LaTeX2e, nacido en Junio de 1994 y aceptado actualmente como el nuevo estándar mundial. LaTeX2e contiene a todo lo anterior y experimenta un crecimiento continuo, publicándose una versión cada seis meses.
El futuro del LaTeX depende no sólo de si mismo sino también de los avances en otros procesadores, en la medida en que estos incorporen las herramientas y la flexibilidad de este procesador, podrán sustituirlo. Dada la desatención de las grandes compañías a la comunidad científica internacional, parece que el futuro del LaTeX es todavía prometedor. Aparte de por una gran ventaja que lo distingue de AmiPro, Word o WordPerfect. El LaTeX es freeware.
Algunos ejemplos
Para ver como funciona la cosa, consideremos el documento hola.tex
siguiente
\documentclass{article} \begin{document} Hola, mundo. \end{document}
Este fichero contiene, en primer lugar un encabezamiento, que lo define como un documento en LaTeX2e en formato "article" (que es el más simple). Despues vendría el preámbulo (que aquí está vacio) que contiene cosas tales como el tamaño de la página. Sigue la linea \begin{document}, que marca el principio del texto. Luego el texto en sí y luego el fin del documento. Todo lo que haya más allá es ignorado.
Este fichero hola.tex
debe ser compilado, generándose un fichero hola.dvi
, que puede ser visto por pantalla (un preview) o mandado a la impresora, si se dispone de los drivers correspondientes.
Veamos un ejemplo más complicado, que muestra algunas de las características del LaTeX
\documentstyle[11pt]{article} \begin{document} La fórmula de Cauchy establece que \begin{equation} f(z)=\frac{1}{2\pi i}\oint \frac{f(\zeta)}{z-\zeta}d\zeta \label{cauchy} \end{equation} La fórmula (\ref{cauchy}) es aplicable a cualquier función analítica. \end{document}
Una vez procesado este fichero, el resultado es el siguiente:
Como comparación, puede verse este mismo texto, tal como se obtiene con otro procesador
Es evidente que la calidad de la ecuación escrita con LaTeX es superior a la del otro procesador, pero el fichero que la produce resulta un tanto misterioso.
Este fichero es una muestra de las características típicas del LaTeX.
Las ecuaciones no se escriben en forma gráfica, simplemente se indica dónde comienzan y donde acaban. A su vez, el contenido de la ecuación está formado por una serie de comandos, p.ej. \pi
y \zeta
producen letras griegas,
\oint
produce el signo de integral cerrada. Algunos de estos comandos admiten argumentos, así \frac{ }{ }
produce una fracción, siendo el primer argumento el numerador y el segundo
el denominador.
El ejemplo ilustra otra propiedad interesante: las referencias cruzadas. La ecuación anterior contiene una etiqueta (fijada por el comando \label
), de forma que cuando posteriormente uno cita a la misma, solo debe indicar su nombre. El procesador se encarga de asignar el número y modificarlo si es necesario (porque en una redacción posterior se haya insertado o suprimido una ecuación anterior).
Otra propiedad es que el significado de los comandos es dependiente del formato elegido. Supongamos que inicialmente se pensaba escribir un artículo, pero posteriormente se ha decidido transformarlo en un libro. Simplemente hay que cambiar la palabra article
de la cabecera por book
. El solito se encarga de cambiar la numeración de (1) a (1.1) (suponiendo que
la misma aparezca en el capítulo 1.
Por ser gratis, siempre puedes pedirselo a alguien que ya lo tenga (y no estarás cometiendo un delito), pero si te interesa una versión completa y actualizada, lo mejor es realizar un ftp anónimo al sitio adecuado.
Los archivos de TeX y LaTeX se encuentran en la llamada CTAN (Comprehensive TeX Archive Network), que es un conjunto de ordenadores repartidos por todo el mundo. De estos, tres son los nodos principales
El primero de ellos es nuestro nodo local y es el recomendable por su alta velocidad. Existen multitud de mirrors de estos ordenadores, donde se puede encontrar copia de la información, si bien es posible que no contengan la última versión. En España hay una copia en ftp.rediris.es, pero no está al día.
La estructura de un nodo CTAN es siempre la misma. Existe un directorio tex-archive
del cual cuelga un árbol de directorios. En particular, existe un directorio systems
, del que penden las distintas implementaciones. Existen versiones para
De las primeras no puedo hablar mucho, pues soy usuario de PC's. Para este tipo de ordenador existe una versión bastante extendida que es el emTeX
(la "em" deiva de Eberhard Mattes, el autor, que se dedica full-time a este procesador). emTeX contiene, aparte de las ultimas versiones de LaTeX2e, un conjunto de drivers de alta calidad para multitud de impresoras (matriciales, de chorro de tinta o láser). emTeX posee el inconveniente de que no incluye un editor adecuado. Por ello, es conveniente agenciarse (también en CTAN) el llamado TeXshell, diseñado para emTeX. éste es un shell muy
parecido al de Borland C para DOS, que permite editar, compilar, hacer un preview o imprimir. Usa asimismo diferentes colores para marcar los textos según se trate de comandos, texto normal, comentarios, etc.
Entre las implementaciones anteriores hay una ausencia notable: Windows (3.1 ó 95). Bien, no es cierto que no haya versiones para Windows, lo que ocurre es que son de pago. Conozco una que es gratis, pero no está adaptada al uso de caracteres acentuados. Sí existen shells, como el dviwin
que permiten usar un editor diferente
y simultanear la edición con el preview del resultado.
Ya he comentado algunas, pero aquí intentaré indicar las más importantes:
Esta es siempre la razón última por la que un usuario científico se inclina hacia el LaTeX. Este procesador ajusta los tamaños de paréntesis, integrales, subíndices y superíndices, alinea los elementos de las matrices, construye cajas, etc.
A través de los llamado formatos, LaTeX posibilita escribir textos dividéndolos en capítulos, secciones, subsecciones, controlando en todo momento la numeración y las referencias cruzadas. Construye índices de contenidos, tablas o figuras. Ajusta los tamaños y tipos de letras según la parte del dodumento en que se hallen.
A poco de comenzar a usar este procesador, el usuario se encuentra definiendo o redefiniendo comandos para que estos se ajusten a sus preferencias personales. Por ejemplo, es posible que una determinada expresión aparezca repetidas veces en el texto. Nada mas facil que definir un comando que reemplace a todo un bloque. O bien, es posible que no guste la forma en que LaTeX numera las páginas. Una redefinición al principio del documento permite cambiar esto.
Esto, que al principio puede parecer un inconveniente (ya que implica teclear mucho más) se torna en ventaja al cabo del tiempo. Por un lado permite incrementar la velocidad de escritura (pues no hay que andar tirando de ratón o menús), por otro facilita el uso de cualquier editor de texto (no contiene caracteres de control) y permite su transmisión por correo electrónico (puede escribirse en ASCII de 7 bits). Esto hace que ya algunas revistas científicas admitan artículos escritos en LaTeX, enviados por e-mail. Ellos lo procesan en el lugar de destino, hacen los cambios necesarios y lo imprimen.
Pues eso.
Este proceso de iniciación consiste principalmente en aprenderse los comandos esenciales. Despues le siguen comandos secundarios.
Más tarde, puede uno aprender a programar en este lenguaje. Llegado ese punto se da el siguiente salto, atacar el Plain TeX o incluso el TeX, para introducir comandos de bajo nivel. Estas dos ultimas fases sólo son precisas si uno está interesado en los intríngulis del sistema.
Una de las decepciones que sufre el usuario novato es que no ve los frutos de su trabajo hasta que compila. Como suelen aparecer errores de compilación, esto suele ser frustrante (aparte de conllevar una pérdide de tiempo). La única solución es armarse de paciencia. Con el tiempo, los errores disminuyen y, simultáneamente, uno aprende a procesar de cabeza, por lo que no necesita hacer un preview para saber como va a quedar.
De todas formas, LaTeX no está especialmente dirigido a los aspectos estéticos, sino a los estructurales. Si uno está interesado en la estética más que en el fondo (por ejemplo, porque trabaja en la autoedición), LaTeX no es el procesador adecuado. éste se basa en en la claridad más que en la belleza de los documentos.
Existen, no obstante, soluciones intermedias entre el LaTeX y los procesadores WYSIWYG. Así, el TeXtures de los Mac o el dviwin de los PC's permiten mantener en pantalla el fichero que se está editando y el ultimo preview, lo cual facilita la corrección de los documentos.
Esta acusación habitual no es del todo cierta. Poderse, se puede, pero no es algo trivial en LaTeX. A veces, resulta más facil dejar el espacio y luego recortar y pegar. Estos problemas se solucionan usando los drivers para salidas postscript y figuras del mismo tipo.
Cuando DEK desarrolló el TeX, lo acompaño de un conjunto completo de fuentes de alta calidad. Estas fuentes eran independientes de la impresora utilizada (ya que eran tratadas como gráficos) lo que producía la misma calidad en cualquier sitio. Con el tiempo, esta fuentes (las Computer Modern o CM) se convirtieron en la "firma" del procesador, que permitía identificar un documento a primera vista. A medida que el LaTeX se difundía han aumentado las demandas de más fuentes para usos diversos. El crecimiento es todavía lento. En las versiones para salidas postscript si es posible el uso de cualquier fuente, pero no se garantiza que las ecuaciones mantengan la calidad requerida.
éste es, en mi opinión, el mejor manual existente sobre LaTeX. Contiene una guía completa de comandos, abundantes ejemplos e información adicional. (Incluye las dos versiones en uso del LaTeX, la 2e y la más antigua, 2.09).
Este manual sirve de ampliación del anterior. Es una recopilación e información sobre los llamados packages, conjuntos de macros que distintos autores han puesto a disposición de la comunidad.
Durante mucho tiempo este fue "el libro" del LaTeX. Escrito por el mismo autor del programa, contiene todo lo esencial para introducirse en este procesador, si bien resulta un tanto insuficiente para usuarios avanzados. La primera edición corresponde a la versión antigua del programa (hoy obsoleta) y la segunda al LaTeX2e
Este es el libro para los que quieren conocer las entrañas del LaTeX. Contiene todo sobre el lenguaje TeX, escrito por el mismo autor del programa. Es un libro completo y ameno pero absolutamente incomprensible para los novatos. El fichero fuente en TeX de este libro está disponible para aquellos que desean conocer los trucos que el autor empleo a la hora de escribirlo (algunos verdaderamente complejos).
De todos estos libros (salvo de la segunda edición del de Lamport) dispongo de copia y puedo opinar con conocimiento de causa. Existe bibliografía adicional en cada uno de estos libros, así como en los nodos de la WWW dedicados al TeX.
Existe además una revista dedicada exclusivamente al TeX, el llamado TUGboat, pero nunca la he visto, así que no puedo opinar.
En la WWW
Para empezar, existen unas FAQ's sobre TeX y LaTeX, escritas y mantenidas por el TUG inglés donde se encuentra información de lo más completa y variopinta. Es además searchable, esto es, puede consultarse un término concreto.
También existen una guía muy completa en francés. Contienen informacion sobre comandos, documentacion, FAQ's, etc. aparte de las típicas cuestiones técnicas.
Existe un nodo dedicado especificamente al TeX. Es www.dante.de, el único inconveniente es que está en alemán (algunas páginas también en inglés). En el aparecen datos, bibliografía, direcciones diversas. Un nodo en inglés con abundante informacion es el de la universidad de Cambridge: www.tex.ac.uk . También se puede conseguir información en el otro nodo de CTAN: www.shsu.edu. Pero éste es un nodo general y hay que explorar un poco hasta llegar a la información buscada.
También están las conexiones ftp que indicamos antes
y un nodo gopher
Además de la información pasiva, existén foros de discusión sobre estos procesadores. En ellos los novatos suelen plantear sus dudas y los latexpertos (a veces el mismo DEK) pueden dignarse a contestarlas. También se discuten las ventajas y defectos de las diferentes versiones, implementaciones, fuentes, etc.
El grupo principal es
Aparte existe un grupo de habla hispana (aunque muy poco utilizado) en
Existen asociaciones de usuarios de TeX (los TUGs o TeX Users Groups) distribuidas por el mundo, en las cuales los miembros se dedican a desarrollar proyectos conjuntos para la difusión y mejora de este procesador (recordemos que sin una empresa que lo respalde, depende exclusivamente de los usuarios).
En la actualidad se está organizando el TUG de habla hispana, el llamado CervanTeX, encaminado, entre otras cosas, a desarrollar la adaptación del TeX a las peculiaridades del castellano (con sus eñes y caracteres acentuados). CervanTeX tiene su propia página, en la que podrás encontrar detalles sobre sus actividades, asi como un link a las FAQ's sobre el uso de TeX en castellano y sus problemas. Tambien indica direcciones de contacto, nodos de interés, etc.
![]() |
|
![]() |
![]() |
|
según nedstat desde Mayo de 1999 |
según CiberStats desde Noviembre de 1999 |