Está en la página 1de 5

086-089-latex

22.11.2004

18:03 Uhr

Seite 86

LINUX USER

LaTeX

LaTeX bajo Linux

Tipografa Profesional para Todos


Actualmente, todo el mundo tiene ordenadores personales e incluso el usuario ms principiante sabe lo que es un procesador de textos. Pero todo aqul que escribiera un libro en el periodo, digamos, de 1455 a 1985, elaboraba un manuscrito que luego mandaba a imprenta. La imprenta era un lugar misterioso de donde, por arte de magia, apareca un ejemplar impreso donde antes slo haba un montn de cuartillas emborronadas. POR MIGUEL ATENCIA
s difcil entender hoy en da el impacto que supona para un autor ver su obra impresa. LaTeX es el moderno sustituto del maestro tipgrafo. Con un ordenador personal y una impresora, podemos obtener resultados con el mismo aspecto profesional que proporciona una imprenta, tanto si escribimos un libro de 700 pginas como si hacemos un trabajo escolar que incluye grficos y frmulas matemticas. En lo que sigue, daremos algunas razones por las que resulta preferible utilizar LaTeX en lugar de un programa de autoedicin o un procesador de textos. Nuestro objetivo es que todos seamos capaces de obtener resultados brillantes con LaTeX lo antes posible (veris que no es tan difcil) y posiblemente algn purista de LaTeX se moleste en sealar todos las irregulari-

dades que vamos cometiendo. Si no queris complicaros la vida, ignorad a los puristas.

El primer documento LaTeX


Lo primero es tener LaTeX instalado para hacer todas las pruebas que vamos sugiriendo y las que se os ocurran. LaTeX y Linux se llevan bien, de hecho, LaTeX naci en el mundo Unix, la especificacin es pblica y la mayora de las distribuciones son de cdigo abierto. Por lo tanto, es muy posible que LaTeX ya est en el sistema. Para estar seguros hagamos una prueba. En la lnea de comandos escribimos:
$ latex This is TeX, Version ... **

Si al ejecutar el programa latex sale algo parecido a lo de arriba, ya podemos pasar directamente a probarlo. Para salir del prompt con los dos asteriscos, simplemente pulsaremos Ctrl-C. Si no tenemos Latex instalado, podemos instalarlo desde el CD de nuestra distro favorita mediante un programa de gestin de software, ya sea rpm, Kpackage o cualquier otro. Como ltimo recurso, se puede descargar de la Comprehensive Tex Archive Network [1] o del mirror espaol en [2]. Aqu encontraremos la distribucin teTex, que es la ms portable de las distintas que existen. Tambin podemos encontrar en CTAN [3] alguna documentacin sobre Latex, la mayora en formato Latex. Esto es uno de los principales problemas de Latex: en general, la ayuda es bastante

Figura 1: Aspecto de un documento bsico en Latex. Los mrgenes y tipos de letra estn ya ajustados a una presentacin profesional

Figura 2: Aspecto de un documento bsico en OpenOffice. El resultado es menos profesional

86

Nmero 01

www.linuxmagazine.com.es

086-089-latex

22.11.2004

18:03 Uhr

Seite 87

LaTeX

LINUX USER

