You are on page 1of 91

AT X TEXiS: Una plantilla de L E para Tesis y otros documentos

MANUAL DE USUARIO
Marco Antonio Gmez Martn Pedro Pablo Gmez Martn Departamento de Ingeniera del Software e Inteligencia Articial Facultad de Informtica Universidad Complutense de Madrid Noviembre 2009

Documento maquetado con T EX S v.1.0.

Este documento est preparado para ser imprimido a doble cara.

T XiS: Una plantilla de L T X E E para Tesis y otros documentos

Informe tcnico del departamento

Ingeniera del Software e Inteligencia Articial IT/2009/3


Versin 1.0

Departamento de Ingeniera del Software e Inteligencia Articial Facultad de Informtica Universidad Complutense de Madrid Noviembre 2009

Copyright c Marco Antonio y Pedro Pablo Gmez Martn

ISBN 978-84-692-7109-4

Al duque de Bjar y a t, lector carsimo

I can't go to a restaurant and order food because I keep looking at the fonts on the menu. Donald Knuth

Agradecimientos
A todos los que la presente vieren y entendieren.
Inicio de las Leyes Orgnicas. Juan Carlos I

Groucho Marx deca que encontraba a la televisin muy educativa porque cada vez que alguien la encenda, l se iba a otra habitacin a leer un libro. Utilizando un esquema similar, nosotros queremos agradecer al Word de

AT X. Cualquiera que haya intentado Microsoft el habernos forzado a utilizar L E


escribir un documento de ms de 150 pginas con esta aplicacin entender a

AT X comenz, qu nos referimos. Y lo decimos porque nuestra andadura con L E


precisamente, despus de escribir un documento de algo ms de 200 pginas. Una vez terminado decidimos que nunca ms pasaramos por ah. Y entonces

AT X. camos en L E
Es muy posible que huberamos llegado al mismo sitio de todas formas, ya que en el mundo acadmico a la hora de escribir artculos y contribuciones

AT X por tu cuenta y cuando intentas escribir un documento grande en L E


riesgo sin un enlace del tipo  Author instructions , se hace cuesta arriba, pues uno no sabe por donde empezar. Y ah es donde debemos agradecer tanto a Pablo Gervs como a Miguel Palomino su ayuda. El primero nos ofreci el cdigo fuente de una programacin docente que haba hecho unos aos atrs y que nos sirvi de inspiracin (por ejemplo, el chero

AT X. Sin embargo, tambin es cierto que a congresos lo ms extendido es L E

guionado.tex

i de T EX S tiene una es-

tructura casi exacta a la suya e incluso puede que el nombre sea el mismo). El segundo nos dej husmear en el cdigo fuente de su propia tesis donde, adems de otras cosas ms interesantes pero menos curiosas, descubrimos que an hay gente que escribe los acentos espaoles con el

\'{\i}.

No podemos tampoco olvidar a los numerosos autores de los libros y

AT X que no slo permiten descargar esos manuales sin coste tutoriales de L E


adicional, sino que tambin dejan disponible el cdigo fuente. Estamos pensando en Tobias Oetiker, Hubert Partl, Irene Hyna y Elisabeth Schlegl, au-

AT X 2  y en Toms tores del famoso The Not So Short Introduction to L E


ix

Agradecimientos

Bautista, autor de la traduccin al espaol. De ellos es, entre otras muchas cosas, el entorno

example

utilizado en algunos momentos en este manual.

Tambin estamos en deuda con Joaqun Ataz Lpez, autor del libro

AT X con GNU Emacs. Gracias a l dejamos de lado Creacin de cheros L E


a WinEdt y a Kile, los editores que por entonces utilizbamos en entornos Windows y Linux respectivamente, y nos pasamos a emacs. El tiempo de escritura que nos ahorramos por no mover las manos del teclado para desplazar el cursor o por no tener que escribir

\emph

una y otra vez se lo debemos a

l; nuestro ocio y vida social se lo agradecen. Por ltimo, gracias a toda esa gente creadora de manuales, tutoriales, documentacin de paquetes o respuestas en foros que hemos utilizado y

AT X. Sabis seguiremos utilizando en nuestro quehacer como usuarios de L E


un montn. Y para terminar, a Donal Knuth, Leslie Lamport y todos los que hacen y han hecho posible que hoy puedas estar leyendo estas lneas.

Resumen
Desocupado lector, sin juramento me podrs creer que quisiera que este libro [...] fuera el ms hermoso, el ms gallardo y ms discreto que pudiera imaginarse.
Miguel de Cervantes, Don Quijote de la Mancha

A X que pueden servir para escribir i T EX S es un conjunto de cheros L T E


tesis doctorales, trabajos de n de master, de n de carrera y otros documentos del mismo estilo. El documento que tienes en tus manos es un manual que explica las distintas caractersticas de la plantilla. En los distintos capi tulos iremos explicando los cheros existentes en T EX S as como su funcin.

Tambin se explican algunas de las caractersticas, como por ejemplo ciertos comandos que facilitan la escritura de los documentos.

AT X utilizado en T XiS est muy comentado para su Aunque el cdigo L E E


uso fcil, creemos que las explicaciones que aqu se proporcionan pueden ser tiles.
i Hay dos distribuciones distintas de T EX S: el cdigo fuente completo de i este manual (de forma que T EX S es  su propio manual  ), o una distribucin

casi vaca de contenido, que tiene un nico captulo y apndice vaco, pero mantiene la portada, dedicatoria, agradecimientos y bibliografa del manual. Dependiendo, pues, de qu distribucin escojas, partirs directamente de los cheros

.tex

de este manual y eliminars su texto para adir el tuyo,

o de un conjunto de cheros sin apenas contenido que rellenars. Aconsejamos esta ltima aproximacin por ser ms cmoda. Sin embargo, hacemos disponible los cheros

.tex

del manual como referencia.

Para facilitar las cosas, hemos intentado que su estructura sea parecida a la de una posible tesis. De esta forma el cdigo fuente del propio manual puede servir como punto de partida para la escritura de este tipo de documentos. Como podrs comprobar, en algn momento nos ha sido difcil justicar la existencia de ciertos elementos pues no eran realmente relevantes para

Los expertos en lgica seguro que tendran algo que decir al respecto...

xi

xii

Resumen

el manual. En esos casos, piensa que estn ah no porque sean importantes desde el punto de vista de este documento, sino porque muy posiblemente
i estaran en el tipo de textos para los que T EX S es til. i Al estar compuesto por varios tipos de cheros, T EX S se rige por varias

licencias:

La plantilla (cheros en el directorio

AT X). (Licencia Pblica del Proyecto L E

distribuye bajo la L T EX Project Public License

TeXiS)

se

Los cheros

Makefile

y scripts de apoyo a la

generacin del documento, se distribuyen bajo licencia GPLv3.

i El manual de T EX S se distribuye con una licen-

cia Creative Commons (CC-BY-SA).

ndice
Agradecimientos Resumen 1. Introduccin
1.1. 1.2. 1.3. 1.4. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i Qu es T EX S . . . . . . . . . . . . . . . . . . . . . . . . . . .

ix xi

1
1 3 4 4 5 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Qu no es

Estructura de captulos . . . . . . . . . . . . . . . . . . . . . .

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . .

2. Estructura y generacin
2.1. 2.2. 2.3. 2.4. 2.5. 2.6. Estructura de directorios . . . . . . . . . . . . . . . . . . . . . Ficheros con el texto principal del documento . . . . . . . . . Ficheros del documento auxiliares . . . . . . . . . . . . . . . . Directorio raiz . . . . . . . . . . . . . . . . . . . . . . . . . . . Ficheros de la plantilla . . . . . . . . . . . . . . . . . . . . . . Generando el documento . . . . . . . . . . . . . . . . . . . . .

7
7 8 9 10 11 13 14 14

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . .

3. Proceso de edicin
3.1. 3.2. Empezando a escribir . . . . . . . . . . . . . . . . . . . . . . . Editando el texto . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1. 3.2.2. 3.2.3. 3.2.4. 3.2.5. 3.3. 3.4. Nuevos captulos (y apndices) Resumen del captulo Frases clebres . . . . . . . . . . . . .

15
15 17 17 18 18 19 22 23 23

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Secciones no numeradas Captulos especiales

. . . . . . . . . . . . . . . . . . .

AT X . . . . . . . . . . . . . . . . . . . . . . Programando en L E
Modos de generacin del documento . . . . . . . . . . . . . .

xiii

xiv

ndice

3.4.1. 3.4.2. 3.4.3. 3.5.

Comando Comando Comando

com . comp todo

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24 25 25 26 27 28 29 30

Acelerando la compilacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

AT X y compilacin 3.6. Editores de L E


3.7. Control de versiones

. . . . . . . . . . . . . . . . . . . . . . .

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . .

4. Gestin de las imgenes


4.1. 4.2. 4.3. 4.4. 4.5. 4.6. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestin de imgenes . . . . . . . . . . . . . . . . . . . . . . . Formato de las imgenes . . . . . . . . . . . . . . . . . . . . . Imgenes independientes del programa generador . . . . . . .

31
31 32 34 35 35 36 40 40

Gestin de imgenes y control de versiones . . . . . . . . . . . Imgenes divididas . . . . . . . . . . . . . . . . . . . . . . . .

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . .

5. Bibliografa y acrnimos
5.1. Bibliografa 5.1.1. 5.1.2. 5.1.3. 5.1.4. 5.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ficheros involucrados . . . . . . . . . . . . . . . . . . . Referencias con Modicaciones

41
41 42 42 43 45 46 46 50 51 52 52 . . . . . . . . . . . . . . . . . . . . . . . . . .

natbib . . . . en los @bibitem

Cambio del estilo de la bibliografa . . . . . . . . . . .

Acrnimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1. 5.2.2. 5.2.3. Acrnimos con glosstex


i Acrnimos en T EX S i Ms all de T EX S

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . .

6. Makele
6.1. 6.2. 6.3. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos del

53
53 54 56 56 58 59

Makefile

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Funcionamiento interno 6.3.1. 6.3.2.

La compilacin de las imgenes . . . . . . . . . . . . . Makele, GlossT EX, y cambio de modo de generacin .

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . .

A. As se hizo...
A.1. Edicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61
61

ndice

xv

A.2. Encuadernacin . . . . . . . . . . . . . . . . . . . . . . . . . . A.3. En el da a da . . . . . . . . . . . . . . . . . . . . . . . . . .

62 62

Bibliografa Lista de acrnimos

65 68

ndice de guras
2.1. 3.1. 4.1. 4.2. 5.1. Capturas del visor de PDF . . . . . . . . . . . . . . . . . . . . Resaltado de secciones en emacs . . . . . . . . . . . . . . . . . Figura utilizada para marcar una imagen por hacer. Ejemplo de uso de . . . . . 13 22 33 39 46 63 64

subfloat.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Resultado de la lista de acrnimos

A.1. Encuadernacin y mrgenes guillotinados A.2. Servidor de integracin contnua

. . . . . . . . . . . . . . . .

xvii

ndice de Tablas
3.1. 4.1. 5.1.
i Secciones no numeradas soportadas por T EX S . . . . . . . . .

21 34 43

Formatos de imgenes para

latex

pdflatex natbib

. . . . . . . .

Distintas opciones de referencias con

. . . . . . . . . .

xix

Captulo 1

Introduccin
Psose don Quijote delante de dicho carro, y haciendo en su fantasa uno de los ms desvariados discursos que jams haba hecho, dijo en alta voz:
Alonso Fernndez de Avellaneda, El Ingenioso Hidalgo Don Quijote de la Mancha

i Resumen: Este captulo presenta una breve introduccin a T EX S.


El lector podr hacerse una idea de qu es y para qu sirve. Tambin se encuentra aqu una descripcin del resto de captulos del manual.

1.1. Introduccin
Si ests leyendo estas lneas es muy posible que haya llegado la hora de ponerte a escribir la tesis, despus de mucho tiempo dando vueltas al rea de investigacin concreta en el que ests inmerso. O puede que ests a punto de empezar a escribir la memoria del proyecto de n de carrera, n de master, o cualquier otro documento de cierta envergadura. Sea lo que sea lo que te traes entre manos, lo ms probable es que no sea fcil hacerlo. Muy posiblemente no tengas an muy claro qu vas a escribir, pero tu tutor/director/profesor te ha dicho que vayas empezando a plasmar esas ideas sobre el papel para tener algo rme, y sentir que vas avanzando. Y entonces viene el problema de cmo escribirlo. Muy posiblemente

AT X y ests convencido de que esa es la va habrs escrito algn artculo en L E


a seguir para hacer un documento que superar las 10 pginas y que tendr bibliografa. O puede, simplemente, que alguien te haya dicho que lo mejor es 1

Captulo 1. Introduccin

AT X porque la apariencia nal es mejor, porque que escribas el proyecto en L E


es ms cmodo, o cualquier otra razn. Sea como fuere, parece que ests ms o menos decidido a escribir tu

AT X. Bien hecho. Pero, cmo?. Al contrario de lo que suele documento en L E


ocurrir en congresos y en revistas, no tienes disponible ninguna pgina en la que descargarte las instrucciones para los autores, con la cmoda plantilla

AT X que t, sufrido autor, simplemente tienes que rellenar. No. Ahora en L E


las cosas son ms complicadas.

AT X con la que empezaste (apostamos que es As que te vas a la gua de L E


la misma con la que hemos empezado todos), y ves las distintas posibilidades que te ofrece en su  documentclass:

article, report, book, ... Y te quedas

con la ltima. Pero te asaltan muchas preguntas. Cmo organizo todo esto? o cmo hago la portada? o incluso qu hago para que no ponga Chapter, sino Captulo?. En ese punto, es de suponer, has pedido ayuda a la gente de alrededor y/o a tu buscador de Internet favorito. Y de alguna forma, te has encontrado leyendo estas lneas. Tenemos que decir que exactamente esa fue nuestra situacin cuando por n nos decidimos a escribir nuestras tesis. Desgraciadamente, ni la gente que tenamos alrededor ni nuestro buscador favorito supieron contestarnos de forma satisfactoria, por lo que tuvimos que invertir mucho tiempo hasta conseguir que el resultado que sala de nuestros disponibles y con el modo de compilacin. Y para que nadie ms pueda utilizar como excusa el no saber cmo personalizar la clase

.tex

nos gustara, hasta

que nos sentimos cmodos con la estructura de los cheros, con las macros

AT X porque ms se decida por Word u otro paquete omtico en vez de L E


lo ve mucho ms sencillo, en denitiva, para que nadie pierda tanto tiempo como perdimos nosotros creando la estructura, decidimos hacer pblico el esqueleto bsico que construimos nosotros para hacerlas. Ese esqueleto bsico
i o plantilla es T EX S.

book para retrasar el comienzo de su tesis, para que nadie

En vez de hacer disponible la plantilla o cheros

.tex

sin ningn con-

tenido, proporcionamos un manual en formato PDF que (a no ser que ests

AT X), ser lo que ests leyendo. Este manual leyendo directamente el cdigo L E
i ha sido creado con la propia plantilla. Por lo tanto, la distribucin de T EX S

es en realidad el cdigo fuente de su propio manual. Con su cdigo fuente entre tus manos, lo nico que tienes que hacer es borrar su contenido (este

texto ), y rellenarlo con tu gran contribucin al mundo. Como podrs comprobar, la estructura del propio manual sigue el esquema de lo que podra ser una tesis, trabajo de investigacin o proyecto de n de carrera, precisamente para que sea fcil quitar el contenido textual y sustituirlo por el nuevo. En los captulos que siguen encontrars toda la informacin necesaria

AT X para crear tus propios documentos. para poder utilizar los cheros L E
Adems, el propio cdigo fuente est lleno de comentarios (especialmente en

i 1.2. Qu es T EX S

los cheros que denen el estilo), por lo que tambin en ellos encontrars una buena fuente de informacin. Eso es especialmente importante en caso de que quieras modicar en algo el aspecto nal de tu documento. Esperemos que te sea de utilidad. Si es as, nos gustara que lo reconocieras en la seccin de agradecimientos. Si durante tu proceso de escritura has aadido algn aspecto que crees que puede ser interesante para otros, no dudes en decrnoslo para intentar incluirlo en siguientes versiones de la propia plantilla; tampoco dudes en enviarnos sugerencias sobre las explicaciones de este manual para poder mejorarlo con el tiempo. Por ltimo, tambin puedes enviarnos el resultado nal para poner una referencia a l en la pgina de descarga, donde, por cierto, puedes ver otros documentos creados con la plantilla, lo que te permitir coger ideas de cosas que puedes
i variar. Recuerda que la versin ms reciente de T EX S est disponible en

http://gaia.fdi.ucm.es/projects/texis/.

1.2. Qu es TEXiS
La plantilla que tienes entre las manos es, como hemos dicho, el esqueleto del cdigo fuente de las Tesis Doctorales de los dos autores (Gmez-Martn, 2008a,b). Por tanto, sirve para escribir otras Tesis Doctorales u otros documentos con estructura similar de forma fcil.
i T EX S te permite adems generar el chero utilizando tanto el comando

latex

(que genera de forma nativa cheros

cheros

ps

pdf),

como

pdflatex.

dvi
1

que luego se convierten a

De esta forma el usuario nal puede

elegir entre cualquiera de las dos herramientas . Aconsejamos, no obstante,


i la utilizacin de este ltimo, debido a que T EX S contiene ciertos comandos

para dotar al PDF nal de marcadores que permiten una navegacin cmoda por el chero utilizando los visores tradicionales. Como explicaremos en el captulo siguiente, la plantilla se aprovecha mejor en sistemas GNU/Linux. Nota que hemos dicho que la plantilla  se

aprovecha mejor  en sistemas GNU/Linux, no que no pueda utilizarse en

AT X es multiplataforma, y por lo tanto Windows o Mac; es evidente que L E


puede compilarse en cualquier sistema que tenga instalada una distribucin del mismo. La razn por esta desviacin positiva hacia Linux estriba en que para
i hacer ms cmodo el proceso de edicin y compilacin, T EX S proporciona

