Você está na página 1de 103

L

A
T
E
X
6
6.1. Introduccin
Una de las aplicaciones ms importantes de la computadora hoy en da es la prepa-
racin de texto, sea ste para notas, una carta, un libro, reporte, artculo, tarea, etc.
Un procesador de texto es un paquete al que le tecleas texto, con algunas observa-
ciones y el paquete procede a formatear el texto. Entre las operaciones que deseamos
haga con el texto estn las siguientes:
1. Armar los renglones de tal manera que quede el texto bien repartido.
2. Armar pginas de tal manera que se vayan numerando y que tengan todas el mismo
tamao.
3. Facilitar el cambio de tipo de letra y proveer distintos tipos de letras como itlicas,
negritas, etc..
4. Facilitar la edicin de tablas de distintos tipos.
5. Facilitar la construccin de ecuaciones matemticas.
6. Facilitar la insercin de guras en el texto.
Muchos de los procesadores de texto pretenden hacer mucho trabajo por ti. Por
ejemplo, al escribir una carta proveen maneras directas y fciles de formar la carta,
pidiendo nicamente el destinatario, el remitente, la rma, etc..
Hay fundamentalmente dos tipos de procesadores de texto, aquellos que van mos-
trando el resultado de la edicin en la misma pantalla, conforme se va escribiendo
como es el caso de Word y aquellos que funcionan con comandos de control y que
144 L
A
T
E
X
ejecutan un programa para poder ver cmo queda el texto ya formateado. L
A
T
E
X es de
este ltimo tipo. Llamemos a los primeros de tipo intrprete, porque van interpretando
conforme van recibiendo el texto, y a los segundos de tipo compilador, porque primero
reciben todo el texto y despus lo transforman a las pginas correspondientes.
Cada uno de estos tipos de procesadores tiene sus ventajas y sus desventajas. La
principal ventaja del intrprete es que es ms fcil de usar y detectas inmediatamente
cuando algo no es como lo quieres. La principal desventaja es que supone demasiados
parmetros respecto a cmo quieres el texto, y toma muchas decisiones que son difciles
de deshacer. La principal ventaja de los compiladores es que te da un manejo ms
preciso del formato que quieres, permitiendo de esta manera una edicin ms rpida.
La principal desventaja es que requiere un nivel de abstraccin mayor, ya que como no
ests viendo
1
el resultado de lo que haces, y tienes que compilarlo para verlo, trabajas
ms a ciegas.
Se eligi L
A
T
E
X para trabajar ac por varias razones, entre ellas:
(a) Es un paquete de distribucin gratuita, disponible en prcticamente todos los sis-
temas Unix y que est ampliamente documentado.
(b) La documentacin viene con L
A
T
E
X, por lo que est accesible.
(c) Cuenta con un gran nmero de gente trabajando continuamente en el proyecto, por
lo que hay muchos paquetes adicionales para casi cualquier cosa que se te pueda
ocurrir, como gracacin, msica, animacin, entre otros.
(d) Es el ms usado en el medio de Ciencias de la Computacin y Matemticas para
la elaboracin de trabajos.
En suma, aun cuando no logres ver ms que una pequea parte, la estructura de
L
A
T
E
X es tal que el resto de los paquetes los podrs aprender a manejar por su cuenta,
conforme los vayas requiriendo.
6.2. Componentes de un texto
Muchos se reeren a los procesadores de texto como procesadores de palabra, reco-
nociendo con esto que el componente bsico de un texto son las palabras. Sin embargo,
es en la forma de agrupar palabras donde realmente se formatea texto. Veamos algunos
componentes importantes de un texto:
palabras oraciones prrafos
subsubsecciones subsecciones secciones
captulos partes documento
1
Esto, en realidad, ya no es del todo cierto, pues L
A
T
E
X cuenta ya con intrpretes que permiten ir
viendo cmo queda el texto conforme lo vas escribiendo.
6.3 Ambientes para formato 145
A partir de las subsubsecciones puedes poner ttulos y subttulos.
6.3. Ambientes para formato
Por el tipo de procesador que es L
A
T
E
X, debes indicarle en qu tipo de ambiente
quieres elaborar el documento. Los ambientes denen los mrgenes que quieres (arriba,
abajo, derecho, izquierdo), qu componentes se vale que tenga el documento (captulos,
secciones, partes), el tamao del rengln, la separacin entre prrafos, la sangra. L
A
T
E
X
cuenta, entre otros, con las siguientes clases de documentos:
Tabla 6.1 L
A
T
E
X: ambientes
Ambiente Nombre Descripcin
Reporte report Se utiliza para textos menos formales que un libro o un artcu-
lo. No tiene captulos, sino que agrupa a partir de secciones.
Artculo article Es, tal vez, el ambiente que ms seguido utilizarn para la en-
trega de tareas, elaboracin de pequeos manuales, etc. Per-
mite escribir en dos columnas fcilmente.
Libro book Da toda la infraestructura para la publicacin de un libro, con
partes, captulos, secciones, etc. Permite preparar las pginas
para imprimir algo por los dos lados.
Acetatos seminar Supone un tamao de letra de cuatro veces el normal, con lo
que permite armar acetatos.
Cartas letter Permite elaborar cartas que acomodan de manera fcil el re-
mitente, la rma, etc.
Cada una de las clases de documento supone un distinto ambiente. El ambiente es
lo primero que le debes dar al compilador de L
A
T
E
X .
Un archivo fuente de texto para L
A
T
E
X consiste de:
Una especicacin de ambiente
\ documentcl ass { r epor t }
El prembulo, donde especicas algunos modicadores para este ambiente, como
pueden ser paquetes adicionales que quieras usar.
\ usepackage [ spani sh ] { babel }
\ usepackage { ucs }
\ usepackage [ ut f 8x ] { i nput enc }
\ usepackage { amsmath}
146 L
A
T
E
X
Tambin en el prembulo puedes cambiar de manera explcita algunos de los pa-
rmetros de la hoja.
\ set count er { chapt er } { 5 }
\ addt ol engt h { v of f s et } { 2cm}
O, en general, establecer propiedades de los objetos con que vas a trabajar o incluir
deniciones:
\ i nput { def i ni ci ones }
\ i ncl udeonl y { segundo }
El documento propiamente dicho que empieza con
\ begi n { document }
y termina con
\ end{ document }
y entre estas dos marcas puede haber texto;
st e es un documento que t r ae concept os bsi cos
comandos de L
A
T
E
X;
\ begi n { cent er }
. . .
\ end{ cent er }
o, en general, comandos que insertan en ese lugar texto de otros archivos:
\ i ncl ude { pr i mer o }
\ i ncl ude { segundo }
Actividad 6.1 En esta primera prctica de L
A
T
E
X escribirs las observaciones en un
archivo de texto simple. Para ello, utilizando Emacs, debers abrir un archivo nuevo
donde vayas escribiendo.
Actividad 6.2 Carga en tu Emacs el archivo template1.tex que se encuentra en el
subdirectorio indicado en la pgina 3.1.
Actividad 6.3 Compila el archivo fuente. Para hacerlo, vas a llevar a cabo el siguien-
te dilogo en la ventana de comandos. Irs anotando lnea por lnea la interaccin.
Deber estar subrayado lo que Emacs escribe y sin subrayar las respuestas.
Cc Cc
para invocar al compilador de L
A
T
E
X.
Save le /home/usuario/template1.tex?(y/n)
pregunta si se desea actualizar la copia del archivo en el disco. La respuesta deber
ser s (y) para que L
A
T
E
X trabaje con la ltima versin.
6.3 Ambientes para formato 147
Command: (Default L
A
T
E
X )
Invoca al compilador de L
A
T
E
X para que trabaje sobre el archivo fuente. Se oprime la
tecla Enter . En este momento, el compilador mandar un mensaje:
Type teclaCc teclaCl to display results of compilation
Si tecleas en este momento Cc Cl , el compilador de L
A
T
E
Xir mostrando, conforme
va revisando el archivo, el resultado de la compilacin. Al terminar, indicar si hubo o
no errores. Si no los hubo, aparecer un mensaje de que termin bien:
L
A
T
E
X succesfully compiled (3) pages
donde dice, entre parntesis, el nmero de hojas que pudo armar con el texto dado.
Tambin aparece el mensaje en la otra mitad de la pantalla que dir que L
A
T
E
X termin
o que tuvo errores.
Para ver cmo quedaron las pginas compiladas, vuelve a teclear Cc Cc y el
mensaje que aparecer es si deseas ver (View) cmo qued. Si oprimes la tecla Enter
se abrir una ventana nueva que mostrar el resultado de la compilacin, utilizando
para ello el paquete xdvi. El archivo generado tiene el mismo nombre, pero su extensin
es dvi.
Si es que hubo algn error, L
A
T
E
Xte pedir que oprimas Cc ` . (aunque el mensaje
pide, en realidad, que teclee nada ms Cc y el acento grave (), en algunos casos
y que tienen que ver conque tienes Emacs para que ponga acentos para el espaol,
debers repetir esta ltima tecla, o bien teclearla en combinacin con la tecla Alt de
la parte derecha del teclado). En seguida, L
A
T
E
X te llevar a donde se encuentra el error
en el texto.
6.3.1. Posibles errores
En este primer ejercicio realmente tendrs pocos errores que reportar. Generalmente
sern aqullos ocasionados por errores de dedo. Nta que L
A
T
E
X tiene varios tipos de
comandos:
i. Aquellos que estn entre \ begin {...} y \ end {...} , donde lo que va entre llaves se
repite. Veamos algunos ejemplos:
\ begi n { document }
. . . .
\ end{ document }
148 L
A
T
E
X
\ begi n { compactenum}
\ i t em . . . .
\ i t em . . . .
\ end{ compactenum}
\ begi n { cent er }
. . .
\ end{ cent er }
A estos comandos les llamamos de ambiente porque delimitan a un texto para
que se les apliquen determinadas reglas.
ii. Tambin tenemos comandos que marcan el inicio y nal de un cierto tipo de datos;
por ejemplo, carcteres matemticos. Para esto, cuando quieres que la frmula
vaya insertada entre el texto, puedes usar cualquiera de los dos ambientes que
siguen.
$ . . . . $
\ ( . . . . \ )
y cuando quieres que aparezca en un prrafo separado, tienes para ello cualquiera
de los dos ambientes que siguen.
$$ . . . . $$
\ [ . . . . \ ]
iii. Aquellos que marcan lo que sigue, y que aparecen nicamente como comandos de
control. A estos les llamamos comandos de estado, porque cambian el estado del
ambiente:
Ejemplos:
\ bf
\ l ar ge
Estos comandos funcionan hasta nuevo aviso. Puedes delimitar tambin su ran-
go de accin si colocas entre llaves al comando y a todo a lo que quieres que se
aplique:

\ l ar ge Esta es una prueba

y entonces el comando se referir nicamente a lo que est en las llaves ms inter-


nas.
iv. Aquellos comandos que actan sobre sus parmetros:
\ sect i on { Pri mera }
\ set count er { sect i on } { 4 }
v. Y por ltimo, aquellos comandos que simplemente se usan como abreviaturas con-
venientes o para denotar smbolos especiales. Siempre empiezan con \
6.4 Formato general de un documento 149
\ cdot
\ uparrow
En el primero, segundo y tercer tipo de comandos es usual que se te olvide cerrar
un ambiente, y entonces el compilador reportar que se encontr el nal del documento
antes de lo esperado, o algn mensaje donde indique que lo que sigue no tiene sentido
donde est.
Es frecuente que tengas errores al teclear y L
A
T
E
X no reconozca el comando. En esos
casos sealar exactamente el lugar donde no est entendiendo.
En el ltimo tipo de comandos, adems del primer tipo de error, como pudiera ser
el de teclear mal el nombre del comando, puedes tambin darle menos parmetros de
los que espera, o de distintos tipos. Por ejemplo, el comando
\ set count er { sect i on } { 4 }
espera una nmero entero en su segundo parmetro, por lo que si le dieras otra cadena
protestara.
Muchas veces es necesario tener en el documento texto que no quieres que aparezca
en la versin nal. Tambin pudiera suceder que tengas problemas con un comando
particular y quieras ver qu pasa si lo quitas, pero sin quitarlo realmente del archivo.
Lo que conviene en esos casos es usar comentarios.
L
A
T
E
X tiene dos tipos de comentarios. El primero, y el ms sencillo de usar, es el que
simplemente comenta el resto de una lnea. Para ello se usa el carcter % (porciento),
y desde el punto en el que aparece hasta el n de lnea (en la pantalla, aunque la lnea
se haya doblado) el compilador de L
A
T
E
X no va a considerar eso para compilar y no
aparecer en el trabajo nal.
La segunda manera es introduciendo el ambiente de comentario mediante
\ begi n { comment }
. . .
\ end{ comment }
y todo lo que quede en este ambiente quedar excluido de la compilacin de L
A
T
E
X.
Para que puedas usar esta forma de comentario, debes incluir el paquete comment en
el prembulo de tu documento:
\ usepackage { comment }
Esta manera de incluir comentarios tambin puede ser muy til si ests trabajando
con un archivo de texto muy grande y deseas compilar por pedazos.
6.4. Formato general de un documento
L
A
T
E
X procesa los espacios en blanco de manera especial. Por ejemplo, entre dos
palabras un espacio en blanco es lo mismo que 25 o que un cambio de rengln; simi-
150 L
A
T
E
X
larmente, un rengln en blanco es equivalente a diez. En general, no respeta de manera
estricta el formato que trae el documento fuente, pues su trabajo consiste, precisamente,
en acomodar adecuadamente el texto de acuerdo a los comandos que recibe. Distingue
una palabra de otra por al menos un espacio en blanco, y un prrafo de otro por al
menos un rengln en blanco. La forma como aparece el texto fuente, en ausencia de
separaciones de palabras o prrafos, no tiene nada que ver con el formato nal, ni en el
tamao del rengln, ni en la manera en que silabea.
L
A
T
E
X se encarga de generar espacios entre los prrafos cuando encuentra dos cam-
bios de rengln seguidos (al menos un rengln en blanco). Tambin, cada vez que
empieza un captulo, seccin, subseccin, etc. genera espacios verticales en blanco.
L
A
T
E
X ofrece la posibilidad de manipular directamente los espacios que se dejan
entre prrafos o el cambio de rengln. En los comandos que siguen, <num> representa
a un entero positivo o negativo y <mdda> representa una unidad de medida, que puede
ser pt, in, cm, mm, ex, em o cualquier variable de longitud ex representa la altura
de una x mientras que em representa el ancho de la letra m . Los comandos con que
cuentas para manipular los espacios se muestran en la tabla 6.2.
Tabla 6.2 L
A
T
E
X: comandos para modicar espacios
Comando Descripcin
\ Indica que se deje incondicionalmente un espacio en
blanco; puede ser necesario cuando L
A
T
E
X genera algn
cdigo y suprime los blancos que lo separan.
~ Produce tambin un espacio en blanco, pero que el com-
pilador no puede usar para cambiar de lnea.
\\ Cambia de rengln y el siguiente rengln empieza en el
margen izquierdo.
\\[< num><mdda>]
\\[<num><mdda>]
Da un cambio de rengln, pero salta, adems de al ren-
gln siguiente, tanto como se le indique. Si el nmero
es negativo, retrocede en la hoja. El a continuacin de
\\\\ es para forzar a que se d el espacio; de otra manera,
L
A
T
E
X decide si aplica el espacio o no.
\ vspace{<num><mdda>}
\ vspace{<num><mdda>}
Da un espacio vertical del tamao especicado. Si el n-
mero es negativo, retrocede en la pgina. Nuevamente, el
es para forzar a LaTeX a que recorra el espacio especi-
cado.
Contina en la siguiente pgina
6.4 Formato general de un documento 151
Tabla 6.2 L
A
T
E
X: comandos para modicar espacios Contina de la pgina anterior
Comando Descripcin
\ smallskip
\ medskip
\ bigskip
Permiten el desplazamiento vertical del texto en un cuar-
to del tamao de la lnea base ( \\ baselineskip), media l-
nea base y una completa. Es muy til porque son saltos
relativos al tamao de letra que ests usando.
\ noindent Hace que un prrafo o rengln empiece en el margen
izquierdo de la hoja, en lugar de hacerlo con sangra.
\ indent Obliga a dejar un espacio horizontal igual al de la sangra
de prrafos.
\ hspace{<num><mdda>}
\ hspace{<num><mdda>}
Deja un espacio horizontal dado por el nmero. Si el n-
mero es negativo, retrocede en la lnea. L
A
T
E
X puede de-
cidir que el espacio no es adecuado en ese punto y no
obedecer. Nuevamente, el fuerza a LaTeX a obedecer
la instruccin.
Tanto \ vspace como \ hspace pudieran ser inhibidos por L
A
T
E
X si es que el compi-
lador considera que no se vera bien. Por ejemplo, si el desplazamiento vertical toca a
principio de una pgina, decide no hacerlo.
Todo documento, menos las cartas, deben tener un ttulo, autor(es) y la fecha en que
fue impreso. Algunas veces se agrega una nota de agradecimiento. En general, a esto
se le llama el ttulo. En el prembulo (antes de que empiece el documento propiamente
dicho) debes colocar los datos para que L
A
T
E
X pueda armar el ttulo que se desea. Los
comandos a L
A
T
E
X son:
\ t i t l e { Ej er c i c i os de Lat ex }
Este es un comando con un parmetro que le indica a L
A
T
E
X que el ttulo del documento
es Ejercicios de Latex. Nota que el argumento debe ir entre llaves.
\ aut hor { El Chapuln Col orado \ and Pepe Gr i l l o }
Si se trata de ms de un autor, los nombres de los autores irn separados por la palabra
\ and.
\ dat e { El da ms bel l o del pl anet a \ \
\ t oday }
En la fecha puedes poner lo que quieras, aunque se espera una fecha. Las dos diago-
nales inversas \\ sirven para cambiar de rengln, y las puedes utilizar en casi cualquier
momento. El comando \ today sirve para que L
A
T
E
X inserte la fecha de hoy.
\ t hanks { Graci as a l os vol unt ar i os de est e t a l l e r }
152 L
A
T
E
X
Sirve para agregar, al pie de la pgina, algn comentario que se desee. Este comando
deber aparecer una vez iniciado el documento propiamente dicho.
Como ya mencionamos, dependiendo de la clase de documento L
A
T
E
Xse comportar
de manera diferente al compilar el texto fuente (la especicacin de \ documentcl ass).
Actividad 6.4 Agrega encabezado al documento. Ponte t como autor, junto con tus
mejores amigos, el ttulo que a t ms te parezca y algn comentario respecto a la
fecha. Agrega un prrafo de agradecimiento tan grande como quieras. Recuerda nada
ms que debe ir despus de \ begin{document}. Compila y ve el efecto.
Actividad 6.5 El objetivo ahora es ver el efecto que tienen las distintas clases de do-
cumento sobre lo que se imprime. En todas las acciones que siguen, haz el cambio,
compila y ve el resultado. Anota cul es el efecto del cambio. Convierte en comentarios
(ya sea con % o con \ begin{comment} ... \end{comment} para conseguir que compile bien.
Comenta tus observaciones y qu es lo que tuviste que quitar para que compilara
bien. Cada vez que cambies a un nuevo tipo de documento, quita los comentarios que
hayas puesto.
Actividad 6.6 Cambia el tipo de documento a article . Vuelve a compilar y reporta lo
que observas, en cuanto al formato de la hoja.
Actividad 6.7 Haz lo mismo que en la actividad anterior, pero con la clase book.
6.4.1. Cartas
Para escribir cartas, todo indica que el formato que le tiene que dar L
A
T
E
X es muy
distinto al de los documentos que hemos visto hasta ahora. Puedes meter en un mismo
documento varias cartas, ya que se espera que el remitente y la rma sean los mismos
para todas las cartas incluidas en el documento. Por ello, una vez iniciado el documento,
debes especicar estos dos parmetros. Veamos primero el remitente:
Remitente: Se reere a lo que normalmente aparece en el tope de la carta y que es la
direccin de aqul quien rma la carta:
\ address { Dra . Genoveva Bi envi st a \ \
Cub cul o 003. Edi f . de Matemt i c as \ \
Facul t ad de Ci enci as , UNAM}
Puede consistir de uno o ms renglones. Si deseas ms de un rengln en el remi-
tente, separas los renglones con \\.
Firma: Para la rma se especica de manera similar al remitente:
\ si gnat ur e { Dra . Genoveva Bi envi st a \ \
Pr of esor Ti t u l a r B}
6.5 Tipos y tamaos de letras 153
Una vez que tienes denidos estos parmetros, se procede a escribir cada una de las
cartas. Se delimita cada una de stas por
\ begi n { l e t t e r }
. . .
\ end{ l e t t e r }
Dentro de cada carta colocars los parmetros que se reeren a cada una de ellas.
Veamos cmo se hace:
Destinatario: A continuacin de \ begin{ letter } colocars entre llaves los datos del des-
tinatario:
\ begi n { l e t t e r } { Di st i ngui do est udi ant e de Ci enci as
de l a Computacin \ \
Pri mer I ngr eso \ \
Generaci n 2007}
Con esto, aparecer el texto inmediatamente antes de la carta.
Introduccin: Llamamos introduccin a la frase con la que se saluda o inicia la carta.
Tambin se relaciona nicamente con la carta en cuestin:
\ openi ng { Muy quer i do est udi ant e : }
y este rengln aparecer al inicio de la carta.
Despedida: Esta es la frase que aparecer antes de que aparezca la rma y jalar a
la rma a continuacin. Aparecer dondequiera que coloques el comando, por lo
que lo deber colocar inmediatamente antes del n de la carta (\ end{ letter }).
\ cl osi ng { Quedo de Uds . atentamente , }
Copias: Muchas veces quieres poner al pie de la carta la lista de las personas a las que
pretendes entregarle una copia de la carta. Esto se logra con el comando:
\ cc { Mis mej ores amigos \ \
Mis est i mados col egas \ \
Pri mer i ngr eso en gener al }
Tambin este comando, como el de despedida, aparecer en donde lo coloques, por
lo que lo debers colocar tambin al nal de la carta y despus de la despedida.
Actividad 6.8 Ahora cambia a la clase letter y modica el texto fuente para que pa-
rezca, en efecto, una carta (o edita un archivo propio para ello). Observa los resultados.
6.5. Tipos y tamaos de letras
Si revisas estas notas, hechas con L
A
T
E
X, vers que existen una gran cantidad de tipos
de letras y tamaos que puedes usar dentro de tu documento. Para cambiar el tamao
154 L
A
T
E
X
de las letras cuentas con comandos de estado, por lo que el que uno de ellos aparezca
se referir a todo el ambiente en el que estn. Es conveniente, por ello, escribirlos entre
llaves:
{ \ l ar ge est e es . . . . . . . }
Veamos una lista de tamaos de letras con sus nombres en la tabla 6.3.
Tabla 6.3 Tamaos disponibles para letras
Nombre Descripcin del tamao
tiny esta es una muestra diminuta
scriptsize un poco menos pequea
footnotesize creciendo un poco
small esta es una muestra pequea
normalsize este es el tamao normal
large una muestra agrandada un poco
Large Agrandamos la muestra un poco ms
LARGE Muy grande
huge Mucho muy grande
Huge Sper extra grande!
HUGE Sper dper extra grande!
Como se ve, tienes a tu disposicin siete tamaos distintos de letras (aunque en
realidad no hay casi diferencia entre huge, Huge y Huge. En cualquier lugar donde puede
aparecer texto, ste puede aparecer agrandado o empequeecido. Sin embargo, cuando
se est usando ambiente matemtico estos comandos no tendrn efecto alguno dentro
del ambiente y pueden causar un mensaje de aviso.
Actividad 6.9 Vuelve a cargar el archivo CalcProp.tex para que vuelvas a tener la ver-
sin original.
Actividad 6.10 Localiza en el documento fuente aquellos renglones que estn prece-
didos por la palabra \item. A cada uno de ellos, ponle uno de los tamaos de letra
listados anteriormente, encerrando el comando y el texto correspondiente entre llaves.
Compila y ve el resultado.
6.5 Tipos y tamaos de letras 155
Actividad 6.11 Quita las llaves que delimitan el texto. Compila y ve el resultado.
Actividad 6.12 Haz que la primera letra de cada prrafo empiece en cada uno de los
tamaos especicados. Compila y ve el resultado.
Veamos ahora cules son los tipos de letra que provee L
A
T
E
X (se les denomina fonts).
Vienen tanto como comandos de cambio de estado como con un argumento, que es el
texto que se va a cambiar.
Tabla 6.4 L
A
T
E
X: comandos para cambios de tipo de letra
Decl. Abr. Comando Descripcin
\ mdseries \ textmd {...} Medium Series, se reere a tipo normal
\ bfseries \ bf \ textbf {...} Boldface Series, se reere a negritas
\ rmfamily \ rm \ textrm {...} Roman Family, un tipo de letra
\ sffamily \ sf \ textsf {...} Sans Serif Family, letras simples
\ ttfamily \ tt \ texttt {...} Typewriter Family, letra
como de mquina de escribir
\ upshape \ textup {...} Letras sin inclinacin
\ itshape \ it \ textit {...} Texto en itlicas
\ slshape \ sl \ textsl {...} Texto ligeramente inclinado
\ scshape \ sc \ textsc {...} TEXTO EN MAYSCULAS ESCALADAS
\ normalfont \ textnormal {...} Texto normal
Todas las abreviaturas funcionan como cambios de estado, por lo que si deseas que
nicamente se apliquen a un pedazo de texto, encerrars el comando junto con el texto
entre llaves, la que abre precediendo al comando.
Puedes utilizar otro tipo de texto, conocido como enfatizado, que simplemente im-
plica un cambio de tipo de letra, que depende de la instalacin de L
A
T
E
X. Su abreviatura,
es \em y su comando es \emph{. . . }. Funcionan de manera similar al resto de los cam-
bios de tipo de letra. Tiene la propiedad de que si est en modo enfatizado y se encuentra
un comando, cambia a modo normal y viceversa:
{ \ em Veamos cmo f unci ona est e comando cuando tenemos
{ \ em uno dent r o de ot r o } }
Veamos cmo funciona este comando cuando tenemos uno dentro de otro
El ltimo comando, \textnormal, lo usas para escapar a algn tipo que hayas
dado para todo un prrafo o una seccin:
156 L
A
T
E
X
\ t ex t bf { Qui eres que aparezca en negr i t as , except o
\ t ext nor mal { est e t ext o } }
Quieres que aparezca en negritas, excepto este texto
Actividad 6.13 Modica el archivo CalcProp.ltx para que las primeras dos palabras
de cada prrafo sean con un tipo de letra distinto y un tamao distinto. Usa todos los
tipos listados, aunque repitas.
Actividad 6.14 Compila y reporta tus resultados.
A veces puedes combinar dos o ms tipos y tamaos de letras. Por ejemplo, puedes
querer tener negritas de itlicas:
Negritas itlicas
Este tipo de combinaciones las consigues utilizando los comandos que correspon-
den a la declaracin, cuyo uso es de comando de estado:
{ \ bf ser i es \ i t shape Negr i t as i t l i c a s } } comparadas
con \ t e x t i t { I t l i c a s }
que produce
Negritas itlicas comparadas con itlicas
Si se utilizan los dos comandos de abreviatura
{ \ i t \ bf I t l i c a s negr i t as } comparadas con \ t ex t bf { negr i t as }
nicamente se vericar el ltimo (ms interno) cambio de estado que se haya solicita-
do:
Itlicas negritas comparadas con negritas
Lo mismo suceder con cualquier combinacin que se desee de dos tipos de letras:
debers combinar usando una como cambio de estado y la otra como comando con
argumento aunque la ecacia de esto depende del orden o las dos en modo de
declaracin.
6.6. Listas de enunciados o prrafos
Un prrafo es un conjunto de oraciones que empiezan y terminan con doble Enter .
En el documento fuente puedes observar un rengln en blanco para nalizar cada prra-
fo. El aspecto en el documento formateado depender de los parmetros que tenga L
A
T
E
X
para compilar ese texto aunque se pueden modicar, no lo haremos por el momento.
L
A
T
E
X provee mecanismos para presentar listas de prrafos, ya sean numerados, eti-
quetados o con una marca separndolos entre s. En general, tienen el siguiente formato:
6.6 Listas de enunciados o prrafos 157
\ begi n{ <tipo-de-lista>}
\ i t em <prrafo>
\ i t em <prrafo>
\ i t em . . .
\ end{ <tipo-de-lista>}
Cada prrafo que desees marcar (numerar) deber ir precedido del comando \item.
Entre un \item y el siguiente, o entre \item y el nal de la lista puede haber ms de un
prrafo.
Los <tipo de lista> que vas a manejar por lo pronto son los siguientes:
\ begi n { enumerate }
<enumeracin de prrafos>
\ end{ enumerate }
\ begi n { i t emi ze }
<listado de prrafos>
\ end{ i t emi ze }
\ begi n { descr i pt i on }
<descripcin de prrafos>
\ end{ descr i pt i on }
Cada uno de stos puede aparecer anidado en el otro, o anidado en s mismo. Vea-
mos primero las numeraciones.
6.6.1. Numeraciones
Empezaremos por el tema de incisos numerados. Veamos un anidamiento de numera-
cin:
\ begi n { enumerate }
\ i t em Este es el pr i mer pr r af o en el pr i mer ni v el
\ begi n { enumerate }
\ i t em Queremos ver qu pasa al ani dar en el segundo ni v el
\ begi n { enumerate }
\ i t em Anidamos una vez ms para el t er cer ni v el
\ i t em Ot ro i nci so para que se vea qu pasa en el t er cer ni v el
\ begi n { enumerate }
\ i t em Numeracin en el cuar t o ni v el
\ end{ enumerate }
\ end{ enumerate }
\ i t em Ot ro i nci so en el segundo ni v el de numeraci n
\ end{ enumerate }
\ i t em Ot ro i nci so en el pr i mer ni v el de numeraci n
\ end{ enumerate }
que produce el texto:
158 L
A
T
E
X
1. Este es el primer prrafo en el primer nivel
a) Queremos ver qu pasa al anidar en el segundo nivel
1) Anidamos una vez ms para el tercer nivel
2) Otro inciso para que se vea qu pasa en el tercer nivel
a

Numeracin en el cuarto nivel


b) Otro inciso en el segundo nivel de numeracin
2. Otro inciso en el primer nivel de numeracin
Como puedes observar, cada nivel lleva su propio contador y usa sus propios m-
todos de numeracin. Los valores por omisin, como acabas de ver, son los nmeros
arbigos seguidos de un punto para el primer nivel; las letras minsculas seguidas de
un parntesis para el segundo nivel; nuevamente nmeros arbigos, pero seguidos de
un parntesis para el tercer nivel; y nuevamente letras maysculas, pero seguidas de un
apstrofo para el cuarto nivel. L
A
T
E
X admite nicamente cuatro niveles de anidamiento
para las numeraciones. Las numeraciones tambin tienen denidas espacio entre los
distintos niveles y sangras para los mismos. Puedes denir qu tipo de numeracin uti-
lice. La manera ms fcil es incluyendo el paquete para numeraciones en el prembulo
de tu documento fuente, \ usepackage{enumerate} y entonces podrs marcar qu tipo de
numeracin deseas, colocando el que correspondera al primero de la lista:
\ begi n { enumerate } [ ( a ) ]
\ i t em Es un paquete de d i s t r i b u c i n gr at ui t a , di sponi bl e
en pr ct i cament e t odos l os si st emas Uni x , y que est
ampl i amente documentado .
\ i t em La documentaci n vi ene con \ t ext nor mal { \ LaTeX{ } } ,
por l o que est accesi bl e .
\ end{ enumerate }
Con esta opcin, produces la numeracin con las etiquetas que deseas:
(a) Es un paquete de distribucin gratuita, disponible en prcticamente todos los sis-
temas Unix, y que est ampliamente documentado.
(b) La documentacin viene con L
A
T
E
X, por lo que est accesible.
6.6 Listas de enunciados o prrafos 159
Mientras que
\ begi n { enumerate } [ I . ]
\ i t em Es un paquete de d i s t r i b u c i n gr at ui t a , di sponi bl e en
pr ct i cament e t odos l os si st emas Unix , y que est
ampl i amente documentado .
\ i t em La documentaci n vi ene con \ t ext nor mal { \ LaTeX{ } } ,
por l o que est accesi bl e .
\ end{ enumerate }
produce
I. Es un paquete de distribucin gratuita, disponible en prcticamente todos los sis-
temas Unix, y que est ampliamente documentado.
II. La documentacin viene con L
A
T
E
X, por lo que est accesible.
Adems del tipo de nmero a usar, indicas tambin una cierta manera de editarlo.
Por ejemplo, en el caso anterior, cuando usas minsculas las colocas entre parntesis,
mientras que cuando usas nmeros romanos en mayscula, al nmero lo haces seguir
por un punto.
Las maneras que tienes de numerar presentan al tipo de letra que va a ir, precedido
y/o seguido de algn separador, como ):,-:
Arbigos. El valor por omisin para el primer nivel. [1.]
Letras minsculas. [ a]
Letras maysculas. [ A:]
Nmeros romanos en minscula. [ i .]
Nmeros romanos en mayscula. [ I .]
Si aparece entre los corchetes algo que no sea identicado como el primer nmero
de cierto tipo, L
A
T
E
X simplemente repetir esa cadena frente a cada uno de los prrafos
marcados con \item. Si deseas, por ejemplo, agregar un texto antes del nmero, como
Nota 1, lo que debes hacer es encerrar entre llaves lo que no corresponde al nmero.
\ begi n { enumerate } [ { Nota } 1 . ]
\ i t em Pri mera not a .
\ i t em Segunda not a .
\ end{ enumerate }
Nota 1. Primera nota.
Nota 2. Segunda nota.
Cabe aclarar que la sustitucin que hagas para el tipo de numeracin afecta ni-
camente al nivel en el que aparece. Los niveles anidados seguirn la convencin por
omisin descrita arriba.
160 L
A
T
E
X
6.6.2. Listas marcadas
Cuando simplemente quieres marcar a cada prrafo con algn carcter, como un
guin, un punto o algo similar, puedes utilizar las listas de prrafos:
\ begi n { i t emi ze }
\ i t em . . .
\ i t em . . .
. . .
\ end{ i t emi ze }
Tambin estas listas las puedes anidar entre s hasta cuatro niveles de profundidad,
cambiando el carcter que marca a los distintos prrafos. Observa el siguiente ejemplo,
con el cdigo de L
A
T
E
X a la izquierda y el resultado a la derecha.
\ begi n { i t emi ze }
\ i t em Pri mero del pr i mer ni v el
\ begi n { i t emi ze }
\ i t em Pri mero del segundo ni v el
\ begi n { i t emi ze }
\ i t em Pri mero del t er cer ni v el
\ begi n { i t emi ze }
\ i t em Pri mero del cuar t o ni v el
\ i t em Segundo del cuar t o ni v el
\ end{ i t emi ze }
\ i t em Segundo del t er cer ni v el
\ end{ i t emi ze }
\ i t em Segundo del segundo ni v el
\ end{ i t emi ze }
\ i t em Segundo del pr i mer ni v el
\ end{ i t emi ze }
Primero del primer nivel
Primero del segundo nivel
Primero del tercer nivel
Primero del cuarto nivel
Segundo del cuarto nivel
Segundo del tercer nivel
Segundo del segundo nivel
Segundo del primer nivel
Al igual que en las numeraciones, no puedes tener ms de cuatro anidamientos del
mismo tipo de listas.
Puedes modicar el carcter que quieras que use como marca en la lista, colocando
el carcter deseado entre corchetes a continuacin de \item en el prrafo seleccionado.
El cdigo se encuentra a la izquierda y el resultado a la derecha.
6.6 Listas de enunciados o prrafos 161
\ begi n { i t emi ze }
\ \ i t em[ ] Pri mero del pr i mer ni v el
\ begi n { i t emi ze }
\ i t em [ +] Pri mero del segundo ni v el
\ begi n { i t emi ze }
\ i t em [ : ] Pri mero del t er cer ni v el
\ begi n { i t emi ze }
\ i t em [ >] Pri mero del cuar t o ni v el
\ i t em Segundo del cuar t o ni v el
\ end{ i t emi ze }
\ i t em Segundo del t er cer ni v el
\ end{ i t emi ze }
\ i t em Segundo del segundo ni v el
\ end{ i t emi ze }
\ i t em Segundo del pr i mer ni v el
\ end{ i t emi ze }
- Primero del primer nivel
+ Primero del segundo nivel
: Primero del tercer nivel
> Primero del cuarto nivel
Segundo del cuarto nivel
Segundo del tercer nivel
Segundo del segundo nivel
Segundo del primer nivel
Como puedes observar, a diferencia de las numeraciones, nicamente cambia el
prrafo de la lista que hayas marcado. El resto de las marcas se mantiene igual. Hay
manera de cambiar la marca para todos los elementos del nivel de anidamiento, de la
misma manera que se hizo con las numeraciones.
6.6.3. Descripciones
El formato para las descripciones es:
\ begi n { descr i pt i on }
. . .
prrafos-marcados
. . .
\ end{ descr i pt i on }
donde cada prrafo marcado lleva inmediatamente despus de \item, entre corchetes,
el ttulo que quieres aparezca para la descripcin. Este ttulo aparecer con otro tipo
de letra que el normal, para destacarlo. El resto del prrafo se alinear dejando una
pequea sangra. Sigue un ejemplo en el siguiente cdigo.
162 L
A
T
E
X
\ begi n { descr i pt i on }
\ i t em [ enumerate : ] Cada ni v el se va numerando manteni endo un
cont ador para t a l ef ect o .
\ begi n { descr i pt i on }
\ i t em [ segundo ni v el ] Es una prueba para ver s i t i ene sent i do
meter ot r o ni v el ms en descr i pci ones .
\ begi n { descr i pt i on }
\ i t em [ t er c er ni v el ] Ot ra pr uebi t a ms del asunt o
\ begi n { descr i pt i on }
\ i t em [ cuar t o ni v el ] Y an hay ms
\ begi n { descr i pt i on }
\ i t em [ qui nt o ni v el ] A ver s i en est e t i po de l i s t a s
s se val e
\ end{ descr i pt i on }
\ end{ descr i pt i on }
\ end{ descr i pt i on }
\ end{ descr i pt i on }
\ i t em [ i t emi ze : ] Cada pr r af o se marca con un det ermi nado car ct er ,
dependi endo del ni v el de ani dami ent o .
\ i t em [ descr i pt i on : ] Si r ve para poner expl i caci ones o def i ni ci ones .
\ end{ descr i pt i on }
que produce el siguiente texto:
enumerate: Cada nivel se va numerando manteniendo un contador para tal efecto.
segundo nivel Es una prueba para ver si tiene sentido meter otro nivel ms en
descripciones.
tercer nivel Otra pruebita ms del asunto
cuarto nivel Y an hay ms
quinto nivel A ver si en este tipo de listas s se vale
itemize: Cada prrafo se marca con un determinado carcter, dependiendo del nivel de
anidamiento.
description: Sirve para poner explicaciones o deniciones.
Es importante que notes que en el caso de las descripciones puedes anidar tantas
veces como lo desees.
Vamos a crear un archivo nuevo para escribir algunas preguntas y respuestas res-
pecto a las listas de prrafos que te acabamos de presentar. Para ello:
Actividad 6.15 Crea un archivo con clase de documento article y que use los mismos
paquetes que usa CalcProp.tex.
6.6 Listas de enunciados o prrafos 163
Actividad 6.16 Ponle como ttulo tu nombre y el nmero de actividad.
Actividad 6.17 A continuacin, escribe en el archivo el nombre de cada paquete que
usas y una breve descripcin de para qu lo usas (los nombres de los paquetes te deben
dar una idea).
Ahora que ya tienes ms comandos que teclear, veremos algunas tareas que Emacs
te facilita:
1. Aparear bien los ambientes en
\ begi n { . . . }
. . .
\ end { . . . } +
Esto se consigue tecleando C-c C-e y en la lnea de comando de Emacs apare-
cer
Envi ronment t ype ( def aul t . . . )
Generalmente, el valor por omisin es el del ltimo ambiente elegido o itemize,
si es la primera vez en la sesin que lo solicitas. Si tecleas Enter , proceder a
crear la pareja \ begin {..} \ end{..} , dejando el cursor entre ellos para que procedas
a escribir. Si el ambiente que elegiste es alguna lista, coloca el primer \ item. Si la
lista elegida es description, pregunta por la primera etiqueta.
Este comando de Emacs va guardando los ambientes que le vas solicitando. Puedes
recorrer la lista de comandos usados con la echa vertical. Cuando es la primera
vez que vas a usar un ambiente dado, simplemente tecleas el nombre del ambiente
(por ejemplo, enumerate, description) para que lo meta a la lista de ambientes
disponibles.
2. Cerrar algn ambiente que est abierto: C-c ] . Con este comando, Emacs coloca
el \ end{..} del \ begin {..} ms cercano que no haya sido cerrado.
Actividad 6.18 Haz una lista de invitados a una boda, donde separes los invitados de
los padres del novio, los padres de la novia, los invitados del novio y los invitados de
la novia. Esta lista deber aparecer en el archivo que acabas de crear. La lista deber
facilitar sacar el total de invitados a la boda.
6.6.4. Listas ms compactas
Como puedes observar de los ejemplos que mostramos, muchas veces el espacio
entre los incisos en cada tipo de lista es excesivo. L
A
T
E
X cuenta con un paquete de
L
A
T
E
X que te permite acortar estos espacios, el paquete paralist . Este paquete, adems de
acortar los espacios verticales, asume las funciones del paquete enumerate permitiendo
modicar las etiquetas de las distintas listas. Para poder hacer esto ltimo, pasas como
opciones al cargar el paquete newenum y newitem de la siguiente manera:
164 L
A
T
E
X
\ usepackage [ newenum, newitem ] { p a r a l i s t }
Si usas este paquete, es conveniente ya no cargar el paquete enumerate. Proporciona
los siguientes ambientes:
\ begi n { compactenum}
. . .
\ end{ compactenum}
\ begi n { compacti tem}
. . .
\ end{ compacti tem}
\ begi n { compactdesc }
. . .
\ end{ compactdesc }
Estos tres ambientes resultan muy cmodos para compactar un poco el texto que
se est produciendo. En este libro es ms comn que usemos estos ambientes que los
originales de L
A
T
E
X. paralist tiene adems listas corridas en un nico rengln, pero no
las revisaremos en este momento.
6.7. Tablas
En general, L
A
T
E
X provee comandos para denir tablas de los tipos ms variados.
Veremos ac nicamente las ms sencillas, aunque no por eso poco poderosas.
Una tabla es un conjunto de renglones alineados por columnas. Por ello, para que
L
A
T
E
X vaya acomodando las columnas le debes dar el nmero de columnas y el formato
de de cada una de ellas. El formato general de una tabla de texto es el siguiente:
\ begi n { t abul ar } [ <pos> ] { <cols>}
<renglones>
\ end{ t abul ar }
Es necesario aclarar que una tabla puede aparecer en cualquier posicin donde apa-
rezca una palabra. Por ello, es conveniente en la inmensa mayora de los casos preceder
y suceder a la tabla con un rengln en blanco.
El argumento que va entre corchetes, <pos> se reere al caso en que desees que
la tabla aparezca a continuacin de una palabra, si la queremos alineada desde arriba
([ t ] ), desde abajo ([ b]) o centrada [ c], que es el valor por omisin. Este parmetro no
tendr sentido si se deja, como acabamos de mencionar, un rengln en blanco antes y
despus de la tabla.
El argumento <cols> se reere al formato que debern tener las columnas de la
tabla, y que ser aplicado a cada uno de los renglones. Debes especicar el formato
para cada una de las columnas que deseas tener en la tabla. Tambin especicas si
6.7 Tablas 165
se debe colocar algo entre las columnas. De esto, <cols> corresponde a una lista de
especicadores, que se reeren a la sucesin de columnas e intercolumnas:
Tabla 6.5 Modicadores para la denicin de columnas
Especicacin Descripcin
l Especica que el contenido de esta columna se colocar pegado a
la izquierda, y ocupar tanto espacio como requiera para quedar
contenido en un rengln.
r Similar al anterior, pero pegado a la derecha.
c Similar al anterior, pero centrado.
p{<ancho>} Da un ancho jo para la columna. L
A
T
E
X acomodar el texto como
si fuera un prrafo, ocupando tantos renglones como sea necesario.
m{<ancho>} Igual que p, excepto que si hay columnas que dan un nmero dis-
tinto de lneas para el mismo rengln, centra verticalmente el con-
tenido de las columna.
Para estas dos opciones, el {<ancho>} deber estar dado en:
in pulgadas
cm centmetros
mm milmetros
pt puntos
em ancho de carcter
Algn nombre de longitud
| Una lnea vertical que separa columnas.
|| Dos lneas verticales separando las columnas.
En los primeros tres casos, el tamao nal de la columna ser el mximo de todos
los renglones de la tabla. Si es que va a haber mucho texto en cada columna, te re-
comendamos usar la cuarta o quinta descripcin, para que el rengln se doble y se
conforme un prrafo.
Los renglones se componen de material que quieres en cada columna. Cada vez que
deseas cambiar de columna, debes insertar un carcter & y cada vez que quieras cambiar
de rengln debers agregar al nal del rengln \\.
Puedes colocar lneas entre cada dos renglones con el comando \hline. Cuando no
es el primero de los renglones, debe venir a continuacin de un cambio de rengln.
166 L
A
T
E
X
Veamos un ejemplo sencillo a continuacin.
\ begi n { t abul ar } [ t ] { cccc }
l et r as y smbolos \ \
pal abr as & or aci ones
& pr r af os & subsecci ones \ \
secci ones & cap t ul os
& par t es & documento
\ end{ t abul ar }
Se tiene una tabla con cuatro columnas y dos renglones y se usa & para separar
las columnas entre s. Se utilizan \\ para separar los renglones. La tabla queda de la
siguiente manera:
letras y smbolos
palabras oraciones prrafos subsecciones
secciones captulos partes documento
Es importante que notes que lo que corresponde a un rengln formado no forzosa-
mente tiene que aparecer en el mismo rengln en el cdigo. Slo en el caso en que la
especicacin de la columna sea p o m, el introducir un rengln en blanco ser inter-
pretado como cambio de prrafo, que lo realiza dentro del mismo rengln de la tabla y
en la misma columna.
Actividad 6.19 Crea un archivo Tablas.tex y copia el prembulo de CalcProp.tex.
Copia la denicin de la tabla anterior, compila y ve el resultado.
Actividad 6.20 Modica la tabla anterior para que quede de la siguiente manera:
letras y smbolos palabras oraciones
prrafos subsecciones secciones
captulos partes documento
donde la primera columna est justicada a la izquierda, la segunda centrada y la ter-
cera a la derecha. La tabla tiene tres columnas en lugar de cuatro.
6.7.1. Multicolumnas
En la tabla anterior, el texto letras y smbolos ocupa mucho ms espacio que el resto
de los textos en esa columna. Por ello, se toma la decisin de que este texto ocupe dos
columnas. Si lo separas a pie queda mal distribuido, pues interviene el espacio entre
columnas:
6.7 Tablas 167
letras y smbolos
palabras oraciones prrafos subsecciones
secciones captulos partes documento
Para que se centre en dos columnas puedes utilizar el comando
\ mul t i col umn { <nm>} { <col s>} { <t ext o>}
donde {<nm>} es el nmero de columnas de la tabla original que va a ocupar; {#<cols>}
es la manera de acomodar esa columna, con sus posibles carcteres entre columnas; y
{<texto>} es lo que queremos que aparezca en esa nueva columna. Un \ multicolumn puede
aparecer en cualquier lugar donde pueda aparecer el contenido de una columna, al inicio
de un rengln o inmediatamente a continuacin de un &. Debes tener cuidado de que
el nmero de columnas que se coloca en {<nm>} no exceda el nmero de columnas
que quedan disponibles en el rengln, a partir de la columna donde se est colocando
el comando. La tabla queda como sigue:
\ begi n { t abul ar } [ t ] { cccc }
\ mul t i col umn { 2 } { c } { l et r as y smbolos } \ \
pal abr as
& or aci ones & pr r af os & subsecci ones \ \
secci ones & cap t ul os & par t es & documento
\ end{ t abul ar }
y se forma como sigue:
letras y smbolos
palabras oraciones prrafos subsecciones
secciones captulos partes documento
Puedes usar el comando de \ multicolumn tambin para modicar exclusivamente el
contenido de una columna en un determinado rengln. Por ejemplo, si deseas que para
esa columna en ese rengln en lugar de estar centrado est justicado a la derecha,
o que no tenga separadores entre columnas. Puedes hacer esto para lograr, sin juntar
columnas, casi el mismo efecto que lograste uniendo dos columnas:
168 L
A
T
E
X
\ begi n { t abul ar } [ t ] { cccc }
\ mul t i col umn { 1 } { r } { l et r as y}&
\ mul t i col umn { 1 } { l } { smbolos } \ \
pal abr as
& or aci ones & pr r af os & subsecci ones \ \
secci ones & cap t ul os & par t es & documento
\ end{ t abul ar }
El texto formado queda como se muestra a continuacin. Nota que, ahora s, desa-
pareci el espacio de ms entre y y smbolos.
letras y smbolos
palabras oraciones prrafos subsecciones
secciones captulos partes documento
Tambin puedes aprovechar las multicolumnas para poner ttulos a la tabla o pies
de pgina:
Componentes de un documento de LaTeX
letras y smbolos
palabras oraciones prrafos subsecciones
secciones captulos partes documento
Se puede numerar a partir de subsecciones
En general puedes agregarle modicadores a las columnas para que el texto de esa
columna tenga un tamao o tipo particular. Por ejemplo, para el ttulo de la tabla agregas
al principio del texto el modicador \ bf y para el ltimo rengln cambias el tamao
del carcter a \ footnotesize. Estos cambios se aplican nicamente a esa columna y en
ese rengln. Asimismo, puedes saltar lneas en blanco entre renglones, simplemente
agregando cambios de lnea ( \\ ) al nal del rengln.
Actividad 6.21 Repite la tabla que construiste y modifcala para agregarle el ttulo y
el ltimo rengln.
6.7.2. Separacin de renglones y columnas
Como mencionamos al decir qu puede ir en {<cols>}, dijimos que puedes tener una
o dos lneas verticales que separan a las columnas. Tambin puedes tener lneas hori-
zontales que separen a los renglones. Veamos la siguiente tabla que incluye separadores
de columna y de rengln.
6.7 Tablas 169
Ambiente Nombre Descripcin
Reporte report Se utiliza para cosas menos formales que un libro o un
artculo. No tiene captulos, sino que agrupa a partir de
secciones.
Artculo article Es, tal vez, el ambiente que ms seguido utilizars para la
entrega de tareas, elaboracin de pequeos manuales, etc.
Permite escribir en dos columnas fcilmente.
que fue producida por el siguiente cdigo:
\ begi n { t abul ar } [ t ] { | l | l | p{ 8cm} | }
\ hl i ne
Ambiente& Nombre& Descr i pci n \ \
\ hl i ne
Reporte&r epor t &Se u t i l i z a para cosas menos f or mal es
que un l i b r o o un ar t cul o . No
t i ene cap t ul os , si no que agrupa
a p a r t i r de secci ones . \ \
\ hl i ne
Ar t cul o&a r t i c l e&Es , t a l vez , el ambi ente que ms segui do
u t i l i z a r s para l a ent r ega
de t ar eas , el abor aci n de pequeos
manuales , et c . Permi t e e s c r i b i r en dos
columnas f ci l ment e . \ \
\ hl i ne
\ end{ t abul ar }
Observa que antes de cada \ hline, excepto el primero, debe haber un cambio de ren-
gln. En cambio, despus del \ hline no es necesario un cambio de rengln. Como ya
vimos, puedes modicar el tipo y/o tamao de cualquiera de los contenidos de una co-
lumna en un determinado rengln. Por ejemplo, se acostumbra que los ttulos vayan en
negritas. Tambin deseas lneas dobles horizontales entre los ttulos y el contenido de la
tabla. Juguemos un poco con eso. Para no ocupar tanto espacio nada ms mostraremos
el rengln o renglones que estemos modicando. Lo primero que haremos es separar a
los encabezados de columnas con lneas dobles y ponerlos en negritas, de la siguiente
manera:
\ hl i ne \ hl i ne
\ bf Ambiente& \ Large \ t ex t bf { Nombre} &\ sc Descr i pci n \ \
\ hl i ne \ hl i ne
Integrados estos cambios, la tabla se ve como sigue:
170 L
A
T
E
X
Ambiente Nombre DESCRIPCIN
Reporte report Se utiliza para cosas menos formales que un li-
bro o un artculo. No tiene captulos, sino que
agrupa a partir de secciones.
Artculo article Es, tal vez, el ambiente que ms seguido uti-
lizarn para la entrega de tareas, elaboracin de
pequeos manuales, etc. Permite escribir en dos
columnas fcilmente.
Supongamos que le agregas dos renglones ms, pero que por el momento no tienes
decidido qu escribir en la descripcin:
Acet at os&semi nar \ \ \ hl i ne
Cart as&l e t t e r \ \ \ hl i ne
Y veamos cmo se ve la tabla:
Ambiente Nombre DESCRIPCIN
Reporte report Se utiliza para cosas menos formales que un li-
bro o un artculo. No tiene captulos, sino que
agrupa a partir de secciones.
Artculo article Es, tal vez, el ambiente que ms seguido utili-
zars para la entrega de tareas, elaboracin de
pequeos manuales, etc. Te permite escribir en
dos columnas fcilmente.
Acetatos seminar
Cartas letter
Nota que falta la lnea vertical al nal. Esto es porque no especicaste nada para la
tercera columna. Cuando tienes lneas verticales para separar columnas, debes com-
pletar todas las columnas en cada rengln. Los renglones agregados debieron tener la
siguiente forma:
Acet at os &semi nar &\ \ \ hl i ne
Cart as & l e t t e r &\ \ \ hl i ne
Veamos cmo queda la tabla, que se muestra a continuacin.
6.7 Tablas 171
Ambiente Nombre DESCRIPCIN
Reporte report Se utiliza para cosas menos formales que un li-
bro o un artculo. No tiene captulos, sino que
agrupa a partir de secciones.
Artculo article Es, tal vez, el ambiente que ms seguido utili-
zars para la entrega de tareas, elaboracin de
pequeos manuales, etc. Te permite escribir en
dos columnas fcilmente.
Acetatos seminar
Cartas letter
Supongamos ahora que quieres agregarle a la tabla un ttulo, que quede dentro
de la tabla en el primer rengln. Para eso puedes utilizar nuevamente el comando
\ multicolumn. Debes tener cuidado si es que las columnas originales tienen separacin
por columnas, porque debes especicar explcitamente las nuevas separaciones. Quie-
res el ttulo centrado, pero de ancho mayor que el resto de los renglones. Para lograrlo
pones un rengln en blanco antes y despus. Veamos cmo funciona en la tabla que
estamos usando como ejemplo:
\ mul t i col umn { 3 } { | c | } { } \ \
\ mul t i col umn { 3 } { | c | } { \ Large \ t ex t bf { Cl ases de documentos
en \ t ext nor mal { \ LaTeX { } } } } \ \
\ mul t i col umn { 3 } { | c | } { } \ \ \ hl i ne
Clases de documentos en L
A
T
E
X
Ambiente Nombre DESCRIPCIN
Reporte report Se utiliza para cosas menos formales que un li-
bro o un artculo. No tiene captulos, sino que
agrupa a partir de secciones.
Artculo article Es, tal vez, el ambiente que ms seguido uti-
lizarn para la entrega de tareas, elaboracin de
pequeos manuales, etc. Permite escribir en dos
columnas fcilmente.
De los ejemplos anteriores, es claro que cuando colocas carcteres entre las colum-
nas, dejar renglones en blanco no es trivial.
Al igual que cuando no tienes lneas entre las columnas, puedes utilizar \ multicolumn
para quitar las lneas de una determinada columna en un cierto rengln. La manera
como se asocian las separaciones de columnas son:
172 L
A
T
E
X
La primera columna tiene asociadas la lnea a su izquierda y a su derecha.
A partir de la segunda columna, cada columna debe redenir su lnea derecha.
Actividad 6.22 Codica la siguiente tabla, que es una nueva versin de la tabla ante-
rior. Ten cuidado con las lneas que separan las columnas. Observa que puedes trabajar
a partir de la tabla ya codicada.
Tema: Clases de documentos en L
A
T
E
X
Ambiente Nombre DESCRIPCIN
Reporte report Se utiliza para cosas menos formales que un li-
bro o un artculo. No tiene captulos, sino que
agrupa a partir de secciones.
Artculo article Es, tal vez, el ambiente que ms seguido utili-
zars para la entrega de tareas, elaboracin de
pequeos manuales, etc. Te permite escribir en
dos columnas fcilmente.
** La lista no es exhaustiva
6.7.3. Lneas incompletas verticales y horizontales
Veamos la tabla que se encuentra a continuacin a la izquierda. Entre el segundo y
tercer rengln no quieres una lnea completa, sino nicamente una que cubra la segunda
y tercera columna. Esto se consigue con el comando \cline{ci-cf}, donde ci es el
nmero de la columna inicial y cf es el nmero de la columna nal. A su lado se muestra
la codicacin de la tabla, donde puedes ver en la cuarta lnea de la codicacin el uso
del comando \ cline{23}, que indica que la lnea parcial empieza en la columna 2 y
termina en la 3.
Vericador de Paridad
Sigma
Q 0 1 F
PAR PAR NON 1
NON NON PAR 0
\ begi n { t abul ar } { | c | c | c | | c | }
\ hl i ne
\ mul t i col umn { 4 } { | c | } { \ bf Ver i f i c ador \ de \
Pari dad } \ \ \ hl i ne \ hl i ne
&\ mul t i col umn { 2 } { c | | } { \ bf Sigma}
&\ \ \ c l i ne {23}
\ bf Q & 0 & 1 & F \ \ \ hl i ne
PAR & PAR & NON & 1 \ \ \ hl i ne
NON & NON & PAR & 0 \ \ \ hl i ne
\ end{ t abul ar }
6.7 Tablas 173
Tienes tambin el comando \vline que introduce una lnea de separacin de colum-
na, que cubre toda la columna. Se codic como se muestra a la derecha de la tabla
formada.
Esta es una prueba
Para mostrar la divisin articial
\ begi n { t abul ar } { | c | l | }
\ hl i ne
Esta es & una prueba \ \
\ hl i ne
Para most r ar \ v l i ne \ l a
d i v i s i n & a r t i f i c i a l \ \ \
\ hl i ne
\ end{ t abul ar }
Como se puede ver, en la cuarta lnea del cdigo aparece, a mitad de la columna, el
comando \vline. Va seguido de la secuencia \ que obliga a dejar un espacio en blanco
entre el comando y lo que sigue. Tambin hay que recordar que el formato del cdigo
no inuye en el de la tabla, por lo que puedes partir renglones arbitrariamente en el
cdigo.
6.7.4. Espacio entre los renglones
Para terminar con esta seccin hablaremos un poco de cmo estirar el espacio
entre renglones de una tabla, forzando a que las separaciones de columna se manten-
gan. Esto es deseable cuando quieres que haya ms separacin entre renglones que la
normal, pero no tanto espacio como lo da un rengln en blanco. Puedes modicar la
distancia dada por el cambio del rengln colocando un argumento a continuacin de \\
con el formato [< num > < medida >]. Veamos un ejemplo, en el que agregamos 4
y 10 puntos al cambio de rengln. El cdigo se encuentra a la derecha y la tabla formada
a la izquierda.
Esta es una prueba
Para mostrar la divisin articial
\ begi n { t abul ar } { | c | l | }
\ hl i ne
Esta es & una prueba \ \ [ 4 pt ]
\ hl i ne
Para most r ar \ v l i ne \ l a
d i v i s i n &
a r t i f i c i a l \ \ [ 1 0 pt ]
\ hl i ne
\ end{ t abul ar }
Observa que las lneas verticales que separan a las columnas se extienden para cu-
brir toda la columna.
174 L
A
T
E
X
< num > puede ser negativo tambin, forzando a que haya un retroceso. El
cdigo se encuentra a la derecha de la tabla formada:
Esta es una prueba
Para mostrar la divisin articial
Ac mostramos el efecto de subir la raya
\ begi n { t abul ar } { | c | l | }
\ hl i ne
Esta es & una prueba \ \ [ 6 pt ]
\ hl i ne
Para most r ar \ v l i ne \ l a
d i v i s i n
& a r t i f i c i a l \ \ [ 1 0 pt ]
\ hl i ne
\ mul t i col umn { 2 } { | l | } { Ac
mostramos \ v l i ne \
el ef ect o de subi r
l a raya } \ \ [ 6 pt ]
\ hl i ne
\ end{ t abul ar }
Actividad 6.23 Codica la siguiente tabla:
Bonetera Cientca, S. A.
Precio
Ao bajo alto Comentarios
1971 97-245 Mal ao.
72 245-245 Poco comercio debido a
un invierno crudo.
73 245-2001 Ningn gnus fue buen
gnus este ao.
6.8. Frmulas matemticas y smbolos especiales
Hasta ahora has escrito texto que si bien te permite escribir, por ejemplo, una novela,
no te sirve de mucho para cuando quieres escribir texto un poco ms especializado.
En estas notas han aparecido muchos carcteres especiales. En general, deseas poder
escribir carcteres especiales y, en particular, frmulas matemticas.
Para algunos carcteres especiales, como pudieran ser las vocales acentuadas del
espaol, las diresis en la u o la tilde en la n, hemos logrado que Emacs se comporte
como mquina de escribir y haga que el apstrofo (), la tilde (~) y las comillas (")
se comporten lo que se conoce como smbolos sordos, esto es, que no escuchen
hasta que se teclee el siguiente carcter o bien est congurado el teclado para que
6.8 Matemticas en L
A
T
E
X 175
la combinacin de tecla con Alt produzca los carcteres acentuados . Sin embargo,
pudiera ser que no estuviera Emacs habilitado de esta manera. En general, L
A
T
E
X provee
mecanismos para que se impriman una gran cantidad de smbolos que no aparecen en
el ingls, pero que se usan en idiomas como el francs, el espaol y el alemn. Casi
todos empiezan con una diagonal inversa \ y siguen con el cdigo especial dado a ese
carcter. L
A
T
E
X los llama smbolos. Veamos a continuacin una lista de los ms usados:
Tabla 6.6 Acentos
\{o} \~{o} \v{o} o \c{o} o \{o}
\={o} o \H{o} o \d{o} o
.
\^{o} \.{o} o
\t{oo} oo \b{o} o

\"{o} \u{o} o \{\i}


En todas estas combinaciones puede aparecer cualquier carcter alfabtico. En el
caso de que lo que siga a la \ sea un smbolo especial, no es necesario poner al argu-
mento entre llaves: \~a y \^d

d.
Los smbolos que siguen no tienen argumentos, sino que se sustituyen tal cual se
especican.
Tabla 6.7 Smbolos no ingleses
\ae \oe \aa \AA \AE
\OE \O \l \L ?
! \o \ss
Se tienen algunos smbolos de puntuacin que resultan tiles. Se incluyen ac tam-
bin los smbolos que tienen algn signicado especial en L
A
T
E
X.
Tabla 6.8 Smbolos de puntuacin y especiales
\dag \S \copyright c \P
\ddag \pounds \# # \$ $
\% % \& & \_ \& _ &&verb+{ }+ { }
Finalmente, cuando se trate de que un smbolo aparezca tal cual, sin que sea in-
terpretado por L
A
T
E
X (por ejemplo, la diagonal inversa \) simplemente usas el comando
176 L
A
T
E
X
\verb+texto+ y todo el texto que aparece entre los smbolos + no ser interpretado y
aparecer en la pgina tal cual lo tecleaste
2
.
Actividad 6.24 Crea un archivo nuevo copiando el prembulo que hemos visto hasta
ahora.
Actividad 6.25 Construye una tabla de cinco columnas en las que veas el resultado de
aplicar seis de los tipos de acentos a las cinco vocales.
6.8.1. Frmulas matemticas
El tipo de texto que hemos escrito hasta ahora es lo que L
A
T
E
X denomina texto LR
(left to right) y que consiste fundamentalmente de prrafos que se acomodan en la hoja
como vienen. Cuando quieres escribir frmulas matemticas, stas contienen smbolos
que obligan al compilador a realizar un formato tambin vertical, no nada ms en el
rengln correspondiente. Para lograrlo debers introducir un ambiente matemtico.
Tienes dos tipos de ambientes matemticos:
i. En la lnea, donde lo que buscas es poder intercalar una frmula o un carcter
(
i
= 2
3
). Esto se logra, de cualquiera de las siguientes maneras:
Se escribe: Se forma:
= 2
3

i
= 2
3
\(\ alpha_i=2\cdot\beta^3\)
i
= 2
3
\ begin{math}\alpha_i=2\cdot\beta^3\end{math}
i
= 2
3
ii. En un recuadro que contiene a la frmula matemtica. Introduces tambin un
ambiente que dejar espacio en blanco entre el prrafo anterior y el siguiente.
Dentro de ese prrafo puedes escribir las frmulas. Para mostrar esta modalidad,
se mostrar del lado izquierdo el texto fuente y del derecho el texto formado:
\ [ \ al pha =2\ cdot \ bet a ^ 3\ ]
\ begi n { di spl aymat h }
\ al pha_i =2\ cdot \ bet a^3
\ end{ di spl aymat h }

i
= 2
3

i
= 2
3
La diferencia fundamental entre el modo de despliegue (prrafo) y el de lnea es el
tamao de los trminos. Mientras que en el modo de lnea se ajusta el tamao a la altura
normal de una lnea, en el modo de prrafo ocupa tanto espacio vertical como requiera.
Compara estos dos modos en el siguiente esquema.
2
Usando este comando es como se han escrito algunos de los comandos en todo este texto.
6.8 Matemticas en L
A
T
E
X 177
\(2\ frac{n}{n+1\}\) 2
n
n+1
\[2\ frac{n}{n+1}\]
2
n
n + 1
Cuando ests en modo matemtico, ya sea de lnea o de recuadro, los espacios
en blanco nicamente tendrn sentido para separar comandos. No aparecern en las
frmulas que escribas como tales, a menos que utilices un blanco precedido por la
diagonal inversa. El texto que escribas se formar con un tipo parecido al de las itlicas,
y si escribes varias palabras, aparecern sin los espacios. Compara el modo matemtico
con el tipo itlico en los siguientes renglones.
\( Esta\ es\ una\ prueba\) Esta es una prueba
{\ it Esta es una prueba} Esta es una prueba
Nota que el lugar que ocupa cada carcter es ligeramente mayor en el modo mate-
mtico.
Revisemos ahora cules son los componentes principales de las frmulas matemticas.
Exponentes
Una de las acciones ms comunes que quieres realizar es la de poner exponentes.
Esto se logra fcilmente si donde quieres deseas un exponente colocas el smbolo ^
seguido de un slo smbolo, para que ese smbolo aparezca como exponente; o bien
seguido de varios smbolos, todos ellos entre llaves. No se permiten secuencias de ms
de una combinacin de ^ con el exponente. Siguen algunos ejemplos:
$a^m b^n c^{n+m}$ a
m
b
n
c
n+m
$x^{y^2}$ x
y
2
$x^{2y}$ x
2y
$x^2y$ x
2
y
En el segundo ejemplo nos vimos forzados a encerrar el segundo exponente entre llaves
para que no se infringiera la regla de que hubiera ms de uno seguido. De esta manera,
el exponente de x es, simplemente, otra expresin con exponente.
Como puedes observar en todos estos ejemplos, las llaves sirven para indicar dn-
de empieza y termina el exponente. Es claro, por ejemplo en el ltimo caso, que en
ausencia de llaves L
A
T
E
X considerar nicamente al primer carcter que sigue a ^.
Actividad 6.26 Codica en L
A
T
E
X las siguientes frmulas:
3x
2
+ 4xy + 2y
2
= 0
178 L
A
T
E
X
b + (b
2
4ac)
1/2
/(2a)
a
n!
b
m!
c
(n+m)!
(x y)
2
(x
2
y
2
)(x + y)
2
Subndices
Funcionan de la misma manera que los exponentes, excepto que se usa el smbo-
lo _ de subrayado en lugar del ^. Las mismas reglas aplican para subndices que para
exponentes. Siguen algunos ejemplos:
$a_m b_n c_{n+m}$ a
m
b
n
c
n+m
$x_{y_2}$ x
y
2
$x_{2y}$ x
2y
$x_2y$ x
2
y
Actividad 6.27 Codica en L
A
T
E
X las siguientes expresiones:
P
i
log
2
P
i
(x
i
1
y
i
1
) + (x
2
i
2
y
2
i
2
) + (x
3
i
3
y
3
i
3
)
(x
2
1
+ y
2
1
)
1/2
(X
max
X
min
)
2
/(Y
max
Y
min
)
2
6.9. Emacs y L
A
T
E
X
En este momento ya conoces una buena cantidad de herramientas L
A
T
E
X, has incur-
sionado incluso en matemticas en L
A
T
E
X. ste es un buen momento para que revises
qu puede hacer Emacs por ti. Mejor dicho, qu puede hacer AUCT
E
X, el modo mayor
para editar L
A
T
E
X en Emacs por ti.
En la seccin 6.12.1, en la pgina 238, explicamos con detalle qu comandos de
AUCT
E
X ejecutan las secuencias C-c Ce y otras que hemos mencionado en este
captulo. Tambin agregamos informacin sobre el modo para ingresar smbolos mate-
mticos de manera rpida y un buen nmero de detalles ms.
AUCT
E
X, desgraciadamente, no es parte estndar de todas las distribuciones de
Emacs. Por ello, en la seccin 6.12.1 te explicamos cmo obtener, instalar y congurar
AUCT
E
X.
6.9 Emacs y L
A
T
E
X 179
Letras griegas
Para que se imprima una letra griega haces preceder el nombre de la misma (en
ingls) por la diagonal inversa. En la tabla 6.9 se muestran las letras griegas disponibles:
Tabla 6.9 Smbolos griegos
Minsculas
\alpha \theta o o \tau
\beta \vartheta \pi \upsilon
\gamma \iota \varpi \phi
\delta \kappa \rho \varphi
\epsilon \lambda \varrho \chi
\varepsilon \mu \sigma \psi
\zeta \nu \varsigma \omega
\eta \xi
Maysculas
\Gamma \Lambda \Sigma \Psi
\Delta \Xi \Upsilon \Omega
\Theta \Pi \Phi
Puedes ver que no para todas las letras griegas hay la versin en mayscula. Si
no aparece en esta lista es porque no la hay. Tambin existe, para algunas de ellas, la
versin para variable.
Actividad 6.28 Haz una tabla que contenga nicamente las letras griegas para las
cuales hay maysculas, y aqullas para las cuales hay versin en var. En la primera
columna de la tabla deber aparecer el nombre de la letra en minscula; en la
segunda columna deber imprimirse el smbolo; en la tercera columna, si es que hay,
el smbolo para la mayscula; y en la cuarta columna, si es que hay, el smbolo para
la variable.
180 L
A
T
E
X
Smbolos con echas
En matemticas, y en computacin en general, se usan muy frecuentemente distin-
tos tipos de echas. Presentamos algunos en la tabla 6.10.
Tabla 6.10 Smbolos con echas
\ leftarrow \ longleftarrow \ Leftarrow
\ Longleftarrow = \ rightarrow \ longrightarrow
\ Rightarrow \ Longrightarrow = \ leftrightarrow
\ longleftrightarrow \ Leftrightarrow \ Longleftrightarrow
\ uparrow \ Uparrow \ downarrow
\ Downarrow \ updownarrow \ Updownarrow
\ mapsto \ longmapsto \ hookleftarrow
\ hookrightarrow \ leftharpoonup \ rightharpoonup
\ leftharpoondown \ rightharpoondown \ rightleftharpoons
\ leadsto \ nearrow \ searrow
\ swarrow \ nwarrow
Operadores
En la tabla 6.11 te mostramos smbolos comnmente usados en matemticas como
operadores y smbolos relacionales.
Tabla 6.11 Operadores y smbolos relacionales
\ pm \ cap \ diamond
\ oplus \ mp \ cup
\ bigtriangleup \ ominus
\ times \ uplus \ bigtriangledown
\ otimes \ div \ sqcap
\ triangleleft \ oslash \ ast
\ sqcup \ triangleright \ odot
\ star \ vee \ lhd
\ bigcirc \ circ \ wedge
\ rhd \ dagger \ bullet
\ setminus \ \ unlhd \ ddagger
\ cdot \ wr \ unrhd
Contina en la siguiente pgina
6.9 Emacs y L
A
T
E
X 181
Tabla 6.11 Operadores y smbolos relacionales Contina de la pgina anterior
\ amalg \ leq \ geq
\ equiv \ models |= \ prec
\ succ \ sim \ perp
\ preceq \ succeq \ simeq
\ mid | \ ll \ gg
\ asymp \ parallel \ subset
\ supset \ approx \ bowtie
\ subseteq \ supseteq \ cong

=
\ Join \ sqsubset \ sqsupset
\ neq = \ smile \ sqsubseteq
\ sqsupseteq \ doteq
.
= \ frown
\ in \ ni \ notin /
\ propto \ vdash \ dashv
Actividad 6.29 Codica en L
A
T
E
X las siguientes frmulas:
f
X
(y
i
)
i
log[f
X
(y
i
)
i
]
X Y
(k)
i

2
f
X
dX
m
k
(t
ij
) = i(
k
t
ij
+
k
)
Actividad 6.30 Codica en L
A
T
E
X las siguientes frmulas:
p 1 p q
(p q) (p q)
X Y
j

2
X Y
i

2
, Y
i
C
d(x
i
, y
i
) = x
i
y
j
Smbolos varios
Notars que a pesar de que hemos dado ya muchsimos smbolos matemticos, to-
dava nos faltan algunos que ya conoces como el para todo. En la tabla 6.12 ponemos
algunos smbolos ms que te van a ser de utilidad.
182 L
A
T
E
X
Tabla 6.12 Smbolos varios
\ aleph \ prime \ forall \ infty
\ hbar \ emptyset \ exists \ Box
\ imath \ nabla \ neg \ Diamond
\ jmath \ surd

\ at \ triangle
\ ell \ top \ natural \ clubsuit
\ wp \ bot \ sharp \ diamondsuit
\ Re \| \ backslash \ \ heartsuit
\ Im \ angle \ partial \ spadesuit
\ mho
Actividad 6.31 Codica en L
A
T
E
X las siguientes guras (pista: utiliza una tabla tabular
para acomodar las guras):
6 6 4 4



6 6 4 4
Nombres de funciones comunes
L
A
T
E
X proporciona varios nombres de funciones comunes para que las escribas de
manera especial, y no simplemente como cadenas. stas se presentan en la tabla 6.13.
Tabla 6.13 Nombres de funciones comunes
\ arccos arc cos \ cos cos \ csc csc \ exp exp
\ ker ker \ limsup lmsup \ min mn \ sinh sinh
\ arcsin arcsin \ cosh cosh \ deg deg \ gcd gcd
\ lg lg \ ln ln \ Pr Pr \ sup sup
\ arctan arctan \ cot cot \ det det \ hom hom
\ lim lm \ log log \ sec sec \ tan tan
\ arg arg \ coth coth \ dim dim \ inf nf
Contina en la siguiente pgina
6.9 Emacs y L
A
T
E
X 183
Tabla 6.13 Nombres de funciones comunes Contina de la pgina anterior
\ liminf lminf \ max max \ sin sin \ tanh tanh
a \mod b a mod b \pmod{b} (mod b)
Nota que como estamos trabajando en espaol (paquete babel) aquellas abreviatu-
ras que lo requieren llevan acento.
Fracciones
En el modo matemtico tienes dos maneras de escribir fracciones. La primera de
ellas es con la diagonal, como en
$3/4$ 3/4
$1/(n+1)$ 1/(n + 1)
Tambin se puede usar el comando \frac{numerador}{denominador} que
escribe la fraccin de la siguiente forma:
$\ frac {3}{4} $
3
4
\[\ frac {3}{4}\]
3
4
$\ frac {1}{ n+1}$
1
n+1
\[\ frac {1}{ n+1}\]
1
n + 1
Si \ frac usas en el modo matemtico en lnea, L
A
T
E
X va a tratar de ajustar la frmula
al alto de un rengln, mientras que si usas el modo matemtico de recuadro, ocupar
tanto espacio vertical como requiera.
Actividad 6.32 Codica en L
A
T
E
X las siguientes frmulas:
z
n
= x
n
y
n
= x
n

x
n
+ x
n1
2
=
x
n
x
n1
2
f
X
(x) log
2X
max
/M
c

(x)

i
Races
La raz de una frmula o expresin se logra con el comando \ sqrt y ponindole
como argumento entre llaves a la expresin que quieres cubra la raz.
\ frac{x+y}{1+\sqrt {\ frac{y}{z+1}}}
x + y
1 +

y
z+1
184 L
A
T
E
X
Puedes tambin poner valor en el radical, agregando ese valor entre corchetes como
primer argumento de \ sqrt:
\ frac{x+y}{1+\sqrt [ n ]{\ frac{y}{z+1}}}
x + y
1 +
n

y
z+1
Actividad 6.33 Codica en L
A
T
E
X las siguientes frmulas:
b
2

b
2
a c
2 a

3
() =

(
1

2

1
( + 1)
2
)

Smbolos agrandables
Tenemos en matemticas muchos smbolos, como el de la integral o las series, que
deben tomar el tamao dado por todo lo que est a su derecha. Como vimos en el ejer-
cicio anterior, la raz cuadrada, por ejemplo, crece al tamao que toma su argumento.
Esto lo hace automticamente. Los smbolos en la tabla 6.14 son con los que cuenta
L
A
T
E
X para el modo matemtico. El tamao aumenta nicamente cuando aparece en el
modo en que acomoda a la frmula en un prrafo, no en una lnea.
Tabla 6.14 Smbolos agrandables
\ sum

\ bigcap

\ bigodot

\ prod

\ bigcup

\ bigotimes

\ coprod

\ bigsqcup

\ bigoplus

\ int

\ bigvee

\ biguplus

\ oint

\ bigwedge

Cuando pones subndice o exponente a cualquiera de estos smbolos, L
A
T
E
X los aco-
modar de tal manera que se vean bien. Por ejemplo,
\ [ \ sum_{ \ i n f t y } ^ \ i n f t y f _ {X| Y} ( x_i | y_j ) \ ]

f
X|Y
(x
i
|y
j
)
6.9 Emacs y L
A
T
E
X 185
\ [ \ i nt _0 ^n f ( x ) ^2g( y ) ^ 2 \ ]

n
0
f(x)
2
g(y)
2
Mientras que si los pones en modo de lnea, aparecern como sigue:
$\sum_{\infty}^\ infty f_{X|Y}(x_i | y_j )$ se forma

f
X|Y
(x
i
|y
j
)
$\int_0^n f (x)^2g(y)^2$ se forma a

n
0
f(x)
2
g(y)
2
.
Otra manera de agrandar algunos de los smbolos, sobre todo aquellos que forman
parejas como los parntesis, los corchetes o las llaves, es aclarando que vas a tener un
delimitador izquierdo y uno derecho para un determinado pedazo de frmula, usando
los comandos \ left y \ right , y colocando inmediatamente a continuacin el smbolo
que se va a usar. En el ejemplo que dimos para las races, los parntesis no crecieron al
tamao de la frmula que parentizan. Para lograrlo haces lo siguiente:
\ [ \ Sigma_3 ( \ chi ) =\ sqr t { \ l e f t ( \ f r ac { 1 } { \ kappa^2} \ f r ac { 1}
{ ( \ kappa +1) ^2} \ r i g h t ) \ chi ^{ \ kappa } } \ ]

3
() =

2

1
( + 1)
2

Puedes querer nicamente el smbolo de la izquierda o el de la derecha. En ese caso,


como smbolo a agrandar usas un punto (.). Veamos un ejemplo:
\ [ P( x ) =\ l e f t \ { \ f r ac { x^2+y ^ 2 } { \ sqr t { ( x^2y ^ 2) ^ 2} } \ r i g h t . \ ]
P(x) =

x
2
+ y
2

(x
2
y
2
)
2
Actividad 6.34 Codica en L
A
T
E
X las siguientes frmulas:

E
y

t
0
L
x,y
k
(s)
()ds

y
n
=
N

i=0
a
i
x
ni
+
M

i=1
b
i
y
ni
D
(k)
=
M

i=1

b
(k)
i
b
(
i1
k)
(x y
i
)
2
f
X
(x)dx
Equivalente a \ left y \ right tenemos manera de pedir distintos tamaos de delimita-
dores con las siguientes parejas, listadas de menor a mayor. El comando se hace seguir
por un nico smbolo.
186 L
A
T
E
X
\ b i g l \ bi gr
\ Bi gl \ Bi gr
\ bi ggl \ bi ggr
\ Bi ggl \ Bi ggr
Por ejemplo, la siguiente frmula
\ [ \ Bi ggl \ { \ bi ggl [ \ Bi gl ( \ b i g l | prueba \ bi gr | \ Bi gr ) \ bi ggr ] \ Bi ggr \ } \ ]
se forma de la siguiente manera:

prueba

La lista de los smbolos que puedes usar como delimitadores y que se agrandan se
encuentra en la tabla 6.15.
Tabla 6.15 Delimitadores
\ uparrow \ Uparrow \ downarrow \ Downarrow
{ \{ } \} \ updownarrow \ Updownarrow
\ loor \ roor \ lceil \ rceil
\ langle \ rangle / / \ \ backslash
| | \| \ rmoustache \ lmoustache
_ \ rgroup _ \ lgroup | \ arrowvert \ Arrowvert
\ bracevert
Actividad 6.35 Codica en L
A
T
E
X la siguiente frmula:

1<mn


1k<m

(m/k)/m/k

.
Puntos suspensivos (elipses)
Cuando en modo matemtico (o de texto) deseas poner puntos suspensivos, el te-
clearlo directamente en L
A
T
E
X como tres puntos seguidos no da el efecto deseado, ya
que acerca mucho entre s a los puntos. Por ello cuentas con dos maneras de poner
puntos suspensivos:
6.9 Emacs y L
A
T
E
X 187
\ [ \ t ex t { val or es para } x_1 , \ l dot s , x_n \ ]
valores para x
1
, . . . , x
n
donde los puntos suspensivos se colocan alineados con la parte inferior de la lnea
(\ ldots); o bien, alineados con la parte central de la lnea (\ cdots):
\ [ 1 +\ f r ac { 1 } { x ^2} +\ f r ac { 1 } { x ^4} +\ cdot s +\ f r ac { 1 } { x ^{ 2^n } } \ ]
1 +
1
x
2
+
1
x
4
+ +
1
x
2
n
donde los puntos suspensivos se alinean con el operador para darle continuidad. Tam-
bin cuentas con puntos suspensivos verticales, \ vdots:(
.
.
.) y diagonales, \ ddots (
.
.
.).
Actividad 6.36 Codica en L
A
T
E
X las siguientes frmulas:
F() = a
d

d
+ a
d1

d1
+ + a
1

1
+ a
0

n
f() = c
d


d n

+ c
d1


d 1 n

+ + c
0

Cambios de tipos y tamaos de letras


En el modo para matemticas no van a funcionar los comandos que cambian el tipo
o tamao de letra. Tampoco vas a poder utilizar las letras acentuadas o los smbolos que
no son del idioma ingls. Para intercalar un smbolo de stos en un ambiente matem-
tico lo debes colocar como argumento de un comando \mbox. Veamos un ejemplo:
(qo

, a)
\ begi n { di spl aymat h }
\ del t a ( q \ mbox { \ b{ o } } , a)
\ end{ di spl aymat h }
En el modo matemtico tampoco van a funcionar las negritas u otros cambios en
el tipo de letra. El modo matemtico tiene sus propios tipos, que se muestran en la
tabla 6.16.
Tabla 6.16 Tipos de letras en modo matemtico
$\mathcal{ABCDEF...}$
ABCDEF...
$\mathit{ it \ acute{a}licas \ cdot 2^{ ft }\ Psi \ log [\ psi ]} $
italicas 2
ft
log[]
$\mathrm{romanas \cdot 2^{ft}\Psi \log [\ psi ]} $
romanas 2
ft
log[]
Contina en la siguiente pgina
188 L
A
T
E
X
Tabla 6.16 Tipos de letras en modo matemtico Contina de la pgina anterior
$\mathbf{negritas \cdot 2^{ ft }\ Psi \ log [\ psi ]} $
negritas 2
ft
log[]
$\mathsf{sans\ serif \ cdot 2^{ ft }\ Psi \ log [\ psi ]} $
sans serif 2
ft
log[]
$\mathtt{m\acute{a}quina\ de\ escribir \ cdot 2^{ ft }\ Psi \ log [\ psi ]} $
maquina de escribir 2
ft
log[]
$\mathbb{BLACKBOARD CON BORDES DOBLES}$
BLACKBOARD CON BORDES DOBLES
Debes notar que todos estos tipos de letra mantienen al texto en modo matemtico.
Tambin es importante repetir que para separar palabras debes teclear un espacio \ ,
pues si no el modo matemtico no respeta espacios en blanco.
El primer y ltimo tipo (\ mathcal y mathbb nicamente los puedes usar con mays-
culas.
Cuando pides negritas en modo matemtico con \ mathbf hay smbolos que no se im-
primen en negritas. Observa que en el cuarto ejemplo, los smbolos correspondientes a
log[] no salieron obscurecidos. Para que salgan obscurecidos debes usar el comando
\ bol dsymbol { . . . }
que logra poner en negritas tambin a los smbolos matemticos. Mostramos ambas
opciones juntas para que se note la diferencia:
\ [ \ mathbf { negr i t as \ cdot 2^{ f t } \ Psi \ l og [ \ psi ] } \ ]
negritas 2
ft
log[]
\ [ \ mathbf { negr i t as \ cdot 2^{ f t } \ bol dsymbol { \ Psi \ l og [ \ psi ] } } \ ]
negritas 2
ft
log[]
Otra manera de lograr que todo el texto matemtico se escriba en negritas es me-
diante el comando de cambio de estado \ boldmath (\ unboldmath), que a partir del mo-
mento en que aparece prende (apaga) las negritas en modo matemtico. Veamos un
ejemplo:
\ hspace{ 4em} \ bol dmath \ ( a+b \ Box c \ )
\ unbol dmath \ qquad \ ( a+b ) \ Box c \ )
a + bc a + bc
Cabe hacer la aclaracin que estos comandos los tienes que poner antes de que
entres al modo matemtico, para que tengan efecto.
Actividad 6.37 Codica en L
A
T
E
X la siguiente frmula, cuidando el tipo de letra y las
negritas:
Sea x = y x N, y y x
6.9 Emacs y L
A
T
E
X 189
Insertar texto en modo matemtico
Es necesario muchas veces introducir en un recuadro o lnea matemtica texto que
quieres aparezca en modo normal. Nota que esto no es lo mismo que hicimos cuando
cambiamos el tipo de letra para los smbolos matemticos. Para ello se puede usar el
comando \ text {...} poniendo entre llaves el texto que deseas aparezca. Tambin puedes
utilizar, en general, cualquiera de los comandos \ text xx que vimos al inicio de esta
seccin para modicar tipo de texto (donde xx es uno de bf, sf, tt, etc.).
Este comando preserva los espacios entre palabras:
\ [ x =\ f r ac {b \ pm \ sqr t { b^24ac } } { 2 a } \ \
\ t ex t { Da l a sol uci n de ecuaci n cuadr t i c a } \ ]
x =
b

b
2
4ac
2a
Da la solucin de ecuacin cuadrtica
Tablas de frmulas
Hay dos maneras de organizar varias frmulas en una tabla. La primera de ellas es
con un tabular y colocando en cada celda el modo matemtico en lnea ($ \(... $\)). La
otra manera es declarando un ambiente de lnea o recuadro y colocando all un arre-
glo matemtico, \ begin{array }...\ end{array}. Es importante insistir en que un array slo
puede estar en un ambiente matemtico. Las declaraciones de columnas y renglones las
haces exactamente igual que con tabular, excepto que el contenido es interpretado co-
mo frmulas. La excepcin es cuando para describir la columna diste p{<num><mdda>},
pues en ese caso automticamente esa columna quedar en modo texto.
Este mecanismo se utiliza tambin para imprimir matrices o, en general, tablas que
en su mayora van a contener frmulas matemticas.
\ [ \ begi n { ar r ay } { l l c l }
a_{11}&a_{ 12} &\ l dot s&a_{ 1m} \ \
a_{21}&a_{ 22} &\ l dot s &\ l dot s \ \
\ cdot s &\ cdot s &\ l dot s &\ l dot s \ \
a_{ n1}&a_{ n2} &\ cdot s
&a_{nm}
\ end{ ar r ay } \ ]
a
11
a
12
. . . a
1m
a
21
a
22
. . . . . .
. . . . . .
a
n1
a
n2
a
nm
Siempre que tienes una frmula que ocupa ms de un rengln, puedes ponerle al-
gn carcter a la izquierda y otro a la derecha que crezcan tanto como la frmula en
cuestin. Esto lo haces marcando la frmula con \ left y \ right a su izquierda y derecha
respectivamente, y poniendo el smbolo que quieras. Por ejemplo, la matriz anterior
podra quedar:
190 L
A
T
E
X
\ [ \ l e f t [ \ begi n { ar r ay } { l l c l }
a_{11}&a_{ 12} &\ l dot s&a_{ 1m} \ \
a_{21}&a_{ 22} &\ l dot s &\ l dot s \ \
\ cdot s &\ cdot s &\ l dot s &\ l dot s \ \
a_{ n1}&a_{ n2} &\ cdot s&a_{nm}
\ end{ ar r ay } \ r i g h t ] \ ]
_

_
a
11
a
12
. . . a
1m
a
21
a
22
. . . . . .
. . . . . .
a
n1
a
n2
a
nm
_

_
Si deseas omitir ya sea el smbolo de la izquierda o el de la derecha, pones un punto
(.) en lugar del carcter. No tienen porqu ser carcteres correspondientes al inicio y al
nal. En general, se usan aquellos que lo son, pero no es forzoso:
\ [ \ l e f t \ | \ begi n { ar r ay } { l l c l }
a_{11}&a_{ 12} &\ l dot s&a_{ 1m} \ \
a_{21}&a_{ 22} &\ l dot s &\ l dot s \ \
\ cdot s &\ cdot s &\ l dot s &\ l dot s \ \
a_{ n1}&a_{ n2} &\ cdot s&a_{nm}
\ end{ ar r ay } \ r i g h t \ } \ ]

a
11
a
12
. . . a
1m
a
21
a
22
. . . . . .
. . . . . .
a
n1
a
n2
a
nm
_

_
Tambin puedes tener un array en el modo lnea,
$\begin{array}[ t ]{ l }a+b\\ab\end{array}$,
que queda a + b
a b
. Debes notar que usa tantos renglones como necesite, corrigiendo el
siguiente rengln para que no se encime.
Las lneas entre columnas y entre los renglones se utilizan exactamente igual que en
el caso de las tablas no numricas (tabular). Tambin habrs notado que la descripcin
de las columnas se hace tambin de la misma manera que en un tabular. Tambin se
pueden redenir las columnas.
Actividad 6.38 Codica en L
A
T
E
X la siguiente tabla:
(a + b)
2
= a
2
+ 2ab + b
2
Suma de cuadrados
a
2
b
2
= (a + b)(a b) Diferencia de cuadrados
(a + b)
n
= a
n
+ 2a
n1
b + + b
n
Expansin binomial
Matrices y combinaciones
Si bien puedes armar matrices usando arrays, L
A
T
E
X provee comandos especiales
para ello. Por ejemplo, es muy comn que quieras denir una funcin por casos
como la que sigue:
6.9 Emacs y L
A
T
E
X 191
P
rj
=

0 si r j es impar,
r!(1)
(rj)/2
si r j es par.
\ [ P_{ rj }=
\ begi n { cases }
0&\ t ex t { s i r j es i mpar } , \ \
r ! ( 1) ^{ ( rj ) / 2 }
&\ t ex t { s i r j es par } .
\ end{ cases }
\ ]
Si esto lo hicieras con un array, lo hara como sigue:
P
rj
=

0 si r j es impar,
r!(1)
(rj)/2
si r j es par.
\ [ P_{ rj } =\ l e f t \ {
\ begi n { ar r ay } { l l }
0&\ t ex t { s i r j es i mpar } , \ \
r ! ( 1) ^{ ( rj ) / 2 }
&\ t ex t { s i r j es par } .
\ end{ ar r ay }
\ r i g h t .
\ ]
que puedes corroborar en la parte izquierda que forma exactamente la misma ecuacin.
Por ello, el ambiente de casos es, simplemente, un atajo para codicar este tipo de
tablas.
Otro atajo comn es el que se usa para matrices. L
A
T
E
X dene varios ambientes
especcos para matrices, dependiendo de los delimitadores que quieras tener:
\ [ \ begi n { mat r i x }
a&b \ \
c&d
\ end{ mat r i x } \ ]
a b
c d
\ [ \ begi n { pmat r i x }
e&f \ \
g&h
\ end{ pmat r i x } \ ]

e f
g h

\ [ \ begi n { bmat r i x }
i &j \ \
k&l
\ end{ bmat r i x } \ ]

i j
k l
\ [ \ begi n { vmat r i x }
m&n \ \
o&p
\ end{ vmat r i x }

m n
o p

\ [ \ begi n { Vmat r i x }
q&r \ \
s&t
\ end{ Vmat r i x } \ ]

q r
s t

Como puedes ver, lo que te ahorras al usar estos ambientes es la especicacin de


los delimitadores y de las columnas de cada matriz.
Actividad 6.39 Codica cada una de las matrices anteriores usando array y delimita-
dores.
192 L
A
T
E
X
Actividad 6.40 Codica la siguiente frmula:

n!
r!(n r)!

6.9.1. Anotaciones en los smbolos


Es frecuente que quieras anotar a tus variables con distintos smbolos, que van des-
de prima hasta vectores. Tambin pudieses hacerlo abajo de la variable o expresin.
Veamos algunos ejemplos:
\ overset {\ rightarrow}{ a}

a
\ underset{i =1}{\cup}
i=1
Como puedes notar, aun cuando estemos en modo de lnea, acomoda el texto que le
indiques donde le indiques. El primer parmetro L
A
T
E
X lo escribe con un tamao menor
y lo coloca encima (over) o debajo (under) del segundo argumento. El segundo argu-
mento nicamente puede ser un smbolo. El primer argumento, como ya vimos, puede
ser cualquier cosa. Para aquellos smbolos que son muy comunes, tenemos denidos
comandos que colocan determinado carcter. stos se encuentran en la tabla 6.17.
Tabla 6.17 Acentos en modo matemtico
a \ hat{a} a \ acute{a} a \ bar{a} a \ dot{a}
a \ check{a} ` a \ grave{a} a \ vec{a} a \ ddot{a}
a \ breve{a} a \ tilde {a}
Muchas veces quieres poner una echa, raya, llave, encima de toda una expresin
que tiene ms de un smbolo. Para ello tenemos los siguientes smbolos que se extienden
para cubrir a ms de un smbolo:
\ [ \ over l i ne { a+b+c } =\ under l i ne { a+b+c } \ ]
a + b + c = a + b + c
\ [ \ overbrace { a+b+c } =\ underbrace { a+b+c } \ ]

