Está en la página 1de 91

TEXiS: Una plantilla de LATEX

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
i
Documento maquetado con TEX S v.1.0.

Este documento est preparado para ser imprimido a doble cara.


TEXiS: Una plantilla de L TEX A
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. Sin embargo, tambin es cierto que
a congresos lo ms extendido es L E
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 pro-
gramacin docente que haba hecho unos aos atrs y que nos sirvi de
inspiracin (por ejemplo, el chero guionado.tex de TEXiS 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 pen-
sando 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
x 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 es-
critura 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

AT X que pueden servir para escribir


TEXiS es un conjunto de cheros L E
tesis doctorales, trabajos de n de master, de n de carrera y otros documen-
tos del mismo estilo. El documento que tienes en tus manos es un manual
que explica las distintas caractersticas de la plantilla. En los distintos cap-
tulos iremos explicando los cheros existentes en TEXiS 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.

Hay dos distribuciones distintas de TEXiS: el cdigo fuente completo de


1
este manual (de forma que TEXiS 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. Aconse-
jamos 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 documen-
tos. Como podrs comprobar, en algn momento nos ha sido difcil justicar
la existencia de ciertos elementos pues no eran realmente relevantes para

1
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
estaran en el tipo de textos para los que TEXiS es til.

Al estar compuesto por varios tipos de cheros, TEXiS se rige por varias
licencias:

La plantilla (cheros en el directorio TeXiS) se


A
distribuye bajo la L TEX Project Public License
AT X).
(Licencia Pblica del Proyecto L E

Los cheros Makefile y scripts de apoyo a la


generacin del documento, se distribuyen bajo
licencia GPLv3.

El manual de TEXiS se distribuye con una licen-


cia Creative Commons (CC-BY-SA).
ndice

Agradecimientos ix

Resumen xi

1. Introduccin 1
1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Qu es TEXiS . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Qu no es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4. Estructura de captulos . . . . . . . . . . . . . . . . . . . . . . 4

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . . 5

2. Estructura y generacin 7
2.1. Estructura de directorios . . . . . . . . . . . . . . . . . . . . . 7

2.2. Ficheros con el texto principal del documento . . . . . . . . . 8

2.3. Ficheros del documento auxiliares . . . . . . . . . . . . . . . . 9

2.4. Directorio raiz . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5. Ficheros de la plantilla . . . . . . . . . . . . . . . . . . . . . . 11

2.6. Generando el documento . . . . . . . . . . . . . . . . . . . . . 13

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . . 14

3. Proceso de edicin 15
3.1. Empezando a escribir . . . . . . . . . . . . . . . . . . . . . . . 15

3.2. Editando el texto . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2.1. Nuevos captulos (y apndices) . . . . . . . . . . . . . 17

3.2.2. Resumen del captulo . . . . . . . . . . . . . . . . . . 18

3.2.3. Frases clebres . . . . . . . . . . . . . . . . . . . . . . 18

3.2.4. Secciones no numeradas . . . . . . . . . . . . . . . . . 19

3.2.5. Captulos especiales . . . . . . . . . . . . . . . . . . . 22

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

xiii
xiv ndice

3.4.1. Comando com . . . . . . . . . . . . . . . . . . . . . . . 24

3.4.2. Comando comp . . . . . . . . . . . . . . . . . . . . . . 25

3.4.3. Comando todo . . . . . . . . . . . . . . . . . . . . . . 25

3.5. Acelerando la compilacin . . . . . . . . . . . . . . . . . . . . 26


AT X y compilacin
3.6. Editores de L . . . . . . . . . . . . . . . . 27
E
3.7. Control de versiones . . . . . . . . . . . . . . . . . . . . . . . 28

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . . 30

4. Gestin de las imgenes 31


4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.2. Gestin de imgenes . . . . . . . . . . . . . . . . . . . . . . . 32

4.3. Formato de las imgenes . . . . . . . . . . . . . . . . . . . . . 34

4.4. Imgenes independientes del programa generador . . . . . . . 35

4.5. Gestin de imgenes y control de versiones . . . . . . . . . . . 35

4.6. Imgenes divididas . . . . . . . . . . . . . . . . . . . . . . . . 36

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . . 40

5. Bibliografa y acrnimos 41
5.1. Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.1.1. Ficheros involucrados . . . . . . . . . . . . . . . . . . . 42

5.1.2. Referencias con natbib . . . . . . . . . . . . . . . . . 42

5.1.3. Modicaciones en los @bibitem . . . . . . . . . . . . . 43

5.1.4. Cambio del estilo de la bibliografa . . . . . . . . . . . 45

5.2. Acrnimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.2.1. Acrnimos con glosstex . . . . . . . . . . . . . . . . . 46

5.2.2. Acrnimos en TEXiS . . . . . . . . . . . . . . . . . . . 50

5.2.3. Ms all de TEXiS . . . . . . . . . . . . . . . . . . . . 51

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

En el prximo captulo . . . . . . . . . . . . . . . . . . . . . . . . . 52

6. Makele 53
6.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.2. Objetivos del Makefile . . . . . . . . . . . . . . . . . . . . . 54

6.3. Funcionamiento interno . . . . . . . . . . . . . . . . . . . . . 56

6.3.1. La compilacin de las imgenes . . . . . . . . . . . . . 56

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

Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

A. As se hizo... 61
A.1. Edicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
ndice xv

A.2. Encuadernacin . . . . . . . . . . . . . . . . . . . . . . . . . . 62

A.3. En el da a da . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Bibliografa 65
Lista de acrnimos 68
ndice de guras

2.1. Capturas del visor de PDF . . . . . . . . . . . . . . . . . . . . 13

3.1. Resaltado de secciones en emacs . . . . . . . . . . . . . . . . . 22

4.1. Figura utilizada para marcar una imagen por hacer. . . . . . 33

4.2. Ejemplo de uso de subfloat. . . . . . . . . . . . . . . . . . . 39

5.1. Resultado de la lista de acrnimos . . . . . . . . . . . . . . . 46

A.1. Encuadernacin y mrgenes guillotinados . . . . . . . . . . . 63

A.2. Servidor de integracin contnua . . . . . . . . . . . . . . . . 64

xvii
ndice de Tablas

3.1. Secciones no numeradas soportadas por TEXiS . . . . . . . . . 21

4.1. Formatos de imgenes para latex y pdflatex . . . . . . . . 34

5.1. Distintas opciones de referencias con natbib . . . . . . . . . . 43

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

Resumen: Este captulo presenta una breve introduccin a TEXiS.


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
2 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 .tex nos gustara, hasta
que nos sentimos cmodos con la estructura de los cheros, con las macros
disponibles y con el modo de compilacin.

Y para que nadie ms pueda utilizar como excusa el no saber cmo


personalizar la clase book para retrasar el comienzo de su tesis, para que nadie
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
o plantilla es TEXiS.

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
ha sido creado con la propia plantilla. Por lo tanto, la distribucin de TEXiS
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 com-
probar, 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
1.2. Qu es TEXiS 3

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 re-


conocieras en la seccin de agradecimientos. Si durante tu proceso de es-
critura 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 ex-
plicaciones 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
variar. Recuerda que la versin ms reciente de TEXiS 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 docu-
mentos con estructura similar de forma fcil.

TEXiS te permite adems generar el chero utilizando tanto el comando


latex (que genera de forma nativa cheros dvi que luego se convierten a
cheros ps o pdf), como pdflatex. De esta forma el usuario nal puede
1
elegir entre cualquiera de las dos herramientas . Aconsejamos, no obstante,
la utilizacin de este ltimo, debido a que TEXiS 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
hacer ms cmodo el proceso de edicin y compilacin, TEXiS 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.

1
Esto es til por ejemplo cuando quieres utilizar pdflatex pero nalmente el servicio
de publicaciones slo admite el uso de latex.
4 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
AT X, puedes encontrar muchos y muy buenos en Internet.
un manual de L E
Al nal de este captulo aparece una lista con algunos de ellos.
AT X. Si miras el cdigo fuente
La plantilla tampoco es una clase de L E
podrs comprobar que el documento comienza con \documentclass{book}2 ,
por lo que se basa en la clase book.
La plantilla tampoco te ayudar a gestionar tu bibliografa. Los .bib
los tendrs que crear y organizar t ya sea de forma manual o con alguna
herramienta diseada para ello.

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 prctica-
mente 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 pre-
Por 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, pre-
guntanos a nosotros, aunque ya te advertimos que puede que no sepamos
responderte. Querramos poder animarte a escribirnos tus dudas, pero prefe-
rimos 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 for-


man TEXiS. Adems da una primera aproximacin a cmo generar el
documento nal (.pdf).

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


la tarea de escribir el texto es trivial, TEXiS proporciona una serie
de comandos que pueden ser tiles durante la escritura (al menos a

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

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


TEXiS. Igual que antes, esto puede parecer superuo a un usuario medio
AT X, pero T XiS contiene algunos comandos que esperan esa es-
de 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


se ver, TEXiS 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 ms conocidos son The LAT X Compan-
No obstante, los libros de L E E
AT X: A Document Preparation System
ion (Mittelbach et al., 2004) y  L E
(Lamport, 1994).

En el prximo captulo. . .
Una vez hecha una descripcin de TEXiS, 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
aproximacin rpida al trabajo con TEXiS; 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.
6 Captulo 1. Introduccin

No obstante, el captulo siguiente debe verse nicamente como una pri-


mera 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

Resumen: Este captulo explica la estructura de directorios de TEXiS


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 pos-

teriormente 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 contiene el chero principal del documento (tambin lla-


mado chero maestro ), que es el que se utiliza como entrada a pdflatex
(o latex) y cuyo nombre es Tesis.tex. Tambin aparecen en el direc-
torio otros cheros que si bien no generan texto en el documento nal
cumplen ciertas funciones especcas descritas en la seccin 2.4. Por l-
timo, el directorio contiene tambin los cheros .bib con la informacin
bibliogrca as como el chero para generar el documento utilizando
la aplicacin make.

7
8 Captulo 2. Estructura y generacin

Directorio ./Capitulos contiene los .tex de cada captulo del documento.

Directorio ./Apendices contiene los .tex de cada uno de los apndices.

Directorio ./Cascaras contiene los .tex responsables del contenido del


resto de pginas del documento: el texto de la portada, agradecimien-
tos, 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 do-
cumento, as como los comandos que facilitan la edicin que sern
descritos en el captulo 3. La creacin de un documento que se adhiere
completamente al formato de TEXiS 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 \usepackage correspondiente en el documento
maestro o en el chero de prembulo de TEXiS, TeXiS/TeXiS_pream.tex
descrito en la Seccin 2.5.

El captulo siguiente est enteramente dedicado al proceso de edicin de


estos cheros.
2.3. Ficheros del documento auxiliares 9

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) :
1

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 .
2

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
Si crees que no necesitas alguno de ellos, puedes eliminar su inclusin en el chero
maestro, Tesis.tex.
2
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 con-


vierten 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 pgi-
nas 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
habrs notado que TEXiS 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 TEX responsable se encuentra en este chero.

Existen otros dos cheros que no aparecen en este directorio pero que ge-
neran pginas en el documento nal. Son TeXiS_toc.tex y TeXiS_acron.tex
del directorio TeXiS, descritos en la seccin 2.5. Aparecen en ese directorio
debido a que no permiten ningn tipo de personalizacin al usuario de TEXiS.

2.4. Directorio raiz


En el directorio raz aparecen, adems de Tesis.tex, el documento mae-
stro, otros tres cheros .tex que no son responsables de la generacin de
ninguna pgina del documento. Uno de ellos, config.tex se describe en la
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 documen-
to sobre Cruise Control (ThoughtWorks, 2001), para evitar tener que
escribir contnuamente las dos palabras, es buena idea incluir una cons-
tante en el chero que cree un comando para hacerlo ms rpidamente:

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


La nueva versin de \cc\ \ldots ...

En este chero aparece denida la constante \titulo que contiene el


ttulo del documento y \autor con el autor. Ambos son utilizados en la
portada. Tambin aparece denido el comando \texis que utilizamos
en este manual para evitarnos escribir el cdigo que escribe  TEXiS
una y otra vez:

\texis\ te permite generar el i


TEX S te permite generar el chero
fichero final tanto como .dvi nal tanto como .dvi como en un
como en un .pdf. .pdf.

Por ltimo indicar que en el directorio raz aparecen los cheros con
extensin .bib que contienen la informacin bibliogrca y los .gdf para los
acrnimos (ver captulo 5) as como el chero Makefile para la generacin
automtica del documento nal (captulo 6).

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 .tex) puede imponer cierto respeto al principio, puedes abrir
AT X normal,
sin miedo el chero para edicin, pues es un chero de L E
con deniciones de comandos tradicionales.
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 posi-
bilidades 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. Exis-
ten 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 caracters-
ticas que ni este manual ni nuestras tesis requirieron.

TeXiS_cover.tex: contiene el cdigo TEX que genera la portada, y la


hoja siguiente a la misma, que vuelve a tener los mismos datos pero
sin el escudo.

TeXiS_dedic.tex: contiene el cdito TEX para generar las hojas de


dedicatorias.

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 in-
cluyen los comandos necesarios para que aparezca esta lista. No obs-
tante, 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 so-
bre 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


Como ya se dijo en la introduccin, TEXiS 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 latex como pdflatex son dos aplica-
ciones que cogen un chero .tex como entrada y generan el documento nal
renderizado. La diferencia entre ambas radica en el chero de salida que
generan. En el primer caso, se genera un chero .dvi4 , mientras que en el
segundo caso se genera un chero PDF directamente. Tradicionalmente se ha
latex, convirtiendo despus el chero .dvi al formato deseado (co-
utilizado
mo .ps o .pdf). Sin embargo, en nuestro caso, aconsejamos la utilizacin de
pdflatex, debido a que, al generar de forma nativa cheros PDF, aprovecha
algunas de las caractersticas disponibles en los mismos. En particular, TEXiS
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 Makefile para automatizar la generacin


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

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


TEXiS proporcionados, la forma inmediata es seguir el proceso tradicional

3
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
Device independent, o independiente del dispositivo (en el que se mostrar el con-
tenido).
5
Los cheros Makefile son ampliamente utilizados en el desarrollo de software. Son
cheros que sirven de entrada a la utilidad make que genera automticamente los cheros
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 pdflatex
(o latex), a continuacin ejecutar bibtex para resolver las referencias bi-
bliogrcas, y posteriormente ejecutar un par de veces ms pdflatex para
resolver las referencias cruzadas y que aparezcan en el documento nal.

En lnea de comandos eso se traduce a las siguientes rdenes :


6

$ 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
de TEXiS, 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
aadir nuevos captulos o los comandos que TEXiS 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.

6
Tambin es vlido el uso de latex en lugar de pdflatex, pero el chero generado
(.dvi) deber despus ser convertido a PDF.
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
i
tiene TEX 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 ISO-
8859-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 \titulo y \autor que aparece denida en el chero
constantes.tex.
El segundo paso es crear la portada en Cascaras/cover.tex. Como
habrs podido observar, TEXiS 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
una lista con el texto que puede cambiarse usando los comandos de TEXiS;
una vez que se conguran, se debe invocar al comando \makeCover para
generar las portadas:

Ttulo del documento: aparece en las dos portadas. Por defecto se uti-
lizar la constante \titulo denida en constantes.tex. No obstante,
se puede indicar un ttulo distinto usando \tituloPortada. De esta
forma, se pueden forzar saltos de lnea articiales si se desea.

Autor del documento: normalmente aparece tambin en las dos por-


tadas. Igual que antes, si no se indica lo contrario se utiliza \autor,
aunque se puede cambiar con \autorPortada.
Una imagen en la primera portada, normalmente el escudo institu-
cional. El chero a utilizar se dene con \imagenPortada. Tambin
puede especicarse la escala a utilizar en el chero si ste es demasiado
grande o pequeo con \escalaImagenPortada.
Una fecha de publicacin, que aparece en la parte inferior de ambas
portadas. Se utiliza el comando \fechaPublicacion.
El tipo de documento que aparece en la primera portada. Si no
se indica nada, ser TESIS DOCTORAL. Se puede modicar con
\tipoDocumento. Este manual por ejemplo lo establece en MANUAL
DE USUARIO.

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 \autorPortada. Se puede cambiar el contenido completo
con \textoPrimerSubtituloPortada.
Un segundo bloque de texto donde aparece Dirigida por el Doctor
\directorPortada.
seguido del director del trabajo que se establece con
El comando \textoSegundoSubtituloPortada permite establecer otro
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 \explicacionDobleCara.
3.2. Editando el texto 17

El ISBN del documento, en caso de poseerlo. Se dene con \isbn.

Informacin de copyright. Se puede indicar con \copyrightInfo, y lo


habitual ser pasar como parmetro el \autor.

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


crditos a TEXiS, donde se indica que el documento se ha generado
con TEXiS 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)