cheros que facilitan el proceso de generacin del chero PDF nal, tal y como se describe en el captulo 6. Esos cheros adicionales slo funcionan correctamente si son ejecutados en Linux.

Esto es til por ejemplo cuando quieres utilizar

de publicaciones slo admite el uso de

latex.

pdflatex

pero nalmente el servicio

Captulo 1. Introduccin

1.3. Qu no es
AT X, ni una gua de referencia, ni un Esta plantilla no es un manual de L E
compendio de preguntas frecuentes. De hecho, no nos consideramos expertos

AT X, por lo que no tendramos fuerzas para escribir algo as. Si necesitas en L E


Al nal de este captulo aparece una lista con algunos de ellos.

AT X, puedes encontrar muchos y muy buenos en Internet. un manual de L E AT X. Si miras el cdigo fuente La plantilla tampoco es una clase de L E
podrs comprobar que el documento comienza con por lo que se basa en la clase

book.

\documentclass{book}2 ,

La plantilla tampoco te ayudar a gestionar tu bibliografa. Los herramienta diseada para ello.

.bib

los tendrs que crear y organizar t ya sea de forma manual o con alguna

Queremos una vez ms insistir antes de terminar que no somos expertos

AT X. Durante el proceso de escritura de nuestras Tesis nos tuvimos que en L E


enfrentar a problemas de formato que tuvimos que solucionar buscando en Internet o preguntando a personas cercanas. Y podemos decir que prcticamente todos los problemas a los que nos hemos enfrentado en nuestra vida

AT X estn resueltos aqu, pues sendas Tesis han sido los como usuarios de L E
documentos ms extensos que hemos escrito.

AT X, en vez de prePor lo tanto, si tienes alguna duda concreta de L E


guntarnos a nosotros, busca en foros de Internet o en la documentacin del paquete que ests utilizando. A buen seguro encontrars ah la respuesta. Si la duda que tienes es relativa a la plantilla, revisa los comentarios que encontrars en el cdigo fuente, hay ciertas cosas de demasiado bajo nivel que hemos preferido no contar en el texto. Y slo como ltimo recurso, preguntanos a nosotros, aunque ya te advertimos que puede que no sepamos responderte. Querramos poder animarte a escribirnos tus dudas, pero preferimos no hacerlo para no decepcionarte.

1.4. Estructura de captulos


El manual est estructurado en los siguientes captulos: El captulo 2 describe a vista de pjaro los distintos cheros que fordocumento nal (.pdf).
i man T EX S. Adems da una primera aproximacin a cmo generar el

El captulo 3 se centra en el proceso de edicin. Aunque aparentemente


i la tarea de escribir el texto es trivial, T EX S proporciona una serie

de comandos que pueden ser tiles durante la escritura (al menos a

Personalizado, eso s, para que utilice DIN A-4, a doble cara y con letra de 11 puntos.

Notas bibliogrcas

nosotros nos lo parecieron). Este captulo se centra en la explicacin de esos comandos. El captulo 4 pasa a describir cmo se estructuran las imgenes en
i T EX S. Igual que antes, esto puede parecer superuo a un usuario medio

AT X, pero T XiS contiene algunos comandos que esperan esa esde L E E

tructura. Es el usuario el ltimo que decide si utiliza esos comandos (y por lo tanto esa estructura) u opta por otra completamente distinta. El captulo 5 aborda la bibliografa y la gesin de los acrnimos. Como
i se ver, T EX S dispone de algunas opciones de personalizacin que

merecen un pequeo captulo. El captulo 6 pone n al manual, detallando las opciones del chero

Makefile

que permiten una generacin cmoda del documento nal

en entornos Linux. El manual tiene, por ltimo, un apndice que, si bien no es interesante desde el punto de vista del usuario, nos sirve de excusa para proporcionar el

AT X necesario para su creacin: a modo de as se hizo, comenta cdigo L E


brevemente cmo fue el proceso de escritura de nuestras tesis.

Notas bibliogrcas
El libro por el que la mayora de la gente empieza sus andaduras con

AT X es Bautista et al. (1998) pues es relativamente corto, fcil de leer y L E


de acceso pblico (licencia GPL), por lo que se puede conseguir la versin electrnica fcilmente. Un libro algo ms completo que ste y que suele ser el segundo en orden de preferencia es Oetiker et al. (1996) con la misma licencia.

AT X de libre distribucin, tambin se puede Dentro de los libros dedicados a L E


contar con Krishnan (2003).

AT X: A Document Preparation System ion (Mittelbach et al., 2004) y  L E


(Lamport, 1994).

AT X ms conocidos son The L AT X CompanNo obstante, los libros de L E E

En el prximo captulo. . .
i Una vez hecha una descripcin de T EX S, el prximo captulo describe los

cheros que componen tanto la plantilla como el manual que ests leyendo. Tambin se explicar cmo se puede generar o compilar el manual a partir de los

.tex proporcionados. Por lo tanto, el captulo sirve como una primera

i aproximacin rpida al trabajo con T EX S; al nal del mismo seremos capaces

de entender la estructura de directorios propuesta y dnde se encuentran los cheros que hay que editar para cambiar el contenido del documento nal.

Captulo 1. Introduccin

No obstante, el captulo siguiente debe verse nicamente como una primera aproximacin. El captulo 3 da ms detalles sobre el proceso de edicin del documento, y el captulo 6 dar una alternativa al modo de compilacin explicado.

Captulo 2

Estructura y generacin
La mejor estructura no garantizar los resultados ni el rendimiento. Pero la estructura equivocada es una garanta de fracaso.
Peter Drucker

i Resumen: Este captulo explica la estructura de directorios de T EX S


as como los cheros ms importantes, describiendo el cometido de cada uno. Tambin hace una primera aproximacin al proceso de generacin (o compilacin) del PDF nal, aunque este tema ser extendido posteriormente en el captulo 6.

2.1. Estructura de directorios


Como habrs podido comprobar, la plantilla contiene bastantes cheros organizados en varios directorios. Esta seccin explica el contenido de cada uno de los directorios, para que seas capaz de encontrar el directorio en el que debera estar un chero concreto. Existen los siguientes directorios:

Directorio raz
(o

contiene el chero principal del documento (tambin lla-

mado chero maestro ), que es el que se utiliza como entrada a

latex) y cuyo nombre es Tesis.tex. Tambin aparecen en el direc-

pdflatex

torio otros cheros que si bien no generan texto en el documento nal cumplen ciertas funciones especcas descritas en la seccin 2.4. Por ltimo, el directorio contiene tambin los cheros la aplicacin

.bib con la informacin

bibliogrca as como el chero para generar el documento utilizando

make.
7

Captulo 2. Estructura y generacin

Directorio ./Capitulos Directorio ./Apendices Directorio ./Cascaras

contiene los contiene los

.tex de cada captulo del documento. .tex .tex


de cada uno de los apndices. responsables del contenido del

contiene los

resto de pginas del documento: el texto de la portada, agradecimientos, resumen, etc. En denitiva son los cheros responsables de todo aquello que precede a los captulos y sigue a los apndices.

Directorio ./Imagenes

contiene las imgenes del documento. Dentro de l

aparecen varios directorios distintos. La gestin de imgenes (y por lo tanto la estructura de estos directorios) se describir en el captulo 4.

Directorio ./TeXiS

contiene todos los cheros relacionados con la propia

plantilla, es decir, los cheros que denen la apariencia nal del documento, as como los comandos que facilitan la edicin que sern descritos en el captulo 3. La creacin de un documento que se adhiere
i completamente al formato de T EX S no necesitar tocar ninguno de los

cheros de este directorio.

Directorio ./VersionesPrevias

Este directorio es usado por el

Makefile

cuando se realiza una copia de seguridad del estado del documento. Describiremos esta caracterstica en el captulo 6.

Existen por lo tanto, tres tipos de cheros

.tex: los cheros que contienen

el texto principal del documento (captulos y apndices), los cheros que denen las partes adicionales del mismo (como portada y agradecimientos), y los cheros que determinan la apariencia. En las tres secciones siguientes describimos cada uno de ellos.

2.2. Ficheros con el texto principal del documento


Estos

.tex

son los que contienen el texto tanto de los captulos como de

los apndices, por lo tanto son los cheros que ms tiempo pasars editando. Estn divididos en secciones, tienen guras, tablas, referencias bibliogrcas, y cualquier otro tipo de elemento que quieras o debas aadir.

AT X. No obstante, no En principio pueden contener cualquier cdigo L E


olvides que si necesitas algn paquete especial que no se cargue por defecto en la plantilla, debers incluir el descrito en la Seccin 2.5. El captulo siguiente est enteramente dedicado al proceso de edicin de estos cheros.
i maestro o en el chero de prembulo de T EX S,

\usepackage correspondiente en el documento TeXiS/TeXiS_pream.tex

2.3. Ficheros del documento auxiliares

2.3. Ficheros del documento auxiliares: las cscaras del documento


Estos cheros, como ya hemos dicho, son los responsables del contenido del resto de pginas del documento, todo aquello que no son captulos o apndices. Son los siguientes (por orden de aparicin en el documento nal) :

cover.tex:

responsable de las dos primeras hojas del documento, que

forman las portada. Mediante comandos se denen el autor y ttulo que aparecer en la portada, la fecha de publicacin, facultad, etc. Como podrs ver cuando lo edites, el chero contiene los datos concretos para generar este manual. Los comandos se describen en la seccin 3.1.

dedicatoria.tex:

AT X que crea la dedicatoria contiene el cdigo L E

de la Tesis. Consiste en una hoja donde aparece alineada a la izquierda una frase indicando a quin se dedica el documento (en los libros serios pone algo como A mis padres, aunque tambin hay autores en libros ms distendidos, como Buckland que dice textualmente For Mum and Dad, who bought me my rst computer, and therefore must share some responisibility for turning me into the geek that I am (Buckland, 2005)). Se pueden poner todas las pginas de dedicatorias que se deseen, utilizando la macro

\putDedicatoria,

que recibe la

cita completa y crea la hoja completa con la misma. Lo ms cmodo, no obstante, es utilizar la macro \dedicatoriaUno y (opcionalmente) \dedicatoriaDos para establecer las dos dedicatorias y a continuacin invocar \makeDedicatorias para generarlas. As lo hace este manual.

agradecimientos.tex:

contiene el texto de las nicas pginas que tu

familia y amigos van a leer de la Tesis: los agradecimientos. As que piensa bien lo que pones, no olvides a nadie . Es importante que no borres la lnea que aparece justo despus del

\chapter, \cabeceraEspecial{Agradecimientos}
ya que lo que hace es modicar la cabecera de la pgina para que no aparezca con el mismo formato que en los captulos. Puedes consultar la seccin 3.2.5 para obtener ms detalles sobre esto.

1 2

Si crees que no necesitas alguno de ellos, puedes eliminar su inclusin en el chero

maestro,

Tesis.tex.

Tampoco a nosotros por quitarte la preocupacin del aspecto nal...

:-)

10

Captulo 2. Estructura y generacin

resumen.tex: si quieres incluir antes del ndice un pequeo resumen de


tu trabajo, puedes hacerlo en este chero. Al igual que en los agrade-

AT X del principio que altera cimientos no debes eliminar el comando L E


la cabecera. Tanto el resumen como los agradecimientos antes explicados se convierten en dos captulos sin numeracin que tambin sern listados en el ndice de contenidos. No obstante, al aparecer antes que el texto principal del documento (los captulos propiamente dichos), sus pginas sern numeradas con notacin romana, en lugar de con la arbiga tradicional.

bibliografia.tex: en l se congura la bibliografa del documento. En concreto, el chero permite indicar tanto qu cheros .bib contienen
las entradas bibliogrcas como una frase clebre (seguramente, ya
i habrs notado que T EX S permite iniciar los captulos con una frase

clebre), caracterstica descrita con ms detalle en la seccin 3.2.3. El captulo 5 hace una descripcin ms detallada del tipo de bibliografa que propone utilizar la plantilla (y que utiliza este manual).

fin.tex:

En nuestras respectivas tesis, como cierre incluimos una

ltima pgina parecida a la dedicatoria con un par de frases clebres. El cdigo T EX responsable se encuentra en este chero.

Existen otros dos cheros que no aparecen en este directorio pero que generan pginas en el documento nal. Son del directorio

TeXiS,

TeXiS_toc.tex y TeXiS_acron.tex

descritos en la seccin 2.5. Aparecen en ese directorio

i debido a que no permiten ningn tipo de personalizacin al usuario de T EX S.

2.4. Directorio raiz


En el directorio raz aparecen, adems de stro, otros tres cheros

.tex

Tesis.tex, el documento maeconfig.tex


se describe en la

que no son responsables de la generacin de

ninguna pgina del documento. Uno de ellos, seccin 3.4. Los otros dos son:

guionado.tex:

contiene una lista de aquellas palabras que, durante

AT X divida la edicin del documento, se ha podido comprobar que L E


mal. En esos casos, la alternativa mala es hacer pequeos ajustes en

AT X no sabe colocar el prrafo para que esa palabra cuyos guiones L E


no quede cerca del nal de la lnea. La alternativa buena es aadir la palabra a este chero, colocando los guiones donde van. En el chero proporcionado aparece una lista de algunas palabras de ejemplo.

2.5. Ficheros de la plantilla

11

constantes.tex:

est pensado para la denicin de constantes que

aparezcan a menudo en el texto. Por ejemplo, si se hace un documento sobre Cruise Control (ThoughtWorks, 2001), para evitar tener que escribir contnuamente las dos palabras, es buena idea incluir una constante en el chero que cree un comando para hacerlo ms rpidamente:

\newcommand{\cc}{Cruise Control} La nueva versin de \cc\ \ldots


ttulo del documento y

La nueva versin de Cruise Control ...

En este chero aparece denida la constante

portada. Tambin aparece denido el comando una y otra vez:

\autor con el autor. Ambos son utilizados en la \texis que utilizamos

\titulo

que contiene el

i en este manual para evitarnos escribir el cdigo que escribe  T EX S

\texis\ te permite generar el fichero final tanto como .dvi como en un .pdf.

T EX S te permite generar el chero nal tanto como .dvi como en un .pdf.

Por ltimo indicar que en el directorio raz aparecen los cheros con extensin acrnimos (ver captulo 5) as como el chero automtica del documento nal (captulo 6).

.bib que contienen la informacin bibliogrca y los .gdf para los Makefile para la generacin

2.5. Ficheros de la plantilla


El directorio

TeXiS

contiene los cheros que denen la apariencia nal

del documento. Si el formato de este manual te gusta tal cual, no tendrs por qu tocar ninguno de estos cheros. La explicacin de su contenido aparece a continuacin. Su cdigo fuente contiene numerosos comentarios y enlaces, por lo que no debera suponerte demasiado problema modicarlos.

TeXiS_cab.tex: contiene la denicin de la apariencia de las cabeceras


de las pginas utilizadas en el documento. La plantilla utiliza el paquete

fancyhdr. Sin embargo, la cabecera por defecto se ha modicado para


que aparezca el nmero del captulo, as como su nombre en minsculas, junto con algn otro cambio menor.

TeXiS.sty:

contiene los comandos que la plantilla proporciona para

facilitar el proceso de edicin. El uso de estos comandos est explicado en el captulo 3. A pesar de que la extensin distinta a la habitual (.sty en vez de

AT X normal, sin miedo el chero para edicin, pues es un chero de L E


con deniciones de comandos tradicionales.

.tex) puede imponer cierto respeto al principio, puedes abrir

12

Captulo 2. Estructura y generacin

TeXiS.bst:

contiene el estilo que utiliza la plantilla para generar la

lista de las referencias bibliogrcas al nal del documento. Las posibilidades de este estilo son descritas en el captulo 5.

TeXiS_pream.tex:

este chero contiene la mayor parte del cdigo del

prembulo del documento (lo que va antes del

\begin{document}).

En l aparecen incluidos un buen nmero de paquetes que pueden ser tiles en la elaboracin del documento, junto con una explicacin de para qu sirven y, en algunas ocasiones, algunos ejemplos de uso. Existen incluso ciertos paquetes cuya inclusin aparece comentada pero que se mantienen, junto con su comentario correspondiente, por si pueden venir bien para documentos concretos que necesiten ciertas caractersticas que ni este manual ni nuestras tesis requirieron.

TeXiS_cover.tex:
sin el escudo.

contiene el cdigo T EX que genera la portada, y la

hoja siguiente a la misma, que vuelve a tener los mismos datos pero

TeXiS_dedic.tex:
dedicatorias.

contiene el cdito T EX para generar las hojas de

TeXiS_toc.tex:

es el responsable de la generacin de los ndices de

captulos, tablas y guras que aparece en el documento.

TeXiS_bib.tex:

es el encargado de que en el documento aparezca bi-

bliografa. Incluido desde el chero maestro, lo primero que hace es leer el chero de conguracin,

Cascaras/configBibliografia.tex.

Como puedes comprobar, la bibliografa es tambin referenciada en el ndice como un captulo sin numerar; tambin se preocupa de cambiar la cabecera para que no se utilice la habitual del resto de captulos.

TeXiS_acron.tex:

la plantilla tambin permite aadir una lista de

acrnimos o abreviaturas utilizadas en el texto. En este chero se incluyen los comandos necesarios para que aparezca esta lista. No obstante, para que la lista funcione, en el momento de la generacin se debe invocar a la herramienta correspondiente para que se creen los cheros auxiliares necesarios para su generacin. En la descripcin sobre la generacin dada en la seccin 2.6 no se describe este proceso, por lo que el resultado contendr una lista de acrnimos vaca. El uso de acrnimos se describe con detalle en la seccin 5.2.

2.6. Generando el documento

13

(a) Propiedades del documento

(b) Tabla de contenidos

Figura 2.1: Capturas del visor de PDF

2.6. Generando el documento


i Como ya se dijo en la introduccin, T EX S permite compilar el docu-

mento

3 tanto con

latex

como

pdflatex.

AT X a travs Si has utilizado L E

de editores de texto especcos (como Kile o WinEdt), es posible que no sepas de qu estamos hablando. Tanto ciones que cogen un chero