a + b + c = a + b + c

\ [ \ over r i ght ar r ow { a+b+c } =\ under r i ght ar r ow { a+b+c } \ ]

a + b + c = a + b + c

6.9 Emacs y L
A
T
E
X 193
\ [ \ over l ef t ar r ow { a+b+c } =\ under l ef t ar r ow { a+b+c } \ ]

a + b + c = a + b + c

\ [ \ ov er l ef t r i ght ar r ow { a+b+c } =\ under l ef t r i ght ar r ow { a+b+c } \ ]

a + b + c = a + b + c

Por supuesto que puedes anidar todos estos comandos y combinarlos de la manera
que desees.
Actividad 6.41 Codica en L
A
T
E
X la siguiente expresin:
A B =
_

_
A si A B
B si B A
si A y B son ajenos

A

B por la ley de De Morgan
6.9.2. Arreglos de frmulas
Seguramente ests pensando en escribir frmulas (o ecuaciones) en modo prrafo.
Hasta ahora has utilizado para ello el ambiente displaymath. Sin embargo, si deseas
numerar las ecuaciones o algo por el estilo, debes usar el ambiente equation.
\ begi n { equat i on } \ l abel { eq : di a3 1}
R=\ f r ac { 1 } {M} \ sum_{ k=1}^M R_k
\ end{ equat i on }
R =
1
M
M