Segn la estructura de directorios vista en el captulo anterior, TEXiS te
recomienda crear los captulos en el directorio Capitulos y los apndices en
Apendices.
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


TEXiS 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


apndices), TEXiS proporciona un entorno nuevo, resumen, que lo hace por
nosotros:

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

El formato concreto est denido en el chero TeXiS/TeXiS.sty, por lo


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

3.2.3. Frases clebres


Como habrs podido comprobar leyendo este manual, TEXiS permite
adems escribir en cada captulo una frase clebre que es aadida inmedia-
tamente despus del ttulo del mismo, alineada a la derecha.

Para aadir la frase (que est formada por la cita en cuestin y su autor),
TEXiS dene un nuevo entorno FraseCelebre, dentro del cual se especican
cada una de ellas con otros dos entornos, Frase y Fuente:
1
Esto tambin se cumple para los apndices.
3.2. Editando el texto 19

\begin{FraseCelebre} Nadie espere que


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

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
algunas tareas adicionales. Naturalmente TEXiS 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 apa-
riencia 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 ter-
minan con dos secciones no numeradas, una de ellas con unas notas biblio-
grcas, 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, uti-
la versin estrellada del comando L E
lizar \section* para aadir una seccin sin nmero. El problema en nuestro
caso es que este comando no parece funcionar correctamente con el paque-
te fancyhdr. TEXiS 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 con-