pobre. Con la distribucin teTex se proporciona una ayuda muy bsica, en formato info, que puede verse ejecutando info latex. Existen excelentes libros sobre Latex en cualquier librera especializada pero no es imprescindible comprarse un libro para obtener resultados brillantes en Latex. LaTeX no tiene interfaz de usuario, ya que no es un programa interactivo, sino que se ejecuta desde la lnea de comandos. Esto ser muy fcil de entender para el que haya programado en algn lenguaje (no en un entorno visual): LaTeX es como un compilador. Por tanto, prepararemos el documento LaTeX en nuestro editor preferido. Algunos editores tienen facilidades que ayudan a la escritura de documentos LaTeX. Por ejemplo, si se usa el entorno grfico KDE, Kate reconoce los comandos LaTeX (aunque no todos) y los representa con distintos colores. De esta forma, podemos detectar errores de sintaxis antes de compilar. Tambin se recomienda vim, con la ventaja de que funciona incluso sin entorno grfico. Muchos intrpidos utilizan emacs o Xemacs, por las posibilidades de personalizacin que tienen. Si alguien tiene la desgracia de verse obligado a utilizar Windows, la mejor combinacin es el editor WinEdit (de pago, aunque muy barato) con la distribucin MiKTeX. Si estamos acostumbrados a un procesador de textos, tal como el de OpenOffice, podemos seguir usndolo tranquilamente y disfrutar de las facilidades habituales (el corrector ortogrfico, el sistema de autocompletado, etc.). Eso s, hay que guardar el documento como texto plano y se perder cualquier formato que se introduzca. Ya estamos preparados para el primer documento Latex, que ser el embrin de nuestra gran obra, el best-seller con que nos haremos famosos. Escribamos en el editor el siguiente texto:
\documentclass[a4paper]{book} \begin{document} Hola, mundo \end{document}

saje bastante incomprensible. El texto anterior podemos guardarlo, por ejemplo, con el nombre hola.tex y ejecutamos desde la lnea de comandos:
$ latex hola

Supongamos que todo ha ido bien e ignoramos la ristra de mensajes que salen. Con esto hemos completado con xito nuestro primer documento Latex. Ahora bien, qu hemos sacado en claro? Si hubiramos compilado un programa, habramos obtenido un ejecutable. Al ejecutar Latex correctamente, obtenemos un fichero DVI, que significa algo as como fichero independiente del dispositivo. Un fichero DVI es como un PDF y, al igual que un PDF, necesita un programa para visualizarlo. Todas las distribuciones de Linux decentes incluyen el xdvi pero, adems, en el men de grficos del entorno KDE (o ejecutando kdvi) disponemos del KDVI, que resulta mucho ms cmodo. En cualquier caso, visualizamos nuestro fichero hola.dvi y

observamos el resultado. A la vista de este ejemplo, alguien podra preguntar si no habramos hecho lo mismo con un procesador de textos, como OpenOffice. La respuesta es s, pero con algunos inconvenientes. Para empezar, podemos comparar el aspecto de nuestro fichero DVI (Figura 1) con la previsualizacin de OpenOffice (Figura 2). Esto es subjetivo, pero a m me parece que el aspecto del documento DVI es mucho ms profesional, ms parecido a un libro de verdad. Naturalmente que en OpenOffice se puede imitar el aspecto de Latex eligiendo los tipos de letra adecuados, mrgenes, etc. Pero me parece interesante comparar los documentos que se obtienen con un mnimo de esfuerzo. Tambin resulta ventajoso Latex al usar documentos en texto plano:
$ ls -al hola.* ... 5238 sep 19 12:42 hola.sxw ... 74 sep 19 12:33 hola.tex

El documento Latex es 70 veces ms

Listado 1: libro.tex
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 % Clase de documento \documentclass[a4paper]{report} % Paquetes adicionales \usepackage[spanish]{babel} \usepackage[latin1]{inputenc} % Fin del prembulo. Comienza el documento \begin{document} % Pgina de ttulos \title{El maestro de los collares} \author{J.R. Talco} \maketitle % Fin de los ttulos. Comienza el texto normal \chapter{De los jovis}

Al que sea totalmente inexperto en Latex, le recomiendo copiarlo con cuidado, porque si se comete algn error, probablemente Latex lanzar un men-

Este libro trata principalmente de los jovis, y el lector descubrir en 16 sus pginas mucho del carcter y algo de la historia de este pueblo... 17 18 19 No obstante, muchos querrn saber desde un principio algo ms de este pueblo 20 notable y quizs a algunos no les haya dado la gana comprarse el libro 21 anterior... 22 23 Los jovis son un pueblo complicado pero muy joven, cada vez ms 24 numeroso. Amaban la guerra, el folln y la caza... 25 26 % Fin del documento 27 \end{document}

www.linuxmagazine.com.es