k=1
R
k
(6.1)
Nota que el nmero de la ecuacin aparece en el extremo derecho de la lnea donde
se encuentra la misma. Esto se puede cambiar, as como la forma de numeracin
3
. El
contador de ecuaciones se va incrementando progresivamente dentro del captulo.
Si quieres colocar varias frmulas alineadas, un array tiene el problema de que no
importa si est en modo lnea o prrafo, nos dar modo lnea para cada rengln del
arreglo.
3
Consulta alguno de los manuales de L
A
T
E
X que se mencionan en la bibliografa si as lo deseas.
194 L
A
T
E
X
\ [ \ begi n { ar r ay } [ t ] { l l }
x_1=\ sum_{ k=1}^n a_ky^k
&\ t ex t { pr i mer val or } \ \ [ 1 0 pt ]
x_2=\ sum_{ k=1}^n b_ky^k
&\ t ex t { segundo val or }
\ end{ ar r ay }
\ ]
x
1
=

n
k=1
a
k
y
k
primer valor
x
2
=

n
k=1
b
k
y
k
segundo valor
Si quieres varias lneas, pero cada una de ellas en modo prrafo, tienes que usar el
ambiente de arreglos de ecuaciones \ eqnarray.
\ begi n { eqnarray }
x_1=\ sum_{ k=1}^n a_ky^k
&\ t ex t { Pri mer val or } \ \
x_2=\ sum_{ k=1}^n b_ky^k
&\ t ex t { segundo val or }
\ end{ eqnarray }
x
1
=
n