guracin 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 \markright. Por
ejemplo:

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


Como puede verse, en el propio comando \section*, se incluye una lla-
mada a \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
2
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
una de estas secciones no numeradas es tedioso. Por ello TEXiS proporciona
una serie de comandos (denidos en el chero ./TeXiS/TeXiS_cab.tex) que
permiten aadir fcilmente cuatro tipos de secciones sin numerar. Las sec-
ciones son los siguientes (ver tabla 3.1):

2
Ponemos problema entre comillas porque normalmente se utiliza la versin con estrella
de los comandos section precisamente para evitar que una seccin aparezca en el ndice.
3.2. Editando el texto 21

Texto Comando para section Comando para ndice

Conclusiones \Conclusiones \TocConclusiones


En el prximo captulo. . . \ProximoCapitulo \TocProximoCapitulo
Notas bibliogrcas \NotasBibliograficas \TocNotasBibliograficas
Resumen \Resumen \TocResumen

Tabla 3.1: Secciones no numeradas soportadas por TEXiS

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 dis-


tinto 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 \section* y otro para aadir el ndice,
de forma que la denicin de, por ejemplo, la seccin de En el prximo
captulo... quedara:

%--------------------------------------------------------------
\section*{\ProximoCapitulo}
%--------------------------------------------------------------
\TocProximoCapitulo