Nmero 01

87

086-089-latex

22.11.2004

18:03 Uhr

Seite 88

LINUX USER

LaTeX

Figura 3: Aspecto del documento en OpenOffice. El resultado impreso arrastrar todas las imperfecciones cometidas al teclear, al ser un programa WYSIWYG

Figura 4: Extracto de un documento completo en Latex, que introduce automticamente cabeceras de captulos, pgina de ttulos y dems detalles de formato

pequeo! Baste decir que mi tesis docrafo con tabuladores y otras no, algunas toral de casi 200 pginas, con cientos de palabras estn separadas con ms de un frmulas y ms de 20 figuras, cabe en un espacio, algunos prrafos estn separadisquete y la escrib en un Pentium 1. dos con dos saltos de lnea, etc. Como se Intentad hacer eso mismo con observa en la Figura 3, el resultado no es OpenOffice, no hablemos ya de MS muy esttico, as que luego habr que Word. Por ltimo, la facilidad de manejo: pagarle a un tipgrafo para que haga la Latex tiene fama de ser muy difcil de composicin o podemos usar Latex. usar, asequible slo para matemticos y Vamos a introducir el texto en la plantildems gente de mal vivir. Bueno, ya la del apartado anterior, aunque le hemos visto que no es para tanto. Esto es aadiremos algunos detalles, quedando como todo, lo bsico e imprescindible es como el Listado 1. simple, despus podemos ir complicnSlo queda ejecutar latex y ver el dolo todo lo necesario. Incluso resultado (ver la Figura 4). Impodramos usar el documento que presionante, verdad? Aparte de corregir hemos hecho como plantilla y escribir en el espaciado, la tabulacin y la justifiel hueco entre \begin{document} y cacin, uno puede preguntarse de dnde \end{document}, sin aprender nada ms ha salido la palabra Captulo o la fecha de Latex. En realidad, esto de usar planactual en la pgina de ttulo, o quin ha tillas hechas por otros es un pecado que, definido los mrgenes. Todos esos ms o menos, cometemos todos los detalles de formato estn a cargo de usuarios de Latex. Cuando empec a Latex, que los resuelve a la perfeccin, usar Latex, me aconsejaron que jams aunque tambin es verdad que sin preempezara un documento desde cero, siempre deba partir de Tabla 1. Algunas opciones de la una plantilla hecha por otro. He instruccin \documentclass seguido este consejo y no me ha Opciones Significado Opcin por defecto ido del todo mal. 10pt / 11pt / 12 pt Tamao de letra 10 pt

Captulo I
Ha llegado el momento de empezar nuestro libro/trabajo/ artculo/carta o lo que a cada uno le dicte la inspiracin. Como estamos bajo el influjo de las musas, no es el momento de fijarnos en detalles de formato: unas veces empezamos el pr-

oneside / twoside Impresin a doble cara article openright / openany en report onecolumn / twocolumn titlepage / notitlepage Texto en una o dos columnas Salto de pgina tras los ttulos Empezar captulos en

report, notitlepage en article

guntarnos nuestra opinin. Para aprender a hacer nuestros propios documentos, cada vez ms perfeccionados, estudiaremos en detalle nuestro programa Latex. En primer lugar, la sintaxis de Latex es bastante simple: todas las instrucciones empiezan con un backslash (la barra hacia atrs \), seguidas del nombre de la instruccin. La mayora de las instrucciones requieren especificar uno o ms parmetros, aunque para algunas basta escribir su nombre, por ejemplo \maketitle. Los parmetros opcionales, que se pueden omitir, van entre corchetes tras el nombre de la instruccin, mientras que los parmetros que son obligatorios en una instruccin se escriben entre llaves, al final de la instruccin. Hay bsicamente dos clases de instrucciones: los mandatos simples y los entornos. Estos ltimos son los que se definen con una pareja de instrucciones \begin ... \end. En el documento anterior, slo hay un entorno: el entorno document, que debe existir en todo documento Latex. Naturalmente, slo puede haber un entorno document, pero si twoside en book, oneside en report y alguien est preparado para afrontar la gestin de errores de openright en book, openany pgina impar Latex, puede probar qu pasa cuando se incluye ms de uno. onecolumn Lo que hay dentro del entorno document es propiamente el titlepage en book y contenido de nuestro documento, como su propio nombre indica, mientras que lo anterior