k=1
a
k
y
k
Primer valor (6.2)
x
2
=
n

k=1
b
k
y
k
segundo valor (6.3)
Nota que el modo matemtico se introduce junto con el ambiente eqnarray, lo mismo
que sucede con equation. Si deseas eliminar el nmero de la(s) ecuacin(es) usa los
ambientes eqnarray y equation respectivamente:
\ begi n { eqnarray }
x_1=\ sum_{ k=1}^n a_ky^k
&\ t ex t { Pri mer val or } \ \
x_2=\ sum_{ k=1}^n b_ky^k
&\ t ex t { segundo val or }
\ end{ eqnarray }
x
1
=
n

k=1
a
k
y
k
Primer valor
x
2
=
n

k=1
b
k
y
k
segundo valor
Las ecuaciones que aparecen dentro de ambientes sin numeracin no incrementan
el contador de ecuaciones.
Sucede a veces que no cabe una ecuacin en una sola lnea, por lo que tienes que re-
partirla en varios renglones. Esto lo logras con el ambiente split dentro de un ambiente
equation. Este comando es muy til cuando, por ejemplo, quieres mostrar procesos por
los que pasa una expresin. Nota que de esta manera se asigna un nico nmero a la
ecuacin, en atencin a que es una sola.
6.9 Emacs y L
A
T
E
X 195
\ begi n { equat i on }
\ begi n { s p l i t }
\ begi n { bmat r i x }
\ Theta_1 \ \
\ Theta_2
\ end{ bmat r i x }
&+\ f r ac { 1 } { \ sqr t { 2 } }
\ begi n { bmat r i x }
1&1\ \
1&1
\ end{ bmat r i x }
\ begi n { bmat r i x }
\ al pha \ \
\ al pha
\ end{ bmat r i x } \ \ [ 1 0 pt ]
&\ begi n { bmat r i x }
\ sqr t { 2 } \ al pha \ \
0
\ end{ bmat r i x }
\ end{ s p l i t }
\ end{ equat i on }