Somos conscientes de que los dos comandos podran haberse unicado en


uno slo, como \SeccionProximoCapitulo y que l mismo hiciera todo el
\section*{...} as como el \addcontestline).
trabajo (es decir, pusiera el
Sin embargo, esta solucin no es compatible con la capacidad de los edi-
tores 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 uti-
lizar 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 co-
mando para aadirlo al ndice. Separndolo as, adems, permite al usuario
de TEXiS 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


Relacionado con las cabeceras de la seccin anterior, TEXiS 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, con-
guramos sus cabeceras para que en ambas pginas aparezca directamente
el ttulo del captulo (tambin sin nmero).

Para hacerlo, TEXiS dispone del comando \cabeceraEspecial, que recibe


como parmetro el nombre del captulo. De esta forma, el captulo de agra-
decimientos 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 23
E

No debes olvidar invocar el comando anterior al principio del captulo


sin numerar.

El comando anterior sobreescribe el funcionamiento normal de la cabe-


cera, 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 \newpage. TEXiS ya hace esto automticamente justo antes del
primer captulo (en Tesis.tex). Sin embargo, si incluyes algn cap-
tulo especial ms adelante en el documento, no debes olvidar restaurar
la cabecera.

3.3. Programando en LATEX


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  eje-
liza. 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 nues-
tro 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


Aprovechando esto, TEXiS 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 re-
lease y en modo debug (o de depuracin):

La conguracin en modo release est pensada para la versin deni-


tiva, por lo que genera un chero con la apariencia nal del documento.

La conguracin en modo debug puede verse como una versin bo-


rrador. 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 tran-
quilo 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


TEXiS 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:

3
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, \comp, que hace precisamente eso, permitir
aadir pequeos comentarios directamente en el propio prrafo (comp viene
de 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 de-


sarrolladores durante 24 meses, casi dos millones de dlares y unas 366.000
lneas de cdigo. (Comentario: 300.000 para el juego, y 66.000 de
scripts. )

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 nues-
tro cdigo fuente utilizando la palabra TODO4 .
El comando \todo encierra el texto entre llaves y lo antecede con la marca
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 obje-


tos en el primer curso de programacin (CS1) es benecioso para los alumnos
{ TODO TODO TODO: Meter referencias...}.
4
Que en realidad no tiene nada que ver con la palabra espaola, sino con las inglesas
 to do , que puede traducirse aqu a  por hacer .
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 ... benecioso para los alumnos .


alumnos \todo{Meter
referencias...}.

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,
\comp o \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.

Para evitarlo, TEXiS 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

5
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 27
E

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}

3.6. Editores de LATEX y compilacin


AT X(ver Fly-
Existen 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 utilizndo-
lo, viendo sus colores, pulsando sus botones, y activando sus teclas rpidas.

Evidentemente TEXiS 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 .
6
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 o 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
e incluye todos los dems). Por lo tanto, debes mirar de qu manera puedes
hacer que el chero que se enva a latex sea el documento maestro. Por
7
ejemplo, WinEdt permite crear proyectos donde se aaden cheros y se
especica cul es el documento maestro; cuando se pulsa el botn de com-

6
TEXiS tiene un chero Makefile para la compilacin en un nico paso, que es explicado
en el captulo 6.
7
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
modo, TEXiS est preparado para integrarse con l, en particular con el mo-
do AucTEX que permite una edicin cmoda de cheros TEX (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
AucTEX 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 embar-


go TEXiS 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 AucTEX, 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 sis-


temas 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 .
8

8
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
TEXiS 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 comercia-
9
les, 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
12 . Una vez que se tiene con-

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-


nore los cheros que son resultados de la generacin del chero nal (el PDF).
AT X genera numerosos cheros tempo-
Cuando se compila el documento, L E
rales (con extensiones como .aux o .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
plantilla no utilizamos CVS, TEXiS 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 .cvsignore ejecutando la
siguiente orden:

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 con-
guraciones posibles. La forma de hacerlo posible vino despus de inspec-

9
http://msdn.microsoft.com/ssafe/
10
http://www.perforce.com/
11
http://www.accurev.com/
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 TEX; basta con un poco de intuicin al ver un ejemplo de
\if.
No obstante, el lector interesado en aprender TEX a fondo puede encon-
trar diversos manuales, como  TEX 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
13 . Tambin se

puede consultar Knuth (1986) o Eijkhout (1991).

Con respecto a la utilizacin de control de versiones, dentro de las op-


ciones 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 des-
cripcin sencilla de cmo instalar una mquina servidora puede consultarse
Kalderon (2007) y Ziegenhagen (2007). En ste ltimo tambin aparece una
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 svn-multi, uno de los paquetes
con ms opciones disponibles para ello.

En el prximo captulo. . .
En este captulo hemos tratado los aspectos ms importantes desde el
punto de vista de la edicin de un documento realizado con TEXiS, descri-
AT X disponibles.
biendo los comandos L E
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
distinto. El captulo explica las distintas opciones que el usuario de TEXiS
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
i
de directorios que TEX S aconseja, as como los aspectos relacionados

con la diferencia entre los formatos esperados cuando se genera el do-

cumento nal con latex y 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 explica-


ciones detalladas es el hecho de que, como ya dijimos en las secciones 1.2
y 2.6, TEXiS te permite generar el documento utilizando tanto latex como
pdflatex.
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 .tex sino por los
1
recursos a los que stos hacen referencia . En concreto, si se utiliza latex,
las imgenes referenciadas con el comando \includegraphics se asume que
1
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 .eps, mientras que en cuanto se utiliza pdflatex, se admiten


.pdf, .png y .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 latex, se buscar el chero escudoUCM.eps en el di-


rectorio Imagenes/Vectorial, mientras que al generarlo con pdflatex, se
buscar el chero en ese mismo directorio, con el mismo nombre, pero con
extensin .pdf, .png o .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
TEXiS espera que se utilice.

4.2. Gestin de imgenes


Los cheros de imgenes pueden almacenarse donde el autor del docu-
mento desee; al aadir la referencia desde el .tex, deber simplemente indicar
la ruta correcta del archivo.

Sin embargo, TEXiS propone una estructura determinada que es la que


usa este documento. La estructura est elegida de tal forma que facili-
ta la solucin del problema de la generacin utilizando tanto latex como
pdflatex, por lo que aunque pueda parecer arbitraria, tiene cierto sentido.

La estructura que proponemos empieza con el directorio ./Imagenes,


donde aparecen los siguientes directorios:

./Vectorial: contiene los cheros correspondientes a imgenes vecto-


riales.

./Bitmap: contiene los cheros correspondientes a imgenes de mapas


de bits.

./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
captulos. Por ejemplo, TEXiS 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).

TEXiS incluye el comando \figura para facilitar la inclusin de imgenes.


En particular, el comando tiene cuatro parmetros: el nombre del chero (en
el que no hay que indicar el directorio ./Imagenes), los argumentos pasados
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 :


2

\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 figura~\ref{fig:todo} La gura 4.1 muestra. . .


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

2
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 .eps .eps
pdflatex .png | .jpg .pdf

Tabla 4.1: Formatos de imgenes para latex y pdflatex

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


utilizar el comando \figuraEx que recibe un parmetro ms con el ttulo
corto o lo que es lo mismo, con el texto alternativo que aparecer en el
ndice.

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 ima-


gen 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. Nor-


malmente 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 alterna-


tivas. 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 dupli-
cacin de los cheros, con los problemas de coherencia que eso puede
provocar.

Ninguna de las dos alternativas es ptima, por lo que TEXiS 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 gene-


rador
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, latex o
pdflatex , TEXiS desaconseja almacenar en disco cada imagen en los dos
formatos exigidos por ellas.

TEXiS est preparada para que se almacene en el directorio de las im-


genes nicamente las soportadas por pdflatex (es decir, cheros .pdf para
imgenes vectoriales y .png o .jpg para mapas de bits). Obviamente, si se
hace as, al utilizar latex para generar, dar error al no encontrar los cheros
de imgenes correspondientes. Y aqu es donde entra en accin el chero
Makefile incluido (que se explica ampliamente en el captulo 6) cuando se
ejecuta con el objetivo latex:

$ make latex

antes de invocar a latex, convierte todos los cheros .pdf que hay en el
directorio ./Imagenes/Vectorial a cheros .eps, y todos los .jpg y .png
de ./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
mencionbamos en la seccin 1.2, TEXiS 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 ./Imagenes/Vectorial aparezcan cheros .pdf y
en ./Imagenes/Bitmap se encuentren cheros con extensin .png o .jpg.
36 Captulo 4. Gestin de las imgenes

En el proceso de generacin cuando se utiliza latex, se convierten to-


dos esos cheros a .eps para que el programa encuentre las imgenes en el
formato que ste espera, por lo que en los directorios anteriores aparecern
cheros .eps generados automticamente.
TEXiS 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 im-


genes, y se duplican los cheros, guardando siempre tanto la copia leda
por latex como por pdflatex.

Se decide que las imgenes se guardarn siempre en .eps y se cambia


el Makefile para que, en caso de utilizar pdflatex las convierta al
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
principio del manual de lo que TEXiS no era. Decamos en la seccin 1.3
AT X, y lo seguimos manteniendo. Sin em-
que esto no era un manual de L E
bargo, en este apartado incumplimos momentneamente esa promesa para
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 \qquad
entre el cierre llaves de un \subfloat y el siguiente. Ese era el cometido del
\qquad que apareca en el ejemplo de las guras visto anteriormente.

Por otro lado, el \subfloat tiene dos parmetros, que se colocan entre
corchetes justo despus. En realidad ambos son opcionales. Podramos poner
directamente:

\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 \ref{etiqueta}, siendo
la etiqueta una denida mediante \label dentro del \subfloat. Se puede
entonces referenciar utilizando el comando \ref tradicional (que har que
aparezca la letra correspondiente junto con el nmero de gura), o el coman-
do \subref:

La figura~\ref{cap2:fig:pdf} La gura 2.1 tiene dos partes. La


tiene dos partes. La parte izquierda es la gura 2.1a y a
parte izquierda es la figura~ la derecha est la (b).
\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 \figure (lo que ser interpretado por LATEX como
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
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 bar- (b) Estudiante enfrente de Framauro


rio de clases

(c) Estudiante interactuando con la pila (d) Estudiante hablando con Javy
de operandos

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
En este captulo hemos descrito cmo se gestionan las imgenes en TEXiS
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 .
4

En el prximo captulo. . .
El prximo captulo pasa a describir algunos aspectos sobre la bibliogra-
fa. En concreto, veremos que TEXiS 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).

4
Disponible en ftp://tug.ctan.org/pub/tex-archive/macros/latex/contrib/
subfig/subfig.pdf.
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


i
utilizada en TEX S, y sobre la infraestructura para la creacin de una

lista de acrnimos.

5.1. Bibliografa
Para hacer la bibliografa del documento, TEXiS hace uso, como no poda
ser de otra forma, de BibTEX. Esto permite una generacin bastante sencilla
de la misma, utilizando las entradas @bibitem correspondientes. El chero
makefile 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 cons-


truccin de la bibliografa, e indica dnde cambiar los cheros .bib uti-
lizados.

Por otro lado, para aadir en el texto las referencias, TEXiS (y este ma-
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 nom-


bre del autor y el ao de la publicacin en el propio texto. La seccin 5.1.2
explica brevemente las capacidades del paquete.

TEXiS 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


El chero responsable de la generacin de la bibliografa en TEXiS es
Cascaras/bibliografia.tex. 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 @bibitem que se referencian en el
texto. Para hacerlo, se utiliza el comando \setBibFiles:

\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), re-
AT X (latex.bib) y referencias varias que no
ferencias relacionadas con L E
entran en ninguna de las dos anteriores (otros.bib).

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 y

1
El paquete es incluido por TEXiS en TeXiS/TeXiS_pream.tex.
5.1. Bibliografa 43

Comando Resultado

\citet{key} Jones et al. (1990)


\citet*{key} Jones, Baker y Smith (1990)
\citep{key} (Jones et al., 1990)
\citep*{key} (Jones, Baker y Smith, 1990)
\citep[cap. 2]{key} (Jones et al., 1990, cap. 2)
\citep[e.g.][]{key} (e.g. Jones et al., 1990)
\citep[e.g.][p. 32]{key} (e.g. Jones et al., p. 32)
\citeauthor{key} Jones et al.
\citeauthor*{key} Jones, Baker y Smith
\citeyear{key} 1990

Tabla 5.1: Distintas opciones de referencias con natbib

\citep. El primero est pensado para hacer referencias en el propio texto y


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 di-
rectamente de la documentacin del paquete y asume que existe un @bibitem
con nombre key que describe una referencia escrita por los autores Jones,
Baker y Smith en 1990. Notar que el resultado contiene la conjuncin es-
paola y en vez de la inglesa and para separar el ltimo autor.

5.1.3. Modicaciones en los @bibitem


En TEXiS 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 BibTEX,


macros) para una editorial y dos series muy utilizadas en nuestra rea,
Springer-Verlag (SV), Lecture Notes in Computer Science (LNCS) y Lec-
ture 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 BibTEX, y que permiten indicar la pgina Web
en la que se puede encontrar la referencia.

En concreto, admitimos un nuevo campo, webpage que permite indicar


una pgina Web, y un campo lastaccess permite indicar la fecha del ltimo
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 (Collins-


Sussman 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 \url para su correcta divisin en lneas) y entre parntesis
incluye la fecha del ltimo acceso. El aspecto nal de la referencia del libro
anterior es:

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).