latex como pdflatex son dos aplica.tex como entrada y generan el documento nal .dvi4 ,
mientras que en el

renderizado. La diferencia entre ambas radica en el chero de salida que generan. En el primer caso, se genera un chero utilizado segundo caso se genera un chero PDF directamente. Tradicionalmente se ha

latex, convirtiendo despus el chero .dvi al formato deseado (como .ps o .pdf). Sin embargo, en nuestro caso, aconsejamos la utilizacin de pdflatex, debido a que, al generar de forma nativa cheros PDF, aprovecha
i algunas de las caractersticas disponibles en los mismos. En particular, T EX S

AT X que contiene algunos comandos L E

pdflatex aprovecha para aadir infor-

macin de copyright al chero, as como enlaces a cada uno de los captulos y secciones del documento, permitiendo una navegacin rpida por el mismo cuando se utilizan visores (gura 2.1). La plantilla incluye un chero del chero nal

5 que es capaz de crear el PDF utilizando cualquiera de las dos

Makefile

para automatizar la generacin

alternativas. No obstante, en este apartado no entraremos en los detalles de este chero, ya que existe un captulo dedicado enteramente a l (captulo 6). Para generar el documento de este manual a partir de los cheros de
i T EX S proporcionados, la forma inmediata es seguir el proceso tradicional

Cuando hablamos de compilacin nos referimos, por analoga con el desarrollo soft-

ware, a la generacin del chero nal (un PDF) resultado de analizar los cheros fuente

AT X. en L E 4
tenido).

Device independent, o independiente del dispositivo


Makefile make