+
1

1 1
1 1

2
0

(6.4)
Puedes conseguir un efecto similar, pero asignando un nmero a cada rengln, si
usamos el arreglo de ecuaciones, como se muestra a continuacin del ambiente split ,
que comentamos en la segunda versin. En los ambientes de matrices, ecuaciones y
arreglos te ahorras especicar nmero de columnas y tipo de columnas, ya que estos
ambientes los toman de los elementos que aparecen en las mismas.
\ begi n { eqnarray }
% \ begi n { s p l i t }
\ begi n { bmat r i x }
\ Theta_1 \ \
\ Theta_2
\ end{ bmat r i x }
&+\ f r ac { 1 } { \ sqr t { 2 } }
\ begi n { bmat r i x }
1&1\ \
1&1
\ end{ bmat r i x }
\ begi n { bmat r i x }
\ al pha \ \
\ al pha
\ end{ bmat r i x } \ \ [ 1 0 pt ]
&\ begi n { bmat r i x }
\ sqr t { 2 } \ al pha \ \
0
\ end{ bmat r i x }
% \ end{ s p l i t }
\ end{ eqnarray }

+
1

1 1
1 1

(6.5)

2
0

(6.6)
196 L
A
T
E
X
Existen otros ambientes ms para matemticas. Si los quieres revisar, consulta al-
guno de los libros de L
A
T
E
X.
Espacios en frmulas matemticas
En el modo de matemticas es muchas veces necesario acomodar de manera es-
pecca algunos smbolos, movindolos hacia la izquierda o hacia la derecha. En la
tabla 6.18 vemos los distintos tipos de espacios que puedes tener. Estn divididos entre
positivos (hacia la derecha) y negativos (de retroceso).
Tabla 6.18 Comandos de espacio en modo matemtico
Espacio positivo
Abr Completo Ejemplo Normal
mu \ mspace{1mu} xx xx
\, \ thinspace x\, x x x xx
\: \ medspace x\medspace x x x xx
\; \ thickspace x\; x x x xx
\ enskip x\enskip x x x xx
\ quad x\quad x x x xx
\ qquad x\qquad x x x xx
Espacio negativo
Abr Completo Ejemplo Normal
\! \ negthinspace x\! x x x xx
\ negmedspace x\negmedspace x xx xx
\ negthickspace x\negthickspace x xx xx
Es necesario aclarar que estos espacios se pueden utilizar tambin fuera del entorno
matemtico, en el modo de texto, excepto por \ mspace{} que se usa nicamente en modo
matemtico.
Actividad 6.42 Codica en L
A
T
E
X la siguiente ecuacin:
G
TC
=
1
N

N1
i=0

2
i

N1
i=0

2
i
1
N
(6.7)
6.10 Imgenes y guras 197
Actividad 6.43 Codica en L
A
T
E
X la siguiente ecuacin:
s
n
= s
n1
= s
n2
M
1
= 0.4 (6.8)
s
n
= s
n1
= s
n2
M
2
= 0.9 (6.9)
s
n
= s
n1
= s
n2
M
3
= 1.5 (6.10)
s
n
= s
n1
= s
n2
M
4
= 2.0 (6.11)
Actividad 6.44 Codica en L
A
T
E
X la siguiente ecuacin:

x
01
x
01
x
10
x
11

=
1
2

1 1
1 1

00

01

10

11

1 1
1 1

00
+
01
+ 10 +
11

00

01
+ 10
11

00
+
01
10
11

00

01
10 +
11

=
00

0,0
+
01

0,1
+
10

1,0
+
11

