Professional Documents
Culture Documents
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
Departamento de Ingeniera del Software e Inteligencia Articial Facultad de Informtica Universidad Complutense de Madrid Noviembre 2009
ISBN 978-84-692-7109-4
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. 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
guionado.tex
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}.
Agradecimientos
Bautista, autor de la traduccin al espaol. De ellos es, entre otras muchas cosas, el entorno
example
Tambin estamos en deuda con Joaqun Ataz Lpez, autor del libro
\emph
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
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
Tambin se explican algunas de las caractersticas, como por ejemplo ciertos comandos que facilitan la escritura de los documentos.
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
o de un conjunto de cheros sin apenas contenido que rellenars. Aconsejamos esta ltima aproximacin por ser ms cmoda. Sin embargo, hacemos disponible los cheros
.tex
Para facilitar las cosas, hemos intentado que su estructura sea parecida a la de una posible tesis. De esta forma el cdigo fuente del propio manual puede servir como punto de partida para la escritura de este tipo de documentos. Como podrs comprobar, en algn momento nos ha sido difcil justicar la existencia de ciertos elementos pues no eran realmente relevantes para
Los expertos en lgica seguro que tendran algo que decir al respecto...
xi
xii
Resumen
el manual. En esos casos, piensa que estn ah no porque sean importantes desde el punto de vista de este documento, sino porque muy posiblemente
i estaran en el tipo de textos para los que T EX S es til. i Al estar compuesto por varios tipos de cheros, T EX S se rige por varias
licencias:
TeXiS)
se
Los cheros
Makefile
y scripts de apoyo a la
ndice
Agradecimientos Resumen 1. Introduccin
1.1. 1.2. 1.3. 1.4. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i Qu es T EX S . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix xi
1
1 3 4 4 5 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Qu no es
Estructura de captulos . . . . . . . . . . . . . . . . . . . . . .
2. Estructura y generacin
2.1. 2.2. 2.3. 2.4. 2.5. 2.6. Estructura de directorios . . . . . . . . . . . . . . . . . . . . . Ficheros con el texto principal del documento . . . . . . . . . Ficheros del documento auxiliares . . . . . . . . . . . . . . . . Directorio raiz . . . . . . . . . . . . . . . . . . . . . . . . . . . Ficheros de la plantilla . . . . . . . . . . . . . . . . . . . . . . Generando el documento . . . . . . . . . . . . . . . . . . . . .
7
7 8 9 10 11 13 14 14
3. Proceso de edicin
3.1. 3.2. Empezando a escribir . . . . . . . . . . . . . . . . . . . . . . . Editando el texto . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1. 3.2.2. 3.2.3. 3.2.4. 3.2.5. 3.3. 3.4. Nuevos captulos (y apndices) Resumen del captulo Frases clebres . . . . . . . . . . . . .
15
15 17 17 18 18 19 22 23 23
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
AT X . . . . . . . . . . . . . . . . . . . . . . Programando en L E
Modos de generacin del documento . . . . . . . . . . . . . .
xiii
xiv
ndice
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24 25 25 26 27 28 29 30
Acelerando la compilacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
31
31 32 34 35 35 36 40 40
5. Bibliografa y acrnimos
5.1. Bibliografa 5.1.1. 5.1.2. 5.1.3. 5.1.4. 5.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ficheros involucrados . . . . . . . . . . . . . . . . . . . Referencias con Modicaciones
41
41 42 42 43 45 46 46 50 51 52 52 . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
6. Makele
6.1. 6.2. 6.3. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos del
53
53 54 56 56 58 59
Makefile
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Notas bibliogrcas . . . . . . . . . . . . . . . . . . . . . . . . . . .
A. As se hizo...
A.1. Edicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
61
ndice
xv
62 62
65 68
ndice de guras
2.1. 3.1. 4.1. 4.2. 5.1. Capturas del visor de PDF . . . . . . . . . . . . . . . . . . . . Resaltado de secciones en emacs . . . . . . . . . . . . . . . . . Figura utilizada para marcar una imagen por hacer. Ejemplo de uso de . . . . . 13 22 33 39 46 63 64
subfloat.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
xvii
ndice de Tablas
3.1. 4.1. 5.1.
i Secciones no numeradas soportadas por T EX S . . . . . . . . .
21 34 43
latex
pdflatex natbib
. . . . . . . .
. . . . . . . . . .
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
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
Captulo 1. Introduccin
con la ltima. Pero te asaltan muchas preguntas. Cmo organizo todo esto? o cmo hago la portada? o incluso qu hago para que no ponga Chapter, sino Captulo?. En ese punto, es de suponer, has pedido ayuda a la gente de alrededor y/o a tu buscador de Internet favorito. Y de alguna forma, te has encontrado leyendo estas lneas. Tenemos que decir que exactamente esa fue nuestra situacin cuando por n nos decidimos a escribir nuestras tesis. Desgraciadamente, ni la gente que tenamos alrededor ni nuestro buscador favorito supieron contestarnos de forma satisfactoria, por lo que tuvimos que invertir mucho tiempo hasta conseguir que el resultado que sala de nuestros disponibles y con el modo de compilacin. Y para que nadie ms pueda utilizar como excusa el no saber cmo personalizar la clase
.tex
que nos sentimos cmodos con la estructura de los cheros, con las macros
.tex
AT X), ser lo que ests leyendo. Este manual leyendo directamente el cdigo L E
i ha sido creado con la propia plantilla. Por lo tanto, la distribucin de T EX S
es en realidad el cdigo fuente de su propio manual. Con su cdigo fuente entre tus manos, lo nico que tienes que hacer es borrar su contenido (este
texto ), y rellenarlo con tu gran contribucin al mundo. Como podrs comprobar, la estructura del propio manual sigue el esquema de lo que podra ser una tesis, trabajo de investigacin o proyecto de n de carrera, precisamente para que sea fcil quitar el contenido textual y sustituirlo por el nuevo. En los captulos que siguen encontrars toda la informacin necesaria
AT X para crear tus propios documentos. para poder utilizar los cheros L E
Adems, el propio cdigo fuente est lleno de comentarios (especialmente en
i 1.2. Qu es T EX S
los cheros que denen el estilo), por lo que tambin en ellos encontrars una buena fuente de informacin. Eso es especialmente importante en caso de que quieras modicar en algo el aspecto nal de tu documento. Esperemos que te sea de utilidad. Si es as, nos gustara que lo reconocieras en la seccin de agradecimientos. Si durante tu proceso de escritura has aadido algn aspecto que crees que puede ser interesante para otros, no dudes en decrnoslo para intentar incluirlo en siguientes versiones de la propia plantilla; tampoco dudes en enviarnos sugerencias sobre las explicaciones de este manual para poder mejorarlo con el tiempo. Por ltimo, tambin puedes enviarnos el resultado nal para poner una referencia a l en la pgina de descarga, donde, por cierto, puedes ver otros documentos creados con la plantilla, lo que te permitir coger ideas de cosas que puedes
i variar. Recuerda que la versin ms reciente de T EX S est disponible en
http://gaia.fdi.ucm.es/projects/texis/.
1.2. Qu es TEXiS
La plantilla que tienes entre las manos es, como hemos dicho, el esqueleto del cdigo fuente de las Tesis Doctorales de los dos autores (Gmez-Martn, 2008a,b). Por tanto, sirve para escribir otras Tesis Doctorales u otros documentos con estructura similar de forma fcil.
i T EX S te permite adems generar el chero utilizando tanto el comando
latex
cheros
ps
pdf),
como
pdflatex.
dvi
1
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
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.
latex.
pdflatex
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, puedes encontrar muchos y muy buenos en Internet. un manual de L E AT X. Si miras el cdigo fuente La plantilla tampoco es una clase de L E
podrs comprobar que el documento comienza con por lo que se basa en la clase
book.
\documentclass{book}2 ,
La plantilla tampoco te ayudar a gestionar tu bibliografa. Los herramienta diseada para ello.
.bib
los tendrs que crear y organizar t ya sea de forma manual o con alguna
AT X estn resueltos aqu, pues sendas Tesis han sido los como usuarios de L E
documentos ms extensos que hemos escrito.
Personalizado, eso s, para que utilice DIN A-4, a doble cara y con letra de 11 puntos.
Notas bibliogrcas
nosotros nos lo parecieron). Este captulo se centra en la explicacin de esos comandos. El captulo 4 pasa a describir cmo se estructuran las imgenes en
i T EX S. Igual que antes, esto puede parecer superuo a un usuario medio
tructura. Es el usuario el ltimo que decide si utiliza esos comandos (y por lo tanto esa estructura) u opta por otra completamente distinta. El captulo 5 aborda la bibliografa y la gesin de los acrnimos. Como
i se ver, T EX S dispone de algunas opciones de personalizacin que
merecen un pequeo captulo. El captulo 6 pone n al manual, detallando las opciones del chero
Makefile
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
Notas bibliogrcas
El libro por el que la mayora de la gente empieza sus andaduras con
En el prximo captulo. . .
i Una vez hecha una descripcin de T EX S, el prximo captulo describe los
cheros que componen tanto la plantilla como el manual que ests leyendo. Tambin se explicar cmo se puede generar o compilar el manual a partir de los
de entender la estructura de directorios propuesta y dnde se encuentran los cheros que hay que editar para cambiar el contenido del documento nal.
Captulo 1. Introduccin
No obstante, el captulo siguiente debe verse nicamente como una primera aproximacin. El captulo 3 da ms detalles sobre el proceso de edicin del documento, y el captulo 6 dar una alternativa al modo de compilacin explicado.
Captulo 2
Estructura y generacin
La mejor estructura no garantizar los resultados ni el rendimiento. Pero la estructura equivocada es una garanta de fracaso.
Peter Drucker
Directorio raz
(o
pdflatex
torio otros cheros que si bien no generan texto en el documento nal cumplen ciertas funciones especcas descritas en la seccin 2.4. Por ltimo, el directorio contiene tambin los cheros la aplicacin
make.
7
contiene los
resto de pginas del documento: el texto de la portada, agradecimientos, resumen, etc. En denitiva son los cheros responsables de todo aquello que precede a los captulos y sigue a los apndices.
Directorio ./Imagenes
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
plantilla, es decir, los cheros que denen la apariencia nal del documento, as como los comandos que facilitan la edicin que sern descritos en el captulo 3. La creacin de un documento que se adhiere
i completamente al formato de T EX S no necesitar tocar ninguno de los
Directorio ./VersionesPrevias
Makefile
cuando se realiza una copia de seguridad del estado del documento. Describiremos esta caracterstica en el captulo 6.
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.
.tex
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.
cover.tex:
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:
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:
familia y amigos van a leer de la Tesis: los agradecimientos. As que piensa bien lo que pones, no olvides a nadie . Es importante que no borres la lnea que aparece justo despus del
\chapter, \cabeceraEspecial{Agradecimientos}
ya que lo que hace es modicar la cabecera de la pgina para que no aparezca con el mismo formato que en los captulos. Puedes consultar la seccin 3.2.5 para obtener ms detalles sobre esto.
1 2
maestro,
Tesis.tex.
:-)
10
bibliografia.tex: en l se congura la bibliografa del documento. En concreto, el chero permite indicar tanto qu cheros .bib contienen
las entradas bibliogrcas como una frase clebre (seguramente, ya
i habrs notado que T EX S permite iniciar los captulos con una frase
clebre), caracterstica descrita con ms detalle en la seccin 3.2.3. El captulo 5 hace una descripcin ms detallada del tipo de bibliografa que propone utilizar la plantilla (y que utiliza este manual).
fin.tex:
ltima pgina parecida a la dedicatoria con un par de frases clebres. El cdigo T EX responsable se encuentra en este chero.
Existen otros dos cheros que no aparecen en este directorio pero que generan pginas en el documento nal. Son del directorio
TeXiS,
TeXiS_toc.tex y TeXiS_acron.tex
.tex
ninguna pgina del documento. Uno de ellos, seccin 3.4. Los otros dos son:
guionado.tex:
11
constantes.tex:
aparezcan a menudo en el texto. Por ejemplo, si se hace un documento sobre Cruise Control (ThoughtWorks, 2001), para evitar tener que escribir contnuamente las dos palabras, es buena idea incluir una constante en el chero que cree un comando para hacerlo ms rpidamente:
\titulo
que contiene el
\texis\ te permite generar el fichero final tanto como .dvi como en un .pdf.
Por ltimo indicar que en el directorio raz aparecen los cheros con extensin acrnimos (ver captulo 5) as como el chero automtica del documento nal (captulo 6).
.bib que contienen la informacin bibliogrca y los .gdf para los Makefile para la generacin
TeXiS
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.sty:
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
12
TeXiS.bst:
lista de las referencias bibliogrcas al nal del documento. Las posibilidades de este estilo son descritas en el captulo 5.
TeXiS_pream.tex:
\begin{document}).
En l aparecen incluidos un buen nmero de paquetes que pueden ser tiles en la elaboracin del documento, junto con una explicacin de para qu sirven y, en algunas ocasiones, algunos ejemplos de uso. Existen incluso ciertos paquetes cuya inclusin aparece comentada pero que se mantienen, junto con su comentario correspondiente, por si pueden venir bien para documentos concretos que necesiten ciertas caractersticas que ni este manual ni nuestras tesis requirieron.
TeXiS_cover.tex:
sin el escudo.
hoja siguiente a la misma, que vuelve a tener los mismos datos pero
TeXiS_dedic.tex:
dedicatorias.
TeXiS_toc.tex:
TeXiS_bib.tex:
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:
acrnimos o abreviaturas utilizadas en el texto. En este chero se incluyen los comandos necesarios para que aparezca esta lista. No obstante, para que la lista funcione, en el momento de la generacin se debe invocar a la herramienta correspondiente para que se creen los cheros auxiliares necesarios para su generacin. En la descripcin sobre la generacin dada en la seccin 2.6 no se describe este proceso, por lo que el resultado contendr una lista de acrnimos vaca. El uso de acrnimos se describe con detalle en la seccin 5.2.
13
mento
3 tanto con
latex
como
pdflatex.
de editores de texto especcos (como Kile o WinEdt), es posible que no sepas de qu estamos hablando. Tanto ciones que cogen un chero
latex como pdflatex son dos aplica.tex como entrada y generan el documento nal .dvi4 ,
mientras que en el
renderizado. La diferencia entre ambas radica en el chero de salida que generan. En el primer caso, se genera un chero utilizado segundo caso se genera un chero PDF directamente. Tradicionalmente se ha
latex, convirtiendo despus el chero .dvi al formato deseado (como .ps o .pdf). Sin embargo, en nuestro caso, aconsejamos la utilizacin de pdflatex, debido a que, al generar de forma nativa cheros PDF, aprovecha
i algunas de las caractersticas disponibles en los mismos. En particular, T EX S
macin de copyright al chero, as como enlaces a cada uno de los captulos y secciones del documento, permitiendo una navegacin rpida por el mismo cuando se utilizan visores (gura 2.1). La plantilla incluye un chero del chero nal
Makefile
alternativas. No obstante, en este apartado no entraremos en los detalles de este chero, ya que existe un captulo dedicado enteramente a l (captulo 6). Para generar el documento de este manual a partir de los cheros de
i T EX S proporcionados, la forma inmediata es seguir el proceso tradicional
Cuando hablamos de compilacin nos referimos, por analoga con el desarrollo soft-
ware, a la generacin del chero nal (un PDF) resultado de analizar los cheros fuente
AT X. en L E 4
tenido).
Los cheros
son ampliamente utilizados en el desarrollo de software. Son que genera automticamente los cheros
14
latex),
a continuacin ejecutar
bibtex
pdflatex
para
pdflatex
6
resolver las referencias cruzadas y que aparezcan en el documento nal. En lnea de comandos eso se traduce a las siguientes rdenes :
$ $ $ $
utilizar sus teclas rpidas (o en su defecto, sus botones u opciones de men) para generarlo; encontrars una explicacin al respecto en la seccin 3.6.
Notas bibliogrcas
En este captulo hemos descrito simplemente la estructura de directorio
i de T EX S, por lo que no existe ninguna fuente relacionada adicional de con-
sulta. Se mantiene este apartado por simetra con el resto de captulos. En un documento normal (tesis, trabajo de investigacin) lo ms probable es que todos los captulos puedan extenderse con notas de este tipo.
En el prximo captulo. . .
Una vez que se han descrito a vista de pjaro los cheros que componen la plantilla y una primera aproximacin al proceso de generacin del documento nal (en PDF), el siguiente captulo pasa a describir el proceso de edicin. Eso cubre aspectos tales como los cheros que deben modicarse para
i aadir nuevos captulos o los comandos que T EX S hace disponibles para
escribir ciertas partes de los mismos. El captulo describe tambin los dos modos de generacin del documento nal que pueden ser de utilidad durante el largo proceso de escritura. Por ltimo, el captulo terminar con ciertas
latex
en lugar de
pdflatex,
Captulo 3
Proceso de edicin
Rem tene, verba sequentur (Si dominas el tema, las palabras vendrn solas)
Catn el Viejo
.tex
deben tener
codicacin ISO-8859-1. Esto es lo que ocurre de manera predenida en Windows y en algunos Linux como Debian. Una excepcin signicativa es el caso de Ubuntu, que usa de manera predeterminada UTF-8. En ese caso, debers ser cuidadoso para asegurarte de que grabas tus cheros con ISO8859-1. El primer paso para la construccin de un nuevo documento es cambiar el ttulo y autores. Es posible que al principio del proceso no se tenga muy claro cul es el ttulo nal del documento pero, y esto es una opinin personal, ver un ttulo (aunque sea provisional) en vez de lo que ahora aparece ( TeXiS:
constantes.tex.
\titulo
\autor
Cascaras/cover.tex.
Como
16
parte exterior del documento encuadernado, mientras que la siguiente es una repeticin que aparece en la primera pgina. A continuacin aparece
i una lista con el texto que puede cambiarse usando los comandos de T EX S;
una vez que se conguran, se debe invocar al comando generar las portadas:
\makeCover
para
Ttulo del documento: aparece en las dos portadas. Por defecto se utilizar la constante se puede indicar un ttulo distinto usando
forma, se pueden forzar saltos de lnea articiales si se desea. Autor del documento: normalmente aparece tambin en las dos portadas. Igual que antes, si no se indica lo contrario se utiliza aunque se puede cambiar con
\autorPortada. \imagenPortada.
\autor,
Una imagen en la primera portada, normalmente el escudo institucional. El chero a utilizar se dene con grande o pequeo con Tambin puede especicarse la escala a utilizar en el chero si ste es demasiado
\escalaImagenPortada. \fechaPublicacion.
Una fecha de publicacin, que aparece en la parte inferior de ambas portadas. Se utiliza el comando
El tipo de documento que aparece en la primera portada. Si no se indica nada, ser TESIS DOCTORAL. Se puede modicar con
\tipoDocumento.
DE USUARIO.
El departamento y facultad al que est asociado el documento. Aparece en ambas portadas, y se establece con
\institucion.
Un primer bloque de texto en la segunda portada, que aparece despus del ttulo. Si no se indica lo contrario, en ese bloque aparecer el texto Memoria que presenta para optar al ttulo de Doctor en Informtica seguido del con
Un segundo bloque de texto donde aparece Dirigida por el Doctor seguido del director del trabajo que se establece con El comando texto distinto. Las dos portadas en sus caras traseras pueden, adems, presentar otra informacin auxiliar: Un breve recordatorio indicando que el documento est preparado para su impresin a doble cara. Si se desea que aparezca, basta con llamar a
\explicacionDobleCara.
17
El ISBN del documento, en caso de poseerlo. Se dene con Informacin de copyright. Se puede indicar con habitual ser pasar como parmetro el
\isbn.
y lo
\autor.
\copyrightInfo,
\noTeXiSCredits,
Por ltimo, quiz quieras cambiar la informacin de metadatos que se incrustar en el PDF generado. Los metadatos aparecen directamente en el chero
% % "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
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
AT X comando L E
\chapter1 .
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
sumen del mismo; este mismo manual lo hace. Para separarlo del resto se utiliza un formato distinto. En vez de cambiar el formato en todos y cada uno de los captulos (y
i apndices), T EX S proporciona un entorno nuevo,
resumen,
nosotros:
Resumen:
En
este
captulo se describe...
TeXiS/TeXiS.sty,
por lo
adems escribir en cada captulo una frase clebre que es aadida inmediatamente despus del ttulo del mismo, alineada a la derecha. Para aadir la frase (que est formada por la cita en cuestin y su autor),
i T EX S dene un nuevo entorno
Esto
19
\begin{FraseCelebre} \begin{Frase} Nadie espere que yo diga algo. \end{Frase} \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
crear un nuevo captulo con la lista de referencias. Si en ese captulo se quiere aadir una cita (como hacemos por ejemplo en este manual), hay que realizar
i algunas tareas adicionales. Naturalmente T EX S las hace por nosotros, por
lo que, como se mencion en la seccin 2.3, lo nico que tendremos que hacer es editar el chero
bibliografia.tex,
cambiarla a voluntad. Antes de terminar, decir que, igual que en el caso del resumen, la apariencia de la frase clebre se puede modicar en el chero
TeXiS/TeXiS.sty.
.tex.
fancyhdr.
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
seccin (en las impares o derechas). El mismo paquete es el que se utiliza para que aparezca el nmero de pgina en la primera pgina de un captulo y para cierta informacin que aparece cuando se genera el documento en modo borrador, segn aparece descrito en la seccin 3.4. El problema aparece cuando una seccin no numerada excede el lmite de la pgina en la que empieza. En ese caso, la cabecera en la que aparece el nombre de la seccin en vez de contener el ttulo de esa seccin sin numerar, seguir mostrando la ltima seccin numerada. La solucin es modicar a mano la cabecera, en concreto modicar la conguracin de la cabecera donde aparece el ttulo de la seccin actual (la parte izquierda de las pginas impares). Para eso, tras consultar la documentacin del paquete, se aprende que hay que utilizar el comando ejemplo:
\markright.
Por
\section*, se incluye una lla\markright, que contiene el texto que debe aparecer a en la cabecera.
Con esto se soluciona el problema de las cabeceras. Otro problema de las secciones sin numerar es que no se meten en la tabla de contenidos que se incluye al principio del documento; tampoco aparecen en el contenido del PDF listado por el visor que mostrabamos en la gura 2.1 . Sin embargo, en nuestro caso preferamos que tambin las secciones aparecieran en el ndice (es decir, que la nica diferencia entre las secciones numeradas y las no numeradas fuera, precisamente, la ausencia de numeracin). Para que aparezca, por lo tanto, se debe aadir explcitamente la seccin en la tabla de contenidos, con el comando:
\addcontentsline{toc}{section}{Notas bibliogrficas}
que debe ejecutarse despus del comando
\section*.
una serie de comandos (denidos en el chero ciones son los siguientes (ver tabla 3.1):
./TeXiS/TeXiS_cab.tex) que
permiten aadir fcilmente cuatro tipos de secciones sin numerar. Las sec-
Ponemos
de los comandos
21
Comando para
Conclusiones: el manual no utiliza esta seccin sin numerar, pero s puede ser razonable utilizarlo a modo de resumen al nal del captulo de otro tipo de documentos. Notas bibliogrcas: tambin utilizado en este documento, es til para dar otras referencias bibliogrcas que por cualquier razn no se cit en el texto. En el prximo captulo...: s se ha utilizado en el manual, y puede servir para enlazar el contenido del captulo con el siguiente. Resumen: con un objetivo parecido al de conclusiones pero con distinto ttulo; tampoco lo utilizamos en el manual.
Como se puede ver en la tabla, para cada una de estas secciones aparecen dos comandos, uno para el comando captulo... quedara:
%-------------------------------------------------------------\section*{\ProximoCapitulo} %-------------------------------------------------------------\TocProximoCapitulo
Somos conscientes de que los dos comandos podran haberse unicado en uno slo, como trabajo (es decir, pusiera el
Sin embargo, esta solucin no es compatible con la capacidad de los editores de resaltar secciones, ya que los editores simplemente buscan la cadena \section para resaltarlo (ver gura 3.1). Es por ello que, a pesar de ser ms tedioso, optamos por la alternativa complicada: si se quiere meter una seccin sin numerar, se debe primero utilizar el comando
\section*,
en la segunda columna de la tabla 3.1, y posteriormente se utiliza el otro comando para aadirlo al ndice. Separndolo as, adems, permite al usuario
i de T EX S decidir si quiere o no que la seccin aparezca en el ndice.
22
este manual tiene) captulos especiales que aparecen sin numerar. Estos captulos son, en concreto, la parte de agradecimientos y resumen, los ndices y la bibliografa. Dado que todos ellos se caracterizan por la ausencia de secciones, no tiene sentido mantener la cabecera utilizada en el resto del texto. Por lo tanto, conguramos sus cabeceras para que en ambas pginas aparezca directamente el ttulo del captulo (tambin sin nmero).
i Para hacerlo, T EX S dispone del comando
como parmetro el nombre del captulo. De esta forma, el captulo de agradecimientos comienza con:
AT X 3.3. Programando en L E
23
No debes olvidar invocar el comando anterior al principio del captulo sin numerar. El comando anterior sobreescribe el funcionamiento normal de la cabecera, por lo que se debe llamar al comando
\restauraCabecera
para
\newpage. TEXiS ya hace esto automticamente justo antes del Tesis.tex). Sin embargo, si incluyes algn cap-
AT X es ejeliza. En realidad, todo lo que el autor escribe en sus cheros L E AT X hasta generar el documento nal. Por lo cutado por el intrprete de L E AT X se est tanto, se puede decir que bsicamente, cuando se escribe en L E
programando lo que posteriormente ser un programa que generar nuestro documento nal. Afortunadamente esa sensacin de programador no se tiene en condiciones normales durante el proceso de autora. Sin embargo esta peculiaridad s se puede aprovechar para facilitar el proceso de edicin. Ya hemos visto en el captulo anterior un ejemplo de cmo la posibilidad
if.
24
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
release3 .
El primer efecto inmediato es que la plantilla aade automticamente como pie de pgina el texto:
depuracin) en un prrafo aparte, con un ancho de lnea algo superior a lo normal y rodeado de un cuadro negro.
release 1.
25
Comentario:
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.
\comp,
COMentario en Prrafo).
El cdigo:
El juego ``Vampire: the Masquerade'', publicado en 1998, requiri 12 desarrolladores durante 24 meses, casi dos millones de dlares y unas 366.000 lneas de cdigo.\comp{300.000 para el juego, y 66.000 de scripts.}
Se convierte en: El juego Vampire: the Masquerade, publicado en 1998, requiri 12 desarrolladores durante 24 meses, casi dos millones de dlares y unas 366.000 lneas de cdigo.
scripts.
(Comentario:
TODO4 .
Existen autores que piensan que ensear programacin orientada a objetos en el primer curso de programacin (CS1) es beneficioso para los alumnos\todo{Meter referencias...}.
se convierte en la versin de depuracin en: Existen autores que piensan que ensear programacin orientada a objetos en el primer curso de programacin (CS1) es benecioso para los alumnos {
Que en realidad no tiene nada que ver con la palabra espaola, sino con las inglesas
26
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
En caso de ponerse el espacio, ste aparecera en la versin Release, cuando el comando no tiene ningn efecto:
Para que cuando se genera el documento en modo depuracin quede bien, el propio comando aade el espacio de separacin entre el texto que le precede y la apertura de la llave. Ten en cuenta, que al hacer uso de estos comandos para depuracin (\com, o
\comp
\todo)
.bib
(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
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
otro). En nuestro caso, en vez de eliminar el comando del captulo anterior, lo dejamos comentado por si es necesario en el futuro. Es por ello que al
El comando slo puede invocarse una vez, por lo que no es vlido si se quiere compilar
27
nal de la redaccin del documento, se tiene una lnea por cada uno de los captulos:
% Descomentar la lnea para establecer el captulo que queremos % compilar % % % % % % \compilaCapitulo{01Introduccion} \compilaCapitulo{02EstructuraYGeneracion} \compilaCapitulo{03Edicion} \compilaCapitulo{04Imagenes} \compilaCapitulo{05Bibliografia} \compilaCapitulo{06Makefile}
% \compilaApendice{01AsiSeHizo}
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
AT X (no utilizas el Por lo tanto, si el editor que tienes est preparado para L E
Bloc de notas...), es muy posible que tenga algn botn o tecla rpida para compilar el chero abierto, ya sea con
latex
pdflatex.
Pues bien, en ese caso, debes comprobar cmo funciona exactamente el editor, ya que muy posiblemente, el chero que estars editando cuando quieras generar el documento no ser el documento maestro (es decir, el que en la plantilla hemos llamado
e incluye todos los dems). Por lo tanto, debes mirar de qu manera puedes
http://www.winedt.com/
28
pilar, independientemente del chero activo en el editor, se manda compilar el documento maestro. Como se describe en la seccin A.1, nosotros utilizamos emacs (Stall-
AT X. Como no poda ser de otro man, 2007) para crear nuestros cheros L E
i modo, T EX S est preparado para integrarse con l, en particular con el mo-
do AucT EX que permite una edicin cmoda de cheros T EX (Lpez, 2004). En concreto, este modo dispone de una combinacin de teclas para lanzar la generacin del documento nal. En condiciones normales eso implica enviar al programa
latex
caso lo normal es que el chero maestro que hay que utilizar no es el que se est editando, sino el chero
Tesis.tex.
tex
% Variable local para emacs, para que encuentre el fichero % maestro de compilacin y funcionen mejor algunas teclas % rpidas de AucTeX %%% %%% Local Variables: %%% mode: latex %%% TeX-master: "../Tesis.tex" %%% End:
Esta coletilla no es necesaria si utilizas cualquier otro editor. Sin embari go T EX S las tiene aadidas en todos los cheros (y tambin en los cheros
de los captulos y apndices de este manual). Las lneas anteriores, adems, son utilizadas por otras combinaciones de teclas de AucT EX, como las que permiten navegar por todas las secciones del documento.
Makefile
jetivos para realizar copias de seguridad de todos los cheros del documento. Sin embargo en el mundo de desarrollo software es habitual utilizar sistemas de control de versiones. Estos sistemas gestionan las distintas versiones por las que van pasando los cheros durante todo el proceso de desarrollo. La necesidad de estas herramientas est ampliamente reconocida, no slo porque sirven como medio de copia de seguridad que permite volver hacia
atrs ante algn fallo, sino porque permite el trabajo simultneo de dos o
ms personas .
Aunque esto en la redaccin de una tesis no suele tener sentido, s puede ser necesario
Notas bibliogrcas
29
Existen varias alternativas para el control de versiones, tanto comerciales como bajo licencia GPL (General Public License, Licencia Pblica General de GNU) o similares. El sistema por excelencia dentro del software libre fue durante muchos aos CVS (Control Version System, Sistema de Control de Versiones) (Vesperman, 2003), aunque hoy por hoy ha sido desbancado por Subversion (Collins-Sussman et al., 2004). Entre las herramientas comerciales, destacan SourceSafe de Microsoft , Perforce
10 y AccuRev11 .
Aunque es una decisin que los autores del documento tendrn que tomar, aconsejamos el uso de uno de estos sistemas gurada la mquina servidora que aloja el control de versiones (ver notas bibliogrcas), se suben los cheros fuente del documento, que pasarn a estar bajo el control del servidor, lo que permitir recuperar el estado del documento en cualquier momento pasado (por lo que sirve tambin como copia de seguridad). Un punto importante es hacer que el sistema de control de versiones ig-
nore los cheros que son resultados de la generacin del chero nal (el PDF).
.aux
.bbl)
control de versiones. Cuando se utiliza CVS se elimina el problema creando en los directorios un chero de texto llamado
utilizarse en el proceso de redaccin de los documentos. Si en vez de utilizar CVS ests utilizando Subversion, puedes hacer que ste ignore los cheros contenidos en el archivo siguiente orden:
.cvsignore
ejecutando la
.cvsignore.
Notas bibliogrcas
La idea de los dos modos de compilacin de la Tesis surgi de forma natural dada la experiencia en el proceso de desarrollo en C++, donde los entornos integrados de desarrollo suelen proporcionar al menos esas dos conguraciones posibles. La forma de hacerlo posible vino despus de inspec-
30
\if.
No obstante, el lector interesado en aprender T EX a fondo puede encontrar diversos manuales, como T EX for the Impatient (Abrahams, 1990), aunque advertimos que se debe estar muy interesado para leerselo, ya que en condiciones normales no se utilizar nada de lo aprendido puede consultar Knuth (1986) o Eijkhout (1991). Con respecto a la utilizacin de control de versiones, dentro de las opciones libres es muy utilizado el Subversion, cuyo libro de referencia que ya se ha citado en el texto es Collins-Sussman et al. (2004). Para una descripcin sencilla de cmo instalar una mquina servidora puede consultarse Kalderon (2007) y Ziegenhagen (2007). En ste ltimo tambin aparece una
13 . Tambin se
svn-multi,
En el prximo captulo. . .
En este captulo hemos tratado los aspectos ms importantes desde el
El prximo captulo aborda el tratamiento de las imgenes. Como se ver, soportar la generacin del documento tanto con
13
A no ser que se quiera construir un paquete con una funcionalidad muy concreta...
Captulo 4
latex
pdflatex.
4.1. Introduccin
En este captulo tratamos todos los aspectos relacionados con aadir imgenes al documento. Aunque en principio es algo bastante sencillo (desde luego mucho ms sencillo que aadir una tabla compleja), existen una serie de cosas a tener en cuenta que merecen un captulo entero en el manual. En particular, lo que provoca que las imgenes requieran estas explicaciones detalladas es el hecho de que, como ya dijimos en las secciones 1.2
i y 2.6, T EX S te permite generar el documento utilizando tanto
pdflatex.
latex
como
.tex
31
32
tienen formato
.pdf, .png
.eps, mientras que en cuanto se utiliza pdflatex, se admiten .jpg (pero no .eps).
Por lo tanto, cuando utilizamos un cdigo como el siguiente (similar al que hay en la portada para que aparezca el escudo):
el chero que al
buscar el chero en ese mismo directorio, con el mismo nombre, pero con extensin
.jpg.
Esto provoca que el programa utilizado para generar el documento nal es el que determina qu tipo de formato debe usarse para almacenar las imgenes. Existen dos soluciones, que trataremos en las secciones 4.3 y 4.4. Antes de eso, la siguiente seccin explica la estructura de directorios que
i T EX S espera que se utilice.
usa este documento. La estructura est elegida de tal forma que facilita la solucin del problema de la generacin utilizando tanto
pdflatex,
latex
como
La estructura que proponemos empieza con el directorio donde aparecen los siguientes directorios:
./Imagenes,
./Vectorial:
riales.
./Bitmap:
de bits.
./Fuentes:
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.
33
TODO!!
Figura 4.1: Figura utilizada para marcar una imagen por hacer. Cada uno de los directorios anteriores, a su vez, contiene un directorio por captulo. De esta forma es fcil encontrar los cheros si se quieren modicar. En el directorio raz se encuentran las imgenes que no pertenecen a ningn captulo, como la del escudo de la portada. Tambin pueden aparecer otras imgenes que se utilicen en otras partes del documento que no sean los
i captulos. Por ejemplo, T EX S proporciona una imagen que puede ser de
utilidad, y que est colocada en ese directorio raiz por ser independiente del captulo. Es una gura dummy que sirve para marcar el lugar en el que debera aparecer una gura o grco que an est por hacer (gura 4.1).
i T EX S incluye el comando
En particular, el comando tiene cuatro parmetros: el nombre del chero (en el que no hay que indicar el directorio al
\includegraphics
la etiqueta con la que luego podr referenciarse la ilustracin, y por ltimo el ttulo que aparecer en la parte inferior.
{fig:todo},
La figura~\ref{fig:todo} muestra\ldots
La gura se aade automticamente al ndice de guras que aparece al principio del documento, en el que se indica el nmero de la gura, el texto inferior y la pgina en la que aparece. Es posible que el texto sea lo sucientemente largo como para que ocupe ms de una lnea en la entrada
del chero
34
Programa
Mapa de bits
Vectoriales
latex pdflatex
pdflatex
en el ndice. Si se desea utilizar un texto ms corto para evitarlo, se puede utilizar el comando ndice.
\figuraEx
utilizarse para las imgenes, segn la tabla 4.1. Esto signica que, en principio, en el momento de aadir la primera imagen al documento, se debe decidir qu programa se utilizar para generarlo, y utilizar el formato de imagen adecuado a l. Si tienes claro qu programa utilizars, la solucin es as de simple. Almacena las imgenes en el formato adecuado segn la tabla 4.1. Desgraciadamente, lo habitual es no encontrarse en esa situacin. Normalmente cuando se comienza a escribir, es muy difcil pronosticar cul de los dos se utilizar, y por lo tanto no quieres decantarte por ninguno. No ests seguro de cul quieres, o puede que quieras poder generarlo de las dos formas, debido a alguna restriccin del servicio de publicaciones. Por lo tanto, la mejor solucin es, simplemente, permitir ambas alternativas. Para eso lo ms fcil es duplicar las imgenes, es decir, mantener tanto la copia que ser leda por
latex
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
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-
35
ma que todas las imgenes se guardan dos veces, en cada uno de los formatos esperados por ambos programas. Su desventaja es la duplicacin de los cheros, con los problemas de coherencia que eso puede provocar.
i Ninguna de las dos alternativas es ptima, por lo que T EX S proporciona
la solucin alternativa descrita en la seccin siguiente. Si decides utilizar alguna de las opciones fciles anteriores, puedes omitir la lectura de la misma.
pdflatex
latex
pdflatex (es decir, cheros .pdf para .png o .jpg para mapas de bits). Obviamente, si se hace as, al utilizar latex para generar, dar error al no encontrar los cheros
genes nicamente las soportadas por imgenes vectoriales y de imgenes correspondientes. Y aqu es donde entra en accin el chero
Makefile
latex:
$ make latex
antes de invocar a directorio de
latex, convierte todos los cheros .pdf que hay en el ./Imagenes/Vectorial a cheros .eps, y todos los .jpg y .png ./Imagenes/Bitmap a .eps, para que latex los encuentre. Para realizar la conversin, se utilizan las aplicaciones pdftops y sam2p
que deben estar accesibles en el PATH. Esa es la razn por la que, como
i mencionbamos en la seccin 1.2, T EX S anima al uso de sistemas Linux: las
aplicaciones anteriores estn disponibles en este sistema operativo (aunque puede que no se instalen directamente en algunas distribuciones), mientras que en Windows normalmente no estn.
./Imagenes/Bitmap
./Imagenes/Vectorial
aparezcan cheros
.png
.pdf .jpg.
36
.eps
latex,
se convierten to-
formato que ste espera, por lo que en los directorios anteriores aparecern
.eps
generados automticamente.
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:
latex para su generacin (y nunca pdflatex), y por lo tanto se usarn siempre cheros con extensin .eps.
Se decide no utilizar la caracterstica de conversin automtica de imgenes, y se duplican los cheros, guardando siempre tanto la copia leda por
latex
como por
Makefile
formato utilizado por ste (consulta la seccin 6.3.1 si ests en este caso).
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.
\begin{figure}[t] \centering %
3
O no establecer la propiedad
svn:ignore
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
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
La separacin entre dos guras que se colocan en la misma la puede ser demasiado pequea. Para separarlas un poco ms, puedes poner entre el cierre llaves de un
\qquad
\subfloat
\qquad
\subfloat
\label
dentro del
\ref
\subref:
La gura 2.1 tiene dos partes. La parte izquierda es la gura 2.1a y a la derecha est la (b).
La figura~\ref{cap2:fig:pdf} tiene dos partes. La parte izquierda es la figura~ \ref{cap2:fig:PropiedadesPDF} y a la derecha est la \subref{cap2:fig:TocPDF}.
Como ya hemos dicho, se pueden poner varias las de imgenes en la misma gura. Se puede forzar este comportamiento aadiendo lneas en blanco dentro del entorno
39
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
% La siguiente no entra; ira en otra 'linea' \begin{SubFloat} {\label{fig:cap4:pilaops}% Estudiante interactuando con la pila de operandos}% \includegraphics[width=0.45\textwidth]% {Imagenes/Bitmap/04/Javy1PilaOperandos}% \end{SubFloat} \qquad \begin{SubFloat} {\label{fig:cap4:estudianteyjavy}% Estudiante hablando con Javy}% \includegraphics[width=0.45\textwidth]% {Imagenes/Bitmap/04/Javy1Javy}% \end{SubFloat} \caption{Ejemplo de uso de \texttt{subfloat}.% \label{fig:cap4:javy1}} \end{figure}
Notas bibliogrcas
i En este captulo hemos descrito cmo se gestionan las imgenes en T EX S
por lo que no existe ninguna fuente relacionada adicional de consulta. Conviene, eso s, indicar que las explicaciones al respecto del entorno
En el prximo captulo. . .
El prximo captulo pasa a describir algunos aspectos sobre la bibliograi fa. En concreto, veremos que T EX S dene un estilo de bibliografa propio
que, si bien no introduce demasiadas diferencias con respecto al habitual, permite aadir algn campo nuevo a las citas, como por ejemplo la direccin Web y la fecha de la ltima vez que se visit (o comprob su existencia).
subfig/subfig.pdf.
Disponible
en
ftp://tug.ctan.org/pub/tex-archive/macros/latex/contrib/
Captulo 5
Bibliografa y acrnimos
Como un ganso desplumado y esculido, me preguntaba a m mismo con voz indecisa si de todo lo que estaba leyendo hara el menor uso alguna vez en la vida.
James Clerk Maxwell, sobre su educacin en Cambridge
5.1. Bibliografa
i Para hacer la bibliografa del documento, T EX S hace uso, como no poda
ser de otra forma, de BibT EX. Esto permite una generacin bastante sencilla de la misma, utilizando las entradas
makefile
@bibitem
correspondientes. El chero
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
.bib
uti-
natbib
que, como se 41
42
ha podido comprobar a lo largo de estas pginas, se basa en indicar el nombre del autor y el ao de la publicacin en el propio texto. La seccin 5.1.2 explica brevemente las capacidades del paquete.
i T EX S modica ligeramente el formato de salida de cada una de las re-
ferencias para adecuarlas ms a nuestros gustos. Tambin hemos aadido algunas capacidades ms que pueden aadirse a las mismas. La seccin 5.1.3 las describe. La parte relativa a la bibliografa termina con una breve seccin til si se quiere cambiar el tipo de bibliografa a utilizar.
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
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.
referencian en el
\setBibFiles{% nuestros,latex,otros% }
Como se puede ver, en este manual las referencias estn organizadas en tres cheros distintos: referencias a trabajos propios (nuestros.bib), reentran en ninguna de las dos anteriores (otros.bib).
natbib
para utilizarse en textos donde las referencias tengan un peso importante (o al menos ms importante que en este manual). Cuando se utiliza
natbib1
\cite,
se pueden
\citet
TeXiS/TeXiS_pream.tex.
5.1. Bibliografa
43
Comando
Resultado Jones et al. (1990) Jones, Baker y Smith (1990) (Jones et al., 1990) (Jones, Baker y Smith, 1990) (Jones et al., 1990, cap. 2) (e.g. Jones et al., 1990) (e.g. Jones et al., p. 32) Jones et al. Jones, Baker y Smith 1990
\citet{key} \citet*{key} \citep{key} \citep*{key} \citep[cap. 2]{key} \citep[e.g.][]{key} \citep[e.g.][p. 32]{key} \citeauthor{key} \citeauthor*{key} \citeyear{key}
natbib texto
y
\citep.
parntesis.
En vez de hacer una descripcin de cada una de las variaciones, la tabla 5.1 contiene las distintas posibilidades. Las opciones estn cogidas directamente de la documentacin del paquete y asume que existe un con nombre
key
@bibitem
Baker y Smith en 1990. Notar que el resultado contiene la conjuncin espaola y en vez de la inglesa and para separar el ltimo autor.
el formato de salida de las referencias en el listado que aparece al nal del documento. No es demasiado distinto del estilo utilizado por defecto, pero s tiene ligeras modicaciones. Las modicaciones ms obvias es que se utiliza la versin espaola del formato, para que aparezca editor, pginas o Informe Tcnico entre otros. Tambin hemos aadido constantes (o, en nomenclatura de BibT EX, macros) para una editorial y dos series muy utilizadas en nuestra rea, Springer-Verlag (SV), Lecture Notes in Computer Science (LNCS) y Lecture Notes in Articial Intelligence (subserie de LNCS) (LNAI). De esta forma, una entrada de la bibliografa puede ser:
44
y la serie. Tambin se ha utilizado la macro para indicar el mes (jan equivale a enero), de forma que la entrada sea independiente del lenguaje utilizado posteriormente en la referencia. Mucho ms interesante es la creacin de dos nuevos campos que pueden aadirse en las entradas de BibT EX, y que permiten indicar la pgina Web en la que se puede encontrar la referencia. En concreto, admitimos un nuevo campo, una pgina Web, y un campo
webpage
acceso. De esta forma, la referencia, adems de los campos e informacin habituales, incluye la localizacin. Por ejemplo, el libro del Subversion citado en un captulo anterior (CollinsSussman et al., 2004) est disponible en la Web; para que la URL o direccin Web aparezca en la referencia, se pueden utilizar los nuevos campos:
@Book{Subversion, author = {Ben Collins-Sussman and Brian W. Fitzpatrick and C. Michael Pilato}, title = {Version Control with Subversion}, publisher = {O'Reilly}, year = 2004, isbn = {0-596-00448-6}, webpage = {http://svnbook.red-bean.com/}, lastaccess = {Octubre, 2009} }
El estilo aade la cadena Disponible en antes de la url (que se aade con el comando anterior es:
Collins-Sussman, B., Fitzpatrick, B. W. y Pilato, C. M.
\url
incluye la fecha del ltimo acceso. El aspecto nal de la referencia del libro
Version
http://svnbook.red-bean.com/
Tambin hemos aadido un nuevo tipo de entrada para referenciar artculos de la Wikipedia. Puede ser discutible si es adecuado o no utilizar citas de la Wikipedia en documentos acadmicos como tesis o trabajos de n de
5.1. Bibliografa
45
master, pero si eres de los que opinan que debe citarse todo lo que uno utilice y utilizas la Wikipedia, puede que quieras usar esta nueva entrada que hay
@Wikipedia{LaTeXWikipedia, author = {Wikipedia}, title = {{LaTeX}}, wpentry = {LaTeX}, language = {es}, webpage = {http://es.wikipedia.org/wiki/LaTeX}, lastaccess = {Mayo, 2009}, }
En el texto la referencia no aparece con el ao sino que hace alusin a que es una entrada de la Wikipedia, como se ha podido ver en el parrafo anterior. El resultado nal en la lista de referencias es:
Wikipedia (LaTeX). Entrada: LaTeX. Disponible en
org/wiki/LaTeX
http://es.wikipedia.
TeXiS/TeXiS.bst, TeXiS_bib.tex:
\citep
citet
es el mismo, por
\citeauthor
\citeyear
lo predeterminado como ese elimina la posibilidad de incluir referencias a pginas Web y a la Wikipedia explicadas antes.
natbib
en el chero
[round] TeXiS/TeXiS_pream.tex.
que aparece en
46
Otra posibilidad es que desees ajustar el funcionamiento del estilo proi porcionado por T EX S. En ese caso, puedes editar el chero del estilo (el antes
nombrado
TeXiS/TeXiS.bst),
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 Xquin nos gestione nuestros acrnimos tendremos que hacer uso de una L E
base de datos de acrnimos, generalmente en cheros con extensin (Glossary Data File ), que son conceptualmente similares a los cheros
.gdf .bib
5.2. Acrnimos
47
usados por BibT EX. Como ejemplo, a continuacin se indica el contenido (parcial) del chero usado en este manual:
@entry{CVS, , \emph{Control Version System}, Sistema de Control de Versiones} @entry{GPL, , \emph{General Public License}, Licencia Pblica General de GNU}
Cada entrada se coloca dentro de un comando parmetros, separados por comas: 1. Acrnimo : en el ejemplo, CVS y GPL. El acrnimo hace tambin las veces de etiqueta identicativa, para referenciarlo dentro del texto. 2. Representacin corta : no aparece en ninguno de los dos ejemplos anteriores (se ha dejado en blanco). Es necesaria nicamente si el acrnimo
@entry,
\cite
\acs{CVS}
siones
(short ): CVS
\acs
\acf
la pri-
sin corta con la larga, que coloca entre parntesis. No obstante, el comando
del documento.
48
ms interesante es
\ac,
riormente en el documento, mostrando su descripcin completa nicamente la primera vez . El modo en el que se construye esta descripcin (con la versin larga entre parntesis) es personalizable, si bien el modo de hacerlo queda fuera del alcance de este documento. Por tanto, el modo de uso recomendado de los acrnimos es aadir en el chero
.gdf
\ac.
AT X incluir la desL E
Hemos visto que en los ejemplos descritos, el propio acrnimo hace las
\ac{CVS}
\ac{PC$^2$}.
PC$^2$,
por lo
.gdf
de ejemplo:
\ac{PC2}
\printglosstex(acr)
No obstante, y al igual que ocurre con la bibliografa, para que toda esta infraestructura funcione es necesario ejecutar programas externos (aparte del propio
latex
pdflatex).
acf
El uso manual de
no
5.2. Acrnimos
49
.aux
\ac?
.tex.
2. Al igual que se hace con la aplicacin este caso usamos el programa nuevo chero con extensin referenciadas, y un 3. El chero caso
.gxg
bibtex para la bibliografa, en glosstex5 que los recorre y genera un .gxs con informacin sobre las entradas
.gxs debe volverse a procesar usando otro programa, en este makeindex, que ordena alfabticamente las entradas utilizadas, y .glx,
que, nalmente, contiene todo correcto.
les aplica un formato concreto. Este proceso genera un nuevo chero, con extensin
printglosstex
Todo esto complica el proceso de construccin del documento, que ahora requiere pasos adicionales :
$ $ $ $ $
pdflatex Tesis bibtex Tesis glosstex Tesis acronimos.gdf makeindex Tesis.gxs -o Tesis.glx -s glosstex.ist pdflatex Tesis
En la ejecucin de
glosstex
bibtex
.tex con el comando \bibliography{ficheros}. Adems, en la ejecucin a makeindex proporcionamos el parmetro glosstex.ist que indica el formato que queremos aplicar a nuestra lista de acrnimos; ten en cuenta que
makeindex
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-
glosstex
makeindex.
glosstex,
compilar el presente documento que no inclua las rdenes para procesar los acrnimos. Si no se ejecutan estas aplicaciones, el documento se generar correctamente, salvo por la lista de acrnimos que aparecer vaca.
5 6
Este programa deber estar instalado en el sistema en el que se est generando el Como siempre, tambin es vlido el uso de
documento.
50
que preocuparse es de crear la base de datos de acrnimos y de hacer uso del comando
7 automticamente .
\ac
unicamente en modo release (consulta la seccin 3.4 para ms informacin). En modo borrador (debug ) los acrnimos no se incluyen en el documento, de modo que se ahorra algo de tiempo.
acronimos.gdf: ste es el chero donde se recomienda aadir los acrnimos que se usen. Hace las veces de base de datos de acrnimos. Siendo realistas, los cheros
.tex
este chero en concreto. Tal y como se explic en la seccin anterior, es la ejecucin externa de las herramientas de GlossT EX la que recibir
i el nombre en concreto. Sin embargo, T EX S proporciona un modo au-
tomtico de construccin, descrito en el captulo 6, que s asume este nombre de chero. La construccin se apoya en la herramienta
make,
de ah que al principio del documento mencionramos que resultaba ms cmodo hacer uso de plataformas GNU/Linux (que disponen de l) en lugar de Windows. En la versin en borrador, adems de no generarse la lista de acrnimos como un captulo ms, tampoco se aaden las descripciones largas de los acrnimos. Es decir, si se utiliza en algn lugar del documento las rdenes de GlossT EX mencionadas previamente (\ac, propia etiqueta. Por ejemplo, ante CVS. Dado que no todos los documentos harn uso de acrnimos, y que, despus de todo, generarlos supone un esfuerzo en la fase de compilacin no despreciable , es posible que en ocasiones no se desee que se incluyan los acrnimos tampoco en la versin nal (modo release ). En ese caso, basta con que se modique el chero
\acl,
etctera), stas
config.tex
7 8
Salvo, naturalmente, la instalacin de las propias aplicaciones Este esfuerzo es real tan slo si no se hace uso del
glosstex
makeindex
5.2. Acrnimos
51
\def\acronimosEnRelease{1}
i Si se comenta, T EX S asumir que no se desean acrnimos tampoco en
la versin nal, y no se incluir el captulo sin numeracin. De nuevo, ten en cuenta que en ese caso los comandos de GlossT EX se puentearn tambin . En el improbable caso en el que se quiera hacer uso de los acrnimos para que sea el propio sistema el que se encargue de escribirnos el signicado la primera vez que se usan, pero no se quiere que aparezca el listado nal de los acrnimos, entonces ser necesario modicar directamente el chero
Tesis.tex,
y dejar de incluir
TeXiS/TeXiS_acron,
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
10 . Si se est generando
Makefile
make clean
@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
soporte para esto, por lo que si lo quieres utilizar, tendrs que aadir la infraestructura necesaria por tu cuenta.
9 10
Aunque en este caso no debera ser un problema porque si no se quieren los acrnimos Las razones que ocasionan esto quedan explicadas en la seccin 6.3.2.
52
Notas bibliogrcas
Existen numerosas publicaciones relacionadas con BibTeX; para una descripcin de los tipos de entradas que se soportan, etc., se puede consultar Patashnik (1988a) o Mittelbach et al. (2004). En esta ltima referencia tambin puede encontrarse informacin sobre las posibilidades del paquete
natbib.
Por otro lado, es tambin fcil encontrar informacin sobre cmo cam-
@lastaccess o ajustar las cadenas que aparecen). Por ejemplo, una descripcin en espaol es Lpez (2006). Tambin se puede consultar Mittelbach et al. (2004) o Patashnik (1988b). Respecto a GlossT EX, la fuente principal de informacin es la disponible
i biar el estilo utilizado (es decir, lo que hemos hecho en T EX S para aadir el
http://www.ctan. org/tex-archive/help/Catalogue/entries/glosstex.html.
En el prximo captulo. . .
Con este captulo terminan los captulos ms importantes del manual,
i donde se ha contado lo que se debe saber para utilizar T EX S. El pr-
Makefile
make
disponible en virutalmente todas las plataformas. Somos conscientes de que no todo el mundo querr utilizar este mecanismo para generar el documento nal (muchos usuarios preferirn utililizar las opciones del editor que utilicen); por eso lo hemos puesto al nal.
Captulo 6
Makele
A fuerza de construir bien, se llega a buen arquitecto.
Aristteles
make
de GNU.
6.1. Introduccin
Ya se ha esbozado a lo largo de este manual que la generacin del documento nal requiere varias etapas, algo que es de hecho inherente al propio
pdflatex
glosstex
se el
listado de acrnimos. El resultado es una generacin bastante laboriosa que requiere dar varios pasos en un orden concreto. El mundo del desarrollo del software ha lidiado con un problema similar (ms complejo, de hecho) desde hace dcadas, y que se ha ido resolviendo con diferentes herramientas, siendo proporciona un chero fraestructura
Makefile
make
generacin del documento, as como otras labores rutinarias. Dado que la in-
slo podr utilizarse sobre GNU/Linux y otras variantes de Unix . Incluso aunque se utilizara
nmake,
make
proporcionada
en Unix. riencia!
53
54
Captulo 6. Makele
Makefile
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
make,
ejecutan en conjunto. En el entorno del desarrollo del software, esas tareas suelen estar enfocadas a la compilacin del proyecto, aunque tambin se incluyen objetivos para, por ejemplo, borrar los cheros intermedios, o instalar el programa recin compilado. El
Makefile
guientes objetivos:
pdflatex:
latex:
sultante en
.dvi re.pdf. Tiene en cuenta las necesidades en cuanto al formato .eps. .eps.
Normalmente este objetivo no
de las imgenes descritas en la seccin 4.4, por lo que se convierten automticamente a formato
imagenes:
latex
anterior
imagenesvectoriales
imagenesbitmap:
.eps.
Igual
fast:
limita a generarlo una nica vez, sin invocar a BibT EX ni a GlossT EX. Est pensada para la compilacin del da a da cuando se aade algo de texto y se quiere ver rpidamente el resultado, sin preocuparnos de que las referencias queden correctamente actualizadas. Si este objetivo se combina con el comando
\compilaCapitulo
descrito en la seccin
fastlatex:
AT X. En este caso, el L E
.dvi
sigue convirtindose a
.pdf.
Makefile
55
clean:
neracin del documento. Este objetivo resulta interesante cuando se quiere reconstruir el documento completamente, sin basarse en informacin previa. Es, de hecho, necesario lanzarlo cuando se compila el documento con la lista de acrnimos por primera vez (o cuando deja de hacerse). Si no se ha modicado la denicin de la constante
\acronimosEnRelease
bre ella), esto ocurrir siempre que se cambie el modo de conguracin de borrador a versin nal (seccin 3.4). Ten en cuenta que este objetivo borra tambin los cheros que se convierten a objetivo.
.eps,
.eps
distclean:
.pdf .tex creados por los editores de texto ms habituales (con extensiones .tex~ y .backup).
similar a la anterior, pero tambin borra el chero generado, y los cheros de copia de seguridad de los con l y todos los fuentes (includo imgenes). El chero es til para distribuirlo a revisores que tengan intencin de cambiar y regenerar el documento.
crearVersion: similar al anterior, pero copia el .zip en el subdirectorio VersionesPrevias incluyendo en el nombre la fecha y hora actuales. Es
til para realizar copias de seguridad locales o para congelar versiones en hitos concretos de la escritura.
crearBackup: genera el documento, y hace una copia de todo el directorio (incluyendo el subdirectorio VersionesPrevias mencionado antes) comprimindola en un chero .zip que copia en el directorio padre del
actual. Est pensado para hacer una copia de seguridad completa que luego sea guardada en algn otro lugar.
ayuda
res.
help:
$ make <objetivo>
AT X, al En el caso de que se quiera realizar la generacin usando Pdf L E
ser el objetivo por defecto (el primero que aparece en el necesario especicar nada:
Makefile)
no es
56
Captulo 6. Makele
$ make pdflatex Tesis This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) [...]
AT X, seguSi decides que tu herramienta de generacin por defecto sea L E
ramente quieras colocar el objetivo se ejecute por defecto.
latex
anterior debera ser suciente para un usuario normal. Aqu describiremos algunos detalles internos que pueden ser tiles en algunos (idealmente pocos) casos.
Makefile al que
pdflatex
Makefile
.jpg
.png
para
los mapas de bits. Si las imgenes se desarrollaron originalmente con Kivio, Corel, Visio, Gimp o Photoshop, es responsabilidad del propio autor conver-
Makefile
pdflatex.
tendr que buscar las imgenes (tanto vectoriales como
Makefile
y
imagenesbitmap
los objetivos
Imagenes/Vectorial,
Imagenes/Bitmap,
con un
57
Makefile encadena una serie de invocaciones a otros Makefile y algunas llamadas a scripts del shell (bash) para
subdirectorio dentro por captulo . El realizar la conversin. En ltima instancia, el responsable de dicha conversin es un script llamado versiones, uno dentro de
especcos para cada uno de los dos tipos de imgenes. Para convertir los
.pdf vectoriales a .eps, se hace uso de la aplicacin pdftops, que deber estar instalada. Por su parte, para convertir las imgenes de mapas de bits .jpg o .png se usa sam2p. Los scripts terminan con error (deteniendo por tanto
la generacin del documento) si estas herramientas no estn disponibles. Se han desarrollado de tal manera que el error nicamente se lance si realmente se necesita convertir alguna imagen. Adems, se evita regenerar los cheros
.eps
.jpg
.png)
Makefile
las imgenes originales (creadas con cualquier programa de dibujo) se generen tener la posibilidad de generar el documento con fraestructura de generacin en varios puntos:
.eps en lugar de los .pdf mencionados antes. Si, adems, se quiere manpdflatex (aunque sea a
update-eps.sh que se encuentran en los directorios Imagenes/Bitmap y Imagenes/Vectorial para que conviertan los .eps fuente en .pdf. En este caso no merece la pena convertir a .jpg o .png las imgenes vectoriales; resulta ms cmodo convertir todo a .pdf. Para eso, se puede utilizar epstopdf (que deber estar instalado). Una ventaja extra es que ambas versiones de update-eps.sh sern
Modicar los cheros iguales, no como en el caso anterior en el que haba que diferenciar entre vectoriales y de imgenes de bits. Por mantener la coherencia, los cheros deberan renombrarse a algo como
No
scripts
Imagenes/Vectorial
Imagenes/Bitmap
updateAll.sh
dentro de
58
Captulo 6. Makele
Esto es una mera cuestin de comodidad, y para llevarlo a cabo basta colocar en primer lugar el objetivo de
Renombrar
cleanAll.sh situado tanto en el directorio Imagenes/Vectorial como en Imagenes/Bitmap. Ambos son invocados durante la ejecucin del objetivo clean del Makefile principal. i En la versin inicial de T EX S, se borran los cheros .eps, dado que
Modicar el guin (script )
de versiones que se est usando (si hay alguno) para que se ignoren los nuevos tipos de cheros generados (.pdf) en lugar de los informacin.
i que vienen predenidos en T EX S. Consulta la seccin 4.5 para ms
make clean
Aunque en la prctica es suciente con recordar hacerlo, en esta seccin se explican las causas de esta necesidad. Como se recordar de la seccin 5.2.1, cuando se utilizan acrnimos, tras varias etapas termina consiguindose un chero con extensin documento, el comando
.glx
con
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;
no se quejar si el chero no existe. Por desgracia, s generar un error si existe pero est vaco.
i Cuando en T EX S el uso de acrnimos est desactivado (lo que ocurre en
\acs, \acl
etctera se puentean y no se tienen en cuenta, por lo que en los cheros intermedios no se informar del uso de ningn acrnimo. Sin embargo, durante el proceso de compilacin del documento, el ejecutable
Makefile
insistir en realizar
glosstex y a makeindex). stos desembocarn en la creacin de un chero .glx vaco, al no haber ningn acrnimo usado. En principio, esto
Notas bibliogrcas
59
signica que
aade di-
\printglosstex
se encontrar que el
solucionarlo, basta en realidad con eliminar dicho chero; sin embargo, resulta mucho ms fcil de recordar (y por tanto prctico) limitarse a realizar un
make clean
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 que comprenden los comandos de se habrn includo los paquetes L E A X fallar al no comprenderlos. De nuevo, para GlossT EX, por lo que L T E
solucionar este problema es suciente con borrar los cheros en la compilacin anterior; sin embargo resulta mucho ms simple realizar un
.aux generados
make clean
Notas bibliogrcas
Sobre la utilidad
make
net. Quiz el lugar de referencia es la pgina ocial del proyecto de GNU (http://www.gnu.org/software/make/), aunque contiene mucha ms informacin de la necesaria para comprender el
Makefile
proporcionado con
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
A.1. Edicin
i Ya indicamos en la seccin 3.6 (pgina 27) que T EX S est preparada
para integrarse bien con emacs, en particular con el modo AucT EX. Eso era en realidad un sntoma indicativo de que en nuestro trabajo coti-
62
Apndice A. As se hizo...
Pero una vez que consigues no mover las manos para desplazar el cursor so-
AT X bre el documento, manejas las teclas rpidas para aadir los comandos L E
ms utilizados y conoces las combinaciones de AucT EX para moverte por el documento o buscar las entradas de la bibliografa, no cambiars fcilmente a otro editor. Si quieres aprovechar emacs, no debes dejar de leer el documento que nos introdujo a nosotros en el modo AucT EX, Creacin de cheros L T EX con
A.2. Encuadernacin
Si has mirado con un poco de atencin este manual, habrs visto que los
i mrgenes que tiene son bastante grandes. T EX S no congura los mrgenes
a unos valores concretos sino que, directamente, utiliza los que se establecen por defecto en la clase
book
AT X. de L E
A.3. En el da a da
Para terminar este breve apndice, describimos ahora un modo de trabajo que, si bien no utilizamos en su da para la escritura de la tesis, s hemos
Estamos hablando de lo que se conoce en el mundo de la ingeniera del software como integracin contnua (Fowler, 2006). En concreto, la integracin contnua consiste en aprovecharse del servidor del control de versiones para realizar, en cada commit o actualizacin realizada por los autores, una
A.3. En el da a da
63
comprobacin de si los cheros que se han subido son de verdad correctos. En el mundo del desarrollo software donde un proyecto puede involucrar decenas de personas realizando varias actualizaciones diarias, la integracin contnua tiene mucha importancia. Despus de que un programador realice una actualizacin, un servidor dedicado comprueba que el proyecto sigue compilando correctamente (e incluso ejecuta los test de unidad asociados). En caso de que la actualizacin haya estropeado algo, el servidor de integracin enva un mensaje de correo electrnico al autor de ese commit para avisarle del error y que ste lo subsane lo antes posible, de forma que se perjudique lo menos posible al resto de desarrolladores.
i Esa misma idea la hemos utilizado en la elaboracin de T EX S y de este
manual. Cada vez que uno de los autores suba al SVN algn cambio, el servidor comprobaba que el chero maestro segua siendo correcto, es decir, que se poda generar el PDF nal sin errores. No entraremos en ms detalles de cmo hacer esto. El lector interesado puede consultar Gmez-Martn y Gmez-Martn (2009). Como se explica en ese artculo algunas ventajas del uso de esta tcnica son: Se tiene la seguridad de que la versin disponible en el control de versiones es vlida, es decir, es capaz de generar sin errores el documento nal. Se puede congurar el servidor de integracin contnua para que cada vez que se realiza un commit, enve un mensaje de correo electrnico
a todos los autores del mismo. De esta forma todos los colaboradores
estn al tanto del progreso del mismo. Se puede congurar para que el servidor haga pblico (via servidor
64
Apndice A. As se hizo...
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.
Company, 1990.
Bautista, T., Oetiker, T., Partl, H., Hyna, I. y Schlegl, E.
Descripcin de
ATEX 2 . L
Una
Inc., 2005.
Collins-Sussman, B., Fitzpatrick, B. W. y Pilato, C. M.
Version
http://svnbook.red-bean.com/
Eijkhout, V.
1991.
Flynn, P. A beginner's introduction to typesetting with L T EX . The Com-
Continuous integration.
2006.
Disponible en
http://
66
Bibliografa
2008b.
Kalderon, M. E.
LT EX and Subversion.
2007(3), 2007.
Knuth, D. E. The T EX book. Addison-Wesley Professional., 1986.
trnica, 2004.
Gua
casi
Versin
elec-
Disponible en ftp: // ftp. ctan. org/ tex-archive/ info/ spanish/ guia-bibtex/ guia-bibtex. pdf (ltimo acceso, Octrnica, 2006. tubre, 2009).
Mecklenburg, R.
ftp: // ftp. ctan. org/ tex-archive/ biblio/ bibtex/ contrib/ doc/ btxdoc. pdf (ltimo acceso, Octubre, 2009).
ftp: // ftp. ctan. org/ tex-archive/ biblio/ bibtex/ contrib/ doc/ btxhak. pdf
(ltimo acceso, Octubre, 2009). Version control of L T EX documents with svn-multi. PracT X Journal , vol. 2007(3), 2007. E
Scharrer, M.
The
Stallman, R. M.
Bibliografa
67
ThoughtWorks,
I.
Cruise control.
2001.
Disponible en
http:
Entrada: LaTeX.
Disponible en
http: // es.
The
Lista de acrnimos
CVS . . . . . . . . . .
GPL . . . . . . . . . .
PC . . . . . . . . . . .
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