(en el que se mostrar el con-

Los cheros

son ampliamente utilizados en el desarrollo de software. Son que genera automticamente los cheros

cheros que sirven de entrada a la utilidad

de resultado a partir de los archivos de cdigo fuente.

14

Captulo 2. Estructura y generacin

AT X, es decir, ejecutar de generacin de cualquier chero de L E


(o

latex),

a continuacin ejecutar

bibtex

pdflatex
para

para resolver las referencias bi-

bliogrcas, y posteriormente ejecutar un par de veces ms

pdflatex
6

resolver las referencias cruzadas y que aparezcan en el documento nal. En lnea de comandos eso se traduce a las siguientes rdenes :

$ $ $ $

pdflatex Tesis bibtex Tesis pdflatex Tesis pdflatex Tesis


AT X para la edicin, tambin se pueden Si se utiliza algn editor de L E

utilizar sus teclas rpidas (o en su defecto, sus botones u opciones de men) para generarlo; encontrars una explicacin al respecto en la seccin 3.6.

Notas bibliogrcas
En este captulo hemos descrito simplemente la estructura de directorio
i de T EX S, por lo que no existe ninguna fuente relacionada adicional de con-

sulta. Se mantiene este apartado por simetra con el resto de captulos. En un documento normal (tesis, trabajo de investigacin) lo ms probable es que todos los captulos puedan extenderse con notas de este tipo.

En el prximo captulo. . .
Una vez que se han descrito a vista de pjaro los cheros que componen la plantilla y una primera aproximacin al proceso de generacin del documento nal (en PDF), el siguiente captulo pasa a describir el proceso de edicin. Eso cubre aspectos tales como los cheros que deben modicarse para
i aadir nuevos captulos o los comandos que T EX S hace disponibles para

escribir ciertas partes de los mismos. El captulo describe tambin los dos modos de generacin del documento nal que pueden ser de utilidad durante el largo proceso de escritura. Por ltimo, el captulo terminar con ciertas

AT X utilizados as como sobre la consideraciones relativas a los editores de L E


posibilidad de utilizar un control de versiones.

(.dvi) deber despus ser convertido a PDF.

Tambin es vlido el uso de

latex

en lugar de

pdflatex,

pero el chero generado

Captulo 3

Proceso de edicin
Rem tene, verba sequentur (Si dominas el tema, las palabras vendrn solas)
Catn el Viejo

Resumen: Este captulo se centra en el proceso de edicin, dando


detalles de qu cosas deben cambiarse y qu comandos y caractersticas tiene T EX S que facilitan el proceso.

3.1. Empezando a escribir


En primer lugar, es necesario destacar que los cheros

.tex

deben tener

codicacin ISO-8859-1. Esto es lo que ocurre de manera predenida en Windows y en algunos Linux como Debian. Una excepcin signicativa es el caso de Ubuntu, que usa de manera predeterminada UTF-8. En ese caso, debers ser cuidadoso para asegurarte de que grabas tus cheros con ISO8859-1. El primer paso para la construccin de un nuevo documento es cambiar el ttulo y autores. Es posible que al principio del proceso no se tenga muy claro cul es el ttulo nal del documento pero, y esto es una opinin personal, ver un ttulo (aunque sea provisional) en vez de lo que ahora aparece ( TeXiS:

AT X para Tesis y otros documentos) te ayudar a pensar Una plantilla de L E


que lo que ests escribiendo es tuyo y no de otros. Para eso, basta con cambiar la constante

constantes.tex.

\titulo

\autor

que aparece denida en el chero

El segundo paso es crear la portada en

Cascaras/cover.tex.

Como

i habrs podido observar, T EX S genera dos hojas de portada, al igual que

hacen la mayora de los libros. La primera portada es la que ira en la 15

16

Captulo 3. Proceso de edicin

parte exterior del documento encuadernado, mientras que la siguiente es una repeticin que aparece en la primera pgina. A continuacin aparece
i una lista con el texto que puede cambiarse usando los comandos de T EX S;

una vez que se conguran, se debe invocar al comando generar las portadas:

\makeCover

para

Ttulo del documento: aparece en las dos portadas. Por defecto se utilizar la constante se puede indicar un ttulo distinto usando

\titulo denida en constantes.tex. No obstante, \tituloPortada. De esta

forma, se pueden forzar saltos de lnea articiales si se desea. Autor del documento: normalmente aparece tambin en las dos portadas. Igual que antes, si no se indica lo contrario se utiliza aunque se puede cambiar con

\autorPortada. \imagenPortada.

\autor,

Una imagen en la primera portada, normalmente el escudo institucional. El chero a utilizar se dene con grande o pequeo con Tambin puede especicarse la escala a utilizar en el chero si ste es demasiado

\escalaImagenPortada. \fechaPublicacion.

Una fecha de publicacin, que aparece en la parte inferior de ambas portadas. Se utiliza el comando

El tipo de documento que aparece en la primera portada. Si no se indica nada, ser TESIS DOCTORAL. Se puede modicar con

\tipoDocumento.
DE USUARIO.

Este manual por ejemplo lo establece en MANUAL

El departamento y facultad al que est asociado el documento. Aparece en ambas portadas, y se establece con

\institucion.

Un primer bloque de texto en la segunda portada, que aparece despus del ttulo. Si no se indica lo contrario, en ese bloque aparecer el texto Memoria que presenta para optar al ttulo de Doctor en Informtica seguido del con

\autorPortada. Se puede \textoPrimerSubtituloPortada.

cambiar el contenido completo

Un segundo bloque de texto donde aparece Dirigida por el Doctor seguido del director del trabajo que se establece con El comando texto distinto. Las dos portadas en sus caras traseras pueden, adems, presentar otra informacin auxiliar: Un breve recordatorio indicando que el documento est preparado para su impresin a doble cara. Si se desea que aparezca, basta con llamar a

\directorPortada. \textoSegundoSubtituloPortada permite establecer otro

\explicacionDobleCara.

3.2. Editando el texto

17

El ISBN del documento, en caso de poseerlo. Se dene con Informacin de copyright. Se puede indicar con habitual ser pasar como parmetro el

\isbn.
y lo

\autor.

\copyrightInfo,

Por defecto en la cara posterior de la primera portada aparecen unos


i crditos a T EX S, donde se indica que el documento se ha generado i con T EX S y la versin. Si no se desea que aparezca, se puede llamar a

\noTeXiSCredits,

aunque nos gustara que lo incluyeras.

Por ltimo, quiz quieras cambiar la informacin de metadatos que se incrustar en el PDF generado. Los metadatos aparecen directamente en el chero

Tesis.tex y, como indicamos en el captulo anterior y mostramos en

la gura 2.1, son:

% % "Metadatos" para el PDF % \ifpdf\hypersetup{% pdftitle = {\titulo}, pdfsubject = {Plantilla de Tesis}, pdfkeywords = {Plantilla, LaTeX, tesis, trabajo de investigacin, trabajo de Master}, pdfauthor = {\textcopyright\ \autor}, pdfcreator = {\LaTeX\ con el paquete \flqq hyperref\frqq}, pdfproducer = {pdfeTeX-0.\the\pdftexversion\pdftexrevision}, } \pdfinfo{/CreationDate (\today)} \fi

3.2. Editando el texto


Una vez que se tiene el ttulo y autores del documento puestos, el trabajo de escritura consiste, en su mayor parte, en la creacin de los correpondientes

AT X de cada uno de los captulos y apndices. cheros L E

3.2.1. Nuevos captulos (y apndices)


i Segn la estructura de directorios vista en el captulo anterior, T EX S te

recomienda crear los captulos en el directorio

Apendices.

Capitulos y los apndices en

Cuando crees un chero en cualquiera de los directorios, se debe aadir en el chero maestro (Tesis.tex) el nombre de ese nuevo chero para que se procese en el momento de la generacin:

18

Captulo 3. Proceso de edicin

\mainmatter \include{Capitulos/01Introduccion} \include{Capitulos/02EstructuraYGeneracion} ... % Apndices \appendix \include{Apendices/01AsiSeHizo} ...


Todos estos cheros de captulos y apndices deben comenzar con el

AT X comando L E

\chapter1 .

AT X normal El resto del chero es un chero L E

que tendr secciones, subsecciones, guras, tablas, etc. Al aadir un nuevo chero, es posible que tambin quieras aadir su nombre en el chero

config.tex

para permitir la compilacin rpida de un

nico captulo segn se cuenta en la seccion 3.5.

3.2.2. Resumen del captulo


i T EX S permite incluir al comienzo de todos los captulos un breve re-

sumen del mismo; este mismo manual lo hace. Para separarlo del resto se utiliza un formato distinto. En vez de cambiar el formato en todos y cada uno de los captulos (y
i apndices), T EX S proporciona un entorno nuevo,

resumen,

que lo hace por

nosotros:

\begin{resumen} En este captulo se describe... \end{resumen}

Resumen:

En

este

captulo se describe...

El formato concreto est denido en el chero apariciones.

TeXiS/TeXiS.sty,

por lo

que se puede cambiar a voluntad, lo que provocar el cambio en todas sus

3.2.3. Frases clebres


i Como habrs podido comprobar leyendo este manual, T EX S permite

adems escribir en cada captulo una frase clebre que es aadida inmediatamente despus del ttulo del mismo, alineada a la derecha. Para aadir la frase (que est formada por la cita en cuestin y su autor),
i T EX S dene un nuevo entorno

cada una de ellas con otros dos entornos,

FraseCelebre, dentro del cual se especican Frase y Fuente:

Esto

tambin se cumple para los apndices.

3.2. Editando el texto

19

\begin{FraseCelebre} \begin{Frase} Nadie espere que yo diga algo. \end{Frase} \begin{Fuente} Mafalda \end{Fuente} \end{FraseCelebre}

Nadie espere que yo diga algo.


Mafalda

Evidentemente, las frases clebres pueden aadirse en todos los captulos, incluidos los especiales (aquellos que no tienen numeracin normal) como el captulo de agradecimientos. Para hacerlo, basta con utilizar los comandos anteriores. Un captulo donde es algo ms complicado es el captulo de bibliografa. Esto es debido a que la generacin del captulo completo consiste en una mera invocacin al comando

bibliography

\bibliography{fichero1,fichero2}
En el

documentclass

que estamos utilizando (book) eso signica que se

crear un nuevo captulo con la lista de referencias. Si en ese captulo se quiere aadir una cita (como hacemos por ejemplo en este manual), hay que realizar
i algunas tareas adicionales. Naturalmente T EX S las hace por nosotros, por

lo que, como se mencion en la seccin 2.3, lo nico que tendremos que hacer es editar el chero

bibliografia.tex,

buscar la frase clebre del manual y

cambiarla a voluntad. Antes de terminar, decir que, igual que en el caso del resumen, la apariencia de la frase clebre se puede modicar en el chero

TeXiS/TeXiS.sty.

3.2.4. Secciones no numeradas


Como habrs podido comprobar, en este manual todos los captulos terminan con dos secciones no numeradas, una de ellas con unas notas bibliogrcas, y otra que tiene un pequeo resumen del siguiente captulo. Aunque para el manual no son en realidad necesarias (especialmente la de notas bibliogrcas, que en muchos captulos nos ha costado rellenar. . . ), las hemos puesto para que sirvan de ejemplo en el

.tex.

En principio, para poner una seccin no numerada basta con utilizar

AT X correspondiente. Es decir, utila versin estrellada del comando L E


lizar te

\section* para aadir una seccin sin nmero. El problema en nuestro

caso es que este comando no parece funcionar correctamente con el paque-

fancyhdr.

i T EX S utiliza ese paquete para congurar la cabecera y pie

de pgina; en concreto para indicar que se desea que el nmero de pgina aparezca en las esquinas externas, mientras que en las esquinas internas debe aparecer el nombre del captulo (en las hojas pares o izquierdas) y

20

Captulo 3. Proceso de edicin

seccin (en las impares o derechas). El mismo paquete es el que se utiliza para que aparezca el nmero de pgina en la primera pgina de un captulo y para cierta informacin que aparece cuando se genera el documento en modo borrador, segn aparece descrito en la seccin 3.4. El problema aparece cuando una seccin no numerada excede el lmite de la pgina en la que empieza. En ese caso, la cabecera en la que aparece el nombre de la seccin en vez de contener el ttulo de esa seccin sin numerar, seguir mostrando la ltima seccin numerada. La solucin es modicar a mano la cabecera, en concreto modicar la conguracin de la cabecera donde aparece el ttulo de la seccin actual (la parte izquierda de las pginas impares). Para eso, tras consultar la documentacin del paquete, se aprende que hay que utilizar el comando ejemplo:

\markright.

Por

\section*{Notas bibliogrficas\markright{Notas bibliogrficas}}


Como puede verse, en el propio comando mada a

\section*, se incluye una lla\markright, que contiene el texto que debe aparecer a en la cabecera.

Con esto se soluciona el problema de las cabeceras. Otro problema de las secciones sin numerar es que no se meten en la tabla de contenidos que se incluye al principio del documento; tampoco aparecen en el contenido del PDF listado por el visor que mostrabamos en la gura 2.1 . Sin embargo, en nuestro caso preferamos que tambin las secciones aparecieran en el ndice (es decir, que la nica diferencia entre las secciones numeradas y las no numeradas fuera, precisamente, la ausencia de numeracin). Para que aparezca, por lo tanto, se debe aadir explcitamente la seccin en la tabla de contenidos, con el comando:

\addcontentsline{toc}{section}{Notas bibliogrficas}
que debe ejecutarse despus del comando

\section*.

Por lo tanto, para

aadir una seccin sin numerar como la de Notas bibliogrcas, el cdigo

AT X nal que hay que poner es: L E

%-------------------------------------------------------------\section*{Notas bibliogrficas\markright{Notas bibliogrficas}} %-------------------------------------------------------------\addcontentsline{toc}{section}{Notas bibliogrficas}


Entendemos que invocar a los comandos anteriores cada vez que se desea
i una de estas secciones no numeradas es tedioso. Por ello T EX S proporciona

una serie de comandos (denidos en el chero ciones son los siguientes (ver tabla 3.1):

./TeXiS/TeXiS_cab.tex) que

permiten aadir fcilmente cuatro tipos de secciones sin numerar. Las sec-

Ponemos

problema entre comillas porque normalmente se utiliza la versin con estrella


section
precisamente para evitar que una seccin aparezca en el ndice.

de los comandos

3.2. Editando el texto

21

Texto Conclusiones En el prximo captulo. . . Notas bibliogrcas Resumen

Comando para

section \Conclusiones \ProximoCapitulo \NotasBibliograficas \Resumen

Comando para ndice

\TocConclusiones \TocProximoCapitulo \TocNotasBibliograficas \TocResumen

i Tabla 3.1: Secciones no numeradas soportadas por T EX S

Conclusiones: el manual no utiliza esta seccin sin numerar, pero s puede ser razonable utilizarlo a modo de resumen al nal del captulo de otro tipo de documentos. Notas bibliogrcas: tambin utilizado en este documento, es til para dar otras referencias bibliogrcas que por cualquier razn no se cit en el texto. En el prximo captulo...: s se ha utilizado en el manual, y puede servir para enlazar el contenido del captulo con el siguiente. Resumen: con un objetivo parecido al de conclusiones pero con distinto ttulo; tampoco lo utilizamos en el manual.

Como se puede ver en la tabla, para cada una de estas secciones aparecen dos comandos, uno para el comando captulo... quedara:

\section* y otro para aadir el ndice,

de forma que la denicin de, por ejemplo, la seccin de En el prximo

%-------------------------------------------------------------\section*{\ProximoCapitulo} %-------------------------------------------------------------\TocProximoCapitulo
Somos conscientes de que los dos comandos podran haberse unicado en uno slo, como trabajo (es decir, pusiera el

\SeccionProximoCapitulo y que l mismo hiciera todo el \section*{...} as como el \addcontestline).

Sin embargo, esta solucin no es compatible con la capacidad de los editores de resaltar secciones, ya que los editores simplemente buscan la cadena  \section para resaltarlo (ver gura 3.1). Es por ello que, a pesar de ser ms tedioso, optamos por la alternativa complicada: si se quiere meter una seccin sin numerar, se debe primero utilizar el comando

\section*,

aadiendo como texto el comando que aparece

en la segunda columna de la tabla 3.1, y posteriormente se utiliza el otro comando para aadirlo al ndice. Separndolo as, adems, permite al usuario
i de T EX S decidir si quiere o no que la seccin aparezca en el ndice.

22

Captulo 3. Proceso de edicin

Figura 3.1: Resaltado de secciones en emacs

3.2.5. Captulos especiales


i Relacionado con las cabeceras de la seccin anterior, T EX S soporta (y

este manual tiene) captulos especiales que aparecen sin numerar. Estos captulos son, en concreto, la parte de agradecimientos y resumen, los ndices y la bibliografa. Dado que todos ellos se caracterizan por la ausencia de secciones, no tiene sentido mantener la cabecera utilizada en el resto del texto. Por lo tanto, conguramos sus cabeceras para que en ambas pginas aparezca directamente el ttulo del captulo (tambin sin nmero).
i Para hacerlo, T EX S dispone del comando

\cabeceraEspecial, que recibe

como parmetro el nombre del captulo. De esta forma, el captulo de agradecimientos comienza con:

\chapter{Agradecimientos} \cabeceraEspecial{Agradecimientos} \begin{FraseCelebre} ...


que provoca un cambio en la cabecera que se debe utilizar. Los captulos sin numerar de este manual se encargan de congurar la propia cabecera por lo que si partes de ellos para escribir tu documento no debers preocuparte de nada (ms all de no borrar el comando). Si incluyes nuevos captulos sin numerar, has de saber que:

AT X 3.3. Programando en L E

23

No debes olvidar invocar el comando anterior al principio del captulo sin numerar. El comando anterior sobreescribe el funcionamiento normal de la cabecera, por lo que se debe llamar al comando

\restauraCabecera

para

reestablecerlo despus del captulo especial. Es importante resaltar el

despus pues debe hacerse cuando el captulo ya ha terminado y o


bien se ha empezado el siguiente o bien se ha forzado el nal de pgina con un primer captulo (en la cabecera.

\newpage. TEXiS ya hace esto automticamente justo antes del Tesis.tex). Sin embargo, si incluyes algn cap-

tulo especial ms adelante en el documento, no debes olvidar restaurar

ATEX 3.3. Programando en L


AT X de los sistemas omticos Uno de los aspectos que diferencia a L E
tradicionales para creacin de documentos es el modelo subyacente que uti-

AT X es  ejeliza. En realidad, todo lo que el autor escribe en sus cheros L E AT X hasta generar el documento nal. Por lo cutado  por el intrprete de L E AT X se est tanto, se puede decir que bsicamente, cuando se escribe en L E
programando lo que posteriormente ser un programa que generar nuestro documento nal. Afortunadamente esa sensacin de programador no se tiene en condiciones normales durante el proceso de autora. Sin embargo esta peculiaridad s se puede aprovechar para facilitar el proceso de edicin. Ya hemos visto en el captulo anterior un ejemplo de cmo la posibilidad

AT X nos permite establecer constantes que nos de crear comandos de L E


evitan tener que escribir palabras que utilizaremos a menudo durante el texto. Sin embargo, profundizando un poco ms en el lenguaje que hay

AT X est T X) se puede comprobar que pone por debajo (por debajo de L E E


a nuestra disposicin algunas estructuras conocidas por los programadores como los

if.

3.4. Modos de generacin del documento


i Aprovechando esto, T EX S est preparada para admitir dos congura-

ciones de generacin o  compilacin  distintas que, imitando los nombres


tradicionales en el desarrollo software, llamamos conguracin en modo release y en modo debug (o de depuracin): La conguracin en modo release est pensada para la versin denitiva, por lo que genera un chero con la apariencia nal del documento. La conguracin en modo debug puede verse como una versin borrador. En este caso el documento incluye ciertos elementos que no se

24

Captulo 3. Proceso de edicin

desea incluir en la versin nal, como comentarios en el propio texto.

La existencia de estos dos modos de compilacin puede sonar extraa al principio. En realidad, su utilidad depende del modo de escribir el documento de cada uno. En nuestro caso, los captulos de la tesis se escribieron en un proceso iterativo de tal forma que incluamos comentarios que queramos que aparecieran al imprimir la versin de depuracin, pero no queramos preocuparnos de tener que recordar borrar llegado el momento de imprimir la versin nal. Por otro lado, cuando el documento es escrito por ms de un autor (como este manual), la posibilidad de poner comentarios fcilmente descartables es especialmente til. Los cheros descargados estn congurados para compilar la versin denitiva; para cambiarla a la versin de depuracin, basta con cambiar el chero

config.tex del directorio raz. En cierto momento al principio del

chero aparecen las lneas siguientes.

% Comentar la lnea si no se compila en modo release. % TeXiS har el resto \def\release{1}


Para generar el chero con la conguracin de depuracin, basta con comentar la lnea en la que se dene el smbolo

release3 .

El primer efecto inmediato es que la plantilla aade automticamente como pie de pgina el texto:

Borrador  17 de noviembre de 2009


De esta forma, si tienes varias versiones imprimidas puedes estar tranquilo de que no se te mezclarn, pues adems de marcar que es un borrador, aparece la fecha en la que se gener el chero. En los tres apartados siguientes se describen tres comandos denidos por
i T EX S cuyo comportamiento depende del modo de compilacin.

3.4.1. Comando com


El comando

\com permite aadir un comentario que aparecer (en modo

depuracin) en un prrafo aparte, con un ancho de lnea algo superior a lo normal y rodeado de un cuadro negro.

AT X: Como ejemplo, el cdigo L E

\com{Lo que sigue podra en realidad ser una seccin distinta...}


Se convierte en:

El comando recuerda a la orden del preprocesador de C/C++  #define

release 1.

3.4. Modos de generacin del documento

25

Comentario:

Lo que sigue podra en realidad ser una seccin distinta...

Hay que advertir que el recuadro anterior no tiene ningn control sobre los saltos de pgina, por lo que ante comentarios demasiado grandes (que no entran en lo que queda de pgina), provoca que se salte el resto de la misma y aparezca el comentario en la siguiente.

3.4.2. Comando comp


El comando anterior es muy til pero debido a su tamao puede no ser recomendable para pequeos comentarios integrados dentro de un prrafo. Para eso existe otro comando, de aadir pequeos comentarios directamente en el propio prrafo (comp viene

\comp,

que hace precisamente eso, permitir

COMentario en Prrafo).
El cdigo:

El juego ``Vampire: the Masquerade'', publicado en 1998, requiri 12 desarrolladores durante 24 meses, casi dos millones de dlares y unas 366.000 lneas de cdigo.\comp{300.000 para el juego, y 66.000 de scripts.}
Se convierte en: El juego Vampire: the Masquerade, publicado en 1998, requiri 12 desarrolladores durante 24 meses, casi dos millones de dlares y unas 366.000 lneas de cdigo.
scripts.

(Comentario:

300.000 para el juego, y 66.000 de

3.4.3. Comando todo


Este comando permite aadir comentarios para indicar tareas que an faltan por hacer. Los informticos solemos marcar esos comentarios en nuestro cdigo fuente utilizando la palabra El comando

\todo encierra el texto entre llaves y lo antecede con la marca

TODO4 .

TODO en negrita, de forma que el cdigo:

Existen autores que piensan que ensear programacin orientada a objetos en el primer curso de programacin (CS1) es beneficioso para los alumnos\todo{Meter referencias...}.
se convierte en la versin de depuracin en: Existen autores que piensan que ensear programacin orientada a objetos en el primer curso de programacin (CS1) es benecioso para los alumnos {

TODO TODO TODO: Meter referencias...}.


4

to do , que puede traducirse aqu a  por hacer .

Que en realidad no tiene nada que ver con la palabra espaola, sino con las inglesas

26

Captulo 3. Proceso de edicin

Y, al igual que los anteriores, cuando se compila el documento en modo release, el comando no tiene ningn efecto. Es importante destacar que en los dos comandos que van dentro de los prrafos (\comp y

\todo) no se debe poner ningn espacio antes del comando.

En caso de ponerse el espacio, ste aparecera en la versin Release, cuando el comando no tiene ningn efecto:

... beneficioso para los alumnos \todo{Meter referencias...}.

... benecioso para los alumnos .

Para que cuando se genera el documento en modo depuracin quede bien, el propio comando aade el espacio de separacin entre el texto que le precede y la apertura de la llave. Ten en cuenta, que al hacer uso de estos comandos para depuracin (\com, o

\comp

\todo)

el documento generado contendr ms texto que el nal en

release. Eso signica que el nmero de pginas variar, y la maquetacin


general tambin. Por tanto, no debes utilizar el resultado de la generacin en depuracin para averiguar, por ejemplo, si una gura queda cerca del punto donde es referenciada, o si en una misma pgina aparecen dos elementos otantes.

3.5. Acelerando la compilacin


Cuando el documento va teniendo ms y ms pginas, compilarlo una y otra vez hasta dar con el tamao exacto que queremos darle a una imagen, o para ver si una referencia queda bien generada a partir de la entrada en el

.bib

puede llevar demasiado tiempo.

i Para evitarlo, T EX S permite, de manera fcil, compilar un nico captulo

(o apndice), que normalmente ser aqul en el que se est trabajando. Para eso, simplemente hay que indicar qu captulo se quiere compilar en el chero

config.tex

utilizando el comando

\compilaCapitulo5 .

Si en vez

de ser un captulo lo que queremos generar es un apndice el procedimiento es el mismo, pero utilizando el comando

\compilaApendice. Observa que no

debe incluirse el nombre del directorio donde aparecen los cheros (es decir el  Capitulos), pues el propio comando lo hace por nosotros. Una vez que el captulo se termina de escribir y se pasa al siguiente, se querr aadir el

\compilaCapitulo

para el nuevo captulo (y anular el

otro). En nuestro caso, en vez de eliminar el comando del captulo anterior, lo dejamos comentado por si es necesario en el futuro. Es por ello que al

El comando slo puede invocarse una vez, por lo que no es vlido si se quiere compilar

un grupo determinado de captulos.

AT X y compilacin 3.6. Editores de L E

27

nal de la redaccin del documento, se tiene una lnea por cada uno de los captulos:

% Descomentar la lnea para establecer el captulo que queremos % compilar % % % % % % \compilaCapitulo{01Introduccion} \compilaCapitulo{02EstructuraYGeneracion} \compilaCapitulo{03Edicion} \compilaCapitulo{04Imagenes} \compilaCapitulo{05Bibliografia} \compilaCapitulo{06Makefile}

% \compilaApendice{01AsiSeHizo}

ATEX y compilacin 3.6. Editores de L


AT X(ver FlyExisten numerosas alternativas para editar los cheros de L E
nn, 2005, sec. 2.3), y si has escrito ya algn artculo, posiblemente ya tengas uno favorito. Aunque el editor parezca poco importante (al n y al cabo lo importante es tu documento), en realidad pasars mucho tiempo utilizndolo, viendo sus colores, pulsando sus botones, y activando sus teclas rpidas.
i Evidentemente T EX S no obliga a utilizar ningn editor en concreto (fal-

tara ms), aunque es posible que necesites hacer algunos cambios en los cheros para que se adecen a lo que espera el editor. Esto es especialmente cierto si pretendes generar el documento nal utilizando alguna opcin del editor. En la seccin 2.6 mostrbamos cmo compilar todos los

.tex

desde la

lnea de comandos. Sin embargo, reconocemos que esto no es lo ms cmodo .

AT X (no utilizas el Por lo tanto, si el editor que tienes est preparado para L E
Bloc de notas...), es muy posible que tenga algn botn o tecla rpida para compilar el chero abierto, ya sea con

latex

pdflatex.

Pues bien, en ese caso, debes comprobar cmo funciona exactamente el editor, ya que muy posiblemente, el chero que estars editando cuando quieras generar el documento no ser el documento maestro (es decir, el que en la plantilla hemos llamado

Tesis.tex, y que contiene el punto de entrada latex


sea el documento maestro. Por

e incluye todos los dems). Por lo tanto, debes mirar de qu manera puedes

7 ejemplo, WinEdt permite crear proyectos donde se aaden cheros y se


especica cul es el documento maestro; cuando se pulsa el botn de comi T EX S tiene un chero en el captulo 6.

hacer que el chero que se enva a

Makefile para la compilacin en un nico paso, que es explicado

http://www.winedt.com/

28

Captulo 3. Proceso de edicin

pilar, independientemente del chero activo en el editor, se manda compilar el documento maestro. Como se describe en la seccin A.1, nosotros utilizamos emacs (Stall-

AT X. Como no poda ser de otro man, 2007) para crear nuestros cheros L E
i modo, T EX S est preparado para integrarse con l, en particular con el mo-

do AucT EX que permite una edicin cmoda de cheros T EX (Lpez, 2004). En concreto, este modo dispone de una combinacin de teclas para lanzar la generacin del documento nal. En condiciones normales eso implica enviar al programa

latex

el chero que se est editando; sin embargo, en nuestro

caso lo normal es que el chero maestro que hay que utilizar no es el que se est editando, sino el chero

Tesis.tex.

Para que funcione como quere-

mos, basta con aadir al nal de los cheros

tex

unas indicaciones para que

AucT EX utilice ese chero como chero maestro:

% Variable local para emacs, para que encuentre el fichero % maestro de compilacin y funcionen mejor algunas teclas % rpidas de AucTeX %%% %%% Local Variables: %%% mode: latex %%% TeX-master: "../Tesis.tex" %%% End:
Esta coletilla no es necesaria si utilizas cualquier otro editor. Sin embari go T EX S las tiene aadidas en todos los cheros (y tambin en los cheros

de los captulos y apndices de este manual). Las lneas anteriores, adems, son utilizadas por otras combinaciones de teclas de AucT EX, como las que permiten navegar por todas las secciones del documento.

3.7. Control de versiones


Como veremos en el captulo 6, el chero

Makefile

contiene algunos ob-

jetivos para realizar copias de seguridad de todos los cheros del documento. Sin embargo en el mundo de desarrollo software es habitual utilizar sistemas de control de versiones. Estos sistemas gestionan las distintas versiones por las que van pasando los cheros durante todo el proceso de desarrollo. La necesidad de estas herramientas est ampliamente reconocida, no slo porque sirven como medio de copia de seguridad que permite volver hacia

atrs ante algn fallo, sino porque permite el trabajo simultneo de dos o
ms personas .

Aunque esto en la redaccin de una tesis no suele tener sentido, s puede ser necesario

en la elaboracin de manuales, cuadernillos de prcticas u otros documentos para los que


i T EX S puede utilizarse.

Notas bibliogrcas

29

Existen varias alternativas para el control de versiones, tanto comerciales como bajo licencia GPL (General Public License, Licencia Pblica General de GNU) o similares. El sistema por excelencia dentro del software libre fue durante muchos aos CVS (Control Version System, Sistema de Control de Versiones) (Vesperman, 2003), aunque hoy por hoy ha sido desbancado por Subversion (Collins-Sussman et al., 2004). Entre las herramientas comerciales, destacan SourceSafe de Microsoft , Perforce

10 y AccuRev11 .

Aunque es una decisin que los autores del documento tendrn que tomar, aconsejamos el uso de uno de estos sistemas gurada la mquina servidora que aloja el control de versiones (ver notas bibliogrcas), se suben los cheros fuente del documento, que pasarn a estar bajo el control del servidor, lo que permitir recuperar el estado del documento en cualquier momento pasado (por lo que sirve tambin como copia de seguridad). Un punto importante es hacer que el sistema de control de versiones ig-

12 . Una vez que se tiene con-

nore los cheros que son resultados de la generacin del chero nal (el PDF).

AT X genera numerosos cheros tempoCuando se compila el documento, L E


rales (con extensiones como

.aux

.bbl)

que no deben subirse al sistema

control de versiones. Cuando se utiliza CVS se elimina el problema creando en los directorios un chero de texto llamado

.cvsignore que contiene todos

los cheros que deben ser ignorados. A pesar de que en la elaboracin de la


i plantilla no utilizamos CVS, T EX S incorpora esos cheros para que puedan

utilizarse en el proceso de redaccin de los documentos. Si en vez de utilizar CVS ests utilizando Subversion, puedes hacer que ste ignore los cheros contenidos en el archivo siguiente orden:

.cvsignore

ejecutando la

svn propset svn:ignore -F .cvsignore .


en cada uno de los directorios que contengan el chero. La orden lo que hace es establecer la propiedad (propset) concreta para que el Subversion ignore (svn:ignore) los cheros que se indican en el chero (-F)

.cvsignore.

Notas bibliogrcas
La idea de los dos modos de compilacin de la Tesis surgi de forma natural dada la experiencia en el proceso de desarrollo en C++, donde los entornos integrados de desarrollo suelen proporcionar al menos esas dos conguraciones posibles. La forma de hacerlo posible vino despus de inspec-

http://msdn.microsoft.com/ssafe/ http://www.perforce.com/ 11 http://www.accurev.com/


10 12
En nuestro caso, utilizamos CVS para la escritura de las tesis, mientras que para la elaboracin de la plantilla (y manual), utilizamos Subversion.

30

Captulo 3. Proceso de edicin

AT X del libro Bautista et al. (1998). La implementacin cionar el cdigo L E


de los comandos no requiere un conocimiento ni mucho menos extenso de las capacidades de T EX; basta con un poco de intuicin al ver un ejemplo de

\if.

No obstante, el lector interesado en aprender T EX a fondo puede encontrar diversos manuales, como  T EX for the Impatient (Abrahams, 1990), aunque advertimos que se debe estar muy interesado para leerselo, ya que en condiciones normales no se utilizar nada de lo aprendido puede consultar Knuth (1986) o Eijkhout (1991). Con respecto a la utilizacin de control de versiones, dentro de las opciones libres es muy utilizado el Subversion, cuyo libro de referencia que ya se ha citado en el texto es Collins-Sussman et al. (2004). Para una descripcin sencilla de cmo instalar una mquina servidora puede consultarse Kalderon (2007) y Ziegenhagen (2007). En ste ltimo tambin aparece una

13 . Tambin se

AT X que pueden utilizarse para somera descripcin de algunos paquetes de L E


incluir informacin relacionada directamente con las versiones de Subversion. Aunque para ms informacin al respecto recomendamos Scharrer (2007) que dedica toda su atencin a la descripcin de con ms opciones disponibles para ello.

svn-multi,

uno de los paquetes

En el prximo captulo. . .
En este captulo hemos tratado los aspectos ms importantes desde el

AT X disponibles. biendo los comandos L E

i punto de vista de la edicin de un documento realizado con T EX S, descri-

El prximo captulo aborda el tratamiento de las imgenes. Como se ver, soportar la generacin del documento tanto con

latex como pdflatex

diculta la gestin de imgenes, pues cada uno utiliza un formato de chero


i distinto. El captulo explica las distintas opciones que el usuario de T EX S

tiene para su manejo.

13

A no ser que se quiera construir un paquete con una funcionalidad muy concreta...

Captulo 4

Gestin de las imgenes


El alma nunca piensa sin una imagen mental.
Aristteles

Resumen: Este captulo describe todos los aspectos relacionados con


las imgenes de los documentos. En particular, describe la estructura de directorios que T EX S aconseja, as como los aspectos relacionados con la diferencia entre los formatos esperados cuando se genera el documento nal con

latex

pdflatex.

4.1. Introduccin
En este captulo tratamos todos los aspectos relacionados con aadir imgenes al documento. Aunque en principio es algo bastante sencillo (desde luego mucho ms sencillo que aadir una tabla compleja), existen una serie de cosas a tener en cuenta que merecen un captulo entero en el manual. En particular, lo que provoca que las imgenes requieran estas explicaciones detalladas es el hecho de que, como ya dijimos en las secciones 1.2
i y 2.6, T EX S te permite generar el documento utilizando tanto

pdflatex.

latex

como

AT X no debera verse inuenciado por la Idealmente, el usuario nal de L E


aplicacin utilizada para generar sus cheros. Sin embargo, en cierto modo s se ve afectado; no por el cdigo en s contenido en los las imgenes referenciadas con el comando

1 recursos a los que stos hacen referencia . En concreto, si se utiliza


1

latex, \includegraphics se asume que

.tex

sino por los

En ciertas ocasiones tambin puede verse afectado el cdigo, si se utilizan paquetes

que nicamente funcionan con una de ellas.

31

32

Captulo 4. Gestin de las imgenes

tienen formato

.pdf, .png

.eps, mientras que en cuanto se utiliza pdflatex, se admiten .jpg (pero no .eps).

Por lo tanto, cuando utilizamos un cdigo como el siguiente (similar al que hay en la portada para que aparezca el escudo):

\begin{figure}[t] \begin{center} \includegraphics[width=0.3\textwidth]% {Imagenes/Vectorial/escudoUCM} \caption{Escudo de la Universidad Complutense} \end{center} \end{figure}


cuando se genera con rectorio

latex, se buscar Imagenes/Vectorial, mientras .pdf, .png


o

el chero que al

escudoUCM.eps en el digenerarlo con pdflatex, se

buscar el chero en ese mismo directorio, con el mismo nombre, pero con extensin

.jpg.

Esto provoca que el programa utilizado para generar el documento nal es el que determina qu tipo de formato debe usarse para almacenar las imgenes. Existen dos soluciones, que trataremos en las secciones 4.3 y 4.4. Antes de eso, la siguiente seccin explica la estructura de directorios que
i T EX S espera que se utilice.

4.2. Gestin de imgenes


Los cheros de imgenes pueden almacenarse donde el autor del documento desee; al aadir la referencia desde el la ruta correcta del archivo.
i Sin embargo, T EX S propone una estructura determinada que es la que

.tex, deber simplemente indicar

usa este documento. La estructura est elegida de tal forma que facilita la solucin del problema de la generacin utilizando tanto

pdflatex,

latex

como

por lo que aunque pueda parecer arbitraria, tiene cierto sentido.

La estructura que proponemos empieza con el directorio donde aparecen los siguientes directorios:

./Imagenes,

./Vectorial:
riales.

contiene los cheros correspondientes a imgenes vecto-

./Bitmap:
de bits.

contiene los cheros correspondientes a imgenes de mapas

./Fuentes:

en este directorio aparecen los fuentes de las imgenes.

As, si se crean imgenes con Microsoft Visio, Power Point, o Corel, en este directorio iran los cheros nativos de esos programas. Estos cheros no sern ledos en el proceso de creacin del documento nal.

4.2. Gestin de imgenes

33

TODO!!
Figura 4.1: Figura utilizada para marcar una imagen por hacer. Cada uno de los directorios anteriores, a su vez, contiene un directorio por captulo. De esta forma es fcil encontrar los cheros si se quieren modicar. En el directorio raz se encuentran las imgenes que no pertenecen a ningn captulo, como la del escudo de la portada. Tambin pueden aparecer otras imgenes que se utilicen en otras partes del documento que no sean los
i captulos. Por ejemplo, T EX S proporciona una imagen que puede ser de

utilidad, y que est colocada en ese directorio raiz por ser independiente del captulo. Es una gura dummy que sirve para marcar el lugar en el que debera aparecer una gura o grco que an est por hacer (gura 4.1).
i T EX S incluye el comando

\figura para facilitar la inclusin de imgenes. ./Imagenes), los argumentos pasados

En particular, el comando tiene cuatro parmetros: el nombre del chero (en el que no hay que indicar el directorio al

\includegraphics

que suele tener informacin sobre el tamao deseado,

la etiqueta con la que luego podr referenciarse la ilustracin, y por ltimo el ttulo que aparecer en la parte inferior.

Para incluir la gura 4.1 por lo tanto, el comando es :

\figura{Vectorial/Todo}{width=.5\textwidth}{fig:todo}% {Figura utilizada para marcar una imagen por hacer.}


que gracias al

{fig:todo},

AT X con: luego puede citarse en el cdigo L E


La gura 4.1 muestra. . .

La figura~\ref{fig:todo} muestra\ldots

La gura se aade automticamente al ndice de guras que aparece al principio del documento, en el que se indica el nmero de la gura, el texto inferior y la pgina en la que aparece. Es posible que el texto sea lo sucientemente largo como para que ocupe ms de una lnea en la entrada

Como se ha mencionado, observa que el primer parmetro donde se indica el nombre

del chero

no incluye ni el nombre del directorio Imagenes ni la extensin del chero.

34

Captulo 4. Gestin de las imgenes

Programa

Mapa de bits

Vectoriales

latex pdflatex

.eps .png | .jpg

.eps .pdf latex


y

Tabla 4.1: Formatos de imgenes para

pdflatex

en el ndice. Si se desea utilizar un texto ms corto para evitarlo, se puede utilizar el comando ndice.

\figuraEx

que recibe un parmetro ms con el ttulo

corto o lo que es lo mismo, con el texto alternativo que aparecer en el

4.3. Formato de las imgenes


Recuperamos en esta seccin el problema anteriormente comentado sobre los formatos de las imgenes. Como ya dijimos en la seccin de introduccin, el uso de

latex o pdflatex determina los formatos de los cheros que deben

utilizarse para las imgenes, segn la tabla 4.1. Esto signica que, en principio, en el momento de aadir la primera imagen al documento, se debe decidir qu programa se utilizar para generarlo, y utilizar el formato de imagen adecuado a l. Si tienes claro qu programa utilizars, la solucin es as de simple. Almacena las imgenes en el formato adecuado segn la tabla 4.1. Desgraciadamente, lo habitual es no encontrarse en esa situacin. Normalmente cuando se comienza a escribir, es muy difcil pronosticar cul de los dos se utilizar, y por lo tanto no quieres decantarte por ninguno. No ests seguro de cul quieres, o puede que quieras poder generarlo de las dos formas, debido a alguna restriccin del servicio de publicaciones. Por lo tanto, la mejor solucin es, simplemente, permitir ambas alternativas. Para eso lo ms fcil es duplicar las imgenes, es decir, mantener tanto la copia que ser leda por

latex

como la que utilizar

pdflatex.

Esta duplicacin, no obstante, no suele ser aconsejable, pues (adems de consumir ms espacio) es propensa a errores: si hay que cambiar una imagen, lo habitual ser abrir el chero de

./Imagenes/Fuentes, y luego exportarlo

al formato nativo. En ese momento, es fcil olvidar generar los dos cheros. Por lo tanto, hay dos soluciones rpidas y fciles: Decidir al principio qu programa se utilizar y utilizar siempre los formatos que ste espera, segn la tabla 4.1. Tiene la desventaja de que no se podr (fcilmente) cambiar el programa generador, pues se necesitar crear las imgenes en el formato esperado por la nueva aplicacin. No atarse al uso de ninguno de los dos, y duplicar los cheros de for-

4.4. Imgenes independientes del programa generador

35

ma que todas las imgenes se guardan dos veces, en cada uno de los formatos esperados por ambos programas. Su desventaja es la duplicacin de los cheros, con los problemas de coherencia que eso puede provocar.
i Ninguna de las dos alternativas es ptima, por lo que T EX S proporciona

la solucin alternativa descrita en la seccin siguiente. Si decides utilizar alguna de las opciones fciles anteriores, puedes omitir la lectura de la misma.

4.4. Imgenes independientes del programa generador


En general conviene evitar duplicar los datos almacenados en disco para evitar problemas de incoherencias. Por eso, cuando no se quiere limitar la generacin del documento nal a slo uno de los dos programas,

pdflatex

latex

i , T EX S desaconseja almacenar en disco cada imagen en los dos

formatos exigidos por ellas.

pdflatex (es decir, cheros .pdf para .png o .jpg para mapas de bits). Obviamente, si se hace as, al utilizar latex para generar, dar error al no encontrar los cheros
genes nicamente las soportadas por imgenes vectoriales y de imgenes correspondientes. Y aqu es donde entra en accin el chero

i T EX S est preparada para que se almacene en el directorio de las im-

Makefile

incluido (que se explica ampliamente en el captulo 6) cuando se

ejecuta con el objetivo

latex:

$ make latex
antes de invocar a directorio de

latex, convierte todos los cheros .pdf que hay en el ./Imagenes/Vectorial a cheros .eps, y todos los .jpg y .png ./Imagenes/Bitmap a .eps, para que latex los encuentre. Para realizar la conversin, se utilizan las aplicaciones pdftops y sam2p

que deben estar accesibles en el PATH. Esa es la razn por la que, como
i mencionbamos en la seccin 1.2, T EX S anima al uso de sistemas Linux: las

aplicaciones anteriores estn disponibles en este sistema operativo (aunque puede que no se instalen directamente en algunas distribuciones), mientras que en Windows normalmente no estn.

4.5. Gestin de imgenes y control de versiones


La solucin propuesta en la seccin anterior hace que la plantilla espere que dentro del directorio en

./Imagenes/Bitmap

./Imagenes/Vectorial

aparezcan cheros

se encuentren cheros con extensin

.png

.pdf .jpg.

36

Captulo 4. Gestin de las imgenes

En el proceso de generacin cuando se utiliza dos esos cheros a cheros

.eps

latex,

se convierten to-

para que el programa encuentre las imgenes en el

formato que ste espera, por lo que en los directorios anteriores aparecern

.eps

generados automticamente.

i T EX S est congurado para que, en caso de utilizar un sistema de con-

trol de versiones, ste ignore esos cheros generados (ver una explicacin detallada en la seccin 3.7). De esta forma, el usuario no es molestado en los momentos de las actualizaciones con mensajes indicando que hay nuevos cheros en el directorio de las imgenes que no han sido subidos al servidor. Sin embargo, esta caracterstica debe anularse si se utiliza una solucin distinta a la indicada en el apartado anterior. En particular, se debe eliminar el chero

.cvsignore3

si:

Se decide al principio de la redaccin del documento que se va a utilizar

latex para su generacin (y nunca pdflatex), y por lo tanto se usarn siempre cheros con extensin .eps.
Se decide no utilizar la caracterstica de conversin automtica de imgenes, y se duplican los cheros, guardando siempre tanto la copia leda por

latex

como por

pdflatex. .eps y se cambia pdflatex las convierta al

Se decide que las imgenes se guardarn siempre en el

Makefile

para que, en caso de utilizar

formato utilizado por ste (consulta la seccin 6.3.1 si ests en este caso).

4.6. Imgenes divididas


Somos conscientes de que esta seccin incumple lo que comentamos al

AT X, y lo seguimos manteniendo. Sin emque esto no era un manual de L E


bargo, en este apartado incumplimos momentneamente esa promesa para

i principio del manual de lo que T EX S no era. Decamos en la seccin 1.3

explicar brevemente cmo incluir varias guras dentro de un entorno otante (tpicamente otra gura). En este manual ya ha aparecido un ejemplo. La gura 2.1 de la pgina 13 mostraba en realidad dos capturas distintas, cada una de ellas con un subttulo distinto.

AT X de esa gura era: El cdigo L E

\begin{figure}[t] \centering %
3
O no establecer la propiedad

svn:ignore

con l si se utiliza Subversion.

4.6. Imgenes divididas

37

\subfloat[][Propiedades del documento]{ \includegraphics[width=0.42\textwidth]% {Imagenes/Bitmap/02/PropiedadesPDF} \label{cap2:fig:PropiedadesPDF} } \qquad \subfloat[][Tabla de contenidos]{ \includegraphics[width=0.42\textwidth]% {Imagenes/Bitmap/02/IndicePDF} \label{cap2:fig:TocPDF} } \caption{Capturas del visor de PDF\label{cap2:fig:pdf}} \end{figure}
La idea general es crear un entorno gura tradicional, pero no poner en ella directamente el

\includegraphics, sino subdividir ese entorno gura en

varias partes. A cada una de ellas se le da una etiqueta diferente para poder referenciarlas, una descripcin, etctera. Un esquema general sera:

\begin{figure}[t] \centering % \subfloat[<ParaElIndice1>][<Caption1>]{ % Contenido para este "subelemento" (podr ser una % figura, una tabla, o cualquier otra cosa). \includegraphics[width=5cm]{ficheroSinExtension} \label{fig:etiqueta1} } \subfloat[<ParaElIndice2>][<Caption2>]{ % Contenido para este "subelemento" (podr ser una % figura, una tabla, o cualquier otra cosa). \includegraphics[width=5cm]{ficheroSinExtension} \label{fig:etiqueta2} } \caption{Descripcin global para la figura} \label{Etiqueta para toda la figura} \end{figure}
El sistema automticamente decide cundo poner la siguiente gura al lado, o en otra lnea, en base a si entra o no. Es posible forzar a que se ponga en una lnea nueva si se deja una lnea en blanco en el

.tex.

Esto tiene la

repercusin de que no deberas dejar lneas en blanco en ningn momento dentro del entorno otante, para evitar que se salte de linea en las guras. Si quieres por legilibidad dejar alguna lnea, pon un comentario vacio (como hemos hecho con el ejemplo anterior despus del

\centering).

38

Captulo 4. Gestin de las imgenes

La separacin entre dos guras que se colocan en la misma la puede ser demasiado pequea. Para separarlas un poco ms, puedes poner entre el cierre llaves de un

\qquad

\subfloat

\qquad

y el siguiente. Ese era el cometido del

que apareca en el ejemplo de las guras visto anteriormente.

Por otro lado, el directamente:

\subfloat

tiene dos parmetros, que se colocan entre

corchetes justo despus. En realidad ambos son opcionales. Podramos poner

\subfloat{ <comandos para el subelemento> }


pero en ese caso no se etiquetar con una letra. El texto que se pone entre los primeros corchetes se utiliza para el ndice de guras. En teora, se mostrar en dicho ndice primero la descripcin global de la gura, y luego la de cada subelemento. Si no quieres que ocurra, deja en blanco el contenido del primer corchete. En la prctica, el ndice de guras no tiene niveles, por lo que si se ponde la descripcin de la subgura, sta no aparecer en el mismo. El segundo corchete recibe el texto con la descripcin del subelemento, es decir lo que aparecer junto a la letra identicativa. Si lo dejas vaco (pero poniendo los corchetes), saldr la letra, sin texto. Si ni siquieras pones los corchetes, no saldr tampoco la letra. Por ltimo, debes saber que puedes referenciar de forma independiente cada uno de los subelementos. Para eso, basta con la etiqueta una denida mediante

\label

dentro del

entonces referenciar utilizando el comando do

\ref

\ref{etiqueta}, siendo \subfloat. Se puede

tradicional (que har que

aparezca la letra correspondiente junto con el nmero de gura), o el coman-

\subref:
La gura 2.1 tiene dos partes. La parte izquierda es la gura 2.1a y a la derecha est la (b).

La figura~\ref{cap2:fig:pdf} tiene dos partes. La parte izquierda es la figura~ \ref{cap2:fig:PropiedadesPDF} y a la derecha est la \subref{cap2:fig:TocPDF}.

Como ya hemos dicho, se pueden poner varias las de imgenes en la misma gura. Se puede forzar este comportamiento aadiendo lneas en blanco dentro del entorno

AT X un nuevo prrafo), aunque tambin se aadirn automticamente si L E


detecta que no entra todo en una nica lnea. La gura 4.2 (extrada de

AT X como \figure (lo que ser interpretado por L E

AT X Gmez-Martn, 2008a) es un ejemplo de esto. Como se ve en su cdigo L E


que se muestra a continuacin, cada una de las imgenes ocupa el 45 % del ancho de la pgina, por lo que nicamente entran dos guras por la. A pesar de que no existe ninguna lnea en blanco en el cdigo, las imgenes se colocan en dos las distintas.

4.6. Imgenes divididas

39

(a) Estudiante y Javy dirigindose al barrio de clases

(b) Estudiante enfrente de Framauro

(c) Estudiante interactuando con la pila de operandos

(d) Estudiante hablando con Javy

Figura 4.2: Ejemplo de uso de

subfloat.

\begin{figure}[t] \centering % \begin{SubFloat} {\label{fig:cap4:barrioclases}% Estudiante y Javy dirigindose al barrio de clases}% \includegraphics[width=0.45\textwidth]% {Imagenes/Bitmap/04/Javy1BarrioClases}% \end{SubFloat} \qquad \begin{SubFloat} {\label{fig:cap4:framauro}% Estudiante enfrente de Framauro}% \includegraphics[width=0.45\textwidth]% {Imagenes/Bitmap/04/Javy1Framauro}% \end{SubFloat}

40

Captulo 4. Gestin de las imgenes

% La siguiente no entra; ira en otra 'linea' \begin{SubFloat} {\label{fig:cap4:pilaops}% Estudiante interactuando con la pila de operandos}% \includegraphics[width=0.45\textwidth]% {Imagenes/Bitmap/04/Javy1PilaOperandos}% \end{SubFloat} \qquad \begin{SubFloat} {\label{fig:cap4:estudianteyjavy}% Estudiante hablando con Javy}% \includegraphics[width=0.45\textwidth]% {Imagenes/Bitmap/04/Javy1Javy}% \end{SubFloat} \caption{Ejemplo de uso de \texttt{subfloat}.% \label{fig:cap4:javy1}} \end{figure}

Notas bibliogrcas
i En este captulo hemos descrito cmo se gestionan las imgenes en T EX S

por lo que no existe ninguna fuente relacionada adicional de consulta. Conviene, eso s, indicar que las explicaciones al respecto del entorno

\subfloat dadas en la seccin 4.6 distan mucho de estar completas, aunque


es cierto que deberan ser sucientes para la mayora de los casos. El entorno, no obstante, permite hacer muchas ms cosas. Se puede consultar el manual ocial para ms informacin .

En el prximo captulo. . .
El prximo captulo pasa a describir algunos aspectos sobre la bibliograi fa. En concreto, veremos que T EX S dene un estilo de bibliografa propio

que, si bien no introduce demasiadas diferencias con respecto al habitual, permite aadir algn campo nuevo a las citas, como por ejemplo la direccin Web y la fecha de la ltima vez que se visit (o comprob su existencia).

subfig/subfig.pdf.

Disponible

en

ftp://tug.ctan.org/pub/tex-archive/macros/latex/contrib/

Captulo 5

Bibliografa y acrnimos
Como un ganso desplumado y esculido, me preguntaba a m mismo con voz indecisa si de todo lo que estaba leyendo hara el menor uso alguna vez en la vida.
James Clerk Maxwell, sobre su educacin en Cambridge

Resumen: Este captulo aclara algunas cosas sobre la bibliografa


utilizada en T EX S, y sobre la infraestructura para la creacin de una lista de acrnimos.

5.1. Bibliografa
i Para hacer la bibliografa del documento, T EX S hace uso, como no poda

ser de otra forma, de BibT EX. Esto permite una generacin bastante sencilla de la misma, utilizando las entradas

makefile

@bibitem

correspondientes. El chero

explicado en el captulo siguiente se encarga de invocar a

bibtex,

la aplicacin responsable de la correcta creacin de la lista de referencias. Si utilizas cualquier otro sistema para generar el documento nal (como por

AT X que ests utilizando), debers ejemplo las proporcionadas por el editor L E


encargarte de averiguar cmo debes hacerlo. La seccin siguiente localiza el chero ms importante para la construccin de la bibliografa, e indica dnde cambiar los cheros lizados.
i Por otro lado, para aadir en el texto las referencias, T EX S (y este ma-

.bib

uti-

nual) hacen uso del formato utilizado por el paquete

natbib

que, como se 41

42

Captulo 5. Bibliografa y acrnimos

ha podido comprobar a lo largo de estas pginas, se basa en indicar el nombre del autor y el ao de la publicacin en el propio texto. La seccin 5.1.2 explica brevemente las capacidades del paquete.
i T EX S modica ligeramente el formato de salida de cada una de las re-

ferencias para adecuarlas ms a nuestros gustos. Tambin hemos aadido algunas capacidades ms que pueden aadirse a las mismas. La seccin 5.1.3 las describe. La parte relativa a la bibliografa termina con una breve seccin til si se quiere cambiar el tipo de bibliografa a utilizar.

5.1.1. Ficheros involucrados


Cascaras/bibliografia.tex.
i El chero responsable de la generacin de la bibliografa en T EX S es

Es el responsable de crear el captulo sin nu-

merar, poner la cabecera especial para que en la parte superior de todas sus pginas aparezca el texto  Bibliografa, etc. Para eso, al nal del chero aparece la invocacin al comando

\makeBib denido en TeXiS/TeXiS_bib.tex.

Ya dijimos en la seccin 3.2.3 que para cambiar la cita clebre que aparece en el captulo sin numerar de la bibliografa debemos editar el chero

Cascaras/bibliografia.tex.

En ese mismo chero es donde se conguran

los archivos donde se deben buscar los

texto. Para hacerlo, se utiliza el comando

@bibitem que se \setBibFiles:

referencian en el

\setBibFiles{% nuestros,latex,otros% }
Como se puede ver, en este manual las referencias estn organizadas en tres cheros distintos: referencias a trabajos propios (nuestros.bib), reentran en ninguna de las dos anteriores (otros.bib).

AT X (latex.bib) y referencias varias que no ferencias relacionadas con L E


Esos tres cheros aparecen en el directorio raz del manual y pueden/deben ser sustituidos por los utilizados en el nuevo documento.

5.1.2. Referencias con natbib


Aunque en este manual no se haya hecho un uso demasiado extenso de la bibliografa, es cierto que

natbib

proporciona opciones muy interesantes

para utilizarse en textos donde las referencias tengan un peso importante (o al menos ms importante que en este manual). Cuando se utiliza

natbib1

en vez de hacer uso de

\cite,

se pueden

utilizar otras dos versiones distintas del comando, en concreto

\citet

i El paquete es incluido por T EX S en

TeXiS/TeXiS_pream.tex.

5.1. Bibliografa

43

Comando

Resultado Jones et al. (1990) Jones, Baker y Smith (1990) (Jones et al., 1990) (Jones, Baker y Smith, 1990) (Jones et al., 1990, cap. 2) (e.g. Jones et al., 1990) (e.g. Jones et al., p. 32) Jones et al. Jones, Baker y Smith 1990

\citet{key} \citet*{key} \citep{key} \citep*{key} \citep[cap. 2]{key} \citep[e.g.][]{key} \citep[e.g.][p. 32]{key} \citeauthor{key} \citeauthor*{key} \citeyear{key}

Tabla 5.1: Distintas opciones de referencias con

natbib texto
y

\citep.

El primero est pensado para hacer referencias en el propio

el ltimo para que las referencias aparezcan entre

parntesis.

En vez de hacer una descripcin de cada una de las variaciones, la tabla 5.1 contiene las distintas posibilidades. Las opciones estn cogidas directamente de la documentacin del paquete y asume que existe un con nombre

key

@bibitem

que describe una referencia escrita por los autores Jones,

Baker y Smith en 1990. Notar que el resultado contiene la conjuncin espaola y en vez de la inglesa and para separar el ltimo autor.

5.1.3. Modicaciones en los @bibitem


i En T EX S hemos denido nuestro propio estilo de bibliografa, es decir,

el formato de salida de las referencias en el listado que aparece al nal del documento. No es demasiado distinto del estilo utilizado por defecto, pero s tiene ligeras modicaciones. Las modicaciones ms obvias es que se utiliza la versin espaola del formato, para que aparezca editor, pginas o Informe Tcnico entre otros. Tambin hemos aadido constantes (o, en nomenclatura de BibT EX, macros) para una editorial y dos series muy utilizadas en nuestra rea, Springer-Verlag (SV), Lecture Notes in Computer Science (LNCS) y Lecture Notes in Articial Intelligence (subserie de LNCS) (LNAI). De esta forma, una entrada de la bibliografa puede ser:

@inproceedings{Ejemplo, author = { ... }, title = { ... }, ... publisher = SV,

44

Captulo 5. Bibliografa y acrnimos

series = LNCS, ... year = 2009, month = jan


Como se puede ver se han hecho uso de las macros para indicar la editorial

y la serie. Tambin se ha utilizado la macro para indicar el mes (jan equivale a enero), de forma que la entrada sea independiente del lenguaje utilizado posteriormente en la referencia. Mucho ms interesante es la creacin de dos nuevos campos que pueden aadirse en las entradas de BibT EX, y que permiten indicar la pgina Web en la que se puede encontrar la referencia. En concreto, admitimos un nuevo campo, una pgina Web, y un campo

lastaccess permite indicar la fecha del ltimo

webpage

que permite indicar

acceso. De esta forma, la referencia, adems de los campos e informacin habituales, incluye la localizacin. Por ejemplo, el libro del Subversion citado en un captulo anterior (CollinsSussman et al., 2004) est disponible en la Web; para que la URL o direccin Web aparezca en la referencia, se pueden utilizar los nuevos campos:

@Book{Subversion, author = {Ben Collins-Sussman and Brian W. Fitzpatrick and C. Michael Pilato}, title = {Version Control with Subversion}, publisher = {O'Reilly}, year = 2004, isbn = {0-596-00448-6}, webpage = {http://svnbook.red-bean.com/}, lastaccess = {Octubre, 2009} }
El estilo aade la cadena Disponible en antes de la url (que se aade con el comando anterior es:
Collins-Sussman, B., Fitzpatrick, B. W. y Pilato, C. M.

\url

para su correcta divisin en lneas) y entre parntesis

incluye la fecha del ltimo acceso. El aspecto nal de la referencia del libro

Version

Control with Subversion . O'Reilly, 2004. ISBN 0-596-00448-6. Disponible en

http://svnbook.red-bean.com/

(ltimo acceso, Octubre, 2009).

Tambin hemos aadido un nuevo tipo de entrada para referenciar artculos de la Wikipedia. Puede ser discutible si es adecuado o no utilizar citas de la Wikipedia en documentos acadmicos como tesis o trabajos de n de

5.1. Bibliografa

45

master, pero si eres de los que opinan que debe citarse todo lo que uno utilice y utilizas la Wikipedia, puede que quieras usar esta nueva entrada que hay

A X de la Wikipedia (Wikipedia, i en T EX S. Por ejemplo, la entrada de L T E


LaTeX) se dene con:

@Wikipedia{LaTeXWikipedia, author = {Wikipedia}, title = {{LaTeX}}, wpentry = {LaTeX}, language = {es}, webpage = {http://es.wikipedia.org/wiki/LaTeX}, lastaccess = {Mayo, 2009}, }
En el texto la referencia no aparece con el ao sino que hace alusin a que es una entrada de la Wikipedia, como se ha podido ver en el parrafo anterior. El resultado nal en la lista de referencias es:
Wikipedia (LaTeX). Entrada:  LaTeX. Disponible en

org/wiki/LaTeX

http://es.wikipedia.

(ltimo acceso, Mayo, 2009).

5.1.4. Cambio del estilo de la bibliografa


i El estilo de las referencias de T EX S est denido en

que se incluye en la parte nal del chero

TeXiS/TeXiS.bst, TeXiS_bib.tex:

... \bibliographystyle{TeXiS/TeXiS} ...


AT X basta con Si quieres utilizar un estilo distinto de los disponibles en L E
que cambies esa lnea para denir ese otro estilo. Por ejemplo:

... \bibliographystyle{abbrv} ...


congura la bibliografa para que queden numeradas y se referencien desde el texto con el nmero entre parntesis . Ten en cuenta, no obstante, que en ese caso el resultado de los comandos

\citep

citet

es el mismo, por

lo que puede que necesites reescribir algunas frsaes; adems,

\citeauthor

\citeyear

dejarn de funcionar. Por ltimo, cambiar el estilo a un esti-

lo predeterminado como ese elimina la posibilidad de incluir referencias a pginas Web y a la Wikipedia explicadas antes.

Si quieres que queden entre corchetes ('[', ']'), debes quitar el

la inclusin del paquete

natbib

en el chero

[round] TeXiS/TeXiS_pream.tex.

que aparece en

46

Captulo 5. Bibliografa y acrnimos

Figura 5.1: Resultado de la lista de acrnimos

Otra posibilidad es que desees ajustar el funcionamiento del estilo proi porcionado por T EX S. En ese caso, puedes editar el chero del estilo (el antes

nombrado

TeXiS/TeXiS.bst),

respetando la sintxis que espera

bibtex.

5.2. Acrnimos
AT X Los acrnimos son las siglas utilizadas a lo largo del documento. L E
permite facilitar su gestin, de manera que se controle automticamente el momento de la primera aparicin de un acrnimo para poner su signicado, o para que se genere automticamente una lista de acrnimos a modo de resumen para ser aadida al nal del documento. Dado que el uso de acrnimos no es tan conocido, de nuevo romperemos

AT X, y descrinuestra promesa de no explicar aqu aspectos concretos de L E


biremos en la siguiente seccin el funcionamiento del paquete GlossT EX, que se encarga de la gestin de acrnimos. Despus, nos centraremos en el modo
i en el que T EX S integra su uso.

5.2.1. Acrnimos con glosstex


Al igual que ocurre con la bibliografa, el uso de acrnimos en el documento supone dos cosas: A lo largo del texto habr que indicar en qu punto se usa un acrnimo, al igual que se indica cuando se utiliza una referencia bibliogrca. Al nal del texto, tendr que aparecer una lista con todos los acrnimos utilizados (gura 5.1), al igual que ocurre con las citas. Dada esta similitud con la bibliografa, no sorpende que para que sea

AT Xquin nos gestione nuestros acrnimos tendremos que hacer uso de una L E
base de datos de acrnimos, generalmente en cheros con extensin (Glossary Data File ), que son conceptualmente similares a los cheros

.gdf .bib

5.2. Acrnimos

47

usados por BibT EX. Como ejemplo, a continuacin se indica el contenido (parcial) del chero usado en este manual:

@entry{CVS, , \emph{Control Version System}, Sistema de Control de Versiones} @entry{GPL, , \emph{General Public License}, Licencia Pblica General de GNU}
Cada entrada se coloca dentro de un comando parmetros, separados por comas: 1. Acrnimo : en el ejemplo, CVS y GPL. El acrnimo hace tambin las veces de etiqueta identicativa, para referenciarlo dentro del texto. 2. Representacin corta : no aparece en ninguno de los dos ejemplos anteriores (se ha dejado en blanco). Es necesaria nicamente si el acrnimo

@entry,

que tiene tres

tiene formato. Veremos un ejemplo en un instante.


3. Versin larga : contiene la descripcin completa del acrnimo. Aunque estemos utilizando comas como separadores de cada uno de los tres elementos, al ser ste el ltimo campo, podra contener comas tal y como muestran los ejemplos. Una vez que se ha poblado el chero con los acrnimos, a lo largo del texto es posible aadir comandos de GlossT EX para referirse a ellos, algo conceptualmente similar al uso de

\cite

respecto a la bibliografa. A continuacin

se muestran los comandos disponibles , y su resultado en el documento nal:

\acs{CVS}
siones

(short ): CVS

\acl{CVS} (long ): Control Version System, Sistema de Control de Ver\acf{CVS} \ac{CVS}:


(full ): CVS (Control Version System, Sistema de Control

de Versiones) es la ms interesante de todas. Funciona como

mera vez que aparece en el texto, y como

\acs

\acf

la pri-

el resto de las veces.

Las tres primeras muestran diferentes partes de la entrada denida en el chero

.gdf. La ms completa es la mostrada por \acf, que combina la verglosstex en el prembulo

sin corta con la larga, que coloca entre parntesis. No obstante, el comando

Para poder usarlos, ser necesario haber includo el paquete

del documento.

48

Captulo 5. Bibliografa y acrnimos

ms interesante es

\ac,

que recuerda si ya se introdujo un acrnimo ante-

riormente en el documento, mostrando su descripcin completa nicamente la primera vez . El modo en el que se construye esta descripcin (con la versin larga entre parntesis) es personalizable, si bien el modo de hacerlo queda fuera del alcance de este documento. Por tanto, el modo de uso recomendado de los acrnimos es aadir en el chero

.gdf

todos los acrnimos usados en el documento, y luego hacer

siempre referencia a ellos a travs del comando


dems.

\ac.

AT X incluir la desL E

cripcin completa la primera vez, y dejar nicamente el acrnimo todas las

Hemos visto que en los ejemplos descritos, el propio acrnimo hace las

veces de identicador, de modo que pare referenciarlo basta con un mero

\ac{CVS}

o similar. Esto ser suciente la mayor parte de las veces, pero

en ocasiones tendremos acrnimos ms complejos, como por ejemplo PC

(Programming Contest Control ). El problema, es que para que se muestre

AT X del acrnimo es en realidad correctamente, el cdigo L E


que tendramos que referirnos a l como

\ac{PC$^2$}.

PC$^2$,

por lo

Esto no slo resulta

incmodo, sino que adems genera un error de compilacin, dado que no

AT X dentro de un identicador. podemos aadir comandos L E


La solucin es hacer uso del segundo campo que dejbamos vaco en las entradas del chero

.gdf

de ejemplo:

@entry{PC2, PC$^2$, \emph{Programming Contest Control}}


Cuando se indica dicho campo, GlossT EX har uso de l para mostrar el acrnimo, y utilizar el primero slo como identicador. Ahora, para referirnos a l bastar con un se convierte en un PC un ms corto PC . Aparte de la ayuda proporcionada por GlossT EX para evitarnos tener que escribir la versin completa de nuestros acrnimos, tambin nos sirve para aadir en la parte nal un listado de acrnimos donde se muestra el acrnimo y su descripcin larga (tal y como mostraba la gura 5.1). Al igual que ocurre con la bibliografa, slo aparecern en la lista aquellos acrnimos que realmente se hayan usado a lo largo del documento. El comando para conseguirlo es:

\ac{PC2}

que, la primera vez que se usa,

2 (Programming Contest Control ), y las siguientes en

\printglosstex(acr)
No obstante, y al igual que ocurre con la bibliografa, para que toda esta infraestructura funcione es necesario ejecutar programas externos (aparte del propio

latex

pdflatex).
acf

El proceso completo es el siguiente:


hace que GlossT EX considere que el acrnimo ya se ha acf y ms adelante ac, aparecer de nuevo

El uso manual de

no

presentado, por lo que si se utiliza primero la versin completa.

5.2. Acrnimos

49

1. El uso de comandos los cheros

.aux

\ac?

genera la inclusin de anotaciones dentro de

generados al compilar los

.tex.

2. Al igual que se hace con la aplicacin este caso usamos el programa nuevo chero con extensin referenciadas, y un 3. El chero caso

.gxg

bibtex para la bibliografa, en glosstex5 que los recorre y genera un .gxs con informacin sobre las entradas

con informacin de registro (log ).

.gxs debe volverse a procesar usando otro programa, en este makeindex, que ordena alfabticamente las entradas utilizadas, y .glx,
que, nalmente, contiene todo correcto.

les aplica un formato concreto. Este proceso genera un nuevo chero, con extensin

AT X 4. El chero anterior es utilizado por el comando L E


que debe ser includo dentro de algn chero que es conceptualmente similar al para BibT EX.

.tex del documento, y \bibliography{ficheros} usado

printglosstex

Todo esto complica el proceso de construccin del documento, que ahora requiere pasos adicionales :

$ $ $ $ $

pdflatex Tesis bibtex Tesis glosstex Tesis acronimos.gdf makeindex Tesis.gxs -o Tesis.glx -s glosstex.ist pdflatex Tesis
En la ejecucin de

glosstex

es necesario proporcionarle el nombre del

chero (o cheros) con la base de datos de acrnimos. En el caso de

bibtex

esto no es necesario, porque ya se lo proporcionamos directamente en los

.tex con el comando \bibliography{ficheros}. Adems, en la ejecucin a makeindex proporcionamos el parmetro glosstex.ist que indica el formato que queremos aplicar a nuestra lista de acrnimos; ten en cuenta que

makeindex

se utiliza para la generacin de otros ndices, por lo que para

mantener la generalidad mantiene fuera dicho formato para que pueda ser adaptado a cada caso. Para poder hacer uso, por tanto, de los acrnimos, es necesario dispo-

AT X ner no slo del paquete L E

glosstex

makeindex.

glosstex,

sino tambin de las aplicaciones

En la seccin 2.6 veamos un modo simplicado de

compilar el presente documento que no inclua las rdenes para procesar los acrnimos. Si no se ejecutan estas aplicaciones, el documento se generar correctamente, salvo por la lista de acrnimos que aparecer vaca.

5 6

Este programa deber estar instalado en el sistema en el que se est generando el Como siempre, tambin es vlido el uso de

documento.

generado (.dvi) deber despus ser convertido a PDF.

latex en lugar de pdflatex, pero el chero

50

Captulo 5. Bibliografa y acrnimos

5.2.2. Acrnimos en TEXiS


i Afortunadamente, al utilizar T EX S prcticamente de lo nico que hay

que preocuparse es de crear la base de datos de acrnimos y de hacer uso del comando

7 automticamente .

\ac

cuando corresponda. El resto de tareas son gestionadas

i Para dar soporte al uso de acrnimos, T EX S se apoya en varios cheros:

TeXiS/TeXiS_acron.tex: contiene el comando de GlossTEX que aade


al documento un nuevo captulo sin numeracin con la lista de acrnimos. De manera predenida, este captulo se aadir al documento

unicamente en modo release (consulta la seccin 3.4 para ms informacin). En modo borrador (debug ) los acrnimos no se incluyen en el documento, de modo que se ahorra algo de tiempo.

acronimos.gdf: ste es el chero donde se recomienda aadir los acrnimos que se usen. Hace las veces de base de datos de acrnimos. Siendo realistas, los cheros

.tex

i de T EX S no dependen de que se utilice

este chero en concreto. Tal y como se explic en la seccin anterior, es la ejecucin externa de las herramientas de GlossT EX la que recibir
i el nombre en concreto. Sin embargo, T EX S proporciona un modo au-

tomtico de construccin, descrito en el captulo 6, que s asume este nombre de chero. La construccin se apoya en la herramienta

make,

de ah que al principio del documento mencionramos que resultaba ms cmodo hacer uso de plataformas GNU/Linux (que disponen de l) en lugar de Windows. En la versin en borrador, adems de no generarse la lista de acrnimos como un captulo ms, tampoco se aaden las descripciones largas de los acrnimos. Es decir, si se utiliza en algn lugar del documento las rdenes de GlossT EX mencionadas previamente (\ac, propia etiqueta. Por ejemplo, ante CVS. Dado que no todos los documentos harn uso de acrnimos, y que, despus de todo, generarlos supone un esfuerzo en la fase de compilacin no despreciable , es posible que en ocasiones no se desee que se incluyan los acrnimos tampoco en la versin nal (modo release ). En ese caso, basta con que se modique el chero

\acl,

etctera), stas

se puentearn de modo que en el documento nal tan slo aparecer la

\acl{CVS}, en lugar de aparecer  Control

Version System, Sistema de Control de Versiones se mostrar nicamente

config.tex

(el mismo en el que se escoga

qu versin se quera compilar) y comentar la linea siguiente:

7 8

Salvo, naturalmente, la instalacin de las propias aplicaciones Este esfuerzo es real tan slo si no se hace uso del

glosstex

makeindex

que deber haber realizado el usuario.

Makefile proporcionado por TEXiS.

5.2. Acrnimos

51

\def\acronimosEnRelease{1}
i Si se comenta, T EX S asumir que no se desean acrnimos tampoco en

la versin nal, y no se incluir el captulo sin numeracin. De nuevo, ten en cuenta que en ese caso los comandos de GlossT EX se puentearn tambin . En el improbable caso en el que se quiera hacer uso de los acrnimos para que sea el propio sistema el que se encargue de escribirnos el signicado la primera vez que se usan, pero no se quiere que aparezca el listado nal de los acrnimos, entonces ser necesario modicar directamente el chero

Tesis.tex,

y dejar de incluir

TeXiS/TeXiS_acron,

cuya inclusin es ahora

mismo condicional en funcin de si se usan o no los acrnimos. Por ltimo, hay que tener en cuenta que cuando se modica el modelo de compilacin (por ejemplo, indicando versin nal o borrador, o pidiendo que se aadan o quiten los acrnimos en release ) es necesario borrar los

cheros intermedios generados durante la compilacin


a travs de su sencillo:

10 . Si se est generando

i el documento haciendo uso de la infraestructura proporcionada por T EX S

Makefile

(descrita en el captulo siguiente), bastar con un

make clean

5.2.3. Ms all de TEXiS


El nombre GlossT EX proviene en realidad de glossary, por lo que su objetivo inicial era realizar glosarios, no meras listas de acrnimos. Para ser honestos, en las entradas de los cheros

.gdf podemos aadir una descripcin

completa con una descripcin de la entrada:

@entry{PC2, PC$^2$, \emph{Programming Context Control}} Software de gestin utilizado en los concursos de programacin impulsados por ACM, a travs del cual los concursantes envan sus soluciones, y los jueces acceden a ellas y las valoran.
Esa descripcin est fuera de la entrada

@entry, y resulta til en el caso

i de que quisieramos mantener un glosario de palabras. T EX S no proporciona

soporte para esto, por lo que si lo quieres utilizar, tendrs que aadir la infraestructura necesaria por tu cuenta.

9 10

Aunque en este caso no debera ser un problema porque si no se quieren los acrnimos Las razones que ocasionan esto quedan explicadas en la seccin 6.3.2.

en la versin nal ser porque no se han usado.

52

Captulo 5. Bibliografa y acrnimos

Notas bibliogrcas
Existen numerosas publicaciones relacionadas con BibTeX; para una descripcin de los tipos de entradas que se soportan, etc., se puede consultar Patashnik (1988a) o Mittelbach et al. (2004). En esta ltima referencia tambin puede encontrarse informacin sobre las posibilidades del paquete

natbib.
Por otro lado, es tambin fcil encontrar informacin sobre cmo cam-

@lastaccess o ajustar las cadenas que aparecen). Por ejemplo, una descripcin en espaol es Lpez (2006). Tambin se puede consultar Mittelbach et al. (2004) o Patashnik (1988b). Respecto a GlossT EX, la fuente principal de informacin es la disponible

i biar el estilo utilizado (es decir, lo que hemos hecho en T EX S para aadir el

en el catlogo de paquetes de T EX. Puedes encontrarla en

http://www.ctan. org/tex-archive/help/Catalogue/entries/glosstex.html.

En el prximo captulo. . .
Con este captulo terminan los captulos ms importantes del manual,
i donde se ha contado lo que se debe saber para utilizar T EX S. El pr-

ximo captulo describe el chero

Makefile

proporcionado. El chero per-

mite generar de forma fcil el documento nal, utilizando la utilidad

make

disponible en virutalmente todas las plataformas. Somos conscientes de que no todo el mundo querr utilizar este mecanismo para generar el documento nal (muchos usuarios preferirn utililizar las opciones del editor que utilicen); por eso lo hemos puesto al nal.

Captulo 6

Makele
A fuerza de construir bien, se llega a buen arquitecto.
Aristteles

Resumen: Este captulo describe la infraestructura de creacin del


documento nal, apoyada en la herramienta

make

de GNU.

6.1. Introduccin
Ya se ha esbozado a lo largo de este manual que la generacin del documento nal requiere varias etapas, algo que es de hecho inherente al propio

AT X (o Pdf L AT X). En la seccin 2.6 vimos que era necesario la invocacin L E E


a

pdflatex

tres veces, junto con el uso de

aadi la necesidad de invocar a

glosstex

bibtex. En la seccin 5.2.1 y a makeindex para aadir

se el

listado de acrnimos. El resultado es una generacin bastante laboriosa que requiere dar varios pasos en un orden concreto. El mundo del desarrollo del software ha lidiado con un problema similar (ms complejo, de hecho) desde hace dcadas, y que se ha ido resolviendo con diferentes herramientas, siendo proporciona un chero fraestructura

Makefile

make

i una de las ms extendidas. T EX S

para ser utilizado con ella, y simplicar la

generacin del documento, as como otras labores rutinarias. Dado que la in-

make no est disponible nativamente en plataformas Windows,


1

slo podr utilizarse sobre GNU/Linux y otras variantes de Unix . Incluso aunque se utilizara

nmake,

una herramienta similar a

make

proporcionada

Windows dispone de Cygwin que proporciona muchas de las herramientas habituales

en Unix. riencia!

No hemos probado TEX S sobre l; si lo haces, no dudes en contarnos la expei

53

54

Captulo 6. Makele

con Visual Studio, el

Makefile

i de T EX S no funcionara dado que hace uso

de comandos que slo estn disponibles en Unix/Linux. Es por ello que en el primer captulo recomendbamos el uso de dicho sistema. En la seccin siguiente, se describen los diferentes objetivos que este

Makefile proporciona. La seccin 6.3 describe brevemente el funcionamiento


de algunas de sus partes.

6.2. Objetivos del Makefile


En la terminologa de

make,

un objetivo es un grupo de tareas que se

ejecutan en conjunto. En el entorno del desarrollo del software, esas tareas suelen estar enfocadas a la compilacin del proyecto, aunque tambin se incluyen objetivos para, por ejemplo, borrar los cheros intermedios, o instalar el programa recin compilado. El

Makefile

i de T EX S sigue esa misma losofa, proporcionando los si-

guientes objetivos:

pdflatex:

es el objetivo por defecto. Genera el documento utilizando

AT X. Se encarga de generar la bibliografa, los acrnimos, y de Pdf L E


compilar varias veces el documento para que se actualicen correctamente las referencias.

latex:

AT X, y convierte el genera el documento utilizando L E

sultante en

.dvi re.pdf. Tiene en cuenta las necesidades en cuanto al formato .eps. .eps.
Normalmente este objetivo no

de las imgenes descritas en la seccin 4.4, por lo que se convierten automticamente a formato

imagenes:

se encarga de convertir las imgenes (tanto vectoriales co-

mo de mapas de bits) a formato lo hace por nosotros.

necesitar ser lanzado manualmente nunca; el objetivo

latex

anterior

imagenesvectoriales

imagenesbitmap:

convierte o bien las im-

genes vectoriales, o bien las de mapas de bits a formato

.eps.

Igual

que antes, normalmente no se necesitan invocar manualmente.

fast:

AT X. Se genera el documento de manera rpida utilizando Pdf L E

limita a generarlo una nica vez, sin invocar a BibT EX ni a GlossT EX. Est pensada para la compilacin del da a da cuando se aade algo de texto y se quiere ver rpidamente el resultado, sin preocuparnos de que las referencias queden correctamente actualizadas. Si este objetivo se combina con el comando

\compilaCapitulo

descrito en la seccin

3.5, la compilacin puede resultar muy rpida.

fastlatex:

similar al anterior, pero realiza la generacin utilizando

AT X. En este caso, el L E

.dvi

sigue convirtindose a

.pdf.

6.2. Objetivos del

Makefile

55

clean:

elimina todos los cheros intermedios creados durante la ge-

neracin del documento. Este objetivo resulta interesante cuando se quiere reconstruir el documento completamente, sin basarse en informacin previa. Es, de hecho, necesario lanzarlo cuando se compila el documento con la lista de acrnimos por primera vez (o cuando deja de hacerse). Si no se ha modicado la denicin de la constante

\acronimosEnRelease

(consulta la seccin 5.2.2 para informacin so-

bre ella), esto ocurrir siempre que se cambie el modo de conguracin de borrador a versin nal (seccin 3.4). Ten en cuenta que este objetivo borra tambin los cheros que se convierten a objetivo.

.eps,

por lo que si has modicado

el modelo de gestin de imgenes (para que los originales sean

.pdf

AT X, consulta la seccin 6.3.1 si se usa Pdf L E

.eps

para ms informacin) entonces tendrs que modicar tambin este

distclean:

.pdf .tex creados por los editores de texto ms habituales (con extensiones .tex~ y .backup).
similar a la anterior, pero tambin borra el chero generado, y los cheros de copia de seguridad de los con l y todos los fuentes (includo imgenes). El chero es til para distribuirlo a revisores que tengan intencin de cambiar y regenerar el documento.

AT X) y crea un chero .zip crearZip: genera el documento (con Pdf L E

crearVersion: similar al anterior, pero copia el .zip en el subdirectorio VersionesPrevias incluyendo en el nombre la fecha y hora actuales. Es
til para realizar copias de seguridad locales o para congelar versiones en hitos concretos de la escritura.

crearBackup: genera el documento, y hace una copia de todo el directorio (incluyendo el subdirectorio VersionesPrevias mencionado antes) comprimindola en un chero .zip que copia en el directorio padre del
actual. Est pensado para hacer una copia de seguridad completa que luego sea guardada en algn otro lugar.

ayuda
res.

help:

muestra una descripcin de todos los objetivos anterio-

En el da a da, los ms tiles son bastar con:

a cualquiera de ellos en un entorno GNU/Linux donde

pdflatex, fast y clean. Para invocar make est disponible

$ make <objetivo>
AT X, al En el caso de que se quiera realizar la generacin usando Pdf L E
ser el objetivo por defecto (el primero que aparece en el necesario especicar nada:

Makefile)

no es

56

Captulo 6. Makele

$ make pdflatex Tesis This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) [...]
AT X, seguSi decides que tu herramienta de generacin por defecto sea L E
ramente quieras colocar el objetivo se ejecute por defecto.

latex

delante para convertirlo en el que

6.3. Funcionamiento interno


En principio, el chero

Makefile debera funcionar por s solo si se siguen

i los convenios de T EX S descritos en los captulos previos, por lo que la seccin

anterior debera ser suciente para un usuario normal. Aqu describiremos algunos detalles internos que pueden ser tiles en algunos (idealmente pocos) casos.

6.3.1. La compilacin de las imgenes


AT X y L AT X la diferencia entre los formatos de imgenes aceptados por Pdf L E E
siempre que el autor siga un determinado convenio en el modo de gestionarlas y utilice la infraestructura de generacin, es decir el chero se reere este captulo.
i En el captulo 4 se mencionaba que T EX S es capaz de independizarse de

Makefile al que

AT X, por lo que que de manera nativa se querr utilizar ste en lugar de L E


muestra una clara tendencia hacia el formato de imgenes que soporta de manera nativa. En concreto, el formato

AT X, T XiS asume Dado que nosotros hacemos normalmente uso de Pdf L E E

pdflatex

.pdf

Makefile

asume que las imgenes se proporcionan en

para el caso de las vectoriales, y en formato

.jpg

.png

para

los mapas de bits. Si las imgenes se desarrollaron originalmente con Kivio, Corel, Visio, Gimp o Photoshop, es responsabilidad del propio autor conver-

AT X. De esa manera, el tirlas a los formatos soportados por Pdf L E


jetivo por defecto

Makefile

no necesitar realizar ningn tipo de transformacin de imgenes en el ob-

pdflatex.
tendr que buscar las imgenes (tanto vectoriales como

AT X, la situacin es ms compliEn el caso de que se desee utilizar L E


cada. El

Makefile
y

de mapas de bits) y convertirlas a

imagenesbitmap

.eps. De eso se encargan imagenesvectoriales respectivamente.

los objetivos

i Ambos se apoyan en el convenio de directorios propuesto por T EX S,

en el que se asume que las imgenes vectoriales estarn en el directorio

Imagenes/Vectorial,

y las de mapas de bits en

Imagenes/Bitmap,

con un

6.3. Funcionamiento interno

57

Makefile encadena una serie de invocaciones a otros Makefile y algunas llamadas a scripts del shell (bash) para
subdirectorio dentro por captulo . El realizar la conversin. En ltima instancia, el responsable de dicha conversin es un script llamado versiones, uno dentro de

update-eps.sh, del que, en realidad, existen dos Imagenes/Vectorial y otro en Imagenes/Bitmap,

especcos para cada uno de los dos tipos de imgenes. Para convertir los

.pdf vectoriales a .eps, se hace uso de la aplicacin pdftops, que deber estar instalada. Por su parte, para convertir las imgenes de mapas de bits .jpg o .png se usa sam2p. Los scripts terminan con error (deteniendo por tanto
la generacin del documento) si estas herramientas no estn disponibles. Se han desarrollado de tal manera que el error nicamente se lance si realmente se necesita convertir alguna imagen. Adems, se evita regenerar los cheros

.eps

si los originales (.pdf,

.jpg

.png)

no han sufrido cambios desde la

ltima generacin. Como ya se dijo previamente, se debe tener en cuenta que el

Makefile

considera a esos cheros

lo que son eliminados por el objetivo

.eps como cheros generados, por clean, y se anima a que se congure

el control de versiones (CVS, SVN, etctera) para que los ignore.

AT X a Pdf L AT X, entonces resultar ms Si por alguna razn se preere L E E


cmodo utilizar el formato los

.eps como predenido, de manera que a partir de

las imgenes originales (creadas con cualquier programa de dibujo) se generen tener la posibilidad de generar el documento con fraestructura de generacin en varios puntos:

.eps en lugar de los .pdf mencionados antes. Si, adems, se quiere manpdflatex (aunque sea a

costa de trabajar ms convirtiendo las imgenes), deber adaptarse la in-

update-eps.sh que se encuentran en los directorios Imagenes/Bitmap y Imagenes/Vectorial para que conviertan los .eps fuente en .pdf. En este caso no merece la pena convertir a .jpg o .png las imgenes vectoriales; resulta ms cmodo convertir todo a .pdf. Para eso, se puede utilizar epstopdf (que deber estar instalado). Una ventaja extra es que ambas versiones de update-eps.sh sern
Modicar los cheros iguales, no como en el caso anterior en el que haba que diferenciar entre vectoriales y de imgenes de bits. Por mantener la coherencia, los cheros deberan renombrarse a algo como

update-pdf.sh, en cuyo caso habr updateAll.sh para modicar su invocacin.

que ajustar los scripts

Modicar el chero en varios puntos:

Makefile principal (en el directorio raz de TEXiS)

No

se soportan subdirectorios adicionales dentro de los directorios de cada captu-

lo. Esta restriccin se debe al modo en el que los

scripts

buscan los cheros de im-

genes que hay que convertir. Consulta cualquiera de los cheros

Imagenes/Vectorial

Imagenes/Bitmap

updateAll.sh

dentro de

para ver los detalles.

58

Captulo 6. Makele

Poner como objetivo por defecto a

latex en lugar de a pdflatex. latex.

Esto es una mera cuestin de comodidad, y para llevarlo a cabo basta colocar en primer lugar el objetivo de

Renombrar

fast a fastpdflatex y fastlatex a fast. De nuevo,

esto es una cuestin de comodidad.

cleanAll.sh situado tanto en el directorio Imagenes/Vectorial como en Imagenes/Bitmap. Ambos son invocados durante la ejecucin del objetivo clean del Makefile principal. i En la versin inicial de T EX S, se borran los cheros .eps, dado que
Modicar el guin (script )

AT X, hay que conservarlos, son producto de la compilacin. Al usar L E

y borrar los cheros Modicar el chero

.pdf generados en los directorios de las imgenes.

.cvsignore o el equivalente en el sistema de control .eps

de versiones que se est usando (si hay alguno) para que se ignoren los nuevos tipos de cheros generados (.pdf) en lugar de los informacin.
i que vienen predenidos en T EX S. Consulta la seccin 4.5 para ms

6.3.2. Makele, GlossTEX, y cambio de modo de generacin


En la seccin 5.2.2 se comentaba que al cambiar el modo de generacin de documento desde depuracin (debug ) a versin nal (release ) o viceversa, era necesario realizar un

make clean

previo debido al uso de GlossT EX.

Aunque en la prctica es suciente con recordar hacerlo, en esta seccin se explican las causas de esta necesidad. Como se recordar de la seccin 5.2.1, cuando se utilizan acrnimos, tras varias etapas termina consiguindose un chero con extensin documento, el comando

.glx

con

la descripcin de aqullos que se usaron. En la siguiente compilacin del

\printglosstex se encargar de recoger el contenido \printglosstex

de dicho chero e incrustarlo en esa posicin. Ten en cuenta que la primera vez que se compila el documento, no existir ningn chero

.glx;

esto es perfectamente legal, dado que

no se quejar si el chero no existe. Por desgracia, s generar un error si existe pero est vaco.
i Cuando en T EX S el uso de acrnimos est desactivado (lo que ocurre en

la generacin de depuracin), los comandos de GlossT EX como

\acs, \acl

etctera se puentean y no se tienen en cuenta, por lo que en los cheros intermedios no se informar del uso de ningn acrnimo. Sin embargo, durante el proceso de compilacin del documento, el ejecutable

Makefile

insistir en realizar

los pasos necesarios para la generacin de acrnimos (es decir, invocar al

glosstex y a makeindex). stos desembocarn en la creacin de un chero .glx vaco, al no haber ningn acrnimo usado. En principio, esto

Notas bibliogrcas

59

signica que

AT X al documento cuando los acrnimos estn desactivados, cho comando L E


lo que evita el problema. Sin embargo, cuando se activa su generacin (al pasar a modo de comi pilacin release ), T EX S comienza a incluir el comando. En la primera com-

\printglosstex fallar. Afortunadamente, TEXiS no

aade di-

pilacin del documento, por tanto, chero

.glx est vaco (de la compilacin en debug .glx

\printglosstex

se encontrar que el

anterior), y fallar. Para

solucionarlo, basta en realidad con eliminar dicho chero; sin embargo, resulta mucho ms fcil de recordar (y por tanto prctico) limitarse a realizar un

make clean

que borra, entre otros, el

por nosotros.

Por otro lado, cuando el documento se ha generado correctamente con los acrnimos (normalmente en modo release ) y se vuelve a generar sin ellos

AT X (o Pdf L AT X) har uso (en modo debug ), en la primera compilacin L E E


tanto de los fuentes del documento como de los cheros auxiliares (.aux) generados en la compilacin anterior para acelerar el proceso. En esos cheros se encuentran entradas relativas a los acrnimos que se utilizaron en la ltima compilacin (en release ). Al hacer ahora la compilacin sin acrnimos, no

AT X que comprenden los comandos de se habrn includo los paquetes L E A X fallar al no comprenderlos. De nuevo, para GlossT EX, por lo que L T E
solucionar este problema es suciente con borrar los cheros en la compilacin anterior; sin embargo resulta mucho ms simple realizar un

.aux generados

make clean

i con la infraestructura de generacin proporcionada por T EX S.

Notas bibliogrcas
Sobre la utilidad

make

hay una gran cantidad de informacin en Inter-

net. Quiz el lugar de referencia es la pgina ocial del proyecto de GNU (http://www.gnu.org/software/make/), aunque contiene mucha ms informacin de la necesaria para comprender el

Makefile

proporcionado con

i T EX S. Por el mero hecho de proporcionar tambin una referencia impresa,

puede consultarse tambin Mecklenburg (2004).

Apndice A

As se hizo...
Pones tu pie en el camino y si no cuidas tus pasos, nunca sabes a donde te pueden llevar.
John Ronald Reuel Tolkien, El Seor de los Anillos

Resumen: Este apndice cuenta algunos aspectos prcticos que nos


planteamos en su momento durante la redaccin de la tesis (a modo de as se hizo nuestra tesis). En realidad no es ms que una excusa para que ste manual tenga un apndice que sirva de ejemplo en la plantilla.

A.1. Edicin
i Ya indicamos en la seccin 3.6 (pgina 27) que T EX S est preparada

para integrarse bien con emacs, en particular con el modo AucT EX. Eso era en realidad un sntoma indicativo de que en nuestro trabajo coti-

AT X. Es cierto que inicialmente diano utilizamos emacs para editar cheros L E


utilizamos otros editores creados expresamente para la edicin de cheros en

AT X, pero descubrimos emacs y ha llegado para quedarse (la gura 3.1 L E


mostraba una captura del mismo mientras crebamos este manual). Ten en cuenta que si utilizas Windows, tambin puedes usar emacs para editar; no lo consideres como algo que slo se utiliza en el mundo Unix. Nosotros lo usamos a diario tanto en Linux como en Windows. No obstante, hay que reconocer que emacs no es fcil de utilizar al principio (el manual de referencia de Stallman (2007) tiene ms de 550 pginas); su curva de aprendizaje es empinada, especialmente si quieres sacarle el mximo partido, o al menos beneciarte de algunas de sus combinaciones de teclas. 61

62

Apndice A. As se hizo...

Pero una vez que consigues no mover las manos para desplazar el cursor so-

AT X bre el documento, manejas las teclas rpidas para aadir los comandos L E
ms utilizados y conoces las combinaciones de AucT EX para moverte por el documento o buscar las entradas de la bibliografa, no cambiars fcilmente a otro editor. Si quieres aprovechar emacs, no debes dejar de leer el documento que nos introdujo a nosotros en el modo AucT EX,  Creacin de cheros L T EX con

GNU Emacs  (Lpez, 2004).

A.2. Encuadernacin
Si has mirado con un poco de atencin este manual, habrs visto que los
i mrgenes que tiene son bastante grandes. T EX S no congura los mrgenes

a unos valores concretos sino que, directamente, utiliza los que se establecen por defecto en la clase

book

AT X utiliza esos mrgenes Aunque es ms o menos reconocido que si L E


debe tener una razn de peso (y de hecho la tiene, se utilizan esos para que el nmero de letras por lnea sea el idneo para su lectura), cuando se comienza a mirar el documento con los ojos del que quiere verlo encuadernado, es cierto que parecen excesivos. Y empiezas a abrir libros, regla en mano, para medir qu mrgenes utilizan. Y reconoces que son mucho ms pequeos (y razonables) que el de tu maravilloso escrito. Al menos ese fue nuestro caso. En ese momento, una solucin es reducir esos mrgenes para que aquello quede mejor. Sin embargo nuestra opcin no fue esa. Si tu situacin te permite no encuadernar el documento en formato DIN-A4, entonces puedes ir a la reprografa de turno y pedir que, una vez impreso, te guillotinen esos mrgenes. Tu escrito quedar entonces en formato libro, mucho ms manejable que el gran DIN-A4, y con unos mrgenes mucho ms razonables. La gura A.1 muestra el resultado, comparando el tamao nal con el de un folio, que aparece superpuesto.

AT X. de L E

A.3. En el da a da
Para terminar este breve apndice, describimos ahora un modo de trabajo que, si bien no utilizamos en su da para la escritura de la tesis, s hemos

AT X, utilizado desde hace algn tiempo para el resto de nuestros escritos de L E


i incluidos T EX S y ste, su manual.

Estamos hablando de lo que se conoce en el mundo de la ingeniera del software como integracin contnua (Fowler, 2006). En concreto, la integracin contnua consiste en aprovecharse del servidor del control de versiones para realizar, en cada commit o actualizacin realizada por los autores, una

A.3. En el da a da

63

Figura A.1: Encuadernacin y mrgenes guillotinados

comprobacin de si los cheros que se han subido son de verdad correctos. En el mundo del desarrollo software donde un proyecto puede involucrar decenas de personas realizando varias actualizaciones diarias, la integracin contnua tiene mucha importancia. Despus de que un programador realice una actualizacin, un servidor dedicado comprueba que el proyecto sigue compilando correctamente (e incluso ejecuta los test de unidad asociados). En caso de que la actualizacin haya estropeado algo, el servidor de integracin enva un mensaje de correo electrnico al autor de ese commit para avisarle del error y que ste lo subsane lo antes posible, de forma que se perjudique lo menos posible al resto de desarrolladores.
i Esa misma idea la hemos utilizado en la elaboracin de T EX S y de este

manual. Cada vez que uno de los autores suba al SVN algn cambio, el servidor comprobaba que el chero maestro segua siendo correcto, es decir, que se poda generar el PDF nal sin errores. No entraremos en ms detalles de cmo hacer esto. El lector interesado puede consultar Gmez-Martn y Gmez-Martn (2009). Como se explica en ese artculo algunas ventajas del uso de esta tcnica son: Se tiene la seguridad de que la versin disponible en el control de versiones es vlida, es decir, es capaz de generar sin errores el documento nal. Se puede congurar el servidor de integracin contnua para que cada vez que se realiza un commit, enve un mensaje de correo electrnico

a todos los autores del mismo. De esta forma todos los colaboradores
estn al tanto del progreso del mismo. Se puede congurar para que el servidor haga pblico (via servidor

64

Apndice A. As se hizo...

(a) Pgina de descarga del documento generado

(b) Mtricas del proyecto

Figura A.2: Servidor de integracin contnua

Web) el PDF del documento (ver gura A.2a). Esto es especialmente til para revisores del texto como tutores de tesis, que no tendrn que preocuparse de descargar y compilar los

.tex.

Por ltimo, el servidor tambin permite ver la evolucin del proyecto. La gura A.2b muestra una grca que el servidor de integracin contnua muestra donde se puede ver la fecha (eje horizontal) y hora (eje vertical) de cada commit en el servidor; los puntos rojos representan commits cuya compilacin fall.

Bibliografa
Y as, del mucho leer y del poco dormir, se le sec el celebro de manera que vino a perder el juicio.
Miguel de Cervantes Saavedra

Abrahams, P. W.

T EX for the Impatient .

Addison Wesley Publishing

Company, 1990.
Bautista, T., Oetiker, T., Partl, H., Hyna, I. y Schlegl, E.

Descripcin de

ATEX 2 . L

Una

Versin electrnica, 1998.

Buckland, M. Programming Game AI by Example . Wordware Publishing,

Inc., 2005.
Collins-Sussman, B., Fitzpatrick, B. W. y Pilato, C. M.

Version

Control with Subversion . O'Reilly, 2004. ISBN 0-596-00448-6. Disponible


en

http://svnbook.red-bean.com/

(ltimo acceso, Octubre, 2009). Addison-Wesley,

Eijkhout, V.

T EX by Topic, a T EXnician's Reference .

1991.
Flynn, P. A beginner's introduction to typesetting with L T EX . The Com-

prehensive TeX Archive Network, 2005.


Fowler, M.

Continuous integration.

2006.

Disponible en

martinfowler.com/articles/continuousIntegration.html (ltimo acceso, Octubre, 2009).


Gmez-Martn, M. A. Arquitectura y metodologa para el desarrollo de sis-

http://

temas educativos basados en videojuegos . Phd, Universidad Complutense


de Madrid, 2008a.
Gmez-Martn, M. A. y Gmez-Martn, P. P. Continuous integration

AT X. The PracT X Journal , vol. In Press., 2009. in L E E


65

66

Bibliografa

Gmez-Martn, P. P. Modelo de enseanza basado en casos: de los tutores

inteligentes a los videojuegos. Phd, Universidad Complutense de Madrid,

2008b.
Kalderon, M. E.

LT EX and Subversion.

The PracT EX Journal, vol.

2007(3), 2007.
Knuth, D. E. The T EX book. Addison-Wesley Professional., 1986.

AT X Tutorials. A primer. Indian T X Users Group, Krishnan, E., editor. L E E


2003.
Lamport, L.

AT X: A Document Preparation System, 2nd Edition. L E

Addison-Wesley Professional, 1994.


Lpez, J. A.

AT X con GNU Emacs. Versin elecCreacin de cheros L E


Disponible en

trnica, 2004.

guia-atx/ guia-atx. pdf


Lpez, J. A.

http: // ctan. org/ get/ info/ spanish/


de BibTeX.

(ltimo acceso, Octubre, 2009).


completa

Gua

casi

Versin

elec-

Disponible en ftp: // ftp. ctan. org/ tex-archive/ info/ spanish/ guia-bibtex/ guia-bibtex. pdf (ltimo acceso, Octrnica, 2006. tubre, 2009).
Mecklenburg, R.

Managing Projects with GNU Make, 3rd edition.

O'Reilly Media, Inc, 2004. ISBN 0596006101.


Mittelbach, F., Goossens, M., Braams, J., Carlisle, D. y Rowley,

AT X Companion. Addison-Wesley Professional, segunda edicin, C. The L E


2004.
Oetiker, T., Partl, H., Hyna, I. y Schlegl, E.

The Not So Short

AT X 2 . Versin electrnica, 1996. Introduction to L E


Patashnik, O. BibTeXing. 1988a. Disponible en

ftp: // ftp. ctan. org/ tex-archive/ biblio/ bibtex/ contrib/ doc/ btxdoc. pdf (ltimo acceso, Octubre, 2009).

Patashnik, O. Designing BibTeX styles. 1988b. Disponible en

ftp: // ftp. ctan. org/ tex-archive/ biblio/ bibtex/ contrib/ doc/ btxhak. pdf
(ltimo acceso, Octubre, 2009). Version control of L T EX documents with svn-multi. PracT X Journal , vol. 2007(3), 2007. E

Scharrer, M.

The

Stallman, R. M.

GNU Emacs Manual for Version 22, 16th Edition.

Free Software Foundation, 2007. Disponible en

software/ emacs/ manual/ emacs. pdf

http: // www. gnu. org/

(ltimo acceso, Octubre, 2009).

Bibliografa

67

ThoughtWorks,

I.

Cruise control.

2001.

Disponible en

// cruisecontrol. sourceforge. net/ index. html


tubre, 2009).

http:

(ltimo acceso, Oc-

Vesperman, J. Essential CVS. O'Reilly, 2003. ISBN 0-596-00459-1. Wikipedia (LaTeX).

Entrada:  LaTeX.

Disponible en

wikipedia. org/ wiki/ LaTeX


Ziegenhagen, U.

http: // es.
The

(ltimo acceso, Octubre, 2009).

LT EX document management with Subversion.

PracT EX Journal, vol. 2007(3), 2007.

Lista de acrnimos
CVS . . . . . . . . . .

Control Version System, Sistema de Control de Versiones

GPL . . . . . . . . . .

General Public License, Licencia Pblica General de GNU

PC . . . . . . . . . . .

Programming Contest Control

69

Qu te parece desto, Sancho?  Dijo Don Quijote  Bien podrn los encantadores quitarme la ventura, pero el esfuerzo y el nimo, ser imposible. Segunda parte del Ingenioso Caballero Don Quijote de la Mancha Miguel de Cervantes

Buena est  dijo Sancho ; frmela vuestra merced. No es menester rmarla  dijo Don Quijote, sino solamente poner mi rbrica. Primera parte del Ingenioso Caballero Don Quijote de la Mancha Miguel de Cervantes

You might also like