1,1
(6.12)
Marcos alrededor de expresiones
El comando \ box{ ... } sirve para enmarcar una expresin. Veamos un ejemplo:
\ [ \ begi n { pmat r i x }
\ enski p \ boxed { a}& b &c \ \
d&\ boxed { e}& f \ \
g&h&\ boxed { i } \ enski p \
\ end{ pmat r i x }
\ ]
_
_
_
a b c
d e f
g h i
_
_
_
Con esto damos por terminada la parte correspondiente a frmulas matemticas. Por
supuesto que esto no agota el material relevante, pues por cuestiones de tiempo dejamos
fuera muchsimas caractersticas y posibilidades que tiene L
A
T
E
X. Sin embargo, creemos
que con esta introduccin, podrs seguir adelante de manera independiente, de existir
el inters en ti.
6.10. Imgenes y guras
6.10.1. Tablas, guras, etc.
Habrs notado a lo largo de este libro que aparecen guras o tablas que se van
numerando. Ms an, la numeracin de las tablas, por ejemplo, es independiente de la
198 L
A
T
E
X
de las grcas o, en general, guras que queramos incluir. Esto se hace mediante lo
que L
A
T
E
X llama otantes. Les llama as porque le puedes indicar al compilador que
las acomode no forzosamente donde aparecen, sino en la primera pgina en la que
no ocasionen que se deje espacio en blanco innecesario. Por supuesto que tambin le
puedes indicar que las coloque exactamente donde aparecen, sin importar el armado de
las pginas que las preceden, o haciendo t el armado a pie.
Las otantes que vamos a revisar ac son nicamente dos:
Figuras (gure)
Tablas (table)
Ambas otantes tienen los mismos argumentos, que tienen que ver fundamental-
mente con dnde se desea que se les acomode; ambas proveen un espacio con la po-
sibilidad de ponerles un ttulo (\ caption)
4
. Denen un ambiente donde los cambios de
tipo de letra o tamao sern efectivos nicamente dentro de ese ambiente. En general,
el ambiente table se usa para material que se presenta en forma de tabla o lista, mien-
tras que el de gure se usa para material grco. La sintaxis de estos ambientes es la
siguiente:
Para guras:
\ begi n { f i gur e } [ posicionador ]
Contenido
\ capt i on { Ttulo de la gura}
\ end{ f i gur e }
Para tablas (o cuadros):
\ begi n { t abl e } [ posicionador ]
Contenido
\ capt i on { Ttulo de la tabla}
\ end{ t abl e }
Si el contenido de la gura o tabla va antes de \ caption, entonces el ttulo aparecer
abajo de la gura. Si va despus, esto es que \ caption sea el primer rengln despus de
que empieza la gura o tabla, el ttulo ir arriba. La posicin de la gura o tabla puede
ser:
Tabla 6.19 Posiciones posibles para los otantes
letra signicado
t top: Lo coloca en la parte superior de la primera pgina disponible.
b bottom: Lo coloca en la parte inferior de la primera pgina donde
quepa.
p page: Lo coloca en una pgina de otantes, la primera que pueda.
h here: Lo coloca, si es que puede, en el punto donde aparece.
Contina en la siguiente pgina
4
Tambin hay la posibilidad de marcarlas con una etiqueta para poder hacer referencias a ellas, pero
dado lo poco del tiempo no entraremos en eso en esta ocasin.
6.10 Imgenes y guras 199
Tabla 6.19 Posiciones posibles para los otantes Contina de la pgina anterior
letra signicado
H Here: Incondicionalmente donde aparece. Si es necesario, porque la
gura no quepa en esa pgina, deja pgina en blanco y lo coloca en la
siguiente pgina.
! Try harder: Intenta de manera ms rme acomodar la gura o tabla
donde se especica con los posicionadores que siguen a ! .
Para acomodar una gura o tabla procedes a dar tus preferencias, que son combina-
ciones de las primeras tres letras. L
A
T
E
X tratar de acomodar la gura, colocndola en
la misma pgina o posponindola, procurando dejar poco espacio en blanco. Si no se
especica, el valor por omisin es tbp. L
A
T
E
X podra no acomodar las guras como le
indicas porque tiene parmetros que le indican, por ejemplo, cuntas guras pueden ir
en una misma pgina o qu porcentaje del total de la pgina pueden ocupar. No entra-
remos en estos detalles por falta de tiempo. En la mayora de los casos, y sobre todo en
un principio, puedes trabajar con los valores por omisin, excepto posiblemente para
el posicionamiento. Te recomendamos, en general, poner H y si no se forma bonito,
proceder a acomodar la gura o tabla a pie. Veamos algunos ejemplos sencillos, con el
cdigo de L
A
T
E
X que los produce.
Tabla 6.20 Conversin de grados Farenheit a Centgrados
Fahr Cent
32 0
40 4.5
80 27
\ begi n { t abl e } [ ! h ]
\ capt i on { Conversi n de Far enhei t
a Centgrados }
\ begi n { t abul ar } [ t ] { | r | r | }
\ hl i ne
\ bf Fahr & \ bf Cent \ \ \ hl i ne
32 & 0 \ \
40 & 4 . 5 \ \
80 & 2 7 \ \ \ hl i ne
\ end{ t abul ar }
\ end{ t abl e }
Puedes cambiar varios aspectos de esta tabla. Si, como ya dijimos, quieres que la
acomode en la parte superior de una pgina, conseguiras que coloque primero el texto
que dimos como cdigo y despus la tabla misma. Sin embargo, es poco recomendable
dar una nica posicin como opcin, porque entonces si L
A
T
E
X no puede acomodar a la
tabla o gura en la siguiente pgina, lo ms seguro es que ya no la coloque en ningn
lugar y la perdamos. Observa cmo la tabla 6.21 que ests colocando inmediatamente
despus de estas lneas, queda acomodada de manera aparentemente arbitraria (est
200 L
A
T
E
X
acomodada utilizando slo la mitad del ancho de la pgina).
Tabla 6.21 Conversin de Farenheit a Centgrados
Fahr Cent
32 0
40 4.5
80 27
La tabla 6.21 fue generada con el siguiente
encabezado: \ begin{table}[ H]. Las lneas
\ begi n { cent er }
. . .
\ end{ cent er }
se pueden usar para centrar cualquier prra-
fo, lnea, gura o tabla.
Cuando dejas que L
A
T
E
X acomode a la tabla o gura donde mejor pueda en ausen-
cia de H deber haber un rengln en blanco antes y despus de la tabla, para evitar
que se encimen o mezclen renglones que pusimos en prrafos separados.
En una otante de tabla puede colocar uno o ms array, cuidando nada ms de
declarar un ambiente matemtico adentro.
Actividad 6.45 Codica en L
A
T
E
X la tabla 6.22 en la siguiente pgina. Pon el posicio-
namiento para que aparezca exactamente donde se tecle.
Tabla 6.22 Representaciones numricas
Decimal Binario Octal Hexadecimal
1 1 1 1
2 10 2 2
3 11 3 3
5 101 5 5
7 111 7 7
8 1000 10 8
15 1111 17 F
16 10000 20 10
Todo lo que dijimos de las tablas se aplica a las guras. El contador de tablas es in-
dependiente del de guras. L
A
T
E
X provee un mecanismo sencillo para incluir imgenes
o guras generadas desde fuera y que estn codicadas en postscript o imgenes . png.
Esto se hace con el comando \ includegraphics {...} que toma como argumento un archivo
en el que se encuentre la imagen o gura que se desea incluir. En el archivo dummy.ps
se encuentra una gura (hecha en xg) que deseamos incorporar en nuestro documen-
to. Para hacerlo, tenemos que incluir el uso del paquete graphics en el prembulo del
6.10 Imgenes y guras 201
documento: \ usepackage{graphics}. Este paquete cuenta con los mecanismos para poder
manipular la gura:
Figura 6.1 Grco introducido con includegraphics
que fue incluida con el siguiente cdigo:
\ begi n { f i gur e } [ H]
\ l abel { f i g : 1}
\ capt i on { Gr f i c o i nt r oduci do con \ t e x t t t { i ncl udegr aphi cs } }
\ i ncl udegr aphi cs [ wi dt h =. . 5 \ t ext wi dt h ] { l at ex / dummy}
\ end{ f i gur e }
El paquete graphics contiene adems comandos que permiten girar y escalar una
imagen, prrafo, tabla, smbolo, etc. Tienes dos maneras de escalar un objeto: de manera
relativa, diciendo el factor de escala, como se muestra en la gura 6.3a (\ scalebox{.25});
o indicando la proporcin en la escala horizontal entre llaves y con la escala vertical
entre corchetes: \scalebox{.2}[.3], como en 6.3b (\ scalebox{.25}[.5] ). Tambin
puedes dar medidas absolutas, como en la gura 6.3c (\ resizebox{8cm}{2cm}) o bien,
utilizar una escala relativa, donde omitimos el factor vertical, y se asumir el mismo
que el horizontal, por ejemplo 6.3d (\ resizebox{2cm}{!}). En la escala absoluta se deben
dar las dos medidas. Cualquiera de ellas puede ser sustituida por ! .
202 L
A
T
E
X
Figura 6.2 Escalando objetos con graphics.
(a) Misma horizontal y vertical
(b) Distinta horizontal que
vertical
(c) Escala absoluta (d) Escala relativa
Otras dos posibilidades que tienes con objetos es la de rotarlos o espejearlos.
En la gura 6.3 puedes ver rotaciones de 45 grados 6.4a (\ rotatebox{45}), de 180 6.4b
(\ rotatebox{180}) y una gura y su reejo 6.4c (\ reectbox). En cada una de ellas se
marca la lnea base como una lnea punteada, ya que algunas de las guras (como la
rotada) fueron subidas para que no quedara desproporcionada la gura.
Se puede observar tambin que estas guras pueden aparecer mezcladas con el tex-
to, como aqu sin necesidad de incluir en una gura o tabla, donde lo nico
que se hizo fue insertar \ reectbox {\ scalebox{.1}{\ includegraphics{dummy.ps}}} entre las
palabras aqu y sin.
Es importante insistir en que estas operaciones de escalar, rotar y reejar las puedes
aplicar a cualquier objeto: texto, frmulas matemticas (siempre y cuando estn en
modo matemtico .. o \(.. \) ), tablas completas, guras, etc.
6.10 Imgenes y guras 203
Figura 6.3 Rotaciones y reejos con graphics
(a) Rotacin de 45 (b) Rotacin de 180
(c) Figura y su reejo
Si por ejemplo quieres el reejo de algo pero a lo largo del eje horizontal, lo puedes
conseguir con el cdigo que sigue
\ scal ebox { 2 } { r e f l e j o hor i z ont al \ r ot at ebox {180}{ %
\ r ef l ec t box { r e f l e j o hor i z ont al } } }
y que produce
reejo horizontalreejo horizontal
Debes notar que lo que pasa al texto abajo de la lnea base es la rotada, ya que
toma la esquina inferior izquierda como punto de rotacin.
Actividad 6.46 Codica en L
A
T
E
X lo siguiente:
204 L
A
T
E
X
Tabla 6.23 Comparacin de tamaos
Entrada
Edo 0 1
q
0
q
0
q
1
q
1
q
0
q
1
E
n
t
r
a
d
a
E
d
o
0
1
q
0
q
0
q
1
q
1
q
0
q
1
Actividad 6.47 Codica en L
A
T
E
X la siguiente expresin:
= b
2
4ac = b
2
4ac
Actividad 6.48 Importa a un archivo de L
A
T
E
X que use el paquete graphics alguna de
las grcas que elaboraste con xg (la del rbol genealgico, por ejemplo). La debes
tener guardada en tu cuenta, por lo que si no la exportaste, abre otra ventana y ejecuta
xg para exportarla en postscript.
6.10.2. Cortando guras
Puedes mostrar nicamente parte de una gura utilizando el modo \ includegraphics
del comando (agregando un asterisco al nombre del comando) y dndole parmetros
opcionales entre corchetes. La primera pareja le indica la posicin de la esquina infe-
rior izquierda y la segunda pareja la posicin de la esquina superior derecha. Puedes
observar el resultado en la gura 6.4.
Figura 6.4 Tomando pedazos de guras
i ncl udegr aphi cs [ 100 pt , 130 pt ] [ 220 pt , 260 pt ] \ { dummy. ps \ }
6.10 Imgenes y guras 205
En la gura 6.4 colocamos un marco alrededor del recorte para hacerlo ms claro.
Ese marco no aparece como resultado del comando.
6.10.3. Colores
En el contexto de generar archivos pdf, utilizaremos para colorear dos paquetes,
color y tikz. Aunque el primero es claro su objetivo, el segundo, tikz, es un paquete
de L
A
T
E
X mucho muy poderoso para gracacin y que incluye un sistema de colores
adems compila tanto con pdatex como con latex . Est incluido dentro del paquete
pgf aunque aporta una interfaz ms sencilla que la que soporta pgf. Es tan grande y
poderoso que est dividido en varios paquetes para que elijas nicamente aquellos que
va a usar. En la tabla 6.24 damos una lista de los que vamos a requerir, por lo pronto,
para generar colores. Cabe aclarar que para utilizar tikz es necesario cargar tambin
algunos paquetes que nos sirven como soporte, que listamos tambin a continuacin
5
.
Tabla 6.24 Paquetes de pgf para colores y dibujos
Nombre Uso Descripcin
tikz \ usepackage{tikz} ste es el paquete ms importante de pgf,
ya que da una interfaz sencilla de usar pa-
ra gracar. Incluye tambin un sistema pa-
ra colores que permite combinar los colores
principales.
xkeyval \ usepackage{xkeyval} Permite asociar nombres de parmetros del
paquete con los valores correspondientes.
Se requiere tambin para otros paquetes.
pifont usepackage{pifont} Se encarga del manejo de bajo nivel para las
grcas. Lo requiere el paquete tikz.
color \ usepackage{color} Proporciona una interfaz para poder crear
nuevos colores y un sistema para hacerlo.
Veamos entonces algunas manipulaciones que involucran color
6
. Por ejemplo, si
quieres cambiar el color de lo que estamos haciendo tenemos el comando
\ col or { red }
y desde ese momento en adelante, en el rango del ambiente en el que est, todo
se escribir en rojo. Los colores bsicos con los que contamos se encuentran en la
tabla 6.25.
5
Todos estos paquetes pueden obtenerse gratuitamente de la direccin
http://www.tex.ac.uk/tex-archive/help/Catalogue/catalogue.html
que es una excelente fuente de paquetes junto con su documentacin
6
Si tienes una impresora en blanco y negro, esto aparecer en distintos tonos de grises, pero en la
206 L
A
T
E
X
.
Tabla 6.25 Colores bsicos con los que se cuenta
Cdigo Resultado
\ color {black}black black
\ colorbox{gray}{\ color {white}white} white
\ color {red}red red
\ color {yellow}yellow yellow
\ color {cyan}cyan cyan
\ color {blue}blue blue
\ color {green}green green
\ color {magenta}magenta magenta
y adems tenemos los siguientes tonos de grises predenidos:
\ color {black}black black
\ color {darkgray}darkgray darkgray
\ color {gray}gray gray
\ color { lightgray } lightgray lightgray
\ color {white}white white
Como colocamos todo en un tabular, el efecto del cambio de color es nicamente
dentro de la celda en que est escrito.
Tenemos la posibilidad de cambiar nicamente el texto deseado con el siguiente
cdigo:
Vamos cambi ar de \ t ex t c ol or { red } { r oj o }
a col or \ t ex t c ol or { cyan } { azul }
Vamos cambiar de rojo a
color azul
El paquete color tambin nos ofrece la posibilidad de conformar cajas con el fondo
de ciertos colores para realzar algunos textos:
\ col or box { red } { \ t ex t c ol or { bl ue}{ %
Esta es una prueba } }
Esta es una prueba
Actividad 6.49 Teclea en un archivo fuente de L
A
T
E
X donde uses el paquete color y
graphics, las lneas correspondientes a color y ve en la pantalla cmo quedan (desa-
fortunadamente la impresin no muestra el color, sino nicamente distintos niveles de
grises, pero en la pantalla s lo puedes apreciar).
pantalla lo vers tal cual
6.10 Imgenes y guras 207
6.10.4. Dibujando objetos geomtricos
Hay varios paquetes que te permiten dibujar objetos geomtricos como lneas, crcu-
los, arcos, etc. Utilizaremos ac TikZ el subpaquete shapes y arrows , que nos ofrece
una gran versatilidad. No veremos ac ms que algunos objetos, ya que este paquete es
sumamente extenso.
Para poder usar comandos de tikz tenemos que estar dentro de un ambiente de este
paquete. tikz tiene dos tipos de ambiente, el de lnea y el de prrafo:
\ t ikz<[modicadores]>{<comandos>} Ambiente de lnea.
\ begi n { t i k z p i c t u r e } <[modicadores] >
. . .
\ end{ t i k z p i c t u r e }
Ambiente de prrafo.
Los modicadores van entre corchetes y tienen que ver con aspectos generales de
las guras que deseamos construir. Ambos ambientes presuponen un tamao, ya sea
de lneas o de prrafo, dado en la unidad de medida que se especique. La unidad de
medida por omisin es en centmetros, pero se puede cambiar. Prcticamente todo lo
que deseemos dibujar va a tener implcitas coordenadas y longitudes, que estarn dadas
implcitamente en la unidad de medida.
Para denotar a estas unidades de medida, tikz utiliza vectores en el eje de las x,
de las ys y de las zs. Es conveniente asegurarnos con qu unidad de medida estamos
trabajando. La puedes denir en milmetros, pulgadas, centmetros o puntos. Preferimos
trabajar con puntos, ya que sta es una unidad que se usa en muchos otros lugares.
Para establecer al punto como unidad de medida en los comandos de tikz utilizamos el
siguiente modicador:
\ t i k z [ x=1pt , y=1pt , z=1pt ] { . . . }
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt , z=1pt ]
. . .
\ end{ t i k z p i c t u r e }
y a partir de ese momento y dentro del ambiente declarado, la unidad de medida ser 1
punto (1pt). Si se declara otro ambiente en otro lugar, habr que hacer lo mismo, o bien
trabajar en centmetros.
6.10.5. Lneas
El comando que permite dibujar lneas es \ draw y hay que darle como argumentos
las coordenadas de los puntos por los que quieres que pase. El formato ms simple del
comando es el siguiente:
208 L
A
T
E
X
\ draw ( <coord inicial>) ( <siguiente coordenada>) . . . ;
donde los puntos sucesivos indican que puedes poner tantas coordenadas como desees.
Las coordenadas se pueden dar como puntos relativos con la unidad de longitud del
ambiente; o bien puede ser algn objeto etiquetado
7
; tambin puede aparecer all una
coordenada con una unidad de medida especca. Si se trata de coordenadas, consiste
de una pareja con los elementos separados entre s por coma, donde el primer elemento
de la pareja es el desplazamiento sobre el eje x y el segundo sobre el eje y. Tambin es
importante notar que los comandos de tikz en su mayora terminan con punto y coma
(;).
Es importante mencionar que el texto seguir inmediatamente despus del punto
que el comando considere que requiere. Veamos algunos ejemplos:
\ tikz [ x=1pt,y=1pt]\draw(0,0) (20,30) (30,0) . Nota cmo el rengln se aco-
moda verticalmente para dar lugar al trazo y el texto contina a partir del nal del
espacio ocupado. Si deseamos que el texto se acomode encima del dibujo, tenemos que
hacerlo a pie recorrindonos hacia arriba y hacia la izquierda con comandos de \vspace
y \hspace.
\ vspace{30 pt } % El mximo de l a segunda coordenada y el cambio
%de l nea .
\ t i k z [ x=1pt , y=1pt ] { \ draw(0 , 0) (20 , 30) (30 , 0); }
\ hspace{30pt} %
\ t i k z [ x=1pt , y=1pt ] { \ draw(0,0) (20,30) (30,0);} %
y l as l neas se acomoda como se est observando
y las lneas se acomodan como se est observando.
Veamos ms ejemplos de algunas guras. Una manera de dejar espacio vertical para
acomodar algunas de las guras es con \ vspace. Observa:
\ t i k z [ x=1pt , y=1pt ] { \ draw ( 0 , 0) ( 30 , 5) ( 20 , 10) (60,15) %
( 70 , 50) ( 50 , 100) ( 120 , 100) ; }
\ t i k z [ x=1pt , y=1pt ] { \ draw ( 140 , 40) ( 190 , 40) ( 190 , 80)
( 140 , 80) ( 140 , 40) ; }
7
Veremos ms adelante cmo etiquetar objetos para usarlos en un dibujo.
6.10 Imgenes y guras 209
Puedes cambiar el ancho de la lnea tambin con un modicador, line width y el tamao de
la lnea se puede dar en cualquier unidad de medida:
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ draw[ l i n e wi dt h=2pt ] ( 0 , 0) ( 30 , 20) ;
\ draw[ l i n e wi dt h =. 13 i n ] (30,20) ( 50 , 0) ;
\ draw[ l i n e wi dt h =. 15cm] (50,0) ( 70 , 20) ;
\ draw (70,20) ( 90 , 0) ;
\ draw[ l i n e wi dt h=1pt ] (90,0) ( 110 , 20) ;
\ end{ t i k z p i c t u r e }
Tambin se puede dar el ancho de lnea para todo un ambiente, ponindolo de modicador
de ambiente:
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt , %
l i n e wi dt h=2pt ]
\ draw ( 0 , 0) ( 30 , 20) (30,20) %
( 50 , 0) (50,0) (70,20) %
(70,20) ( 90 , 0) (90,0) %
( 110 , 20) ;
\ end{ t i k z p i c t u r e }
El comando \ draw es fundamental en tikz ya que servir tambin para acomodar objetos y
dibujar guras. Por ejemplo, para dibujar un rectngulo combinamos \ draw con esa forma:
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ draw ( 0 , 0) r ect angl e ( 140 , 120) ;
\ end{ t i k z p i c t u r e }
Siempre que introduces un ambiente tikz, debes pensar que reservas un espacio rectangular
dado por lo que dibujaste. Ese espacio logra contener todos los objetos que hayas acomodado
o dibujado en ese ambiente. El (0,0) es la esquina inferior izquierda (aunque esto lo puedes
modicar) y la esquina superior derecha est dada por lo que hayas hecho dentro del ambiente.
Actividad 6.50 Escribe el cdigo necesario para que se dibuje lo que sigue (el tamao relativo
es lo que importa).
210 L
A
T
E
X
Como ya mencionamos, tikz provee varias guras geomtricas con las que puedes trabajar
usando la biblioteca shapes de este paquete. Y como las guras son cierto tipo de objetos,
puedes acomodarlos tambin en la retcula mediante draw. Adems del rectngulo, contamos
con crculos (circle), diamantes (diamond) y elipses (ellipse). El formato para cada una de estas
guras es el siguiente: una vez que se ubica el punto donde se va a colocar la gura median-
te draw, cada una de las guras tiene sus propios parmetros. Quisiramos antes mencionar
un modicador ms que altera la forma de los puntos de quiebre para redondearlos y que es
rounded corners. Observa el efecto que tiene en el rectngulo que hicimos arriba:
\ begi n { t i k z p i c t u r e } %[ x=1pt , y=1pt ]
\ draw[ x=1pt , y=1pt , rounded cor ner s ]
( 0 , 0) r ect angl e ( 140 , 120) ;
\ end{ t i k z p i c t u r e }
Puedes jugar con qu tan redondeadas estn las esquinas, agregndole el redondeo en tr-
minos de una unidad de medida a continuacin del signo =. La medida se reere a la distancia
de lo que sera la esquina sin redondear a la redondeada, medido verticalmente.
rounded
corners
rounded corners
=4pt
rounded corners
=8pt
rounded corners
=16pt
que se consigui con el siguiente cdigo:
6.10 Imgenes y guras 211
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ draw[ rounded cor ner s ] ( 0 , 60) r ect angl e ( 40 , 120) ;
\ draw[ rounded cor ner s=4pt ] ( 80 , 60) r ect angl e ( 120 , 120) ;
\ draw[ rounded cor ner s=8pt ] ( 160 , 60) r ect angl e ( 200 , 120) ;
\ draw[ rounded cor ner s=16pt ] ( 240 , 60) r ect angl e ( 280 , 120) ;
\ end{ t i k z p i c t u r e }
Otros de los modicadores que puedes poner a \ draw son el color de las mismas blue,
red, yellow, cyan, green, magenta ; el tipo de lnea [ loosely| densely]{solid | dotted|dashed}
. Estos ltimos parmetros no llevan signo = o identicador cuando aparecen en el contexto de
un comando \ draw y puedes usarlos con guras, lneas o arcos. Hay que mencionar tambin que
el redondeo de esquinas puede aplicarse nicamente a un segmento de la trayectoria pintada,
si se coloca antes de las coordenadas a partir de la cual debe aparecer. Veamos un pequeo
ejemplo:
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1. 5 pt ]
\ draw ( 0 , 0) [ bl ue , rounded cor ner s=10pt ]
( 30 , 50) ( 80 , 25)
[ sharp cor ner s ] ( 75 , 75)
( 0 , 0) ;
\ end{ t i k z p i c t u r e }
Como es muy comn querer terminar en la coordenada en la que se empez (cerrar un
polgono), tikz proporciona la meta-coordenada cycle que, donde aparezca, regresa la primer
punto dado en la trayectoria, como por ejemplo en el siguiente dibujo, en que ambas veces
regresa la coordenada (0,0).
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1. 5 pt ]
\ draw ( 0 , 0) [ bl ue , rounded cor ner s=10pt ]
( 30 , 50) ( 80 , 25)
[ sharp cor ner s ] ( 75 , 75)
cycl e ( 27 , 12) ( 35 , 80) cycl e ;
\ end{ t i k z p i c t u r e }
En la tabla 6.26, <dim> se reere siempre a una cantidad de medida, como mm, cm, in, pt ,
em, ex, mientras que <num> es un nmero que puede o no ser un entero, y en algunos casos
puede ser negativo. Estos modicadores pueden aparecer en el ambiente o en el comando.
212 L
A
T
E
X
Tabla 6.26 Modicadores para el trazo de lneas y guras
Parmetro Descripcin Por omisin
color=<color> Especica el color en que se va a pin-
tar la lnea. Puede aparecer directa-
mente el color nada ms.
color: black
x=<dim>
y=<dim>
z=<dim>
Unidades para cada uno de los ejes.
Son opcionales cualquier subconjunto
de ellos.
dim: 1cm
line width=<dim>
very thick
thick
very thin
thin
Especica el grosor de las lneas que
se dibujan (ver tabla 6.27.
dim: 1pt
pattern= patrn Rellena la gura o el polgono con ese
patrn
8
.
estilo: solid
pattern color=<color> Decide el color de los trazos que com-
ponen al patrn.
black
rounded corners
rounded corners= dim
sharp corners
Indica si los cambios de direccin se
hacen redondeados o no, y si s con
cunto redondeo.
sharp corners
ll
ll = < color >
Indica que la gura deber ser slida,
rellenada. Si se indica el color, el re-
lleno deber ser de ese < color >
ver gura 6.5 donde se ejemplica es-
ta opcin .
no
dashed
loosely dashed
densely dashed
dotted
loosely dotted
densely dotted
solid
Da el tipo o estilo de lineas que se van
a dibujar (ver tabla 6.27).
solid
8
Para ver los tipos de patrones disponibles, consultar el manual de TikZ.
6.10 Imgenes y guras 213
Tabla 6.27 Opciones de grosor y estilos de lneas
very thick loosely dotted
dotted
densely dotted
thick
loosely dotted
dotted
densely dotted
normal
loosely dotted
dotted
densely dotted
thin
loosely dotted
dotted
densely dotted
very thin loosely dotted
dotted
densely dotted
very thick loosely dashed
dashed
densely dashed
thick
loosely dashed
dashed
densely dashed
normal
loosely dashed
dashed
densely dashed
thin
loosely dashed
dashed
densely dashed
very thin loosely dashed
dashed
densely dashed
Figura 6.5 Ejemplo de opciones para dibujar
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ draw[ f i l l ] ( 0 , 0) [ bl ue , rounded cor ner s=10pt ]
( 30 , 50) ( 80 , 25) [ sharp cor ner s ]
( 75 , 75) cycl e ( 27 , 12)
( 35 , 80) cycl e ;
\ end{ t i k z p i c t u r e }
Pasemos ya a ver las distintas guras que puedes dibujar con el comando \ draw. Las mos-
tramos en la tabla 6.28.
214 L
A
T
E
X
Tabla 6.28 Ejemplos de guras en TikZ
Comando Figura
\ tikz [ x=1pt,y=1pt ]{\ draw(25,10) ellipse(20pt and 10pt);}
Como puedes observar, la coordenada dada a continuacin de \draw da el
centro de la elipse, mientras que la primera dimensin da el dimetro hori-
zontal y la segunda el vertical.
\ tikz [ x=1pt,y=1pt ]{\ draw (25,10) circle (12.5pt );}
En este caso, tambin la primera coordenada nos da el centro del crculo,
mientras que la dimensin nos da el dimetro.
\ tikz [ x=1pt,y=1pt ]{\ draw (25,10) arc (90:0:25pt );}
Igual que antes, la primera coordenada te da el centro del crculo completo,
aunque nicamente vayas a pintar un arco. Los tres nmeros entre parntesis
tienen el siguiente signicado: puedes ver al circulo en el eje coordenado
con el centro en (0,0); el primer numero da el ngulo en el que empieza el
arco; el segundo da el ngulo en el que termina, movindose siempre en el
sentido de las manecillas del reloj; el tercer numero da el radio del crculo
del que el arco forma parte.
\ tikz [ x=1pt,y=1pt ]{\ draw (5,0) .. controls (15,15) and (30,15) .. (40,0);}
Esta construccin te permite dibujar curvas que no son forzosamente arcos
de crculos. Las coordenadas de control representan puntos para dibujar el
bezier: entre el origen y el primer punto la recta que los une es tangente a la
curva; similarmente para el segundo punto.
Adems de las variaciones en la forma y el tipo de lnea, tambin puedes pedir que la lnea
sea doble, como lo ejemplicamos en la tabla 6.29.
Tabla 6.29 Lneas dobles
\ draw[very thick, double](0,0) (50,0);
\ draw[thin, double](0,0) (50,0);
\ draw[very thick, double distance=2pt](0,0) (50,0);
\ draw[thin, double distance=2pt](0,0) (50,0);
Realmente el nmero de variaciones sobre estos cuatro simples comandos es muy grande,
as que te recomendamos consultar el manual de TikZ para poder usar todas ellas.
6.10 Imgenes y guras 215
En el caso de las lneas y los polgonos, puedes tener el ltimo segmento tome o no la forma
de echa. Los tipos de echas que tenemos disponibles se encuentran en las tablas 6.30 y se
consiguen poniendo como modicador de la lnea el tipo de echa que deseas. Vienen en el
paquete de biblioteca de echas de TikZ que se invoca con la siguiente lnea en el prembulo
del documento.
\ u s e t i k z l i b r a r y { arrows }
Algunas puntas de echas vienen por omisin en TikZ. Los estilos del cuerpo de la echa
pueden ser cualesquiera de los listados anteriormente, por lo que los ejemplos los daremos con
lnea slida para ejemplicar nada ms las puntas. Los distintos tipos de puntas de echas se
encuentran en la tabla 6.30.
Tabla 6.30 Tipos de puntas de echas en TikZ
\ draw [arrows=>] (0,0) (50,0);
\ draw [arrows=>>] (0,0) (50,0);
\ draw [arrows=|>] (0,0) (50,0);
\ draw [arrows=|diamond] (0,0) (50,0);
\ draw [arrows=latex] (0,0) (50,0);
\ draw [arrows=angle 45] (0,0) (50,0);
\ draw [arrows=angle 60] (0,0) (50,0);
\ draw [arrows=angle 90] (0,0) (50,0);
Como puedes observar hay bastante juego con el tipo de echa y el origen del segmento.
Para ms informacin, consulta el manual de TikZ.
Otro aspecto bonito de TikZ es que puedes dar distintos patrones para el relleno de guras.
Esto se logra cargando el paquete de biblioteca patterns en el prembulo del documento.
\ u s e t i k z l i b r a r y { pat t er ns }
En el manual de TikZ viene una lista de patrones interesantes que puedes desear usar.
En las tablas 6.31 y 6.32 daremos ejemplos de distintos objetos geomtricos que puedes
pintar con TikZ. Es importante que recuerdes que las coordenadas que se dan suponen que
el comando inicia en (0,0), y a partir de ah se calcula la posicin del dibujo. Sin embargo,
el acomodo de las guras se hizo con mecanismos que se darn a continuacin. Asimismo
se hicieron algunos trucos para que la altura del rengln fuera la adecuada para cada gura.
Debers tomar en cuenta la seccin que sigue donde ensearemos a acomodar de mejor manera
las guras.
216 L
A
T
E
X
Tabla 6.31 Figuras geomtricas que se pueden lograr en TikZ
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt , l i n e wi dt h=3pt] %
\ useasboundi ngbox ( 0 , 0) r ect angl e
( 140 , 60) ;
\ draw[l at ex , rounded cor ner s] %
( 100 , 50) ( 0 , 20) ( 50 , 0) ;
\ end{ t i k z p i c t u r e }
\ begi n { t i k z p i c t u r e } [ x=1pt , y=3pt ]
\ useasboundi ngbox ( 0 , 0)
r ect angl e ( 170 , 70) ;
\ draw[ t hi c k ] ( 0 , 60) ( 70 , 10)
( 70 , 60) ( 0 , 10)
cycl e ;
\ draw[ t hi ck , f i l l =red ] ( 90 , 60)
( 160 , 10) ( 160 , 60)
( 90 , 10) cycl e ;
\ end{ t i k z p i c t u r e }
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 0 , 0) r ect angl e ( 170 , 70) ;
\ draw[ f i l l ] ( 10 , 10) r ect angl e ( 80 , 60) ;
\ draw[ f i l l =whi t e ] ( 20 , 20) r ect angl e ( 40 , 40) ;
\ end{ t i k z p i c t u r e }
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox (0, 10) r ect angl e ( 140 , 60) ;
\ draw[ ver y t hi c k ] ( 30 , 30) c i r c l e (20 pt ) ;
\ draw[ ver y t hi ck , red ] ( 100 , 30) c i r c l e (20 pt ) ;
\ end{ t i k z p i c t u r e }
Contina en la pgina siguiente
6.10 Imgenes y guras 217
Tabla 6.31 Figuras geomtricas que se pueden lograr en TikZ Contina de la pgina anterior
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 0 , 0)
r ect angl e ( 140 , 70) ;
\ draw[ ver y t hi c k ] ( 20 , 38) ( 10 , 0)
( 50 , 0) ar c ( 0: 76: 40 pt ) ;
\ draw[ f i l l ] ( 100 , 38) ( 90 , 0)
( 130 , 0) ar c ( 0: 76: 40 pt ) ;
\ end{ t i k z p i c t u r e }
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 0 , 0)
r ect angl e ( 140 , 70) ;
\ draw[ ver y t hi ck , red ] ( 70 , 30)
e l l i p s e (50 pt and 20pt ) ;
\ end{ t i k z p i c t u r e }
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 0 , 0)
r ect angl e ( 140 , 70) ;
\ draw[ ver y t hi ck , st ep=5mm, red ,
pat t er n= f i v e p o i n t st ar s ,
pat t er n col or =red ] \
( 70 , 30) e l l i p s e (50 pt and 20pt ) ;
\ end{ t i k z p i c t u r e }
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox (0, 50)
r ect angl e ( 170 , 100) ;
\ draw ( 80 , 60) ar c ( 50: 90: 100 pt ) ;
\ draw[ f i l l ] ( 160 , 60)
ar c ( 50: 90: 100 pt ) ;
\ draw[ ver y t hi n , l oosel y dashed ]
( 160 , 60) (95, 50)
(140, 50) (95, 50)
( 95 , 83) ;
\ end{ t i k z p i c t u r e }
Otro aspecto que es frecuente que quieras tener en un documento es la gracacin de fun-
ciones. TikZ proporciona algunas funciones tpicas que puedes querer gracar, como lo son la
parbola, el crculo, seno y coseno. Para otras funciones se tendrn que preparar las tablas en
218 L
A
T
E
X
un archivo aparte, pero se pueden gracar. Veamos primero estas cuatro en la tabla 6.32.
Tabla 6.32 Gracacin de funciones comunes en TikZ
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 0 , 0)
r ect angl e ( 140 , 70) ;
\ draw[ t hi c k ] ( 45 , 50)
ar c ( 60: 360: 20 pt ) ;
\ draw[ t hi ck , f i l l ] ( 115 , 50)
ar c ( 60: 360: 20 pt ) ;
\ end{ t i k z p i c t u r e }
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 0 , 0)
r ect angl e ( 100 , 50) ;
\ draw ( 0 , 0)
par abol a [ par abol a hei ght =30pt ]
( 30 , 0) ;
\ draw( 50 , 30)
par abol a [ par abol a hei ght =30pt ]
( 90 , 30) ;
\ end{ t i k z p i c t u r e }
Puedes obtener pedazos de parbola si das como segunda coordenada algo que no sea
la imagen del punto de origen, o bien con modicadores:
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 0 , 0)
r ect angl e ( 140 , 60) ;
\ draw ( 0 , 0) par abol a ( 30 , 45) ;
\ draw ( 50 , 0)
par abol a [ bend at end ]
( 80 , 45) ;
\ draw ( 100 , 0)
par abol a bend
( 122. 5 , 52. 25) ( 130 , 45) ;
\ end{ t i k z p i c t u r e }
Contina en la siguiente pgina
6.10 Imgenes y guras 219
Tabla 6.32 Gracacin de funciones comunes en TikZ Contina de la pgina anterior
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox (0, 30)
r ect angl e ( 140 , 40) ;
\ draw ( 0 , 0) si n ( 20 , 20)
si n (60, 20)
cos ( 80 , 0)
si n ( 100 , 20) ;
\ end{ t i k z p i c t u r e }
Tanto el seno como el coseno nicamente estn denidos para el interva-
lo (0,

2
), por lo que es necesario combinar ambas funciones para pintar la
trayectoria completa
Otro mecanismo tambin muy importante para gracar funciones es el de poder darle una
lista de puntos y que vaya marcndolos con algn smbolo. Para marcar los puntos con smbolos
requieres de la biblioteca plotmarks mediante el comando
\ u s e t i k z l i b r a r y { pl ot mar ks }
Una vez cargada la biblioteca de marcas, puedes elegir entre las que se encuentran en la
tabla 6.33.
Tabla 6.33 Smbolos para marcar curvas que se gracan
Marca Identicacin Descripcin
mark= guiones
mark=| barras verticales
mark=o crculos huecos
mark=asterisk asteriscos
mark=star estrellas
Contina en la pgina siguiente
220 L
A
T
E
X
Tabla 6.33 Smbolos para marcar curvas que se gracan Contina de la pgina anterior
Marca Identicacin Descripcin
mark=oplus crculos con suma
mark=oplus crculos con suma
mark=otimes crculos con producto
mark=otimes crculos con producto
mark=square cuadrado
mark=square cuadrado slido
mark=triangle tringulo
mark=triangle tringulo slido
mark=diamond diamante
mark=diamond diamante slido
mark=pentagon pentgono
mark=pentagon pentgono slido
Para gracar funciones usamos tambin el comando \ draw con modicadores y parmetros.
6.10 Imgenes y guras 221
Figura 6.6 Gracacin de funciones arbitrarias
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox (0 , 2) r ect angl e ( 200 , 200) ;
\ draw ( 0 , 0) pl ot [ mark=x , smooth ]
coor di nat es{ %
( 30 , 5)
( 60 , 20)
( 90 , 45)
( 120 , 80)
( 150 , 125)
( 180 , 180)
( 200 , 220) } ;
\ draw[ red ] ( 0 , 0) pl ot [ mark=o , smooth ]
coor di nat es { ( 30 , 1)
( 60 , 8)
( 90 , 27)
( 120 , 64)
( 150 , 125)
( 166 , 220)
} ;
\ end{ t i k z p i c t u r e }
Marcas un punto inicial y a continuacin dices que quieres gracar una funcin (plot ). A
esta ltima opcin le aplicas modicadores, como el smbolo para las marcas, posiblemente si
quieres o no la curva suave (smooth) y el color de las marcas, que puede no ser el mismo que
el de la curva.
Sin embargo, las grcas que pintamos en la gura 6.6 son realmente muy pobres. Quisi-
ramos poder dibujar los ejes cartesianos y colocar indicaciones respecto a los valores en estos
ejes. Tenemos dos formas de hacerlo.
Usando el comando \ draw con el argumento grid, cuya sintaxis es:
\ draw <esq. inf. izquierda> grid [ <modicadores>] <esq. sup. derecha>;
La parte del [ < intervalo >] corresponde a que tan cerrada quieres la rejilla para las
coordenadas. Sin embargo, con esta opcin no tenemos todava los ejes o las anotaciones
en los mismos. Veamos cmo queda en la gura 6.7.
Sin embargo, con esta opcin debemos poner los ejes y las marcas a pie. Los ejes no es
ningn problema pues lo hacemos simplemente utilizando \ draw, como se muestra en la
gura 6.8.
La otra forma de pintar la retcula es a pie . Afortunadamente, como el pintar las lneas
se trata de una tarea repetitiva, puedes usar la construccin \ foreach que proporciona TikZ.
Esta es una construccin muy poderosa que funciona como sustitucin de macros, por lo
que se puede introducir en casi cualquier enunciado. Daremos el ejemplo en la gura 6.9
y despus analizaremos su formato.
222 L
A
T
E
X
Figura 6.7 Impresin de la retcula
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox (0 , 2)
r ect angl e ( 200 , 250) ;
\ draw[ dot t ed ] ( 0 , 0)
gr i d [ xst ep =15, yst ep =12. 5]
( 210 , 225) ;
\ draw ( 0 , 0)
. . .
. . .
\ end{ t i k z p i c t u r e }
Figura 6.8 Colocacin de los ejes
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox (0 , 2)
r ect angl e ( 200 , 220) ;
\ draw[ dot t ed ] ( 0 , 0)
gr i d [ xst ep =15, yst ep =12. 5) ]
( 210 , 225) ;
\ draw[ ver y t hi ck , l at ex ]
( 0 , 0) ( 0 , 225) ; %ej e y
\ draw[ ver y t hi ck , l at ex ]
( 0 , 0) ( 210 , 0) ; %ej e x
\ draw ( 0 , 0)
pl ot [ mark=x , smooth ]
. . .
. . .
\ end{ t i k z p i c t u r e }
6.10 Imgenes y guras 223
El enunciado \ foreach tiene las siguientes partes:
Las variables del foreach que van separadas entre s por una diagonal y que consisten
de diagonal inversa y un identicador. Se recomienda que los identicadores consistan
nicamente de letras, porque a veces, dependiendo del contexto, al sustituirse pueden dar
problemas inesperados. En los dos ejemplos anteriores, la lista de variables consiste de
una variable a las que llamamos \ x y y en el primero y segundo for , respectivamente.
Una lista de valores que deben tomar las variables. Cada elemento de la lista consiste de
un valor por cada variable enunciada, separados los elementos entre s por comas y los
valores de un mismo elemento por diagonales. Esta lista va entre llaves.
Por ltimo tenemos una lista de enunciados donde pueden o no aparecer las variables del
for .
Figura 6.9 Segunda forma de pintar la retcula
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox (0 , 2)
r ect angl e ( 200 , 220) ;
\ f or each \ x i n { 15 , 30 , 45 , 60 , 75 ,
90 , 105 , 120 , 135 ,
150 , 165 , 180 , 195 ,
210} {
\ draw[ l i n e wi dt h =. 3 pt , dot t ed ]
( \ x , 0) ( \ x , 225) ;
}
\ f or each \ y i n { 12. 5 , 25 , 37. 5 , 50 ,
62. 5 , 75 , 87. 5 , 100 ,
112. 5 , 125 , 137. 5 ,
150 , 162. 5 , 175 ,
187. 5 , 200 , 212. 5 ,
225} {
\ draw[ l i n e wi dt h =. 3 pt , dot t ed ]
( 0 , \ y ) ( 210 , \ y ) ;
}
\ draw ( 0 , 0)
. . .
. . .
\ end{ t i k z p i c t u r e }
Ambos ejemplos tienen una sola variable y las lneas que se pintan estn a intervalos cons-
tantes. En general, cuando se dan estas dos condiciones puedes reemplazar a parte o toda la lista
por una lista donde se ineren los puntos que faltan y que tiene la siguiente forma:
primer valor , segundo valor , . . . , ltimo valor
224 L
A
T
E
X
Los dos \ foreach que tenemos los podramos haber escrito de las formas que se muestran en el
listado 6.1.
Cdigo 6.1 Formas de hacer retculas
\ f or each \ x i n {15 , 30 , 45 , 60 , 75 , 90 , 105 , 120 , 135 ,
150 , 165 , 180 , 195 , 210} {
\ draw[ l i n e wi dt h =. 3 pt , dot t ed ] ( \ x , 0) ( \ x , 225) ;
}
\ f or each \ y i n { 12. 5 , 25 , 37. 5 , 50 , 62. 5 , 75 , 87. 5 , 100 ,
112. 5 , 125 , 137. 5 , 150 , 162. 5 , 175 ,
187. 5 , 200 , 212. 5 , 225} {
\ draw[ l i n e wi dt h =. 3 pt , dot t ed ] ( 0 , \ y ) ( 210 , \ y ) ;
}
\ f or each \ x i n { 15 , 30 , . . . , 210} {
\ draw[ l i n e wi dt h =. 3 pt , dot t ed ] ( \ x , 0) ( \ x , 225) ;
}
\ f or each \ y i n { %
12. 5 , 25 , 37. 5 , . . . , 225} {
\ draw[ l i n e wi dt h =. 3 pt , dot t ed ] ( 0 , \ y ) ( 210 , \ y ) ;
}
Aunque aparentemente el colocar los nmeros sobre los ejes parece sencillo, no sabemos
cmo colocar objetos cuando trabajamos con TikZ, y no se logra simplemente con un \ draw
cuyo objetivo es pintar lneas. En la siguiente seccin resolveremos este problema. Antes de
abandonar esta seccin quisiramos hacerte notar que hay otra forma de alimentarle coordena-
das a \ draw y que es mediante un archivo con las mismas, que pudo ser generado por una utilera
de linux. Para el lector interesado le recomendamos que vea el manual de TikZ. Terminamos
esta seccin con un divertimento en la gura 6.10 que usa nicamente los conceptos que hemos
dado hasta ahora.
Figura 6.10 Divertimento con slo trazo de lneas
6.10 Imgenes y guras 225
Los comandos de TikZ que logran el dibujo anterior se encuentran en el listado 6.2.
Cdigo 6.2 Dibujos arbitrarios (1/2)
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 30 , 30) r ect angl e ( 350 , 180) ;
% oj os
\ f or each \ x / \ y i n { %
50/ 160 , 100/ 160 , 140/ 90 , 190/ 90 , 310/ 100 , 280/ 150} { %
\ draw ( \ x , \ y ) c i r c l e (12 pt ) ;
\ draw[ f i l l ] ( \ x , \ y ) c i r c l e ( 3 pt ) ;
}
% cej as
\ f or each \ x / \ y / \ xx / \ yy / \ a / \ b / \ aa / \ bb i n { %
30/ 170/ 70/ 170/ 40/ 140/ 50/ 130 ,
80/ 170/ 120/ 170/ 40/ 140/ 50/ 130 ,
120/ 100/ 160/ 100/ 40/ 140/ 50/ 130 ,
170/ 100/ 210/ 100/ 40/ 140/ 50/ 130 ,
280/ 170/ 295/ 135/ 20/ 0/ 40/ 0 ,
310/ 120/ 325/ 85/ 20/ 0/ 40/ 0} {
\ draw ( \ x , \ y ) . . cont r ol s +( \ a: 20 pt ) and +( \ b: 20 pt ) . .
( \ xx , \ yy ) ;
\ draw ( \ x , \ y ) . . cont r ol s +( \ aa: 30 pt ) and +( \ bb: 30 pt ) . .
( \ xx , \ yy ) ;
}
% nar i z
\ f or each \ x / \ y i n { 0/ 75 , 90/ 0} { %
\ pgf put at { \ pgf xy ( \ x , \ y)}{ %
\ draw[ rounded cor ner s ] ( 75 , 80) ( 70 , 65) ( 65 , 60)
( 70 , 55) ( 80 , 55) ;
\ f or each \ xx i n { 70 , 74} { %
\ draw[ f i l l ] ( \ xx , 60) c i r c l e ( 1 pt ) ;
}
%boca
\ draw ( 40 , 45) . . cont r ol s +(320: 20 pt ) and +(220: 20 pt ) . .
( 110 , 45) ;
\ draw ( 40 , 45) . . cont r ol s +(320: 30 pt ) and +(220: 30 pt ) . .
( 110 , 45) ;
} %\pgf put at
} %f or each
226 L
A
T
E
X
Cdigo 6.2 Dibujos arbitrarios (2/2)
% Tercera cara
\ pgf put at { \ pgf xy ( 40,50)}{ %
\ draw[ rounded cor ner s ] ( 330 , 70) ( 310 , 65)
( 305 , 60) ( 310 , 50) ;
\ f or each \ x / \ y i n { 310/ 58 , 312/ 52}
\ draw[ f i l l ] ( \ x , \ y ) c i r c l e ( 1 pt ) ;
%boca
\ draw ( 270 , 70) . . cont r ol s +( 0: 30 pt ) and +(80: 30 pt ) . .
( 310 , 0) ;
\ draw ( 270 , 70) . . cont r ol s +(340: 10 pt ) and +(70: 10 pt ) . .
( 309 , 0) ;
} %pgf put at
\ end{ t i k z p i c t u r e }
El nico comando nuevo en el listado anterior es el de pgfputat que lo que hace es tomar las
coordenadas dentro de su alcance (entre las llaves) relativas al primer parmetro (\ pgfxy(x,y)).
Actividad 6.51 Escribe los comandos necesarios en TikZ para dibujar lo siguiente:

6.10.6. Acomodando objetos


El poder pintar una retcula de la supercie que usamos para dibujar suele ser til no nada
ms para gracar funciones, sino tambin para dibujar y colocar objetos. En general, asociamos
objetos que pueden ser letreros, dibujos, puntos, etc. a nodos. Un nodo tiene las siguientes
caractersticas:
Ocupa una cierta posicin, dada por una pareja (x,y).
Tiene alguna forma que puede ser circle , rectangle, diamond, ellipse.
Puede tener un identicador asociado.
Puede dibujarse o no su contorno con cualquier tipo de lnea.
Puede rellenarse o no con distintos patrones y en colores diversos.
El formato general para colocar un nodo es el siguiente:
\ node ( etiqueta ) [ modificadores ] at ( posici on ) { contenido } ;
6.10 Imgenes y guras 227
Por ejemplo, puedes marcar algunas posiciones en el espacio en el que gracas las funciones
para colocar all una descripcin de las mismas.
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 0 , 0) r ect angl e ( 200 , 220) ;
% r et cul a
\ f or each \ x i n { 15 , 30 , 45 , 60 , 75 , 90 ,
. . . . . .
%nodos
\ node ( x2 ) % et i quet a
[ i nner sep=0pt , out er sep=0pt ]
% modi f .
at ( 95 , 50) %dnde
{ } ; % cont eni do
\ node ( l et x2 )
[ r ect angl e , draw , f i l l =whi t e ]
at ( 40 , 100) { f(x) = x
2
} ;
\ draw[l at ex ] ( l et x2 ) ( x2 ) ;
% l nea ent r e dos nodos
\ node ( x3 )
[ i nner sep=0pt , out er sep=0pt ]
at ( 161 , 175) { } ;
\ node ( l et x3 )
[ red , r ect angl e , draw , f i l l =whi t e ]
at ( 80 , 200) { f(x) = x
3
} ;
\ draw[l at ex , red ] ( l et x3 ) ( x3 ) ;
\ end{ t i k z p i c t u r e }
f(x) = x
2
f(x) = x
3
Puedes pensar en acomodar los nodos con un \ foreach. Aunque en este caso slo son en
realidad dos objetos (tres lneas que se repiten casi dos veces), puedes parametrizar de la
siguiente manera:
. . . . . .
e \ f or each \ et i q/ %
\ xe / \ ye / \ l e t r / \ x l / \ y l / \ cont / \ c l or
i n { x2 / 95/ 50/ l et r x 2 / 40/
100/ f(x) = x
2
/ bl ack ,
x3 / 161/ 175/ l et x3 /
80/ 200/ f(x) = x
3
/ red } {
\ node ( \ et i q) %
[ i nner sep=0pt , out er sep=0pt ]
at ( \ xe , \ ye ) { } ;
\ node ( \ l e t r ) %
[ \ cl or , diamond , draw , f i l l =whi t e ]
at ( \ xl , \ y l )
{ \ cont } ;
\ draw[l at ex , \ c l or ]
( \ l e t r ) ( \ et i q ) ;
}
. . . . . .
f(x) = x
2
f(x) = x
3
228 L
A
T
E
X
Explicamos ahora algunos de los modicadores.
La forma (shape) puede ser cualquiera de las que se encuentran en la biblioteca shapes de
TikZ, que se carga mediante el comando
\ u s e t i k z l i b r a r y { shapes }
colocado en el prembulo del documento. En este caso, en el ejemplo no parametrizado
utilizamos rectangle, mientras que en el parametrizado utilizamos diamond. La forma por
omisin es rectangle.
En algunos casos no deseas separacin entre la posicin del nodo y su exterior. Esta se-
paracin se da por omisin alrededor del texto contenido en el nodo, aun cuando no haya
texto. Por eso tienes que aclarar que la separacin entre el texto y el borde (inner sep) y
la separacin entre el borde y el entorno (outer sep) es de cero puntos. Este modicador
lo utilizamos para marcar que quieres colocarte exactamente sobre la lnea de la funcin.
Hay otra manera de hacer esto, que veremos un poco ms adelante.
La opcin de dibujar o no contorno est dada por draw, que indica que s se haga. La
opcin por omisin es no pintar contorno.
Ya vimos la opcin de rellenar el nodo ( ll ). Para darle un color al relleno y un patrn se
hace exactamente igual que con el comando \ draw. El valor por omisin es transparente,
por lo que deja ver lo que sea que se haya pintado abajo; para que no se viera la retcula
abajo de nuestras etiquetas es que rellenamos de blanco.
Por ltimo, el contenido de un nodo puede ser cualquier cosa, entre otros, un arreglo, un
dibujo, otra retcula, ecuaciones (como lo hicimos nosotros). sta es una de las caracters-
ticas principales por las que nos gusta usar TikZ: te permite trasplantar el podero y lo no
de L
A
T
E
X a cualquier dibujo o grca.
Para colocar los nmeros a lo largo de los ejes haremos uso de la construccin \ foreach y
del enunciado \ node.
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
\ useasboundi ngbox ( 0 , 0)
r ect angl e ( 200 , 220) ;
. . .
\ f or each \ x i n { 15 , 30 , 45 , 60 ,
. . .
\ f or each \ x / \ et i q i n { %
30/ 1 , 60/ 2 , 90/ 3 , 120/ 4 ,
150/ 5 , 180/ 6 , 210/ 7} {
\ node at ( \ x , 5) { \ t i n y \ et i q } ;
}
\ f or each \ y i n { %
25 , 50 , . . . , 200} {
\ node [ l e f t ] at ( 0 , \ y ) { \ t i n y \ y } ;
} . . . . . .
\ end{ t i k z p i c t u r e }
1 2 3 4 5 6 7
25
50
75
100
125
150
175
200
f(x) = x
2
f(x) = x
3
6.10 Imgenes y guras 229
Al acomodar los nmeros en el eje x tienes que utilizar posicin y etiqueta, pues stas no
coinciden. En el eje de las y, en cambio, como coinciden la posicin y la etiqueta, puedes utilizar
la misma variable para ambas.
Al colocar las etiquetas en el eje de las y utilizamos un nuevo modicador en el nodo nota
que no utilizamos nombre para el nodo pues no es necesario que acomoda al contenido del
nodo respecto a la posicin del mismo. En este caso deseamos que los nmeros se alineen a la
derecha, por lo que indicamos que el contenido se extienda hacia la izquierda (left). Tenemos
las siguientes posibilidades para este modicador:
above anchor=north
above left anchor=north west
above right anchor=north east
left anchor=west
right anchor=east
below anchor=south
below left anchor=south west
below right anchor=south east
En los modicadores a la izquierda en la tabla puedes agregar un desplazamiento, usando
por ejemplo left =2pt.
Tambin puedes usar el \ foreach para repetir guras. Por ejemplo, si deseas dibujar una
grca, puedes colocar nodos y despus unirlos con lneas, como se puede apreciar en la gu-
ra 6.11 que se hizo con el cdigo del listado 6.3.
Figura 6.11 Dibujo de una grca en L
A
T
E
X
a
b
c
d
0
1
0
0
1
0
230 L
A
T
E
X
Cdigo 6.3 Dibujo de una grca
\ begi n { t i k z p i c t u r e } [ x=1pt , y=1pt ]
% Col ocaci n de l os nodos
\ f or each \ name / \ et i q / \ x / \ y i n {
a / a/ 10/ 40 , b / b/ 110/ 40 ,
c / c / 10/ 120 , d / d/ 110/ 120} {
\ node [ c i r c l e , draw ] ( \ name) at ( \ x , \ y ) { \ et i q } ;
}
% di buj o de l os arcos r ect os
\ f or each \ f f r / \ t t o / \ et i q / \ pos i n {
a / b / 0 / above , b / d / 1 / r i ght ,
d / c / 0 / above , c / a / 0 / l e f t } {
\ draw[angl e 60] ( \ f f r ) node [ \ pos ] { \ et i q } ( \ t t o ) ;
}
% di buj o de l os arcos curveados
\ f or each \ f f r / \ t t o / \ et i q / \ pos / \ sal e / \ ent r a i n {
b / a / 1 / above/ 270/ 270 ,
d / b / 0 / r i g h t / 0/ 0} {
\ draw[angl e 60] ( \ f f r ) . . cont r ol s +( \ sal e : 40 pt )
and +( \ ent r a : 40 pt ) . . node [ \ pos ] { \ et i q } ( \ t t o ) ;
}
\ end{ t i k z p i c t u r e }
De entre lo que no revisamos antes est el signo de + al frente de las coordenadas de
controls. Esto se reere a que el ngulo, que corresponde a la primera coordenada, sea to-
mado en relacin al centro del nodo al que se reere; la segunda coordenada indica la distancia
del centro del nodo a la parte ms alta de la curva (un bezier). Tambin es nueva la colocacin
de etiquetas, que se hace tambin colocando un nodo sobre la trayectoria, antes del destino de
la lnea.
Este tipo de dibujos pueden alcanzar muchsima complejidad en TikZ, por lo que no segui-
mos con el tema. Recomendamos nuevamente al lector interesado que consulte el manual de
TikZ.
Actividad 6.52 Codica los dibujos de la gura 6.12 en L
A
T
E
X.
Actividad 6.53 Haz el cdigo necesario para dibujar una cara similar a la que se us en esta
seccin.
Con esto damos por terminada la parte de dibujar con L
A
T
E
X. Sobre todo en el paquete TikZ
hay una casi innidad de posibilidades. Nos falt, por ejemplo, cmo dibujar rboles o grcas
de manera ms directa, pero se supone que este material lo que debe hacer es abrirles el apetito
y no emparcharlos, as que por lo pronto ac dejamos este tema.
6.11 Referencias e ndices 231
Figura 6.12 Actividad 6.52



T
Yo
Ellos
6.11. Referencias e ndices
Un documento cientco o, en general, un documento profesional como un artculo, un li-
bro, un reporte, requiere, adems del contenido, una serie de elementos estticos y de ayuda
muy importantes para el lector de la obra. Estos elementos incluyen: tipos de letras, sus tama-
os, la numeracin de los captulos, secciones, frmulas, cuadros o tablas, as como una serie
de elementos (opcionales) como tablas de contenido, de guras, ndices. Al conjunto de estos
elementos se les conoce como tipografa.
La tipografa de una obra, en general, la ja y atiende el editor, sobre todo en cuanto a
cuestiones estticas. Los ndices y la bibliografa o referencias son, necesariamente, provistas
por el autor. En muchos de los casos, tendrs que actuar como ambos: autor y editor de tus
trabajos.
L
A
T
E
X es ideal para ayudarte en la denicin de la tipografa, incluyendo los elementos
opcionales. En este captulo hemos revisado ya prcticamente todo lo que necesitas para realizar
documentos complejos, por lo que nos resta aclarar cmo realizar algunos de los elementos
opcionales que mencionamos en el prrafo anterior.
6.11.1. Referencias bibliogrcas
Como ya discutimos, la presencia de referencias bibliogrcas en tus trabajos te permite
incursionar en ms temas que consideres interesantes. Esto signica que las referencias deben
232 L
A
T
E
X
ser precisas y dirigir al lector de tu obra con el menor esfuerzo posible.
Hay varias formas de darle formato a las bibliografas; de hecho, en la mayora de los casos
te encontrars siguiendo las reglas que para tal efecto dicte la editorial. Por tanto, una de las
tareas ms importantes cuando envas un libro, artculo o cualquier otro trabajo escrito para su
publicacin, es generar la lista de referencias bibliogrcas siguiendo dichas reglas.
En la prehistoria de la computadora
En la pre-historia de las computadoras, es decir hace una veintena de aos, tenamos que
componer a mano la lista de bibliografas. Por ejemplo, tenamos que teclear esto:
\ begi n { t hebi bl i ogr aphy } { al gunaent r ada }
\ bi bi t em [ et i quet a1 ] { l l ave1 } I nf or maci n sobre l a ent r ada b i b l i o g r f i c a
\ bi bi t em [ et i quet a2 ] { l l ave2 } I nf or maci n sobre l a ent r ada b i b l i o g r f i c a
. . .
\ end{ t hebi bl i ogr aphy }
Para citar esas referencias usamos el comando \ cite y usamos la llave apropiada, por ejem-
plo, \ cite { llave1}.
Algunos de los problemas con esta forma tradicional de ingresar bibliografa en nuestros
trabajos son:
1. Es muy difcil mantener la consistencia en las citas, particularmente en un documento
con contribuciones de varios autores. Entre las dicultades ms comunes, encontramos,
ewntre otros, variaciones en el uso de abreviaturas o nombres completos, el uso de itlicas
o comillas para los ttulos.
2. Si ya tienes una lista bibliogrca ordenada de acuerdo a cierto estilo, por ejemplo alfa-
btico por autor y ao, es extremadamente difcil de convertir a otro estilo, por ejemplo
usando nmeros de acuerdo al orden de cita.
3. Es virtualmente imposible mantener una gran base de referencias bibliogrcas que pueda
ser reutilizada en distintos documentos.
BIBT
E
X
A continuacin describiremos una posible forma de resolver el problema de las listas de
bibliografas. Est basado en L
A
T
E
X y su programa hermano BIBT
E
X. Es importante hacer notar
que BIBT
E
X ha estado en circulacin por muchos aos y, por lo tanto, existen muchos estilos
que hoy podramos llamar estndar y que estn a nuestra disposicin, por lo que es muy fcil
encontrar el estilo adecuado para tu trabajo.
La estructura bsica de una entrada BIBT
E
X tienes tres partes bsicas:
(a) El tipo de la entrada (book, article, inproceedings y otros). Ntese que el tipo siempre va
en ingls.
(b) Una llave elegida por el usuario que identica la publicacin. Esta llave es la que debe
usarse como parmetro para el comando \ cite.
6.11 Referencias e ndices 233
(c) Una serie de campos separados entre s por comas, donde cada campo consiste de un
identicador de campo y sus datos entre comillas o llaves, por ejemplo:
aut hor =" Ful ani t o Labrador " ,
j our nal = " Las b i c i c l e t a s " ,
t i t l e = { Los paseos por l a ci udad } ,
Existen varios esquemas para asociar convenientemente las llaves con sus respectivas entra-
das en la base. Un esquema popular es el conocido como Harvard, donde tomamos el apellido
del autor (en minsculas) y el ao de la publicacin y los combinamos para crear la llave usando
dos puntos. Por ejemplo, smith:1987. BIBT
E
X lee las entradas del archivo de bibliografas, con
extensin .bib, y al formato que se le dar a las entradas lo controla un archivo de estilo, con
extensin .bst. Por razones de espacio, no discutiremos en este trabajo los comandos que pue-
den usarse en los archivos de estilo, adems de que, como ya hemos mencionado, hay muchos
estilos ya denidos por personas o por organizaciones, por ejemplo por la Sociedad Matem-
tica Americana (AMS, por sus siglas en ingls), por la Association for Computing Machinery
(ACM), revistas de prestigio, casas editoriales. A continuacin describimos algunos estilos muy
usados y que no estn asociados a ninguna asociacin o casa editorial. Es importante notar que
no necesitas obtener una copia de los archivos de estilo (.bst) de los que usamos aqu como
ejemplos, ya que se incluyen con todas las distribuciones de L
A
T
E
X.
plain El estilo estndar de BIBT
E
X. Las entradas son ordenadas alfabticamente con etiquetas
numricas.
unsrt Similar al anterior, pero las entradas son impresas en el orden en que fueron citadas en
el documento. Utiliza etiquetas numricas.
alpha Similar a plain, pero las etiquetas de las entradas son formadas a partir del nombre del
autor y del ao de publicacin.
abbrv Similar a plain, pero las entradas son ms compactas, dado que los nombres de pila, los
meses y los nombres de las revistas son abreviados.
acm Usado para las publicaciones de la Association for Computing Machinery. Tiene el nom-
bre del autor (apellido y luego nombre) en maysculas pequeas y usa nmeros como
etiquetas.
Ahora te vamos a mostrar el efecto de usar BIBT
E
X en un documento y luego te mostraremos
qu fcil es cambiar el estilo y los dramticos cambios que generan estos cambios en la salida.
Nuestros archivos fuente sern: ejemplo.tex, nuestro documento L
A
T
E
Xy bejemplo.bib,
nuestra base de datos de bibliografas. En las guras 6.13 y 6.15 puedes ver estos documentos.
Figura 6.13 Ejemplo de L
A
T
E
X usando BIBT
E
X (1/2)
\ documentcl ass { a r t i c l e }
\ usepackage [ l a t i n 1 ] { i nput enc }
\ pagest yl e { empty }
\ begi n { document }
\ sect i on { Ej empl o de c i t as }
234 L
A
T
E
X
Figura 6.13 Ejemplo de L
A
T
E
X usando BIBT
E
X (2/2)
I ni ci amos con l a c i t a de un l i b r o ~\ c i t e { nonaka95 : _knowl _creat_compan }
y una t es i s doct or al a cont i nuaci n~\ c i t e { van96 : _impac_kbs } .
Tambin qui er es c i t a r un ar t cul o es c r i t o por un ni co
aut or ~\ c i t e { boehm88} y l uego ot r o donde hay ms de un
aut or ~\ c i t e { boehm89: _theor_w } . Tambin qui er es i nt ent ar , por
supuesto , hacer una c i t a a unos proceedi ngs de una
conf er enci a ~\ c i t e { 01: _progr_web_hi gh_l evel _l anguag } y para t er mi nar
vamos a hacer una c i t a m l t i p l e , donde l a pr i mer ent r ada es a un
ar t cul o publ i cado en el Web~\ c i t e { wadl erhow, boehm89: _theor_w } .
\ bi bl i ogr aphy s t y l e { pl ai n }
\ bi bl i ogr aphy { bej empl o }
\ end{ document }
Lo primero que debes entender es cmo funcionan L
A
T
E
X y BIBT
E
X juntos: primero corres
el comando latex con el archivo fuente como argumento (gura 6.14); despus corres el
comando bibtex con el mismo argumento y luego debers ejecutar latex dos veces para
que L
A
T
E
X pueda resolver todas las referencias. El resultado, puedes apreciarlo en la gura 6.16,
donde lo hemos puesto usando tanto el estilo plain como el estilo acm.
Figura 6.14 Salida de L
A
T
E
X al ejecutarlo por primera vez sobre el archivo usando BIBT
E
X
% l at ex ej empl o
Thi s i s TeX, Ver si on 3.14159 (Web2C 7. 4. 5)
LaTeX Warning : Ci t at i on nonaka95 : _knowl _creat_compan on page 1
undef i ned on i nput l i n e 6.
LaTeX Warning : Ci t at i on van96 : _impac_kbs on page 1 undef i ned
on i nput l i n e 7.
LaTeX Warning : Ci t at i on boehm88 on page 1 undef i ned on i nput
l i n e 10.
LaTeX Warning : Ci t at i on boehm89: _theor_w on page 1 undef i ned
on i nput l i n e 11.
LaTeX Warning : Ci t at i on 01: _progr_web_hi gh_l evel _l anguag on
page 1 undef i ned on i nput l i n e 13.
LaTeX Warning : Ci t at i on wadl erhow on page 1 undef i ned on
i nput l i n e 15.
LaTeX Warning : Ci t at i on boehm89: _theor_w on page 1 undef i ned
on i nput l i n e 15.
No f i l e ej empl o . bbl .
6.11 Referencias e ndices 235
Figura 6.15 Ejemplo de una base de datos BIBT
E
X
@Book{ nonaka95 : _knowl_creat_compan ,
aut hor = { Nonaka , I . and Takeuchi , H. } ,
t i t l e = { The KnowledgeCr eat i ng Company} ,
publ i sher = { Oxf ord Uni v Press } ,
year = 1995,
address = {New York } }
@PhdThesis { van96 : _impac_kbs ,
aut hor = { Van Wegen, B} ,
t i t l e = { I mpact s of KBS on cost and s t r uc t ur e of
pr ouduct i on processes } ,
school = { Uni ver sei t van Amsterdan } ,
year = 1996}
@Ar t i cl e { boehm88 ,
aut hor = { Boehm, B. } ,
t i t l e = {A s p i r a l model of sof t war e devel opment and
enhancement } ,
j our nal = { IEEE Computers } ,
year = 1988,
pages = {6162}}
@Ar t i cl e { boehm89: _theor_w ,
aut hor = { Boehm, B. and Ross , R. } ,
t i t l e = { TheoryW sof t war e pr oj ect management : pr i nc i pl es
and examples } ,
j our nal = { IEEE Trans . Soft w . Eng . } ,
year = 1989,
volume = 15,
number = 7 ,
pages = {902916}}
@Proceedings { 01: _progr_web_hi gh_l evel _l anguag ,
t i t l e = { Programming t he Web wi t h HighLevel Languages } ,
year = 2001,
volume = 2028,
ser i es = { Lect ur e Notes i n Computer Sci ence } ,
month = { Ap r i l } ,
or gani zat i on = {10 t h European Symposium on Programming ,
ESOP 2001} ,
publ i sher = { Spr i nger Ver l ag } }
@misc{ wadl erhow,
aut hor = " Phi l i p Wadler " ,
t i t l e = {How t o Add Lazi ness t o a St r i c t Language Wi t hout
Even Bei ng Odd} ,
u r l = " ci t eseer . nj . nec . com/ 102172. ht ml " }
236 L
A
T
E
X
Figura 6.16 Ejemplo usando los estilos BIBT
E
X: acm (arriba) y plain (abajo)
1 Ejemplo de citas
Iniciamos con la cita de un libro [4] y una tesis doctoral a continuaci on [5].
Tambien queremos citar un artculo escrito por un unico autor [2] y luego
otro donde hay m as de un autor [3]. Tambien queremos intentar, por supuesto,
hacer una cita a unos proceedings de una conferencia [1] y para terminar vamos
a hacer una cita m ultiple, donde la primer entrada es a un artculo publicado
en el Web [6, 3].
References
[1] 10th European Symposium on Programming, ESOP 2001. Programming the
Web with High-Level Languages, volume 2028 of Lecture Notes in Computer
Science. Springer Verlag, April 2001.
[2] B. Boehm. A spiral model of software development and enhancement. IEEE
Computers, pages 6162, 1988.
[3] B. Boehm and R. Ross. Theory-w software project management: principles
and examples. IEEE Trans. Softw. Eng., 15(7):902916, 1989.
[4] I. Nonaka and H. Takeuchi. The Knowledge-Creating Company. Oxford
Univ Press, New York, 1995.
[5] B Van Wegen. Impacts of KBS on cost and structure of prouduction pro-
cesses. PhD thesis, Universeit van Amsterdan, 1996.
[6] Philip Wadler. How to add laziness to a strict language without even being
odd.
1 Ejemplo de citas
Iniciamos con la cita de un libro [4] y una tesis doctoral a continuaci on [5].
Tambien queremos citar un artculo escrito por un unico autor [2] y luego
otro donde hay m as de un autor [3]. Tambien queremos intentar, por supuesto,
hacer una cita a unos proceedings de una conferencia [1] y para terminar vamos
a hacer una cita m ultiple, donde la primer entrada es a un artculo publicado
en el Web [6, 3].
References
[1] 10th European Symposium on Programming, ESOP 2001. Program-
ming the Web with High-Level Languages (April 2001), vol. 2028 of Lecture
Notes in Computer Science, Springer Verlag.
[2] Boehm, B. A spiral model of software development and enhancement. IEEE
Computers (1988), 6162.
[3] Boehm, B., and Ross, R. Theory-w software project management: prin-
ciples and examples. IEEE Trans. Softw. Eng. 15, 7 (1989), 902916.
[4] Nonaka, I., and Takeuchi, H. The Knowledge-Creating Company. Ox-
ford Univ Press, New York, 1995.
[5] Van Wegen, B. Impacts of KBS on cost and structure of prouduction
processes. PhD thesis, Universeit van Amsterdan, 1996.
[6] Wadler, P. How to add laziness to a strict language without even being
odd.
6.12 Emacs 237
6.11.2. ndices
Para encontrar un tema de inters en un documento grande, el lector tiene dos alternativas,
usar la tabla de contenidos o el ndice. En general, el ndice es la forma de acceso ms comn a
un documento tcnico y, por tanto, una parte esencial del documento.
Al igual que las referencias bibliogrcas, para generar un ndice requerimos de la com-
binacin de L
A
T
E
X y otro programa externo llamado MakeIndex. En tu documento L
A
T
E
X debes
usar el comando \ index para indicar una nueva entrada en el ndice del documento. Cuando eje-
cutes latex en tu documento, se crea un nuevo archivo con extensin .idx en el que aparecen las
entradas seleccionadas por \ index y las pginas en que stas aparecen. Despus de esto, cuando
ejecutes el comando makeindex, al igual que como suceda con bibtex, leer un archivo de es-
tilo (con extensin .ist) y crear el archivo con extensin .ind que tiene la versin con formato
del ndice de tu documento.
Crear un buen ndice no es una tarea sencilla y discutir el tema escapa de los alcances de
este documento. Sin embargo, te podemos recomendar crear el ndice conforme avances en el
desarrollo de tu documento. Debes tomar en cuenta a quin va dirigido el documento, qu es
importante y organizar el ndice de manera tal que el lector pueda encontrar fcilmente lo que
busca.
El comando \ index soporta hasta tres niveles de entradas en el ndice. Para acceder a los sub
y subsub niveles, el argumento de \ index debe contener la entrada principal y las sub-entradas
separadas por el carcter !. Por ejemplo:
Pgina 3: \ index{funciones ! par&\a&metros ! paso de}
Pgina 4: \ index{funciones ! recursivas}
Pgina 5: \ index{cerradura ! funcional }
Pgina 6: \ index{cerradura ! con ambientes}
Pgina 10: \ index{paradigma}
Pgina 11: \ index{paradigma ! tipos de}
6.12. Emacs
Como ya sabes, editar un archivo L
A
T
E
X es simplemente editar un archivo de texto con
comandos especiales que interpreta el comando latex o pdatex. En este sentido, con lo revisado
de Emacs en la seccin 4.3, puedes editar cmodamente tus documentos L
A
T
E
X.
Sin embargo y como una muestra ms de la versatilidad y podero de Emacs, te mostraremos
algunos paquetes que extienden Emacs y lo convierten en un poderoso editor especializado para
L
A
T
E
X.
238 L
A
T
E
X
6.12.1. AUCT
E
X
AUCT
E
X es un ambiente integrado para editar archivos L
A
T
E
X y T
E
X e incluye una gran
cantidad de herramientas que iremos revisando a lo largo de esta seccin.
Una pregunta que es sano hacernos es qu puede hacer AUCT
E
X que no podamos hacer
slo con la ayuda de Emacs? Varias cosas: te permite ejecutar T
E
X/L
A
T
E
X y dems comandos
y herramientas relacionados con el proceso de documentos, como visores de DVI, Postscript
o PDF. En particular, la habilidad de ejecutar L
A
T
E
X desde AUCT
E
X es interesante porque te
permite navegar los errores y te ofrece documentacin sobre cada tipo de error.
AUCT
E
X tambin nos ayuda a indentar nuestro cdigo fuente y tiene un par de herramien-
tas para ver una vista preliminar, un esquema de tu documento. Adems, al estar ntimamente
relacionado con Emacs, AUCT
E
X ofrece una gran cantidad de macros y funciones auxiliares
que te permiten insertar comandos y editar tus documentos rpida y fcilmente.
Instalando AUCT
E
X
AUCT
E
X es un programa escrito en Emacs-Lisp y es parte estndar de varias distribuciones $ smart
install
emacs-auctex
mayores de Emacs, incluyendo XEmacs. Desgraciadamente AUCT
E
X no viene con Emacs por
omisin; sin embargo existen paquetes pre-compilados para la mayora de las distribuciones de
Linux.
En caso de que no encuentres paquetes para tu distribucin de Linux, no hay nada de qu
preocuparse, pues ya sabes lo fcil que es instalar paquetes en Emacs (ver la seccin 4.3.18).
En la siguiente direccin puedes obtener la versin ms reciente de AUCT
E
X:
http://www.gnu.org/software/auctex/.
Para indicarle a Emacs que vas a utilizar AUCT
E
X, debes poner lo siguiente en tu /.emacs:
( r equi r e t exs i t e )
( r equi r e t ex )
( r equi r e l at ex )
Sangras y formato
AUCT
E
X puede indentar tu cdigo automticamente conforme lo escribes. Si presionas C-j
en lugar de Enter funcionar exactamente igual. Si presionas tab la lnea actual es indentada
y el cursor permanece donde est. Incluso el comando format-paragraph de Emacs, Mq , es
re-implementado por AUCT
E
X para que haga lo correcto con tu documento L
A
T
E
X. Finalmente,
la funcin LaTeX-ll-buffer (que puedes ejecutar con Mx ) indenta todo tu documento, lo
cul es particularmente til cuando alguien te mand un documento sin formato.
En L
A
T
E
X es comn tener documentos que ocupen ms de un archivo; por ejemplo, para
libros y tesis es comn utilizar un archivo por cada captulo o seccin. AUCT
E
X es capaz de
entender documentos que ocupan varios archivos y ayudarte en su edicin y manejo, para lo
cual debes poner en tu /.emacs lo siguiente:
6.12 Emacs 239
( set q TeXautosave t )
( set q TeXparses e l f t )
( set qdef aul t TeXmaster n i l )
Edicin de documentos
AUCT
E
X estudia el comando \ documentclass de tu documento y en funcin de eso te ayuda
a completar comandos de L
A
T
E
X, lo cual tiene dos aplicaciones importantes y que a la postre
agradecers innitamente.
1. Te permite completar comandos parcialmente escritos. Por ejemplo, puedes escribir \ renewc
y presionar Mtab (TeX-complete-symbol) y AUCT
E
X hace el resto, es decir, comple-
tar el comando \ renewcommand por ti. Si ms de un comando casa con el prejo, entonces
AUCT
E
X te ofrece una lista de los posibles comandos para que escojas.
2. Te ayuda a insertar ambientes, esto es pares de la forma \ begin \ end.
Un nmero importante de macros acompaan a AUCT
E
X y estn aqu para ayudarte a editar
rpidamente. Las ms importantes son las siguientes:
Tabla 6.34 Emacs: comandos de AUCT
E
X
Comando Descripcin
LaTeX-environment
C-c C-e
Inserta un par de la forma \ begin \ end.
LaTeX-section
C-c C-s
Inserta uno de \ chapter, \ section, . . .
TeX-font
C-c C-f seguido de
C-r , C-i , C-b , . . .
Insertan uno de \ textrm{}, \ textit {} , \ textbf {} ,
. . .
LaTeX-insert-item
MEnter
Inserta un nuevo item en un ambiente. Esto es
til en todo tipo de listas, AUCT
E
X propone el
formato adecuado.
TeX-insert-macro
( C-c enter )
Con este comando puedes insertar un macro en
tu documento y AUCT
E
X te preguntar por los
argumentos del mismo.
AUCT
E
X provee varios comandos ms, pero en la mayora de los documentos L
A
T
E
X estn-
dar, con los que listamos arriba puedes avanzar rpidamente en la edicin. Ms adelante veremos
algunos comandos y utileras para hacer matemticas en un modo especial que AUCT
E
X provee
para tal efecto.
Para lograr que AUCT
E
X te pregunte por los ttulos de las secciones, captulos y otras sub-
partes del documento que insertas y te proponga nombres inteligentes para etiquetas, es conve-
240 L
A
T
E
X
niente agregar a tu /.emacs lo siguiente:
( set q LaTeXsect i onhook
( LaTeXsect i onheadi ng
LaTeXsect i ont i t l e
LaTeXsect i ont oc
LaTeXsect i onsect i on
LaTeXsect i onl abel )
)
Cmo ejecutar L
A
T
E
X
AUCT
E
X provee un comando que, dependiendo del contexto en que se use, ofrece varias
alternativas para ejecutar comandos sobre tu documento fuente.
El comando TeX-command-master ( C-c C-c ) o su hermano TeX-command-region
( C-c C-r ) ejecuta L
A
T
E
X en todo el documento o en la regin especicada, respectivamente.
Cuando ejecutamos L
A
T
E
X de esta forma, la vista de Emacs se divide en dos y la salida
de la ejecucin se despliega en la segunda mitad para que puedas editar y ver el resultado de
la ejecucin simultneamente. Si L
A
T
E
X encuentra errores, entonces puedes llamar a la funcin
TeX-next-error ( C-c ) que mover el cursor al primer error y desplegar un texto explicativo
junto con el mensaje que arroj L
A
T
E
X. Puedes repetir la ejecucin de este comando hasta que
no encuentres ms errores.
Una vez que hayas concluido con el formato de tu documento exitosamente, puedes volver
a invocar el comando TeX-command-master y te ofrecer una alternativa para visualizar el
resultado.
Modo para matemticas
AUCT
E
X incluye un modo para facilitar la edicin de matemticas y, aunque sigue siendo
el mismo AUCT
E
X, se comporta tan distinto que lo tratamos por separado.
Ya te dijimos que T
E
Xfue escrito por un matemtico? En caso de que no lo hayamos hecho,
s, T
E
X fue escrito por un matemtico e histricamente siempre ha ofrecido un soporte iniguala-
ble para escribir matemticas. Fiel a esta tradicin, AUCT
E
X te ofrece un modo menor especial
para escribir smbolos matemticos rpidamente. Para entrar a este modo, debes teclear C-c
, que es el comando LaTeX-math-mode tambin se usa para salir del modo matemtico
de AUCT
E
X.
Este modo menor agrega un comando, LaTeX-math-abbrev-prefx o simplemente y
una vez que llamas este comando (i.e. presionas ) AUCT
E
X leer un carcter del teclado
y luego insertar un smbolo matemtico asociado. La lista de asociacin entre carcteres y
smbolos se encuentra en la variable LaTeX-math-list y, por supuesto, puede congurarse. As,
por ejemplo, estando en modo matemtico la secuencia de teclas a inserta .
Nota: para nosotros, hispano parlantes, escribir acentos es muy importante y, en general,
sirve para poner acentos invertidos, lo cual diculta el acceso al modo matemtico de AUCT
E
X.
6.12 Emacs 241
Por lo tanto tienes dos opciones, presionar dos veces y luego la letra deseada o bien cambiar
el prejo utilizado por AUCT
E
X.
6.12.2. RefT
E
X
RefT
E
X es un paquete para manejar etiquetas, referencias, citas e ndices desde Emacs en
documentos T
E
X o L
A
T
E
X. No es necesario usar AUCT
E
X y RefT
E
X juntos, pero hay pocas cosas
que combinan mejor, con la notable excepcin de tacos y cerveza.
RefT
E
X es otro programa escrito, al igual que AUCT
E
X, en Emacs-Lisp y es un producto
de software complejo y grande, pero te daremos una breve introduccin a su uso y te podemos
garantizar que una vez que te acostumbres a RefT
E
X te preguntars cmo pudiste vivir sin l
(nosotros nos preguntamos eso con casi todos los productos de software, aplicaciones y paquetes
que incluimos en este libro, por ello es que ahora las promovemos incansablemente.)
Para cargar RefT
E
X en Emacs, agrega lo siguiente a tu /.emacs:
( r equi r e r ef t ex )
Tabla de contenidos
La tabla de contenidos de un documento L
A
T
E
X es algo muy importante y te puede dar una
visin global de la estructura de tu trabajo. Sin embargo, la tabla de contenidos existe hasta que
compilas tu documento fuente y exclusivamente en el documento generado como salida (DVI,
PostScript, PDF, etc.). Qu haras y cmo aprovecharas el poder tener una tabla de contenidos
generada dentro de tu editor? Qu haras con ella si adems esta tabla fuera navegable?
El comando reftex-toc ( C-c =) hace justo eso, te muestra secciones, etiquetas y entradas
de ndice denidos en tu documento y ms an, te permite saltar a cualquiera de estos puntos
rpidamente.
Etiquetas y referencias
Crear etiquetas para los distintos elementos de tus documentos como guras, tablas y fr-
mulas es usualmente una tarea tediosa y poco graticante. La gente se ha inventado frmulas
y tcnicas para asignar etiquetas ordenadamente para despus recordarlas fcilmente y hacer
referencia a stas sin tener que buscar en todo el documento. Los resultados varan mucho, pero
en general puedes asegurar que es una mala idea y no funciona bien.
RefT
E
X te ayuda a crear etiquetas nicas y a encontrar la etiqueta adecuada cuando quieres
hacer una referencia rpidamente. RefT
E
X distingue entre etiquetas para distintos ambientes,
conoce todos los ambientes estndar (gure, equation, table) y puedes congurarlo para que
entienda an ms tipos de etiquetas cambiando el valor de la variable reftex-label-alist.
Crear etiquetas: El comando reftex-label ( C-c ( ) inserta una etiqueta en el punto. Cuan-
do usas este comando RefT
E
X realizar una de las siguientes acciones:
242 L
A
T
E
X
Derivar una etiqueta del contexto (por omisin usa una para seccin).
Pedir que le des una cadena descriptiva para la etiqueta (esto lo hace para guras y
tablas).
Insertar una etiqueta simple hecha con un prejo y un nmero (para todos los dems
ambientes).
La variable reftex-insert-label-ags controla qu etiquetas son creadas y cmo.
Referir etiquetas: Para hacer una referencia usa el comando reftex-reference ( C-c ) ). Esto
te muestra una vista (outline) de tu documento con todas las etiquetas de un cierto tipo
(gure, equation, etc.) y algo de contexto para cada etiqueta para que puedas reconocerlas
fcilmente. Al seleccionar una etiqueta de esta vista, RefT
E
X inserta \ ref {LABEL} en el
buffer original.
Citas
El comando reftex-citation ( C-c [ ) te permite especicar una expresin regular o patrn
para buscar en el archivo de base de datos de BIBT
E
Xpara el documento (tal y como se especica
en el comando \ bibliography). Todas las entradas que concuerden con el patrn de bsqueda te
sern mostradas para que elijas la apropiada. La lista aparece con formato y ordenada.
Una vez que seleccionas una entrada, aparecer en tu documento fuente una referencia de
la forma \ cite {KEY}.
Soporte para la generacin de ndices
RefT
E
X tambin te ayuda a generar entradas para el ndice de tu documento. Ms an, te
permite incluso compilar las entradas existentes alfabticamente y te las presenta en un buffer
para que puedas editarlas.
Para crear una entrada de ndice utiliza reftex-index-selection-of-word ( C-c / ) y para
desplegar y editar el ndice, reftex-display-index ( C-c > ).
RefT
E
X puede hacer muchas cosas ms, pero para efectos prcticos lo que hemos cubierto
es lo ms importante y til del programa y su uso. Estamos seguros te traer gratas sorpresas y
un incremento considerable de productividad cientca.
6.12.3. Preview
El paquete preview-L
A
T
E
X se distribuye como parte estndar de AUCT
E
X y extiende tanto a
Emacs como a L
A
T
E
X. Esto es porque incluye un estilo para L
A
T
E
X y cdigo en Emacs-Lisp para
aprovechar este estilo y ayudarte en la edicin de documentos.
Para los usuarios de T
E
X/L
A
T
E
X siempre ha sido un problema serio la discusin sobre tener
editores que te muestren lo que ests escribiendo (por sus siglas en ingls, WYSIWYG), que
como ya sabes es algo que no sucede con L
A
T
E
X. Sin embargo, la intencin del paquete preview
para Emacs no es exactamente sta.
6.12 Emacs 243
Con preview se busca un balance entre elementos grcos y texto. Utiliza la salida grca
para ciertas construcciones (congurable); hace esto cuando se le solicita y lo hace ah mismo,
dentro del cdigo fuente. Cambiar entre la versin grca y el cdigo fuente es fcil y natural y
puede hacerse para cada imagen de manera independiente.
Para activar preview debes poner lo siguiente en tu /.emacs:
( l oad " previ ewl at ex . el " n i l t t )
Uso bsico de preview
Una vez activado y cuando ests editando un archivo de L
A
T
E
X, puedes utilizar el comando
preview-document ( C-c C-p C-d ). En este momento se comenzarn a generar vistas
preliminares para distintos objetos en tu documento. Nota importante: mientras se generan las
vistas preliminares, puedes navegar tu documento en el buffer; sin embargo no es recomendable
que edites algo porque el resultado de las vistas podra terminar en lugares errneos.
En caso de querer editar el buffer mientras se estn generando las vistas preliminares, te
conviene detener todos los procesos ejecutndose en el fondo con el comando TeX-kill-job
( C-c C-k ).
Figura 6.17 Ejemplo de preview en la edicin de este captulo
Para ver/editar el cdigo L
A
T
E
X para un objeto especco, que es probablemente ms til,
puedes ejecutar el comando preview-at-point ( C-c C-p C-p ) o bien presionar el botn del
medio del ratn sobre la vista previa. Ahora puedes editar el cdigo y generar una nueva vista
preliminar con C-c C-p C-p nuevamente.
Lenguajes de
marcado
7
Los lenguajes de marcado (markup languages) utilizan texto comn y corriente combinado
con informacin adicional que sirve para denir su semntica o su presentacin (a veces ambas).
En palabras sencillas: esta informacin adicional nos dice qu signica el texto o cmo se pre-
senta al usuario. La informacin adicional suele estar intercalada en el mismo texto utilizando
marcas especiales; de ah el nombre de lenguajes de marcado.
Los lenguajes de marcado tienen sus orgenes en la industria editorial, mucho antes de la
creacin de computadoras digitales: cuando un manuscrito se preparaba para impresin, un es-
pecialista (coloquialmente conocido como marcador) escriba en los mrgenes anotaciones
especiales (marcas) que servan de gua a los que transcriban el texto en su forma nal ya
lista para imprimirse. Estas marcas eran un lenguaje de marcado primitivo (no haba necesa-
riamente un estndar, ni tenan una sintaxis formalmente denida), que serva para explicar la
presentacin del texto: el tamao de la fuente, el tipo, el estilo, etc.
Con la llegada de las computadoras, los lenguajes de marcado ganaron adems la capaci-
dad de obtener automticamente informacin semntica: por ejemplo, si en nuestro lenguaje de
marcado denimos la marca AUTOR: para que con ella identiquemos al autor del documen-
to, es trivial hacer un programa que automticamente obtenga el autor o autores de todos los
documentos disponibles y haga una relacin entre ellos.
Aunque hay muchsimos lenguajes de marcado actualmente (T
E
Xy PostScript son lenguajes
de marcado procedurales), de especial importancia es SGML, el Lenguaje de Marcado Estndar
Generalizado (Standard Generalized Markup Language). SGML es un meta lenguaje para de-
nir lenguajes de marcado, y de ah se derivan los dos lenguajes de marcado probablemente ms
famosos y usados en la actualidad: XML y HTML. Nos centraremos en estos ltimos durante
el resto del captulo.

Você também pode gostar