88

Nmero 01

www.linuxmagazine.com.es

086-089-latex

22.11.2004

18:03 Uhr

Seite 89

LaTeX

LINUX USER

a \begin{document} es el prembulo, donde se definen algunas caractersticas generales del documento. Como ya se habr adivinado, se pueden introducir comentarios en cualquier punto, comenzando la lnea con el smbolo %, de forma que estas lneas no afectan en nada al documento impreso.

ejemplo, cambiamos la clase a book en nuestro documento, el nico cambio aparente es la introduccin de una pgina en blanco despus del ttulo. Por qu aparece esta pgina? Porque, en un libro, todos los captulos empiezan en una pgina impar, es decir, en la pgina de la derecha, tal como la vemos si mantenemos el libro abierto. Para que esto sirva El prembulo del documento para algo, tenemos que imprimir el documento a doble cara. En cambio, si camLa primera instruccin del documento es biamos a la clase article, se elimina la la instruccin \documentclass: pgina de portada con el ttulo. Adems, se pierde el formato del ttulo del captu\documentclass[a4paper]{report} lo porque, en realidad, un artculo no puede tener captulos, sino secciones. Esto define la clase del documento. En Volveremos a esta cuestin pronto, al Latex hay predefinidas tres clases de uso estudiar la estructura del documento. general: book, report y article. Existen Habiendo seleccionado la clase de tambin las clases letter (para cartas, con nuestro documento, se pueden configuuna gestin muy potente de etiquetas rar diferentes variantes, dando parmetpara hacer envos masivos de cartas perros opcionales en la instruccin \docusonalizadas) y slides (se pueden hacer mentclass. Por ejemplo, en nuestro docupresentaciones con Latex!) pero tienen mento hemos especificado que el muchas instrucciones especficas y tamao de papel es A4, con la opcin requieren un estudio especial. No hay a4paper. Podamos tambin haber elegigrandes diferencias entre book, report y do a5paper (14,8 x 21), letterpaper (la article, ms que en cuestiones de formaopcin por defecto: 8,5 x 11 pulgadas) o to. En principio, la clase book est penincluso otros ms exticos, pero es poco sada para libros o documentos muy larprobable que se necesiten. Incluyo otras gos, la clase article se orienta a artculos opciones, cuyo significado es autoexde revistas, ms cortos y con la clase plicativo, en la Tabla 1. Obsrvese que report, que estara en un punto intermecon estas opciones se puede cambiar el dio entre las otras dos, se hacen informes comportamiento por defecto de una tcnicos. Seguramente, para hacer un clase. Por ejemplo, se puede usar la clase trabajo escolar, la clase ms adecuada book sin pgina de ttulos (notitlepage), sea report, de todas formas, lo ms o la clase report empezando los captulos recomendable es probar con las tres para en pgina impar (openright). Eso no decidir cul se adapta ms a las caracquiere decir que todas las combinaciones tersticas de nuestro trabajo. Si, por tengan sentido, por ejemplo, es absurdo usar openTabla 2. Algunas instrucciones y right u openany en la clase entornos usuales en Latex. article, que no tiene captuInstruccin Uso los. Lo mejor es probar \begin{center} Justificacin centrada (se puede cambiar center por ... flushright -derecha-o flushleft -izquierda-) hasta dar con el aspecto \end{center} deseado. Especialmente \begin{enumerate} Relacin numerada (se puede cambiar recomiendo la opcin \item . enumerate por itemize -vietas-) twocolumn : con una sola \item palabra, obtenemos el dis\end{enumerate} eo en dos columnas tpico \footnote{Nota} Nota al pie de peridicos o revistas. \label{etiqueta} Marca una posicin para referenciarla Por cierto, al hacer todas \ref{etiqueta} Referencia a una posicin marcada $$ Frmulas matemticas en el texto estas pruebas, notaris una \begin{equation} Frmulas matemticas en una lnea aparte, de las principales ventajas ... con nmero de ecuacin de la mayora de los progra\end{equation} mas visualizadores de _{texto} Texto en subndice. Slo en frmulas ! ficheros DVI: el propio pro^{texto} Texto en superndice. Slo en frmulas ! grama detecta cundo tiene