Tambin hemos aadido un nuevo tipo de entrada para referenciar artcu-


los 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
AT X de la Wikipedia (Wikipedia,
en TEXiS. Por ejemplo, la entrada de L 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 http://es.wikipedia.


org/wiki/LaTeX (ltimo acceso, Mayo, 2009).

5.1.4. Cambio del estilo de la bibliografa


El estilo de las referencias de TEXiS est denido en TeXiS/TeXiS.bst,
que se incluye en la parte nal del chero 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


2
el texto con el nmero entre parntesis . Ten en cuenta, no obstante, que
en ese caso el resultado de los comandos \citep y citet es el mismo, por
lo que puede que necesites reescribir algunas frsaes; adems, \citeyear y
\citeauthor 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.

2
[round]
Si quieres que queden entre corchetes ('[', ']'), debes quitar el que aparece en
la inclusin del paquete natbib en el chero TeXiS/TeXiS_pream.tex.
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 pro-


porcionado por TEXiS. 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 descri-
nuestra promesa de no explicar aqu aspectos concretos de L E
biremos en la siguiente seccin el funcionamiento del paquete GlossTEX, que
se encarga de la gestin de acrnimos. Despus, nos centraremos en el modo
en el que TEXiS integra su uso.

5.2.1. Acrnimos con glosstex


Al igual que ocurre con la bibliografa, el uso de acrnimos en el docu-
mento 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 .gdf
(Glossary Data File ), que son conceptualmente similares a los cheros .bib
5.2. Acrnimos 47

usados por BibTEX. 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 @entry, que tiene tres


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 ante-


riores (se ha dejado en blanco). Es necesaria nicamente si el acrnimo
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 GlossTEX para referirse a ellos, algo concep-
tualmente similar al uso de \cite respecto a la bibliografa. A continuacin
3
se muestran los comandos disponibles , y su resultado en el documento nal:

\acs{CVS} (short ): CVS

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


siones

\acf{CVS} (full ): CVS (Control Version System, Sistema de Control


de Versiones)

\ac{CVS}: es la ms interesante de todas. Funciona como \acf la pri-


mera vez que aparece en el texto, y como \acs 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 ver-
sin corta con la larga, que coloca entre parntesis. No obstante, el comando

3
Para poder usarlos, ser necesario haber includo el paquete glosstex en el prembulo
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
4
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 \ac. AT X incluir la des-
L E
cripcin completa la primera vez, y dejar nicamente el acrnimo todas las
dems.

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
2

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


AT X del acrnimo es en realidad
correctamente, el cdigo L E PC$^2$, por lo
que tendramos que referirnos a l como \ac{PC$^2$}. 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, GlossTEX har uso de l para mostrar
el acrnimo, y utilizar el primero slo como identicador. Ahora, para
referirnos a l bastar con un \ac{PC2} que, la primera vez que se usa,
se convierte en un PC
2 (Programming Contest Control ), y las siguientes en

un ms corto PC .
2

Aparte de la ayuda proporcionada por GlossTEX 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:

\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 o pdflatex). El proceso completo es el siguiente:

4
El uso manual de acf no hace que GlossTEX considere que el acrnimo ya se ha
presentado, por lo que si se utiliza primero acf y ms adelante ac, aparecer de nuevo
la versin completa.
5.2. Acrnimos 49

1. El uso de comandos \ac? genera la inclusin de anotaciones dentro de


los cheros .aux generados al compilar los .tex.
2. Al igual que se hace con la aplicacin bibtex para la bibliografa, en
este caso usamos el programa glosstex5 que los recorre y genera un
nuevo chero con extensin .gxs con informacin sobre las entradas
referenciadas, y un .gxg con informacin de registro (log ).

3. El chero .gxs debe volverse a procesar usando otro programa, en este


caso makeindex, que ordena alfabticamente las entradas utilizadas, y
les aplica un formato concreto. Este proceso genera un nuevo chero,
con extensin .glx, que, nalmente, contiene todo correcto.

AT X
4. El chero anterior es utilizado por el comando L E printglosstex
que debe ser includo dentro de algn chero .tex del documento, y
que es conceptualmente similar al \bibliography{ficheros} usado
para BibTEX.

Todo esto complica el proceso de construccin del documento, que ahora


requiere pasos adicionales :
6

$ 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 for-
mato 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, sino tambin de las aplicaciones
glosstex y makeindex. 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
Este programa deber estar instalado en el sistema en el que se est generando el
documento.
6
Como siempre, tambin es vlido el uso de latex en lugar de pdflatex, pero el chero
generado (.dvi) deber despus ser convertido a PDF.
50 Captulo 5. Bibliografa y acrnimos

5.2.2. Acrnimos en TEXiS


Afortunadamente, al utilizar TEXiS prcticamente de lo nico que hay
que preocuparse es de crear la base de datos de acrnimos y de hacer uso
del comando \ac cuando corresponda. El resto de tareas son gestionadas
7
automticamente .

Para dar soporte al uso de acrnimos, TEXiS 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 acrn-
imos. De manera predenida, este captulo se aadir al documento
unicamente en modo release (consulta la seccin 3.4 para ms infor-
macin). 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 acrn-


imos que se usen. Hace las veces de base de datos de acrnimos. Sien-
do realistas, los cheros .tex de TEXiS 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 GlossTEX la que recibir
el nombre en concreto. Sin embargo, TEXiS 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 acrni-


mos como un captulo ms, tampoco se aaden las descripciones largas de
los acrnimos. Es decir, si se utiliza en algn lugar del documento las r-
denes de GlossTEX mencionadas previamente (\ac, \acl, etctera), stas
se puentearn de modo que en el documento nal tan slo aparecer la
propia etiqueta. Por ejemplo, ante \acl{CVS}, en lugar de aparecer  Control
Version System, Sistema de Control de Versiones se mostrar nicamente
CVS.

Dado que no todos los documentos harn uso de acrnimos, y que, des-
pus de todo, generarlos supone un esfuerzo en la fase de compilacin no
8
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 config.tex (el mismo en el que se escoga
qu versin se quera compilar) y comentar la linea siguiente:

7
Salvo, naturalmente, la instalacin de las propias aplicaciones glosstex y makeindex
que deber haber realizado el usuario.
8
Este esfuerzo es real tan slo si no se hace uso del Makefile proporcionado por TEXiS.
5.2. Acrnimos 51

\def\acronimosEnRelease{1}

Si se comenta, TEXiS 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 GlossTEX se puentearn tambin .
9

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
10 . Si se est generando

el documento haciendo uso de la infraestructura proporcionada por TEXiS


a travs de su Makefile (descrita en el captulo siguiente), bastar con un
sencillo:

make clean

5.2.3. Ms all de TEXiS


El nombre GlossTEX 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


de que quisieramos mantener un glosario de palabras. TEXiS no proporciona
soporte para esto, por lo que si lo quieres utilizar, tendrs que aadir la
infraestructura necesaria por tu cuenta.

9
Aunque en este caso no debera ser un problema porque si no se quieren los acrnimos
en la versin nal ser porque no se han usado.
10
Las razones que ocasionan esto quedan explicadas en la seccin 6.3.2.
52 Captulo 5. Bibliografa y acrnimos

Notas bibliogrcas
Existen numerosas publicaciones relacionadas con BibTeX; para una des-
cripcin de los tipos de entradas que se soportan, etc., se puede consul-
tar 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-
biar el estilo utilizado (es decir, lo que hemos hecho en TEXiS para aadir el
@lastaccess o ajustar las cadenas que aparecen). Por ejemplo, una descrip-
cin en espaol es Lpez (2006). Tambin se puede consultar Mittelbach et
al. (2004) o Patashnik (1988b).

Respecto a GlossTEX, la fuente principal de informacin es la disponible


http://www.ctan.
en el catlogo de paquetes de TEX. Puedes encontrarla en
org/tex-archive/help/Catalogue/entries/glosstex.html.

En el prximo captulo. . .
Con este captulo terminan los captulos ms importantes del manual,
donde se ha contado lo que se debe saber para utilizar TEXiS. 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 utili-
cen); 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 docu-
mento nal requiere varias etapas, algo que es de hecho inherente al propio
AT X (o Pdf LAT X). En la seccin 2.6 vimos que era necesario la invocacin
L E E
a pdflatex tres veces, junto con el uso de bibtex. En la seccin 5.2.1 se
aadi la necesidad de invocar a glosstex y a makeindex para aadir 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 make una de las ms extendidas. TEXiS
proporciona un chero Makefile para ser utilizado con ella, y simplicar la
generacin del documento, as como otras labores rutinarias. Dado que la in-
fraestructura make no est disponible nativamente en plataformas Windows,
slo podr utilizarse sobre GNU/Linux y otras variantes de Unix . Incluso
1

aunque se utilizara nmake, una herramienta similar a make proporcionada

1
Windows dispone de Cygwin que proporciona muchas de las herramientas habituales
en Unix. No hemos probado TEX S sobre l; si lo haces, no dudes en contarnos la expe-
i

riencia!

53
54 Captulo 6. Makele

con Visual Studio, el Makefile de TEXiS 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 in-
cluyen objetivos para, por ejemplo, borrar los cheros intermedios, o instalar
el programa recin compilado.

El Makefile de TEXiS 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 correcta-
mente las referencias.

latex: AT X, y convierte el
genera el documento utilizando L E .dvi re-
sultante en .pdf. Tiene en cuenta las necesidades en cuanto al formato
de las imgenes descritas en la seccin 4.4, por lo que se convierten
automticamente a formato .eps.
imagenes: se encarga de convertir las imgenes (tanto vectoriales co-
mo de mapas de bits) a formato .eps. Normalmente este objetivo no
necesitar ser lanzado manualmente nunca; el objetivo latex anterior
lo hace por nosotros.

imagenesvectoriales e 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 BibTEX ni a GlossTEX.
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 infor-
macin previa. Es, de hecho, necesario lanzarlo cuando se compila el
documento con la lista de acrnimos por primera vez (o cuando de-
ja 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 ob-
jetivo borra tambin los cheros .eps, por lo que si has modicado
el modelo de gestin de imgenes (para que los originales sean .eps
que se convierten a .pdf AT X, consulta la seccin 6.3.1
si se usa Pdf L E
para ms informacin) entonces tendrs que modicar tambin este
objetivo.

distclean: .pdf
similar a la anterior, pero tambin borra el chero
generado, y los cheros de copia de seguridad de los .tex creados por
los editores de texto ms habituales (con extensiones .tex~ y .backup).

crearZip: genera el documento (con Pdf LATEX) y crea un chero .zip


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.

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 directo-


rio (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 o help: muestra una descripcin de todos los objetivos anterio-


res.

En el da a da, los ms tiles son pdflatex, fast y clean. Para invocar


a cualquiera de ellos en un entorno GNU/Linux donde make est disponible
bastar con:

$ 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 Makefile) no es
necesario especicar nada:
56 Captulo 6. Makele

$ make
pdflatex Tesis
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
[...]

AT X, segu-
Si decides que tu herramienta de generacin por defecto sea L E
ramente quieras colocar el objetivo latex delante para convertirlo en el que
se ejecute por defecto.

6.3. Funcionamiento interno


En principio, el chero Makefile debera funcionar por s solo si se siguen
los convenios de TEXiS 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


En el captulo 4 se mencionaba que TEXiS es capaz de independizarse de
AT X y LAT 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 Makefile al que
se reere este captulo.
AT X, T XiS asume
Dado que nosotros hacemos normalmente uso de Pdf L E E
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 pdflatex
soporta de manera nativa.

En concreto, el Makefile asume que las imgenes se proporcionan en


formato .pdf para el caso de las vectoriales, y en formato .jpg o .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 Makefile
no necesitar realizar ningn tipo de transformacin de imgenes en el ob-
jetivo por defecto pdflatex.
AT X, la situacin es ms compli-
En el caso de que se desee utilizar L E
cada. El Makefile tendr que buscar las imgenes (tanto vectoriales como
de mapas de bits) y convertirlas a .eps. De eso se encargan los objetivos
imagenesbitmap y imagenesvectoriales respectivamente.
Ambos se apoyan en el convenio de directorios propuesto por TEXiS,
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

subdirectorio dentro por captulo . El


2
Makefile encadena una serie de invo-
caciones a otros Makefile y algunas llamadas a scripts del shell (bash) para
realizar la conversin. En ltima instancia, el responsable de dicha conver-
sin es un script llamado update-eps.sh, del que, en realidad, existen dos
versiones, uno dentro de 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 es-
tar 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 o .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 .eps como cheros generados, por
lo que son eliminados por el objetivo clean, y se anima a que se congure
el control de versiones (CVS, SVN, etctera) para que los ignore.

AT X a Pdf LAT X, entonces resultar ms


Si por alguna razn se preere L E E
cmodo utilizar el formato .eps como predenido, de manera que a partir de
las imgenes originales (creadas con cualquier programa de dibujo) se generen
los .eps en lugar de los .pdf mencionados antes. Si, adems, se quiere man-
tener la posibilidad de generar el documento con pdflatex (aunque sea a
costa de trabajar ms convirtiendo las imgenes), deber adaptarse la in-
fraestructura de generacin en varios puntos:

Modicar los cheros update-eps.sh que se encuentran en los directo-


rios 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 instala-
do). Una ventaja extra es que ambas versiones de update-eps.sh sern
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 al-