que recargar el documento DVI porque se ha recompilado el fuente Latex. Las otras dos lneas del prembulo de nuestro documento son instrucciones \usepackage, que cargan paquetes adicionales. La posibilidad de extensin de Latex con paquetes externos es lo que le da una enorme potencia a Latex. Para cualquier cosa que queramos hacer, seguro que alguien ha hecho ya el correspondiente paquete y slo tendremos que encontrarlo. Incluso podemos encontrar clases enteras para propsitos especficos, distintas de book, report y article. Adems, hay algunos paquetes tan tiles que se han convertido en parte de la distribucin estndar de Latex. Veamos cules son los dos paquetes que hemos incluido en nuestro documento, empezando por babel. Es gracias a la lnea
\usepackage[spanish]{babel}

como Latex ha sabido escribir Captulo. Para aprender idiomas, basta cambiar spanish por german o serbian y observar la fecha y el ttulo del captulo. Los cdigos de las lenguas oficiales de Espaa, adems de spanish, son basque, catalan y galician. Adivinis cul es el idioma por defecto si no se carga babel? Por cierto, al hacer cambios de idioma y recompilar, puede que se nos produzca un error. Se debe a que Latex guard algunas caractersticas del documento en un fichero auxiliar, que ahora ya no resulta coherente con el documento. Para evitar el error y garantizar que partimos de cero en cada compilacin, basta con borrar este fichero que, en nuestro caso, se llamara libro.aux. El otro paquete que hemos cargado en el prembulo es inputenc, al escribir la lnea:
\usepackage[latin1]{inputenc}

La utilidad de este paquete es tanta, que casi no se puede explicar con palabras:

RECURSOS
[1] Comprehensive Tex Archive Network: http://www.ctan.org [2]Mirror espaol de CTAN: ftp://ftp.rediris.es/sites/ftp.dante. de/tex-archive/systems/linux [3]Ayuda de Latex dentro de CTAN: http://www.ctan. org/tex-archive/info

www.linuxmagazine.com.es

Nmero 01

89

086-089-latex

22.11.2004

18:03 Uhr

Seite 90

LINUX USER

LaTeX

basta con quitar esta lnea (o ponerle un % al principio) y ver qu pasa. En los tiempos de los terminales alfanumricos, haba que teclear combinaciones como {\'e} para escribir una letra e con acento. Afortunadamente, esto es prehistoria tecnolgica y teniendo el teclado bien configurado podemos escribir normalmente gracias al paquete inputenc que, por cierto, significa INPUT ENCoding. Se pueden usar otras codificaciones de caracteres en lugar de latin1, como Figura 5: El smbolo de LaTeX se genera con... LaTeX ansinew, pero, al menos para textos en espaol o ingls, la diferencia \\ Siete para las seorasU es inapreciable. grandotas en castillos deU

La pgina de ttulos
El entorno document empieza con los ttulos, que se definen con las instrucciones \title, \author y, opcionalmente, \date. Cada uno de estos comandos toma como argumento un texto, que Latex imprimir con el tipo y tamao de letra adecuados. Este texto puede ser vaco. Por ejemplo, al imprimir la versin final de un libro no es habitual poner la fecha, as que escribiramos \date{}. Una vez definidos estos campos, la instruccin \maketitle los muestra. Lo que debemos entender de este proceso es que el formato de la pgina de ttulos est codificado al definir la instruccin \maketitle en la clase y este formato no se puede modificar, al menos no fcilmente. Por ejemplo, si queremos incluir un subttulo, a lo mejor se nos ocurre que bastara con insertar insertar una lnea de texto entre \title y \author. Pero si pasamos el texto por procesador latex, descubrimos que esto no va a funcionar, porque Latex imprimir primero el texto que est fuera de las instrucciones y luego \maketitle formatear la pgina de ttulos como siempre. En cambio, tenemos bastante libertad al definir los textos de ttulo, autor y fecha, por ejemplo, tras el begin{document} podemos escribir:
\title{El maestro de losU collares \\[0.5 cm] {\small TresU collares para los prncipesU feos sobre la tierra

mrmol}} \author{J.R. Talco \\ Traduccin: Un servidor} \date{2004 \\ \textsc{Mlaga}} \maketitle

La instruccin \\ incluye una lnea en blanco y, si le sigue una longitud entre corchetes, aade un espacio vertical adicional. En general, es preferible evitar este tipo de cosas en el texto, porque Latex ya pone el espaciado adecuado, pero el ttulo es un caso particular. La instruccin \textsc escribe un texto en un tipo de letra especial (Small Capitals), como \textsf (Sans serif), \textsl (Slanted) o \texttt (Typewriter). El texto en negrita se incluye con \textbf (Boldface), mientras que, para la cursiva es conveniente utilizar \emph (Emphasize), aunque se puede poner tambin \textit (Itlica).

El cuerpo del documento


El documento propiamente dicho es lo ms fcil, ya que todo el formato est ya definido, por lo que slo hay que escribir el texto. Si se quiere, se pueden cambiar los tipos de letra con las instrucciones que comentamos en el prrafo anterior. Entre dos prrafos hay que dejar una lnea en blanco. Para comenzar un nuevo captulo, basta dar una nueva instruccin \chapter y, adems dentro de cada captulo, es posible ir definiendo estructuras cada vez ms pequeas: \section, \subsection y \subsubsection.

Naturalmente, Latex controla la numeracin de las secciones a la perfeccin: si queremos cambiar de orden dos captulos basta con cortar y pegar sus contenidos y, mientras que en un procesador de textos tendramos que revisar la numeracin, con LaTeX, los captulos se numeran automticamente. Basta con escribir varias pginas para darnos cuenta de todo lo que hace automticamente este maravilloso, por ejemplo, las cabeceras de pgina incluyen el nmero de pgina y el ttulo del captulo actual y se distinguen la pgina derecha de la izquierda, de forma que el libro quede perfecto al encuadernar. Y, cuando llevemos escritas 500 pginas, se nos ocurre que queremos un ndice al principio: no hay problema, basta un \tableofcontents despus del \maketitle. Eso s, posiblemente haya que ejecutar latex dos o tres veces seguidas para que genere los ficheros auxiliares que necesita para construir el ndice, pero pronto apreciaremos la potencia de LaTeX y como la curva de aprendizaje necesario para dominarlo se compensa con las funcionalidades que proprociona. Llegado este punto, slo queda utilizar Latex y probar diferentes cosas. En la Tabla 2 hemos seleccionado las instrucciones de Latex que se corresponden con la barra de herramientas estndar de un procesador de textos. Probad a meter unos entornos enumerate o itemize dentro de otros! Desde luego, esto es tan slo una primera aproximacin a Latex, centrada en lo que se puede hacer con el mnimo esfuerzo. Para explicar las frmulas matemticas, las tablas y las figuras, o cmo modificar el formato de pgina, se requiere ms espacio y, de hecho, es un tema que abordaremos el mes que viene, aqu, en nuestro curso de LaTeX.
Hace ya ms de una dcada que Miguel Atencia viene administrando sistemas y redes en distintos organismos. Posteriormente, estudi matemticas y consagr su vida a la enseanza y a la ciencia. No obstante, sigue en contacto con el mundo de la informtica, pues no ha podido an librarse de desatascar impresoras y formatear ordenadores.

90

Nmero 01

www.linuxmagazine.com.es

EL AUTOR

También podría gustarte