go como update-pdf.sh, en cuyo caso habr que ajustar los scripts
updateAll.sh para modicar su invocacin.

Modicar el chero Makefile principal (en el directorio raz de TEXiS)


en varios puntos:

2
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 updateAll.sh dentro de
Imagenes/Vectorial o Imagenes/Bitmap para ver los detalles.
58 Captulo 6. Makele

Poner como objetivo por defecto a latex en lugar de a pdflatex.


Esto es una mera cuestin de comodidad, y para llevarlo a cabo
basta colocar en primer lugar el objetivo de latex.
Renombrar fast a fastpdflatex y fastlatex a fast. De nuevo,
esto es una cuestin de comodidad.

Modicar el guin (script )cleanAll.sh situado tanto en el directorio


Imagenes/Vectorial como en Imagenes/Bitmap. Ambos son invoca-
dos durante la ejecucin del objetivo clean del Makefile principal.
En la versin inicial de TEXiS, se borran los cheros .eps, dado que
AT X, hay que conservarlos,
son producto de la compilacin. Al usar L E
y borrar los cheros .pdf generados en los directorios de las imgenes.

Modicar el chero .cvsignore o el equivalente en el sistema de control


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

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 GlossTEX.
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 .glx con
la descripcin de aqullos que se usaron. En la siguiente compilacin del
documento, el comando \printglosstex se encargar de recoger el contenido
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 \printglosstex
no se quejar si el chero no existe. Por desgracia, s generar un error si
existe pero est vaco.

Cuando en TEXiS el uso de acrnimos est desactivado (lo que ocurre en


la generacin de depuracin), los comandos de GlossTEX como \acs, \acl
etctera se puentean y no se tienen en cuenta, por lo que en los cheros in-
termedios no se informar del uso de ningn acrnimo. Sin embargo, durante
el proceso de compilacin del documento, el Makefile insistir en realizar
los pasos necesarios para la generacin de acrnimos (es decir, invocar al
ejecutableglosstex 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 \printglosstex fallar. Afortunadamente, TEXiS no aade di-


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 com-


pilacin release ), TEXiS comienza a incluir el comando. En la primera com-
pilacin del documento, por tanto, \printglosstex se encontrar que el
chero .glx est vaco (de la compilacin en debug anterior), y fallar. Para
solucionarlo, basta en realidad con eliminar dicho chero; sin embargo, re-
sulta mucho ms fcil de recordar (y por tanto prctico) limitarse a realizar
un make clean que borra, entre otros, el .glx 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 LAT 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
AT X fallar al no comprenderlos. De nuevo, para
GlossTEX, por lo que L E
solucionar este problema es suciente con borrar los cheros .aux generados
en la compilacin anterior; sin embargo resulta mucho ms simple realizar un
make clean con la infraestructura de generacin proporcionada por TEXiS.

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 in-
formacin de la necesaria para comprender el Makefile proporcionado con
TEXiS. 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
Ya indicamos en la seccin 3.6 (pgina 27) que TEXiS est preparada
para integrarse bien con emacs, en particular con el modo AucTEX.

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 princi-


pio (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 AucTEX 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


A
introdujo a nosotros en el modo AucTEX,  Creacin de cheros L TEX con
GNU Emacs  (Lpez, 2004).

A.2. Encuadernacin
Si has mirado con un poco de atencin este manual, habrs visto que los
mrgenes que tiene son bastante grandes. TEXiS no congura los mrgenes
a unos valores concretos sino que, directamente, utiliza los que se establecen
por defecto en la clase book AT X.
de L E
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 aque-
llo 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.

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
incluidos TEXiS 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 inte-
gracin 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 inte-
gracin 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.

Esa misma idea la hemos utilizado en la elaboracin de TEXiS 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 ver-


siones 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 (b) Mtricas del proyecto


generado

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. TEX for the Impatient . Addison Wesley Publishing


Company, 1990.

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


Descripcin de ATEX 2 .
L 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).

Eijkhout, V. TEX by Topic, a TEXnician's Reference . Addison-Wesley,


1991.

A
Flynn, P. A beginner's introduction to typesetting with L TEX . The Com-
prehensive TeX Archive Network, 2005.

Fowler, M. Continuous integration. 2006. Disponible en http://


martinfowler.com/articles/continuousIntegration.html (ltimo ac-
ceso, Octubre, 2009).

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


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. A
L TEX and Subversion. The PracTEX Journal, vol.
2007(3), 2007.

Knuth, D. E. The TEX 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 elec-


Creacin de cheros L E
trnica, 2004. Disponible en http: // ctan. org/ get/ info/ spanish/
guia-atx/ guia-atx. pdf (ltimo acceso, Octubre, 2009).

Lpez, J. A. Gua casi completa de BibTeX. Versin elec-


trnica, 2006. Disponible en ftp: // ftp. ctan. org/ tex-archive/
info/ spanish/ guia-bibtex/ guia-bibtex. pdf (ltimo acceso, Oc-
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 acce-
so, 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).

Scharrer, M. A
Version control of L TEX documents with svn-multi. The
PracTEX Journal, vol. 2007(3), 2007.

Stallman, R. M. GNU Emacs Manual for Version 22, 16th Edition.


Free Software Foundation, 2007. Disponible en http: // www. gnu. org/
software/ emacs/ manual/ emacs. pdf (ltimo acceso, Octubre, 2009).
Bibliografa 67

ThoughtWorks, I. Cruise control. 2001. Disponible en http:


// cruisecontrol. sourceforge. net/ index. html (ltimo acceso, Oc-
tubre, 2009).

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

Wikipedia (LaTeX). Entrada:  LaTeX. Disponible en http: // es.


wikipedia. org/ wiki/ LaTeX (ltimo acceso, Octubre, 2009).

Ziegenhagen, U. A
L TEX document management with Subversion. The
PracTEX 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

2
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

También podría gustarte