Professional Documents
Culture Documents
Captulo 1
SECCIN 1
2
0 (z) e|z|2
u
(1)
Z
lm
|uh | dx = |Du| ()
h+
8
< 0
r j impar,
Prj =
: r!(1)(rj)/2 r j par.
(2)
ABCDEFGH
(3)
Frmulas
Piano
abcdefgh
Efectos de texto
G 44
Partituras musicales con
MusixTeX
Seccin 1
Funcionamiento bsico
\NombreComando[opciones]{argumento}
donde NombreComando es el nombre del comando en cuestin, argumento representa texto o variables LATEX sobre las que acta el comando, y
opciones denotan en general variables optativas
que podemos ajustar. Es muy importante tener
en cuenta que el nombre del comando es sensible
Funcionamiento de LATEX
a maysculas y minsculas, por lo que debe escribirse siempre tal y como lo encontremos en la
documentacin LATEX. Adems, no se permiten espacios entre el nombre del comando y su
argumento (una fuente comn de errores de sintaxis). El carcter \ tiene siempre la misin de
sealar al compilador el comienzo de una instruccin.
Es esencial conocer que, a la hora de compilar un documento LATEX, existen dos posibilidades (ver grco adjunto):
Compilar con el programa tradicional LATEX, lo cual da como resultado la creacin de un
chero intermedio Documento.dvi, que contiene toda la informacin de formateado del
documento original. Posteriormente, podemos transformar con el programa dvips nuestro
archivo .dvi en un documento Postscript, el cual puede visualizarse con Ghostview
imprimirse en una impresora postscript. Finalmente, la utilidad ps2pdf permite traducir
documentos postscript al formato de acrobat PDF.
1
ES
De hecho, TEX
un lenguaje de programacin; a lo largo del curso se explicarn algunos fundamentos
de programacin en TEX
2
www.winedt.com, www.texniccenter.org, kile.sourceforge.net
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 1
Funcionamiento bsico
Compilar con el relativamente nuevo programa PDFLATEX, que permite obtener directamente como resultado de la compilacin el documento en formato PDF.
Aunque ambas posibilidades pueden producir en numerosos casos el mismo resultado nal,
es crucial mencionar que no son equivalentes; el carcter ms moderno del compilador
PDFLATEX implica que algunos recursos LATEX ms antiguos pueden no estar disponibles,
dar resultados errneos. Por ejemplo, el conjunto de utilidades grcas PSTricks, que hace
un uso intensivo del lenguaje postscript, no soporta el uso de PDFLATEX por lo que cualquier documento que contenga tales recursos ha de compilarse necesariamente con la secuencia
LATEX + dvips + ps2pdf Por contra, el paquete beamer para presentaciones est exclusivamente diseado para trabajar en PDFLATEX. Se indicar, segn vayan surgiendo estos casos
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 2
Conceptos bsicos
SECCIN 2
Prembulo:
mento
\documentclass[opciones]{tipo_de_documento} OBLIGATORIA; ste debe de ser adems el primer comando del documento. Mediante sta declaracin
indicamos a LATEX que tipo de documento (book, article, report, letter...) queremos
escribir
\usepackage[opciones]{paquete} carga de paquetes con utilidades (para incluir grcos, texto en color, presentaciones, etc...)
Otras declaraciones: Interlnea, formato de pgina, fuentes, etc...
Punto y aparte:
Cambio de lnea:
Los ejemplos en la pgina siguiente ilustran stos puntos. Es importante tener en cuenta
que LATEX, por defecto, coloca una pequea indentacin al comienzo de cada prrafo. Para
controlar sta indentacin se dispone del comando \parindent=Xmm (ms adelante se explica
el manejo de unidades de longitud). ste comando cambia la indentacin de prrafo de forma
global , afectando a todos los prrafos tras el comando. Si se desea suprimir la indentacin
para un prrafo en particular, puede hacerse colocando \noindent al comienzo del mismo. El
espaciado standar entre prrafos (nulo por defecto) se puede modicar a travs del comando
\parskip=Xmm
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 2
Conceptos bsicos
\noindent
En un lugar de la mancha de cuyo nombre no
quiero acordarme, no ha mucho tiempo que
viva un hidalgo de los de lanza en astillero,
adarga antigua, rocn flaco y galgo corredor.
\parskip=3mm
Una olla de algo ms vaca que carnero,
salpicn las ms noches, duelos y quebrantos
los sbados, lentejas los viernes, algn
palomino de aadidura los domingos,
consuman las tres partes de su hacienda.
Una olla de algo ms vaca que carnero, salpicn las ms noches, duelos
y quebrantos los sbados, lentejas los
viernes, algn palomino de aadidura
los domingos, consuman las tres partes de su hacienda.
\parindent=8mm
En un lugar de la mancha de cuyo nombre no
quiero acordarme, no ha mucho tiempo que
viva un hidalgo de los de lanza en astillero,
adarga antigua, rocn flaco y galgo corredor.
Una olla de algo ms vaca que carnero,
salpicn las ms noches, duelos y quebrantos
los sbados, lentejas los viernes, algn
palomino de aadidura los domingos,
consuman las tres partes de su hacienda.
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 3
SECCIN 3
Medidas absolutas
pt
pc
in
cm
mm
dd
cc
punto
pica
pulgada
centmetro
milmetro
didot
ccero
1pt 0.35146 mm
1pc = 12 pt
1in = 72.27 pt = 2.54 cm
em
ex
1 mm = 2.845 pt
1157 dd = 1238 pt
1 cc = 12 dd
Medidas relativas
Las medidas relativas em y ex dependen del tamao de letra en curso que estemos
utilizando. Existen muchos otros ejemplos de uso de medidas relativas; en general, LATEX
maneja internamente una amplia cantidad de longitudes que en principio desconocemos o que
incluso son elsticas. Es un procedimiento frecuente, y bastante til, el manejar longitudes
relativas. Por ejemplo, si queremos delimitar la anchura de un objeto cualquiera como la mitad
de la anchura del texto en la pgina, denida a travs de la variable \textwidth, podemos
utilizar la longitud relativa 0.5\textwidth.
Para modicar el valor de medidas de longitud (como \parskip, \parindent, etc...) existen
dos sintaxis de comando equivalentes:
\Longitud=Xmm
\Longitud Xmm
\\ y \newline Anlogos: salto de lnea simple. En este punto es bueno recordar la diferencia con \par: ste ltimo cambia de prrafo, mientras que los anteriores
simplemente terminan bruscamente un lnea y pasan a la siguiente, sin comenzar nuevo
prrafo.
\\[Salto] Espacio vertical de longitud Salto
\vspace{Salto} Anlogo al anterior; ntese que no tiene efecto al comienzo de una
pgina, en tal circunstancia se puede usar el comando anlogo \vspace*{Salto}, que
evita este problema
Espacios verticales de longitud predenida:
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 4
\renewcommand*{\baselinestretch}{Nmero}
lo que escala la interlnea por la cantidad Nmero (un valor de 2.0 equivaldra a doble espaciado). Si se quiere cambiar el valor de la interlnea en distintas partes del documento, se
puede utilizar el paquete setspace, con la sintaxis:
\usepackage[espaciado]{setspace}
lo cual hace el valor de la interlnea en todo el documento igual a espaciado. Los posibles
valores son: singlespacing, onehalfspacing y doublespacing, que equivalen respectivamente a un
valor de baselinestretch de 1, 1.5 y 2 (si no se incluye la opcin espaciado, el valor por defecto
es singlespacing). Despus, en el cuerpo del documento, puede variarse a voluntad la interlnea
mediante los comandos: \singlespacing, \onehalfspacing y \doublespacing.
SECCIN 4
Apuntes de LATEX
center
Captulo 1: Generalidades
Seccin 4
\begin{center}
Texto a centrar
\end{center}
Ejemplo:
\begin{center}
El ingenioso hidalgo\\
D. Quijote de la Mancha\\[0.3cm]
Miguel de Cervantes Saavedra
\end{center}
El ingenioso hidalgo
D. Quijote de la Mancha
Miguel de Cervantes Saavedra
\begin{flushright}
Probando \\
la forma de alinear \\
por la derecha
\end{flushright}
\begin{flushleft}
Probando \\
la forma de alinear \\
por la izquierda
\end{flushleft}
Probando
Probando
la forma de alinear
por la
la forma de alinear
izquierda
mente:
ushleft y ushright
por la
derecha
Para textos pequeos, menores que una lnea, se pueden utilizar, respectiva-
\leftline{Texto }
\centerline{Texto }
\rightline{Texto }
Es interesante el hecho de que existen en LATEX multitud de comandos que poseen ambas
versiones, una corta, de tipo:
\comando{argumento}
donde el comando afecta a un texto pequeo (argumento), y otra larga, denominada entorno
de tipo:
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 6
Escribiendo en castellano
SECCIN 5
Silabeo
Puede ocurrir que los algoritmos de silabeo de LATEX no funcionen correctamente y que al
cambiar de lnea se rompa una palabra de forma inadecuada. Para evitarlo hay dos alternativas:
Utilizar la instruccin \hyphenation{lista de palabras} en el prembulo ; por ejemplo,
\hyphenation{For-tran fi-che-ro} slo permitir la divisin de las palabras fortran
y chero por los lugares indicados. Ntese que no se permiten caracteres con acentos
simbolos en el argumento, y que no se hacen distinciones entre las letras maysculas y
minsculas de las palabras en la orden.
Fuera del prembulo, se puede utilizar la instruccin: \- sta es vlido utilizarla en
palabras con acentos smbolos, por ejemplo: te\-l\-fo\-no
SECCIN 6
Escribiendo en castellano
El idioma por defecto de LATEX es el ingls. Esto quiero decir que, de forma estndar, no
se reconocen los caracteres especiales como , letras acentuadas, etc... Adems, deniciones
por defecto, como ttulos para captulos, fechas, etc, estarn en ingls. Prubese por ejemplo
lo siguiente:
\documentclass{article}
\begin{document}
Saludos desde \LaTeX. Haciendo una compilacin de prueba, de texto
en espaol, para ver si todo funciona.
Escrito y compilado el da \today.
\end{document}
y se ver que los acentos y desaparecen y que la fecha (comando \today) se imprime en ingls.
Para solucionar tales problemas se pueden incluir los siguientes paquetes en el prembulo del
documento:
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 7
10
\`o
\=o
\u o
\b o
o
o
o
o
o o
\'o
\.o
\v o
\t oo
\^o
\"o
\H o
o.
\~o
\c c
\d o
\oe
\aa
\o
\ss
!`
\OE
\AA
\O
?`
\ae
\AE
\l
\L
SECCIN 7
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 7
\ {
&
11
} Delimitadores de grupos.
\~
\#
\$
\%
\^
\&
\_
\textbackslash
\{
\}
&
_
\
{
}
Resulta:
Texto
Tecleamos:
`` Texto ''
Resulta:
Texto
Tecleamos:
` Texto '
Resulta:
` Texto
Resulta:
--
Resulta:
'
Guiones:
Tecleamos:
Tecleamos:
5
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 7
---
Tecleamos:
12
Resulta:
Tecleamos: $-$
Resulta:
(signo matemtico menos)
Puntos suspensivos:
Hay varias formas de introducir los puntos suspensivos:
Ordinales y grados:
Para obtener ordinales abreviados (1a 1o ), podemos hacerlo directamente desde el teclado.
Para escribir otros ordinales, puede hacerse con:
\textsuperscript{Superindice}
Por ejemplo, 3\textsuperscript{er} produce 3er . Otra versin (slo disponible en babel,
versin spanish) es:
\sptext{Superindice}
que introduce un punto antes del superndice y cambia el tamao del superndice si es un
carcter en maysculas: 2.A, 3.er. Para generar correctamente el signo de grado, se utiliza:
\textdegree
Otros signos:
El siguiente cuadro muestra como obtener otros signos diversos:
Comando
\dag
\S
\textbullet
\textregistered
\texttrademark
Resultado
R
TM
Comando
\ddag
\P
\textvisiblespace
\copyright
\pounds
Resultado
7.3. El euro
Debido a la modernidad del smbolo del euro, la opcin latin1 del paquete inputenc desgraciadamente an no reconoce ste signo. La solucin para obtener el smbolo del euro est en
cargar en el prembulo el paquete eurosym:
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 8
13
\usepackage{eurosym}
tras lo cual se obtiene en smbolo e con el comando \euro. Puede incluso mejorarse la situacin insertando la siguiente declaracin en el prembulo (por supuesto, despus del comando
\usepackage{eurosym}):
\DeclareInputText{128}{\euro}6
que asignara el smbolo e del teclado la instruccin \euro, lo que ya permite utilizar el
smbolo del teclado con normalidad.
SECCIN 8
Con quote:
Con quotation:
La inclusin de citas textuales, como la del escritor Bertolt Brecht que viene a continuacin,
La inclusin de citas textuales, como la del escritor Bertolt Brecht que viene a continuacin,
Hay
personas
que
luchan
un
muy buenas.
buenas.
Pero
hay
algunas
que
luchan
cindible
Como se puede ver, quotation introduce sangrado en los prrafos de la cita, y disminuye la
separacin entre los mismos.
Otro entorno predenido es el verse, para escribir versos. Tiene la siguiente sintaxis:
6
Apuntes de LATEX
es 164
Captulo 1: Generalidades
Seccin 8
14
\begin{verse}
verso1 \\
verso2 \\
....
\end{verse}
Utilizando el paquete shapepar se pueden contruir prrafos con formas muy especiales. As
por ejemplo, empleando:
\heartpar{Texto del prrafo a formatear}
puede obtenerse lo siguiente:
El 30 de
marzo
de
1977, el profesor Donald E. Knuth, de
la Universidad de Stanford, recibi las galeradas
o pruebas de imprenta de la segunda edicin del segundo
volumen de su famosa obra The Art of Computer Programming. La impresin que dichas pruebas causaron al autor fue
nefasta; l mismo las calic de tipogrcamente horribles y
tan importantes le parecieron los problemas a los que se enfrentaba que decidi resolverlos por s mismo. A partir de
las ideas de Gutenberg y utilizando las computadoras
como herramientas, Knuth cre TEX, un sistema para
escribir textos cientcos (especialmente matemticos), cmodo y transportable entre plataformas, que muchos consideran ahora como
la aportacin ms importante realizada en este campo desde
la imprenta de Gutenberg.
Lo anterior es una aplicacin del comando general \parshape, que permite construir prrafos de forma arbitraria. Su sintaxis es la siguiente:
\parshape=n i1 l1 i2 l2 . . . in ln
e indica que las primeras n lneas del prrafo tentrn longitudes l1 ,. . . , ln , respectivamente, y
estarn sangradas i1 ,. . . , in , respectivamente. Si el prrafo tiene ms de n lneas, las condiciones
para la n-sima sern repetidas hasta nal de prrafo. Para cancelar el comando, basta incluir
\parshape=0.
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 9
Tipos de letra
15
SECCIN 9
Tipos de letra
9.1. Familias
Por defecto, LATEX utiliza los tipos Computer Modern Fonts, creados por D.E. Knuth para
su utilizacin en TEX. 7 Estos tipos agrupan tres familias diferentes:
Roman (la opcin por defecto)
\textrm{Texto}
(roman)
\rmfamily Texto
\textsf{Texto}
(sanserif )
\sffamily Texto
\texttt{Texto}
(typewriter)
\ttfamily Texto
Los comandos a la izquierda corresponden al modo Texto, es decir, para textos cortos no
ms largos que un prrafo. Los comandos a la izquierda se mantienen hasta que se declare
una nueva familia, aunque lo usual suele ser incluirlos dentro de un grupo, en la forma siguiente:
9.2. Perles
Para cada familia tenemos cuatro posibles perles, recto (opcin por defecto, itlico, inclinado (slanted) y versal (letras maysculas pequeas), cuyos comandos correspondientes
son:
\textup{Texto}
(recto)
\upshape Texto
\textit{Texto}
(itlico )
\itshape Texto
\textsl{Texto}
(inclinado )
\slshape Texto
\textsc{Texto}
(versal)
\scshape Texto
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 9
Tipos de letra
16
9.3. Grosor
Finalmente, hays dos grosores (tambin llamados series) para cada tipo: el normal medio
(opcin por defecto) y el grueso negrita. Se activan con:
\textmd{Texto}
(medio)
\mdseries Texto
\textbf{Texto}
(grueso)
\bfseries Texto
Todas las caractersticas explicadas (familia, perl y grosor) pueden combinarse (aunque
puntualmente alguna opcin mixta no est disponible). Por ejemplo, \bfseries\itshape produce letra negrita itlica.
9.4. Enfatizar
Se puede resaltar texto con el comando emph{Texto} ( \em Texto, en modo extendido)
lo cual pone en itlica el texto si el ambiente es normal, pone normal el texto si el ambiente
es itlico.
9.5. Tamao
Tenemos a nuestra disposicin los siguientes tamaos, los cuales son relativos a la fuente
estndar del documento (que puede cambiarse, ya se ver mas adelante cmo)
\tiny Texto
Texto
\scriptsize Texto
Texto
\footnotesize Texto
Texto
\small Texto
Texto
\normalsize Texto
Texto
\large Texto
Texto
\Large Texto
Texto
\LARGE Texto
Texto
Texto
\huge Texto
Texto
\Huge Texto
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 9
Tipos de letra
17
9.6. Colores
El paquete color permite colorear un texto. Se puede cargar como \usepackage{color}, lo
cual permite slo usar unos pocos colores bsicos (white, black, red, blue, yellow, green 8
Para cambiar el color, se usan los comandos:
\textcolor{NombreColor}{Texto}
\color{NombreColor}
siendo la primera la versin corta, y la segunda la versin larga que tendr efecto hasta que se
cambie de nuevo el color ( hasta que termine el grupo, si se usa:
{\color{NombreColor} Texto extenso... }
Todas las caractersticas de tipo, tamao. forma, grosor, color, etc... para texto escrito
pueden combinarse mediante la anidacin de comandos, como muestra el siguiente ejemplo:
{\huge\textcolor{green}{\textbf{\textsc{Letra Mayscula
negrita, verde y muy grande}}}
\hl{Texto}
Texto marcado (para sto hace falta tener tambin cargado el paquete color
\ul{Texto}
En un lugar de la mancha de cuyo nombre no quiero acordarme, no ha mucho tiempo que
viva un hidalgo de los de lanza en astillero, adarga antigua, rocn aco y galgo corredor. Una
olla de algo ms vaca que carnero, salpicn las ms noches, duelos y quebrantos los sbados,
lentejas los viernes, algn palomino de aadidura los domingos, consuman las tres partes de
su hacienda.
En un captulo posterior se explicar como manejar cualquier tipo de color, adems de la posibilidad de
Apuntes de LATEX
Captulo 1: Generalidades
Seccin 9
Tipos de letra
18
\st{Texto}
En un lugar de la mancha de cuyo nombre no quiero acordarme, no ha mucho tiempo que
viva un hidalgo de los de lanza en astillero, adarga antigua, rocn aco y galgo corredor. Una
olla de algo ms vaca que carnero, salpicn las ms noches, duelos y quebrantos los sbados,
lentejas los viernes, algn palomino de aadidura los domingos, consuman las tres partes de
su hacienda.
\so{Texto}
Texto resaltado (con l e t r a s e s p a c i a d a s ms de lo normal)
Apuntes de LATEX
Captulo 1: Generalidades
Apuntes de Latex
Captulo 2: Listas y Tablas
SECCIN 1
Listas no numeradas: El entorno
El entorno
itemize
itemize permite escribir una lista de objetos, siendo adecuado para listas sencillas.
Las diversas entradas de la lista se resaltan con un indicador, que por defecto es un crculo negro
(\textbullet), aunque el uso de la opcin
\item
lista:
el
Las listas pueden anidarse, con entradas que posean subentradas, hasta una profundidad
de cuatro subniveles (ms anidamiento no est contemplado, y obtendramos un error de compilacin). Para cada subnivel se utiliza un smbolo de marcacin diferente, y se aade una
indentacin extra con respecto al nivel anterior. Observar el siguiente ejemplo donde se anidan
hasta 4 subniveles:
Seccin 1
itemize
\begin{itemize}
\item 1a entrada del primer nivel
\item 2a entrada del primer nivel
\begin{itemize}
\item 1a entrada del segundo nivel
\item 2a entrada del segundo nivel
\begin{itemize}
\item 1a entrada del tercer nivel
\item 2a entrada del tercer nivel
\begin{itemize}
\item 1a entrada del cuarto nivel
\item 2a entrada del cuarto nivel
\end{itemize}
\end{itemize}
\end{itemize}
\end{itemize}
Como indicbamos al principio, el uso de
dores predenidos para cada nivel (, ,
1
2
1
2
vel
vel
\usepackage[spanish]{babel} cambia
, para LATEX estndar) a: , , , .
permite cambiar a nuestro gusto estos marcadores, cosa que podemos hacer con la siguientes
instrucciones:
\renewcommand{\labelitemi}{Nuevo-marcador}
\renewcommand{\labelitemii}{Nuevo-marcador}
\renewcommand{\labelitemiii}{Nuevo-marcador}
\renewcommand{\labelitemiv}{Nuevo-marcador}
Nuevo-marcador designa al cdigo LATEX del nuevo indicador, y \labelitemi,
\labelitemii, etc... son los comandos LATEX que se encargan de escribir los marcadores
donde
los primeros, segundos, etc... niveles de enumeracin. Por ejemplo, incluyendo el paquete
de smbolos especiales (colocar
\usepackage{pifont}
para
pifont
siguiente:
\renewcommand{\labelitemi}{\ding{42}}
\renewcommand{\labelitemii}{\ding{43}}
\begin{itemize}
\item 1a entrada del primer nivel
\item 2a entrada del primer nivel
\begin{itemize}
\item 1a entrada del segundo nivel
\item 2a entrada del segundo nivel
\end{itemize}
\end{itemize}
ra
itemize,
+
+
1
2
solamente se desea que afecte a una lista en particular, las nuevas redeniciones se pueden
colocar
dentro
AT X
Apuntes de L
E
Seccin 2
enumerate
\begin{itemize}
\renewcommand{\labelitemi}{\ding{42}}
\item Primera entrada del primer nivel
\item Segunda entrada del primer nivel
\begin{itemize}
\renewcommand{\labelitemii}{\ding{43}}
\item Primera entrada del segundo nivel
\item Segunda entrada del segundo nivel
\end{itemize}
\end{itemize}
(Un mtodo alternativo sera incluir los comandos
\renewcommand{\labelitemi}{...}
y el
SECCIN 2
Listas numeradas: El entorno
enumerate
\begin{enumerate}
\item 1a entrada del primer nivel
\item 2a entrada del primer nivel
\begin{enumerate}
\item 1a entrada del segundo nivel
\item 2a entrada del segundo nivel
\begin{enumerate}
\item 1a entrada del tercer nivel
\item 2a entrada del tercer nivel
\begin{enumerate}
\item 1a entrada del cuarto nivel
\item 2a entrada del cuarto nivel
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
En ste caso, cada comando
\item
1. 1
2. 2
a)
b)
1) 1
2) 2
segn valores crecientes de un contador. ste contador, dependiendo del nivel de anidamiento
del entorno
enumerate,
posee diversas
representaciones
utiliza 1., 2., 3., etc..., para el segundo a), b), c), etc..., y otras representaciones distintas para
los niveles tercero y cuarto. Es importante tener en cuenta que el formato de las etiquetas para
cada tipo de nivel son cambiadas por la opcin
resultado en tales circunstancias. Para
AT
L
EX estndar se obtendra:
AT X
Apuntes de L
E
Seccin 3
description
El entorno
pondremos una alternativa simple y elegante (aunque no muy pontente), usando el paquete
Veamos un ejemplo:
\begin{enumerate}[\hspace*{0.5cm} %
\bfseries P{a}so 1]
\item Preparar documento fuente tex
\item Compilarlo para producir dvi
\begin{enumerate}[(a)]
\item Visualizar con visor de dvi
\item Corregir errores
\item Recompilar
\end{enumerate}
\item Convertir a .ps con dvips
\end{enumerate}
Para qu se ha utilizado
que, a diferencia del entorno
Paso 2
Paso 3
\hspace*{0.5cm}
itemize,
Paso 1
en el entorno
enumerate
primer nivel de elementos. Otro punto importante es el porqu de la `a' entre llaves en Paso.
Es interesante ver qu ocurre si eliminamos las llaves (ejercicio).
SECCIN 3
El entorno
El entorno
description
la que las etiquetas pueden ser libremente conguradas, lo cual es adecuado para descripciones.
Por ejemplo:
\begin{description}
\item[\TeX] Un procesador de textos
\item[Word] Otro procesador de textos
\item .........
\end{description}
AT X
Apuntes de L
E
Seccin 4
list
Se observa que, por defecto, las etiquetas son escritas en negrita. Podemos cambiar esto sin
problemas, por ejemplo:
\renewcommand{\descriptionlabel}[1] %
{\hspace*{0.5cm}\textsf{#1}}
\begin{description}
\item[\TeX] Un procesador de textos
\item[Word] Otro procesador de textos
\item .........
\end{description}
lo cual pone los objetos a describir en
sanserif,
TEX
Un procesador de textos
Word
.........
enumerate).
itemize
enumerate)
puede en cualquier momento cambiarse la etiqueta por defecto, aadiendo la nueva etiqueta
entre parntesis tras el comando
\item:
\begin{itemize}
\item 1a entrada
\item[$\rightarrow$] 2a entrada
\item 3a entrada
\begin{enumerate}
\item 1o entrada
\item 2a entrada
\item[$\clubsuit$] 3a entrada
\end{enumerate}
\end{itemize}
entrada
entrada
entrada
1. 1
entrada
2. 2
entrada
entrada
Como tambin se puede ver en el ejemplo anterior, no existe ningn problema en anidar
listas de distintos tipos (respetando siempre, por supuesto, el lmite de 4 niveles de anidamiento).
SECCIN 4
Listas personalizadas: el entorno
list
AT X utiliza ciertos valores predeterminaA la hora de formatear las entradas de una lista, L
E
dos para la colocacin de los prrafos que conforman cada entrada, la distancia de las etiquetas
a la entrada, etc... Todos stos valores ( variables de longitud) son pueden ser modicados
mediante reasignaciones de longitud con cualquiera de las sintaxis alternativas:
El comando
de comando (en ste caso, redenicin) dependiente de un argumento; el nmero 1 entre corchetes indica que el
comando es dependiente de
1 argumento variable, que dentro del conjunto de comandos LATEX en Acciones del
#1.
de 0.5cm y poner en tipo sanserif #1, sto es, el argumento del comando
AT X.
stos conceptos en el Captulo dedicado a la programacin en L
E
AT X
Apuntes de L
E
\descriptionlabel.
Se ampliarn
Seccin 4
\setlength{\Longitud}{Xmm}
list
\Longitud=Xmm
\Longitud Xmm
Xmm a la variable \Longitud. Otro mtodo de asignacin de lon\addtolength{\Longitud}{Xmm} que incrementa en Xmm el valor
de la variable de longitud. ste mtodo es particularmente til en casos en que no conozcamos a priori el valor preestablecido de una longitud, y queramos modicarla sin arriesgarnos
a introducir valores desproporcionados.
Para crear listas tipo
itemize
con par-
\begin{list}{Etiqueta}{Declaraciones}
\item Texto...
\item Texto...
\end{list}
donde el parmetro
Declaraciones
debemos in-
list
que utiliza
AT
L
los mrgenes de la lista de tems con respecto a la anchura de texto estndar del documento. Es fundamental tener en cuenta que
\leftmargin
Figura 1:
Variables de longitud
respecto al
\leftmargini,
entorno anterior. Su valor depende del nivel de lista en el que nos encontremos; para el primer
ta
\leftmarginiv
para el segundo,
\leftmarginii,
y as has-
anidacin de las listas) podemos por tanto cambiar la indentacin segn nuestras preferencias
particulares (ver ejemplos a continuacin).
Por otra parte,
la lista,
\itemsep
\topsep
AT X
Apuntes de L
E
Seccin 4
list
Lista estndar; ntese cmo al dejar vaco la opcin para etiquetas stas desaparecen.
de los tems (\itemindent), la separacin entre tems (\itemstep), y la separacin etiquetatem (\labelsep).
formato modicados
Segundo prrafo del primer item de la lista
En el ejemplo siguiente, obsrvese cmo se ajustan las indentaciones para listas de primer
y segundo nivel; adems, se ajustan las separaciones entre tems a travs de
AT X
Apuntes de L
E
\itemstep
Seccin 5
\setlength{\leftmargini}{0pt}
\setlength{\leftmarginii}{30pt}
\begin{list}{\textbullet}{ %
\addtolength{\itemsep}{-2mm} %
\setlength{\itemindent}{2mm}}
\item Primer tem de una lista con
valores de formato modificados \par
Segundo prrafo del primer tem
\item Segundo tem de la lista.
\begin{list}{$\scriptscriptstyle %
\blacksquare$}{\setlength{\itemindent} %
{3mm}\addtolength{\itemsep}{1mm}}
\item Primer tem de una sublista
anidada dentro de la lista principal
\item Segundo tem de la sublista
\end{list}
\end{list}
tabular
formato modicados
Segundo prrafo del primer tem
Finalmente, hay que tener en cuenta que algunos de stos parmetros de conguracin no
son exclusivos del entorno
por ejemplo
\itemstep
\setlength{\leftmargini}{10mm}
\setlength{\leftmarginii}{15mm}
\begin{enumerate}
\addtolength{\itemsep}{-2mm}
\item Funciones de variable compleja
\item Teorema de Cauchy-Goursat
\begin{itemize}
\addtolength{\itemsep}{-1mm}
\item Enunciado
\item Demostracin
\end{itemize}
\end{enumerate}
SECCIN 5
Construccin de tablas: el entorno
tabular
tabular.
La estructura
\begin{tabular}[Posicin]{FormatoColumnas}
xxx & xxx & xxx & xxx & ... & xxx \\
xxx & xxx & xxx & xxx & ... & xxx \\
... & ... & ... & ... & ... & ... \\
xxx & xxx & xxx & xxx & xxx & xxx
\end{tabular}
AT X
Apuntes de L
E
Seccin 5
&
tabular
Separador entre columnas, que marca el n de una casilla y el principio de la siguiente. Podemos dejar una casilla vaca con &&. Ntese que el tamao de las columnas no
tiene nada que ver con la distancia entre los separadores y el texto de la
casilla: &xxx&, & xxx & & xxx & producirn exactamente el mismo resultado.
En general, la anchura de la columna est determinada por longitudes predenidas y,
fundamentalmente,
pancho
antemano).
\\
Posicin
Argumento
el que se incluye. Puede tomar los valores t (top), c (center; valor por defecto) b
(bottom), segn qu parte de la tabla se alinee con respecto a la lnea de texto principal.
Por ejemplo:
aqui se inserta
\begin{tabular}[t]{cc}
11 & 12 \\
21 & 22
\end{tabular}
una pequea tabla
aqui se inserta
aqui se inserta
\begin{tabular}[c]{cc}
11 & 12 \\
21 & 22
\end{tabular}
una pequea tabla
11
12
21
22
una pe-
aqui se inserta
aqui se inserta
\begin{tabular}[b]{cc}
11 & 12 \\
21 & 22
\end{tabular}
una pequea tabla
11
12
21
22
una pe-
quea tabla
quea tabla
FormatoColumnas
aqui se inserta
11
12
21
22
una pe-
quea tabla
Especicadores
l, r, c
p{Ancho }
Separadores
Ancho
columnas
inserta en su lugar el
Objeto
declarado.
\hline
AT X
Apuntes de L
E
Seccin 5
\cline{x-y}
tabular
10
inclusive
Finalmente, el comando
\multicolumn{NumeroColumnas}{FormatoColumnas}{Objeto} se
puede utilizar para agrupar, dentro de una la, el contenido de varias columnas (argumento
NumeroColumnas) en una sola (vase el ejemplo a continuacin). Otros comandos tiles son
\extracolsep{Longitud}, que aade un espacio adicional Longitud a la distancia entre columnas calculada automticamente por LATEX, y \setlength{\extrarowheight}{Longitud},
que aade el espacio adicional Longitud a la distancia estndar entre las (se debe cargar el
paquete
5.1.
Ejemplos
e)
de carne y
verduras:
Pais
Carne
Verduras
Espaa
1390
980
Francia
1504
3020
Italia
2010
1040
Distancia al sol
Planeta
(millones km)
Mxima
Mercurio
Mnima
69.4
46.8
Venus
109.0
107.6
Tierra
152.6
147.4
Podemos intentar:
\begin{tabular}{|l|r|r|}
\hline
& \multicolumn{2}{c}{Distancia al sol} \\
Planeta & \multicolumn{2}{c}{(millones km)} \\ \cline{2-3}
& Mxima & Mnima \\ \hline
Mercurio & 69.4 & 46.8 \\
Venus & 109.0 & 107.6 \\
Tierra & 152.6 & 147.4 \\ \hline
\end{tabular}
Distancia al sol
Planeta
lo que nos dara:
AT X
Apuntes de L
E
(millones km)
Mxima
Mnima
69.4
46.8
Venus
109.0
107.6
Tierra
152.6
147.4
Mercurio
Seccin 5
tabular
11
\multicolumn,
(millones km)
Mxima
Mercurio
Mnima
69.4
46.8
Venus
109.0
107.6
Tierra
152.6
147.4
En ste ltimo ejemplo se observa una de las utilidades principales del comando
\multicolumn;
aparte de servir para agrupar columnas, podemos emplearlo para cambiar el formato estndar de columna (tanto alineacin como separadores) de una casilla de la tabla en particular.
Pueden encontrarse ms ejemplos de sto en el documento ejemplo asociado a sta seccin.
5.2.
Podemos modicar la apariencia de una tabla con los parmetros descritos a continuacin.
Ntese que, si queremos hacer el efecto de un cambio de parmetros
local,
deberamos incluir
{
\setlength{\NombreParmetro}{ValorNuevo}
\begin{tabular}
....
\end{tabular}
}
esto es, incluyndola dentro de un grupo que agrupe el entorno tabular.
\arraystretch
\baselinestretch.
\arraystretch es un comando,
\renewcomand*{\arraystretch}{NuevoFactor}
\tabcolsep 1/2
\setlength{\tabcolsep}{NuevaSeparacin}
\arraycolsep
array.
Siendo lon-
\doublerulesep
AT X
Apuntes de L
E
Seccin 5
tabular
12
\begin{center}
{\setlength{\tabcolsep}{10pt}
\begin{tabular}{||c|c||}\hline
e & ef \\
efg & efgh \\ \hline
\end{tabular}}
\par \bigskip
{\setlength{\arrayrulewidth}{3pt}
\renewcommand*{\arraystretch}{2}
\begin{tabular}{|c|c|} \hline
i & ij \\ \hline
ijk & ijkl \\ \hline
\end{tabular}} \par\bigskip
{\setlength{\arrayrulewidth}{2pt}
\setlength{\doublerulesep}{2pt}
\begin{tabular}{||cc||} \hline
m & mn \\
mno & mnop \\ \hline
\end{tabular}}
\end{center}
ef
efg
efgh
ij
ijk
ijkl
mn
mno
mnop
un captulo posterior) el uso de lneas gruesas crea problemas obtenindose uniones imperfectas.
5.3.
La script
Excel2Latex
Si trabajamos frecuentemente con hojas de clculo como MS-Excel, puede sernos muy til
el instalar bajo Excel la herramienta
Excel2Latex,
Excel2LaTeX.xla
http://www.ctan.org/tex-archive/support/excel2latex/ )
aunque
Dependiendo de la instalacin de Oce, puede ser necesario el bajar el nivel de seguridad para las macros
AT X
Apuntes de L
E
Apuntes de Latex
Captulo 3: Frmulas matemticas
Conceptos bsicos
En ste captulo se exponen de forma breve unas nociones bsicas
acerca de la escritura de expresiones matemticas. Es importante, para disponer de todas las capacidades matemticas de LATEX
en un documento, cargar con \usepackage{...} los paquetes
amsmath (capacidades matemticas extra) y amssymb (librera
de smbolos). Como fuente de documentacin adicional, se recomienda consultar la gua Mathmode de escritura matemtica,
colgada en el apartado de BIBLIOGRAFA de la web de la asignatura.
SECCIN 1
No hay espacios entre comas en el primer caso; hemos de salir del modo matemtico para
introducirlos.
Seccin 1
Modos matemticos
Resaltado
$$ ... $$
\[ ... \]
\begin{displaymath} ... \end{displaymath}
a
b
Tenemos la equivalencia
a c
=
b d
vlida para todo a, b, c, d
Otra alternativa para escribir frmulas en modo resaltado es el entorno equation, como
muestra el siguiente ejemplo:
La ecuacin de una recta en el plano cartesiano es de la forma
\begin{equation*}
ax+by+c=0
\end{equation*}
donde $a$, $b$, $c$ son constantes.
que producira:
Apuntes de LATEX
Seccin 2
Smbolos
(1)
Smbolos
Las siguientes tablas proporcionan los comandos necesarios para obtener una amplia variedad de smbolos matemticos. Una gran parte de ellos puede obtenerse a travs del icono
en el programa WinEdt, que abre una serie de pestaas con una aplica coleccin de smbolos. La coleccin completa de smbolos matemticos puede consultarse en la Comprehensive
LaTeX symbol list, colgada en la pgina de la asignatura. Es importante remarcar que, debido
a que son smbolos matemticos, su utilizacin en medio del texto requiere incluirlos entre
signos $.
\alpha
\beta
\gamma
\delta
\epsilon
\varepsilon
\zeta
\eta
\theta
\vartheta
\iota
\kappa
\lambda
\mu
\nu
\xi
o
\pi
\varpi
\rho
\varrho
\sigma
\varsigma
\tau
\upsilon
\phi
\varphi
\chi
\psi
\omega
\Gamma
\Delta
\Theta
\Lambda
\Xi
\Pi
\Sigma
\Upsilon
\Phi
\Psi
\Omega
Apuntes de LATEX
Seccin 2
Smbolos
\pm
\mp
\times
\div
\ast
\star
\circ
\bullet
\cdot
+
]
u
t
\
o
4
5
/
.
C
B
E
D
\cap
\cup
\uplus
\sqcap
\sqcup
\vee
\wedge
\setminus
\wr
-
\diamond
\bigtriangleup
\bigtriangledown
\triangleleft
\triangleright
\lhd
\rhd
\unlhd
\unrhd
\oplus
\ominus
\otimes
\oslash
\odot
\bigcirc
\dagger
\ddagger
\amalg
@
v
`
:
\leq
\prec
\preceq
\ll
\subset
\subseteq
\sqsubset
\sqsubseteq
\in
\vdash
:
A
w
3
a
\geq
\succ
\succeq
\gg
\supset
\supseteq
\sqsupset
\sqsupseteq
\ni
\dashv
'
,
<
\equiv
\sim
\simeq
\asymp
\approx
\cong
\neq
\doteq
\propto
<
|=
|
k
./
Z
_
^
=
>
\models
\perp
\mid
\parallel
\bowtie
\Join
\smile
\frown
=
>
\colon
\ldotp
\cdotp
(
)
\leftarrow
\Leftarrow
\rightarrow
\Rightarrow
\leftrightarrow
\Leftrightarrow
\mapsto
\hookleftarrow
\leftharpoonup
\leftharpoondown
\rightleftharpoons
Apuntes de LATEX
7
,
*
+
{
\longleftarrow
\Longleftarrow
\longrightarrow
\Longrightarrow
\longleftrightarrow
\Longleftrightarrow
\longmapsto
\hookrightarrow
\rightharpoonup
\rightharpoondown
\leadsto
l
m
%
&
.
-
\uparrow
\Uparrow
\downarrow
\Downarrow
\updownarrow
\Updownarrow
\nearrow
\searrow
\swarrow
\nwarrow
Seccin 2
Smbolos
<
=
f
\ldots
\aleph
\hbar
\imath
\jmath
\ell
\wp
\Re
\Im
\mho
>
\cdots
\prime
\emptyset
\nabla
\surd
\top
\bot
\|
\angle
.
..
.
[
\
]
\
..
^
4
\vdots
\forall
\exists
\neg
\flat
\natural
\sharp
\backslash
\partial
|
\ddots
\infty
\Box
\Diamond
\triangle
\clubsuit
\diamondsuit
\heartsuit
\spadesuit
T
S
F
W
V
\sum
\prod
\coprod
\int
\oint
J
N
L
U
\bigcap
\bigcup
\bigsqcup
\bigvee
\bigwedge
\bigodot
\bigotimes
\bigoplus
\biguplus
Tabla 8: Funciones
\arccos
\arcsin
\arctan
\arg
\cos
\cosh
\cot
\coth
\csc
\deg
\det
\dim
\exp
\gcd
\hom
\inf
\ker
\lg
\lim
\liminf
\limsup
\ln
\log
\max
\min
\Pr
\sec
\sin
\sinh
\sup
\tan
\tanh
Tabla 9: Delimitadores
(
[
{
b
h
|
(
[
\{
\lfloor
\langle
|
)
]
}
c
i
k
)
]
\}
\rfloor
\rangle
\|
l
d
/
\uparrow
\downarrow
\updownarrow
\lceil
/
m
e
\
\Uparrow
\Downarrow
\Updownarrow
\rceil
\backslash
\rmoustache
\arrowvert
w
w
w
w
\lmoustache
\Arrowvert
\rgroup
\lgroup
\bracevert
Apuntes de LATEX
\hat{a}
\breve{a}
a
a
\acute{a}
\check{a}
a
a`
\bar{a}
\grave{a}
a
~a
\dot{a}
\vec{a}
Seccin 2
Smbolos
\ddot{a}
\tilde{a}
abc
abc
z}|{
abc
abc
f0
\widetilde{abc}
\overleftarrow{abc}
\overline{abc}
\overbrace{abc}
\sqrt{abc}
f
c
abc
abc
abc
\widehat{abc}
\overrightarrow{abc}
\underline{abc}
abc
|{z}
n
abc
abc
xyz
\underbrace{abc}
\sqrt[n]{abc}
\frac{abc}{xyz}
\ulcorner
\urcorner
\llcorner
\lrcorner
W
!
\dashrightarrow
\leftleftarrows
\Lleftarrow
\leftarrowtail
\leftrightharpoons
\circlearrowleft
\upuparrows
\downharpoonleft
\leftrightsquigarrow
\rightleftarrows
\rightleftarrows
\rightarrowtail
\rightleftharpoons
\circlearrowright
\downdownarrows
\downharpoonright
c
"
x
(
#
y
\dashleftarrow
\leftrightarrows
\twoheadleftarrow
\looparrowleft
\curvearrowleft
\Lsh
\upharpoonleft
\multimap
\rightrightarrows
\rightrightarrows
\twoheadrightarrow
\looparrowright
\curvearrowright
\Rsh
\upharpoonright
\rightsquigarrow
\nleftarrow
\nRightarrow
9
=
\nrightarrow
\nleftrightarrow
:
<
\nLeftarrow
\nLeftrightarrow
Apuntes de LATEX
\digamma
\varkappa
Seccin 2
Smbolos
\beth
\daleth
\gimel
\hbar
\square
\measuredangle
\Game
\blacktriangle
\bigstar
\diagup
\vartriangle
\circledS
\mho
\backprime
\blacksquare
\complement
@
k
H
^
O
\hslash
\lozenge
\nexists
\Bbbk
\blacktriangledown
\sphericalangle
\diagdown
\triangledown
\angle
\Finv
\varnothing
\blacklozenge
\eth
\dotplus
\barwedge
\boxtimes
\ltimes
\curlywedge
\circledcirc
\Cup
\rightthreetimes
r
Y
o
g
~
\smallsetminus
\veebar
\boxdot
\rtimes
\curlyvee
\centerdot
\boxminus
\circledast
e
[
h
|
>
\Cap
\doublebarwedge
\boxplus
\leftthreetimes
\circleddash
\intercal
\divideontimes
:
j
2
E
a
>
m
T
\leqq
\lessapprox
\lessgtr
\risingdotseq
\subseteqq
\curlyeqprec
\trianglelefteq
\smallfrown
\geqslant
\gtrdot
\gtreqqless
\thicksim
\sqsupset
Apuntes de LATEX
6
u
Q
;
b
l
1
<
\leqslant
\approxeq
\lesseqgtr
\fallingdotseq
\Subset
\precsim
\vDash
\bumpeq
\eqslantgtr
\ggg
\eqcirc
\thickapprox
\succcurlyeq
0
l
S
v
@
w
m
&
$
k
3
\eqslantless
\lessdot
\lesseqqgtr
\backsim
\sqsubset
\precapprox
\Vvdash
\Bumpeq
\gtrsim
\gtrless
\circeq
\supseteqq
\curlyeqsucc
Seccin 2
Smbolos
v
p
4
=
,
\succapprox
\shortmid
\varpropto
\blacktriangleright
\lll
\preccurlyeq
\geqq
\triangleq
\Vdash
B
q
J
+
C
'
c
t
\vartriangleright
\shortparallel
\blacktriangleleft
\because
\doteqdot
\vartriangleleft
\gtrapprox
\Supset
\pitchfork
D
G
.
w
`
R
%
\trianglerighteq
\between
\therefore
\lesssim
\backsimeq
\smallsmile
\gtreqless
\succsim
\backepsilon
0
*
&
/
7
)
'
\nless
\lneq
\lnapprox
\precnapprox
\nvdash
\nsubseteq
\varsubsetneqq
\ngeqq
\gnsim
\nsucceq
\nshortparallel
\ntriangleright
\supsetneq
\nleqq
\nmid
\ngeqslant
\ncong
\varsupsetneqq
/
2
(
4
!
5
3
\nleq
\lneqq
\nprec
\nsim
\nvDash
\subsetneq
\ngtr
\gneq
\gnapprox
\succnsim
\nparallel
\ntrianglerighteq
\varsupsetneq
\lnsim
\ntrianglelefteq
\gvertneqq
\nVDash
.
6
2
+
%
$
#
\nleqslant
\lvertneqq
\npreceq
\nshortmid
\ntriangleleft
\varsubsetneq
\ngeq
\gneqq
\nsucc
\succnapprox
\nvDash
\nsupseteq
\supsetneqq
\precnsim
\subsetneqq
\nsucceq
\nsupseteqq
Apuntes de LATEX
\mathrm{ABCdef}
\mathitABCdef
\mathnormal{ABCdef}
\mathcal{ABC}
\mathcal{ABC}
\mathfrak{ABCdef}
\mathbb{ABC}
\mathscr{ABC}
Seccin 3
Subndices y superndices
SECCIN 3
Subndices y superndices
Los superndices exponentes se producen con el smbolo ^
El teorema de Fermat establece que para n > 2, no hay
enteros x, y, z que cumplan:
xn + yn = zn
se produce escribiendo:
El teorema de Fermat establece que para $n > 2$, no hay enteros $x$,
$y$, $z$ que cumplan:
$$x^y + y^n = z^n$$
Debe tenerse en cuenta que, si el superndice tiene ms de un carcter de longitud, debe
utilizarse {superindice} para agrupar el superndice; por ejemplo:
$(x^m)^n=x^{mn}$ (xm )n = xmn
pero si tecleamos $x^mn$ se obtiene xm n.
Tambin podemos tener superndices de superndices, agrupndolos de la siguiente manera:
Los nmeros de la forma $2^{2^n}+1$,
donde $n$ es un nmero natural, se denominan nmeros de Fermat
n
x2 = 1,
Apuntes de LATEX
Seccin 4
Races
10
Races
Laraz cuadrada se introduce con el comando \sqrt{Argumento}. As, $\sqrt{2}$ produce 2. Este comando tiene un argumento opcional, para escribir races cbicas, cuartas,
n-simas:
5
4
$\sqrt[4]{5}$, $\sqrt[5]{4}$ 5, 4
El tamao del signo de raz se ajusta automticamente al tamao del argumento; sta
caracterstica permite anidar races con facilidad, por ejemplo:
La sucesin
$$
2\sqrt{2}\,,\quad 2^2\sqrt{2-\sqrt{2}}\,,\quad 2^3\sqrt{2-\sqrt{2+\sqrt{2}}}\,,
\quad 2^4\sqrt{2-\sqrt{2+\sqrt{2+\sqrt{2+\sqrt{2}}}}}\,,\;\ldots
$$
converge a $\pi$.
La sucesin
2 2,
2
2 2 2,
r
2
v
u
t
q
2 2 + 2,
r
2+
2+
q
2+
2, ...
converge a .
Para obtener lo anterior, ntese como se ha hecho uso de los comandos \, y \;, abreviaturas de \thinspace y \thickspace, respectivamente. En modo matemtico, tambin puede
utilizarse \: (\medspace), que produce un espacio intermedio. Otra alternativa, si queremos
reducir espacios, es utilizar los comandos:
\negthinspace ( su abreviatura \!)
\negmedspace
\negthickspace
que introducen espacios anlogos, pero de longitud negativa.
Apuntes de LATEX
Seccin 5
Delimitadores
11
SECCIN 5
Delimitadores
Llamamos delimitadores a signos de la forma ( ), { }, etc... Una de las capacidades ms
potentes del modo matemtico es el ajuste automtico del tamao del delimitador al tamao
del argumento que contiene. Por ejemplo, escribiendo simplemente:
\[ a + (\frac{b}{c}) = \frac{ac+b}{c} \]
se obtiene:
b
ac + b
a+( )=
c
c
Apuntes de LATEX
Seccin 6
Matrices y determinantes
12
produce:
(x + y)2 (x y)2 = (x + y) + (x y) (x + y) (x y) = 4xy
Utilizando los modificadores \bigl y \bigr en su lugar:
\begin{equation*}
(x+y)^2-(x-y)^2=\bigl((x+y)+(x-y)\bigr)\bigl((x+y)-(x-y)\bigr)=4xy
\end{equation*}
tenemos:
(x + y)2 (x y)2 = (x + y) + (x y) (x + y) (x y) = 4xy
Existen otros modificadores de tamao predefinido, mayores que \bigl, que por tamao
creciente se ordenan como: \Bigl, \biggl y \Biggl (con versiones anlogas para r).
SECCIN 6
Matrices y determinantes
Para escribir datos en forma matricial, dentro del modo matemtico se puede utilizar el
entorno array,que funciona de forma similar al tabular:
\begin{array}[Posicin]{FormatoColumnas}
A11 & A12... & A1N \\
A21 & A22... & A2N \\
......
\end{array}
Por ejemplo:
\[\begin{array}{crl}
x
&3
x+y
&5
x^z
&\sqrt{75}
(x+y)z &100
\end{array}\]
&m+n^2
&m-n
&m
&1+m
\\
\\
\\
produce:
x
x+y
xz
(x + y)z0
3
5
75
100
m + n2
mn
m
1+m
Apuntes de LATEX
Seccin 6
\begin{pmatrix}
A_1 & A_2 & A_3
B_1 & B_2 & B_3
C_1 & C_2 & C_3
D_1 & D_2 & D_3
\end{pmatrix}
Matrices y determinantes
&
&
&
&
A_4
B_4
C_4
D_4
13
\\
\\
\\
\\
produce:
A1 A2 A3 A4
B1 B2 B3 B4
C C C C
1
2
3
4
D1 D2 D3 D4
Dentro de estos entornos es posible utilizar el comando:
\hdotsfor[Factor]{NmeroDeColumnas}
que produce un lnea de puntos suspensivos en la matriz que abarca tantas columnas como
se especifique en NmeroDeColumnas. El argumento (opcional) Factor escala la separacin
entre puntos (el valor por defecto es 1).
Para escribir matrices en modo texto, se utiliza el entorno smallmatrix (que no produce
delimitadores!!!); por ejemplo:
!
a h g
a h g
Dado que h b f = 0, la matriz h b f no es invertible.
g f c
g f c
Dado que
$
\left|\begin{smallmatrix}
a & h & g\\
h & b & f\\
g & f & c
\end{smallmatrix}\right|
=0
$,
la matriz
$
\left(\begin{smallmatrix}
a & h & g\\
h & b & f\\
g & f & c
\end{smallmatrix}\right)
$
no es invertible.
Apuntes de LATEX
Seccin 8
Fracciones y binomios
14
SECCIN 7
Puntos suspensivos
Para introducir puntos suspensivos en modo matemtico tenemos una amplia coleccin
de comandos. El comando \dots produce puntos suspensivos cuya unicacin vertical obedece
a determinadas reglas, segn le sigan signos +, , (puntos centrados), una coma (puntos
abajo), etc... Los comandos \ldots . . . y \cdots producen siempre puntos abajo y
.
.
centrados, respectivamente. Adems, los comandos \vdots .. y \ddots . . producen
puntos suspensivos verticales diagonales, que son tiles en la escritura de matrices.
Por otra parte, existe otra serie de comandos ms especializados:
\dotsc Para puntos separados por comas
\dotsb Para puntos separados por operadores binarios (+, , etc...)
\dotsm Para puntos separados por multiplicaciones implcitas
\dotsi Para puntos separados por signos integrales
\dotso Otros puntos suspensivos
SECCIN 8
Fracciones y binomios
La forma general de un fraccin se obtiene con el comando:
\frac{numerador}{denominador}
Para formas binomiales, se utiliza el comando anlogo:
\binom{numerador}{denominador}
para el cual se carece de barra horizontal, y que incluye parntesis. Por ejemplo, con:
\begin{equation*}
1-\binom{n}{1}\frac{1}{2}+\binom{n}{2}\frac{1}{2^2}-\dotsb
-\binom{n}{n-1}\frac{1}{2^{n-1}}=0
\end{equation*}
se obtiene:
Apuntes de LATEX
!
!
!
n 1
n 1
n
1
1
+
=0
2
n1
1 2
2 2
n1 2
Seccin 9
15
SECCIN 9
z }| {
x + y + z +w
|{z}
2
\[ \overbrace{x+\underbrace{y+z}_{2} +w}^{4} \]
De carcter ms general son los comandos:
\underset{Debajo}{Objeto} y \overset{Encima}{Objeto},
que colocan los smbolos Encima y Debajo, respectivamente, encima y debajo de Objeto. El
comando \stackrel{Encima}{RelacinBinaria} puede utilizarse para poner argumentos
encima de signos = y similares. Por ltimo, es til conocer el comando
\sideset{Derecha}{Izquierda}Operador:
k+1
b Yd
a
j=1
\[ \sideset{_{a}^{b}}{_{c}^{d}}\prod_{j=1}^{k+1} \]
Para colocar flechas, se dispone de la siguiente coleccin de comandos:
\overleftarrow{Objeto}
\overrightarrow{Objeto}
\underleftarrow{Objeto}
\underrightarrow{Objeto}
\overleftrightarrow{Objeto}
\underleftrightarrow{Objeto}
\xleftarrow[Debajo]{Encima}
\xrightarrow[Debajo]{Encima}
Los tres primeros comandos colocan la flecha debajo encima del objeto, y el ltimo se utiliza
para poner objetos encima debajo de una flecha (que es autoextensible, dependiendo de la
longitud de los objetos que tenga encima/debajo). Por ejemplo:
\[ \underleftarrow{z+w} \neq \underrightarrow{z+q}
\neq \overleftrightarrow{zw} \]
\[ \xleftarrow[T]{a+b} \quad \xleftarrow[a+b+c+d]{T} \]
z+w,z+q,
zw
a+b
a+b+c+d
Apuntes de LATEX
Seccin 10
16
SECCIN 10
1
n=1 n2
X
1
2
=
6
n2
n=1
Se observa tambin que la posicin de los subndices del sumatorio cambia si estamos
en modo texto (sub/superndices a un lado) en modo resaltado (sub/superndices debajoPy
encima).
ste comportamiento es comn a casi todos los operadores de tamao variable ( ,
Q `
, , etc..) y tamben a funciones (como la expresin para el lmite: \lim).
En el caso de que queramos, para el modo texto, cambiar la posicin de los sub/superndices
(para que aparezcan abajo/arriba), podemos utilizar el comando \limits inmediatamente a
continuacin del comando de operador de tamao variable (\sum, \proc, etc...). Por contra,
si deseamos que, en modo resaltado, los sub/superndices aparezcan a un lado, se debe utilizar
el comando \nolimits; por ejemplo:
Euler demostr que la serie $\sum\limits_{n=1}^\infty\frac{1}{n^2}$
converge, pero adems que:
\begin{equation*}
\sum\nolimits_{n=1}^\infty\frac{1}{n^2}=\frac{\pi^2}{6}
\end{equation*}
P
n=1
X
n=1
1
n2
1
2
=
6
n2
Todo lo anterior es vlido para cualquier signo de tamao variable, excepto los de tipo
integral; para stos, tanto en modo texto como en resaltado, los lmites se colocan a un lado:
Apuntes de LATEX
Seccin 11
17
Rx
x 0
sin x
x
dx =
y por definicin,
Z
0
sin x
dx =
x
2
se obtiene con:
\begin{equation*}
p_k(x)=\prod_{\substack{i=1\\i\ne k}}^n
\left(\frac{x-t_i}{t_k-t_i}\right)
\end{equation*}
Se observa que todas las lneas de subndices aparecen centradas. Si se quiere justificarlas
a la izquierda, se debe utilizar el entorno:
\begin{subarray}{l}
Lneas
\end{subrray}
como por ejemplo:
\[ \sum_{\begin{subarray}{l} 1\leq i\leq 100\\
i<j<8\end{subarray}} P(i,j) \]
X
P(i, j)
1i100
i<j<8
Apuntes de LATEX
Seccin 13
Nombres de funciones
18
SECCIN 12
Integrales mltiples
Para utilizar integrales mltiples, el reiterar signos de integracin con \int resulta inadecuado, ya que el espaciado entre signos no es correcto. La forma correcta es utilizar los
comandos \iint (int. dobles), \iiint (int. triples) e \iiiint (int. cudruples). El comando
\idotsint produce la abreviatura con puntos suspensivos apropiada para integrales mltiples n-dimensionales:
\[ \iint f(x,y) dxdy \qquad \iiint f(x,y,z) dxdydz \qquad
\idotsint_M dx_1\dots dx_n \]
"
$
f (x, y)dxdy
(
dx1 . . . dxn
f (x, y, z)dxdydz
M
H
Finalmente, \oint produce el smbolo de integral cerrada (vanse las tablas en "The
comprehensive LATEX symbol list"para versiones ms complejas del smbolo integral).
SECCIN 13
Nombres de funciones
La forma correcta de escribir una funcin genrica, como por ejemplo, f (x), es en itlica,
la forma estndar en modo matemtico. Sin embargo, existen funciones especiales como cos,
lim, log, etc..., que poseen un nombre especfico para designarlas. Estas funciones se escriben
habitualmente en fuente de tipo roman. Existen las siguientes funciones disponibles, que
se obtienen a travs del comando \NombreFuncin
\arccos
\arcsin
\arctan
\arg
\cos
\cosh
\cot
\coth
\csc
\deg
\det
\dim
\exp
\gcd
\hom
\inf
\ker
\lg
\lim
\liminf
\limsup
\ln
\log
\max
\min
\Pr
\sec
\sin
\sinh
\sup
\tan
\tanh
Adems, si tenemos el paquete babel con la opcin spanish cargado, se pueden utilizar
los nombres castellanizados de algunas funciones:
sen \sen
arcsen \arcsen
tg \tg
arctg \arctg
P
Q Algunos de stos comandos (\lim, \det, ...) funcionan de forma similar a los smbolos ,
, etc..., y al igual que stos, puede cambiarse su comportamiento con el comando \limits:
Esto es un ejemplo de frmula tipo texto $\lim_{x \rightarrow \infty} 3x+1$
\[ \text{y esto de resaltada:} \quad \lim_{x \rightarrow \infty} 3x+1 \]
cambiando con el comando limits: \ $\lim\limits_{x \rightarrow \infty} 3x+1$
Apuntes de LATEX
Seccin 14
19
lm 3x + 1
SECCIN 14
Apuntes de LATEX
Seccin 15
Frmulas a color
20
(adems, puede verse que este comando sirve asimismo para obtener letras en negrita itlica,
ya que $\mathbf{Texto} pone el texto en negrita romana).
Para ciertos smbolos especiales, el comando \boldsymbol{Objeto} puede no funcionar;
por ejemplo, comprese:
H
$\oint f$ f
H
$\boldsymbol{\oint f}$ f
El comando \boldsymbol no tiene efecto para la integral cerrada \oint. Es stos casos, se
utiliza el comando \pmb{Objeto} (poor mans bold), que proporciona a cada smbolo el
aspecto de estar en negrita reescribindolo con pequeos desplazamientos:
H
$\pmb{\oint f}$ f
(con una buena lupa puede verse que la letra f negrita no es idntica con \boldsymbol y con
\pmb).
SECCIN 15
Frmulas a color
El paquete color soporta sin problemas la inclusin de color dentro de expresiones matemticas a travs del comando \textcolor{NombreColor}{Texto}. ste comando puede
emplearse sin problemas dentro del modo matemtico. Por ejemplo:
Texto... $\textcolor{green}{\int_0^\infty f(x)d(x) = g(x) + C}$ ...Texto
produce:
R
Texto... 0 f (x)d(x) = g(x) + C...Texto
tambin:
$$\int_0^\infty \textcolor{blue}{f(x)d(x)} = \textcolor{red}{g(x)} + C$$
que produce:
Z
f (x)d(x) = g(x) + C
0
Apuntes de LATEX
Apuntes de Latex
Captulo 4: Clases de documentos y su estructura
ndice
1. Tipos de Documento
2. Unidades de estructura
3. Generacin de ttulos
4. Estilos de pgina
5.1.
El paquete geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ndice de Tablas
1.
. . . . . . . . . . . . . . . . . . . . . . . . .
2.
Unidades de estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.
ndice de Figuras
1.
2.
. . . . . . . . . . . . . . . . . . . . . .
Seccin 1
Tipos de Documento
SECCIN 1
Tipos de Documento: Las clases
article
book
El comando
determina el tipo
(clase) general de documento que vamos a escribir; adems, opcionalmente podemos cambiar
opciones especcas de formato de documento (tipo de papel, tamao de letra, etc...). Existen
article
Documentos ms breves
Adems de stas dos clases bsicas, existen otras muchas (a emplear mediante el uso de paquetes externos) adaptadas a propsitos especcos, como beamer (presentaciones), a0poster
(posters en tamao a0), etc... Por otro lado, un amplio nmero de editoriales publican clases de
documentos propias con especicaciones adaptadas al formato de sus publicaciones. As, por
ejemplo, si se pretende escribir un manuscrito para su publicacin como artculo en el Physical Review (editado por la Sociedad Americana de Fsica) podemos utilizar la clase revtex
(disponible por defecto en TeXLive) para componer el borrador del artculo. Obtendremos as
un manuscrito en el que el formato de pgina, la numeracin de secciones, etc..., siguen las
lneas de diseo de la revista.
La eleccin de una clase determina principalmente el aspecto general de las pginas del
documento, as como su estructuracin en secciones, subsecciones, etc... Las diferencias fundamentales entre las clases book y article son las siguientes:
La clase book crea pginas pares e impares, con diferentes especicaciones de mrgenes, mientras que la clase article crea pginas uniformes con el texto centrado
La clase book permite la divisin en captulos, secciones, subsecciones, etc..., mientras
que la article carece de captulos y el documento slo se subdivide en secciones.
La clase article proporciona el entorno especial
\begin{abstract}
Texto del abstract
\end{abstract}
para la inclusin de un pequeo resumen del documento tras el ttulo y autores
Las cabeceras y pies de pgina tienen un diseo ms complejo en la clase book (en la
article, tan slo se indica el nmero de pgina en el pie).
Todos estos (y ms) comportamientos por defecto pueden cambiarse especicando las
opciones de la clase de documento en el argumento optativo (entre corchetes) del comando
\documentclass.
portrait|landscape
AT X
Apuntes de L
E
Seccin 1
Opcin
10pt
Tipos de Documento
Book
Article
11pt
Descripcin
12 pt
letterpaper
legalpaper
executivepaper
a4paper
a5paper
b5paper
nal
draft
twoside
de pgina, etc...
onecolumn
twocolumn
openany
lado.
notitlepage
titlepage
inmediatamente al ttulo.
AT X
Apuntes de L
E
Seccin 2
Unidades de estructura
leqno
Por defecto, los nmeros de ecuacin se sitan a la derecha. Esta opcin permite situarlos
a la izquierda
eqn
Por defecto, las ecuaciones se escriben centradas. Esta opcin las sita a la izquierda
Los ejemplos del captulo 4 (ver archivos fuente y documentos pdf en la web de la asignatura) ilustran algunas de stas posibilidades (pginas a una dos columnas, clase article vs.
book, etc...). Es interesante observar, en el ejemplo 4-3, cmo funciona la opcin oneside; reemplazndola por twoside puede verse que se dejan pginas en blanco para colocar el comienzo
de cada captulo, ndice de contenidos bibliografa en pginas a la derecha.
SECCIN 2
Unidades de estructura
Tanto book como article permiten subdividir un documento mediante diferentes unidades
de estructura, organizadas jerrquicamente. La tabla 2 muestra las distintas unidades disponibles para las clases book y article, respectivamente, as como los comandos necesarios para
declararlos:
Nombre
Parte
Clase article
Clase book
\part(optativa)
\part(optativa)
\chapter
\section
\subsection
\subsubsection
\paragraph
\subparagraph
Captulo
Seccin
Subseccin
Subsubseccin
Pargrafo
Subpargrafo
\section
\subsection
\subsubsection
\paragraph
\subparagraph
\NombreComando[TextoToc]{Ttulo}
Donde
NombreComando
\NombreComando*{Ttulo}
Ttulo
es el ttulo que queremos darle al captulo, seccin, etc... Este ttulo aparecer al comienzo de
AT X
Apuntes de L
E
Seccin 2
Unidades de estructura
optativo TextoToc se
TextoToc en
Ttulo
no aparezca en la
Consultar el ejemplo 4-3 que ilustra el uso de sa opcin. Para incluir en el documento ndices
de tablas de guras, podemos usar respectivamente los comandos
\listoftables
\listoffigures
ste documento hace uso de stas capacidades (ver primera pgina); ntese que todos stos
comandos pueden situarse en el lugar del documento que deseemos (normalmente al principio).
Las versiones con asterisco de los comandos de estructura se utilizan cuando se desea que
la unidad no sea numerada, ni aparezca en la tabla de contenidos (por ejemplo, para escribir
prefacios, u otros elementos varios de un libro).
Las diversas unidades de estructura de un documento son automticamente numeradas de
forma acorde con su jerarqua. En un documento tipo article, las secciones se numeran con el
formato:
1. Titulo
2. Titulo
etc...
1.2 Titulo
etc...
1.1.2 Titulo
etc...
(en el caso de un documento book, el formato aade adems el nmero de captulo, sto es,
\paragraph*{Ejemplo de prrafo}
En un lugar de la mancha, de cuyo nombre
no quiero acordarme, no ha mucho tiempo
que viva un hidalgo de los de lanza en
astillero, adarga antigua, rocn flaco...
\subparagraph*{Ejemplo de subprrafo}
En un lugar de la mancha, de cuyo nombre
no quiero acordarme, no ha mucho tiempo
que viva un hidalgo de los de lanza en
astillero, adarga antigua, rocn flaco...
Ejemplo de prrafo
En un lugar de la
mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que viva un hidalgo de los de lanza en astillero, adarga antigua, rocn aco...
Ejemplo de subprrafo
En un lugar de
(ntese cmo, para distinguir los subprrafos, se aade una pequea indentacin). Si se desea
Para cambiar el tipo de numeracin, se puede consultar el Captulo 8 de los apuntes de la asignatura
(Programacin en LATEX); si se desea mejorar la apariencia de los encabezamientos de seccin captulo, puede
utilizarse el paquete titlesec
AT X
Apuntes de L
E
Seccin 3
Generacin de ttulos
que los prrafos y subprrafos aparezcan numerados (bajo la jerarqua de las sub-subsecciones,
sto es, como 1.1.1.1, 1.1.1.2, etc...) se puede emplear el siguiente comando en el prembulo:
\setcounter{secnumdepth}{4}
\setcounter{secnumdepth}{5}
dependiendo de que queramos numerar slo hasta los prrafos (secnumdepth=4) hasta los
2 La modicacin de
subprrafos (secnumdepth=5).
didad de la numeracin de las unidades de estructura, pero sin embargo no afecta al hecho
de que stas sean includas no en la tabla de contenidos. Si se necesita colocar prrafos y
subprrafos en la tabla de contenidos, debemos modicar tambin
tocdepth
\setcounter{tocdepth}{4}
\setcounter{tocdepth}{5}
\abstractname
\appendixname
\bibname
\chaptername
\contentsname
Comando
\indexname
\listfigurename
\listtablename
\partname
\refname
Abstract
Appendix
Bibliography
Chapter
Contents
Index
List of Figures
List of Tables
Part
References
\renewcommand{\Comando}{NombreNuevo}
As por ejemplo, \renewcommand{\listtablename}{Lista de Tablas} renombrara en parmetro \listtablename. Es importante saber que, en caso de haber cargado babel, debemos
hacer sta modicacin inmediatamente despus del comando \begin{document}, y no
antes; la razn reside en que muchas de las modicaciones introducidas por babel son activadas
al comenzar el documento, y no cuando se carga el paquete.
SECCIN 3
Generacin de ttulos
Para construir la pgina del ttulo, se pueden denir una serie de elementos con los que
AT X
Apuntes de L
E
Seccin 4
Estilos de pgina
\title{Ttulo}
Lista de autores
texto cualesquiera
\thanks{Agradecimiento}
teriores, lo que produce una nota a pie de pgina con agradecimientos comentarios
varios.
Finalmente,
\maketitle
AT X produce, existe
anteriormente. En el caso de que no nos guste el formato estndar que L
E
la alternativa de usar el entorno:
\begin{titlepage}
Texto diverso
\end{titlepage}
que produce una pgina de ttulo conteniendo el
Texto diverso
que especiquemos.
Para la clase article (no est disponible para book), tenemos adems la posibilidad de
introducir un pequeo resumen (abstract) con el entorno:
\begin{abstract}
Texto
\end{abstract}
El texto de nuestro resumen aparecer en un prrafo centrado de anchura algo menor que la
del texto principal.
SECCIN 4
Estilos de pgina
El contenido del encabezamiento y pie de una pgina est determinado por el estilo de
pgina elegido. Podemos elegir entre:
empty
plain
Cabecera vaca y pie con nmero de pgina centrado; sta es la opcin por
headings
\pagestyle{Estilo}
en el
prembulo, con lo cual afectaran a todo el documento. Tambin es posible hacer modicaciones
puntuales, restringidas a slo una pgina, con el comando
AT X
Apuntes de L
E
\thispagestyle{Estilo}
Seccin 5
Si se utiliza la opcin
y secciones con ttulos largos, que excedan la anchura de la cabacera de pgina. En tal caso se
\chapter \section)3
\sectionmark{MarcaCabecera}
\chaptermark{MarcaCabecera}
\subsectionmark{MarcaCabecera}
los comandos:
MarcaCabecera
SECCIN 5
Parmetros de una pgina
Todos los parmetros que controlan la colocacin de texto en la pgina (anchura, altura, tamao de mrgenes, etc...) son modicables. La Figura 1 ilustra la denicin de tales longitudes
y sus valores estndar para la clase book (en a4paper)
En ciertos casos especiales, debido a la forma especial en la que LATEX congura las pginas, puede ser
necesario repetir los comandos antes y despes del comando de unidad de estructura+
AT X
Apuntes de L
E
Seccin 5
mientras que la Figura 2 muestra los valores estndar para article en a4paper.
Existen varios mtodos equivalentes para
modicarlas:
\Longitud=xxcm
\Longitud xxcm
\setlength{\Longitud}{xxcm}
Asimismo, puede ser interesante utilizar el
comando:
\addtolength{\Longitud}{xxcm}
que incrementa la longitud dada en una
cierta cantidad. Por ejemplo, si queremos
modicar el ancho de texto en 4 cm, pero
manteniendo el texto centrado, puede usarse:
\addtolength{\textwidth}{4cm}
\addtolength{\hoffset}{-2cm}
AT X sita siempre a una distancia de una pulgada del borde del papel real)
pgina (que L
E
ajustando
\topmargin,
\headsep,
etc...
Finalmente, en casos en los que nos interese incrementar ligeramente la longitud de una
pgina dada (por ejemplo, cuando queda una sla lnea hurfana en la pgina siguiente) se
utiliza el comando:
\enlargethispage{Longitud}
que alarga en la cantidad Longitud
5.1.
la pgina.
El paquete geometry
El paquete geometry proporciona una forma simple e intuitiva de ajustar los parmetros de
colocacin del texto en un documento; adems, nos permite variar libremente el tamao del
papel, siendo muy til su empleo para la produccin de posters (tamao DIN-A0), pequeos
folletos, etc...
El ajuste de los diferentes parmetros debe hacerse como argumentos optativos en la carga
del paquete con
\usepackage{geometry}
\usepackage[papersize={841mm,1189mm},lmargin=2cm,
rmargin=2cm,top=2cm,bottom=2cm]{geometry}
AT X
Apuntes de L
E
Seccin 5
10
AT X + dvips + ps2pdf; la cabecera del ejemplo permite compilacin con PDFLAT X).
con L
E
E
Otro ejemplo de uso de ste paquete es la cabecera de documento presentada a continuacin. Su idea es producir documentos con tamao de papel pequeo, con especicaciones
adaptadas a su visualizacin en lectores de libros electrnicos (e-readers). La variante del ejemplo (que adems utiliza el paquete titlesec ver captulo 11 de los apuntes) dene un tamao
de papel ajustado a las dimensiones del lector Papyre con pantalla de 6 pulgadas. Dado el
reducido tamao de la pantalla, por motivos de aprovechamiento de espacio los mrgenes se
reducen a la mnima expresin. Un ejemplo de la apariencia nal del documento es el archivo
Apuntes3-papyre.pdf , descargable en el apartado Apuntes, donde se ha utilizado tal cabecera de documento para producir una versin visualizable en e-reader del captulo 3 de los
apuntes.
\documentclass[10pt]{article}
%%% Carga de paquetes
\usepackage{...}
\usepackage{...}
\usepackage{...}
\parindent=3mm
\parskip=2mm
%%% Definicin de cabecera con titlesec (ver Cap.11 de los apuntes)
\usepackage[calcwidth]{titlesec}
\newpagestyle{estiloA}[\large]{\headrule
\sethead{\ Seccin \thesection }{\sectiontitle}{\thepage\ }}%
\pagestyle{estiloA}
\renewcommand{\makeheadrule}{%
\makebox[0pt][l]{\rule[.9\baselineskip]{1.0\linewidth}{1.0pt}}%
\rule[-.4\baselineskip]{1.0\linewidth}{1.2pt}}
%%% Formato de comienzo de seccin con titlesec
\titleformat{\section}[frame]
4
Debido a las restricciones de espacio, en la produccin de la nueva versin se debi adaptar el tamao de
tablas y otros elementos grcos al reducido ancho de papel
AT X
Apuntes de L
E
Seccin 5
11
{\normalfont}{\filcenter\small
\ SECCIN \thesection \ }
{7pt}{\Large\bfseries\filcenter}
%%% Carga de geometry con opciones ajustadas al tamao del e-reader
\usepackage[papersize={95mm,125mm},lmargin=1.5mm,%
rmargin=1.5mm,top=7mm,bottom=1.5mm,headsep=3mm]{geometry}
\begin{document}
....................
\end{document}
AT X
Apuntes de L
E
Apuntes de LATEX
Captulo 5: Inclusion de Graficos y Elementos Flotantes
Indice de cuadros
1.
1.
Par
ametros optativos de los entornos flotantes . . . . . . . . . . . . . . . . . . .
Tipos de formatos gr
aficos; conversi
on de formato
2.
Inclusi
on de gr
aficos: el paquete graphicx
Para la inclusi
on de gr
aficos
o fotografas, se debe cargar en el preambulo el paquete graphicx
(\usepackage{graphicx}) y utilizar el comando \includegraphics{NombreFichero} en el
lugar donde queremos que aparezca el grafico. Los siguientes ejemplos ilustran las diversas
operaciones de transformaci
on que podemos aplicar a un grafico mediante la especificacion de
diversos par
ametros optativos (a traves de la sintaxis
\includegraphics[opci
on1,opci
on2,...]{NombreFichero}):
Especificaci
on de anchura
o altura: Los parametros width y height permiten ajustar
la anchura
o altura a un valor determinado; si especificamos los dos, la imagen puede
deformarse:
\includegraphics[width=2cm]{knuth.jpg}
\includegraphics[height=2cm]{knuth.jpg}
\includegraphics[width=3cm,height=2cm]
{knuth.jpg}
El par
ametro scale permite escalar globalmente las dimensiones de la imagen:
\includegraphics[scale=0.2]{knuth.jpg}
\includegraphics[scale=0.4]{knuth.jpg}
El par
ametro trim es an
alogo a viewport, solo que especifica las dimensiones que deben
ser recortadas a los lados izquierdo, derecho, inferior y superior, en vez de las coordenadas
absolutas de la bounding box de la imagen
\includegraphics[scale=0.5, %
trim=0 30 0 30,clip]{knuth.jpg}
\includegraphics[scale=0.5, %
trim=20 50 20 0,clip]{knuth.jpg}
Los par
ametros angle y origin permiten
rotar un gr
afico un
angulo dado alrededor
de un origen (lb por defecto) especificado a traves del par
ametro origin. La siguiente figura ilustra los diferentes valores
que puede tomar el par
ametro origin y el
punto asociado sobre el que se produce la
rotaci
on. Los siguientes ejemplos describen
el uso de estos par
ametros. Es importante
destacar que las operaciones de rotacion y
escalamiento de las figuras NO SON CONMUTATIVAS; el orden en el que las especifiquemos pueden cambiar el resultado
\includegraphics[angle=90,width=2cm]{knuth.jpg}
\includegraphics[width=2cm,angle=90]{knuth.jpg}
...\includegraphics[origin=c,
angle=45,width=2cm]{knuth.jpg}
...\includegraphics[origin=lb,
angle=45,width=2cm]{knuth.jpg}...
\includegraphics[width=2cm,
origin=lb,angle=45]{knuth.jpg}...
...
...
...\includegraphics[origin=c,
angle=180,width=2cm]{knuth.jpg}
...\includegraphics[origin=b,
angle=180,width=2cm]{knuth.jpg}...
3.
...
...
...
...
...
\begin{table}
.............
\end{table}
que permiten que, en el caso de que el compilador deba incluir los elementos dentro del entorno
(tpicamente, una tabla escrita con tabular o un grafico includo con \includegraphics) en
3
Parametro
h
t
b
p
Significado
Sit
ua el elemento flotante preferentemente (es decir, si es posible) en
la situaci
on exacta donde se incluye este
Sit
ua el elemento en la parte de arriba de la pagina
Sit
ua el elemento en la parte de abajo de la pagina
Sit
ua el elemento en una pagina aparte dedicada solo a elementos flotantes; en el caso del formato article, esta se sit
ua al final del documento, mientras que para al book es colocada al final de cada captulo
Tabla 1: Par
ametros optativos de los entornos flotantes
un lugar donde no exista espacio suficiente para ello (al final de una pagina, por ejemplo),
tenga la libertad de recolocar
o hacer flotar el elemento a otra parte del documento,
continuando con la escritura del texto normal; esto permite que, en el caso crtico de una
figura incluida hacia el final de una p
agina, esta se mueva por ejemplo hasta el principio de la
pagina siguiente evitando el efecto antiestetico de un hueco vaco.
El siguiente ejemplo muestra el comportamiento por defecto del entorno table; en el presente
\\
...y la tabla aparece en la parte de arriba de la pagina. La posicion preferida del elemento
flotante se especifica a traves de los parametros descritos en la Tabla 1, seg
un la sintaxis:
\begin{table}[parametros] ... \end{table}
donde podemos especificar uno
o varios parametros seg
un nuestras preferencias; as por ejemplo, ht equivale a pedir la situaci
on en en lugar del documento donde se incluya el entorno,
y, si no es posible, en la parte de arriba de la pagina. La opcion por defecto (que tiene lugar
cuando no se espefica ninguna, como en el ejemplo) es \begin{figure}[tbp]
Los entornos table y figure realizan funciones exactamente analogas, con la u
nica diferencia
siendo el nombre de la leyenda (figura o tabla) que aparece bajo la tabla. Tal leyenda se incluye
con el comando
4
\caption{Texto de la leyenda}
que produce que se imprima Tabla N: Texto de la leyenda1 o Figura N: Texto de la leyenda
centrado bajo la tabla
o figura (que no esta centrada por defecto, para ello debemos utilizar
el entorno center, como en el ejemplo de la Tabla 1).
A lo largo de un documento LATEX va enumerando las tablas y figuras, pudiendo imprimirse
un ndice de tablas
o de figuras a traves de los comandos \listoftables o \listoffigures,
respectivamente (un ejemplo puede encontrarse en este mismo documento).
LATEX, adem
as de enumerar autom
aticamente las tablas o figuras, permite establecer referencias cruzadas a ellas (ver Captulo 6 de los apuntes). El comando \label{tabla_parametros}
tras el comando caption permite etiquetar la tabla (con el nombre tabla_parametros, por
ejemplo) para m
as adelante referenciarla en el texto como
a trav
es de los par
ametros descritos en la Tabla \ref{tabla_parametros}, ...
lo cual produce, tras la compilaci
on, el resultado Tabla 1. Es importante acostumbrarse a
aprovechar la potencia de LATEX para manejar referencias cruzadas empleando los comandos
\label ... \ref para las citas a tablas/figuras en el texto, debido a que, cualquier revision posterior del documento (a
nadiendo figuras o tablas extra) mantiene correctamente la
numeracion de las mismas al referenciarlas.
4.
El paquete graphicx incluye algunos comandos que permiten escalar y rotar cualquier objeto
LATEX
\scalebox{escala horizonal}[escala vert]{argumento}
\resizebox{ancho}{alto}{argumento}
\rotatebox[opciones]{
angulo}{argumento}
Ejemplos:
\scalebox{4}[4]{pepito}
\scalebox{4}{pepito}
\scalebox{-4}[4]{pepito}
producen diversos escalamientos de la palabra pepito (notese como un cambio de signo
produce una imagen reflejada):
genera
pepito
Podemos asimismo generar rotaciones sobre un objeto mediante el comando:
\rotatebox[origin=X]{angulo}{Objeto}
donde la variable X tiene el mismo significado (origen de rotacion) y toma los mismos valores
que la variable opcional origin del comando \includegraphics (ver seccion 2), es decir,
c,t,b,lc,lr, etc... Por ejemplo:
En este ejemplo \rotatebox[origin=c]{33}{PATATA} esta
rotado 33 grados respecto al centro
produce:
En este ejemplo
A
AT esta rotado 33 grados respecto al centro
T
PA
\rotatebox{90}{\Large \ \ \ Meses \ \ } \
\begin{tabular}[b]{|c|c|c|}
\cline{2-3}
\multicolumn{1}{c|}{ } & \multicolumn{2}{c|}{Producci
on} \\ \hline
& Fabrica 1 & Fabrica 2 \\ \hline
Enero & 5.5 & 6.7 \\
Febrero & 5.2 & 5.8 \\
Marzo & 5.0 & 4.3 \\
Abril & 6.4 & 7.1 \\ \hline
\end{tabular}
Meses
produce:
Enero
Febrero
Marzo
Abril
Producci
on
Fabrica 1 Fabrica 2
5.5
6.7
5.2
5.8
5.0
4.3
6.4
7.1
Apuntes de LATEX
Captulo 6: Referencias, Bibliografa, Notas al Pie y al Margen
1.
Referencias cruzadas
En LATEX podemos referenciar cualquier objeto numerado, que hayamos etiquetado convenientemente con anterioridad. Los comandos para ello son:
\label{etiqueta} Coloca una etiqueta en un punto dado del texto
\ref{etiqueta} Referencia a la etiqueta colocada con el comando label
donde el comando \label puede utilizarse dentro de cualquier unidad de escructura captulo, seccion, ...)
o entorno numerado (figura, tabla, elemento de lista, ...). El comando \ref
imprime el n
umero de la unidad de estructura guardado en etiqueta.
Por ejemplo, incluimos aqui una figura con
el comando includegraphics (dentro de
un entorno figure), colocamos el comando
\label{knuth} dentro del entorno figure,
y lo referenciamos con:
Referencia a la figura \ref{knuth},
lo que produce:
Referencia a la Figura 1.
De la misma manera, podemos decir que
estamos en la secci
on 1 incluyendo tras
el comando \section una etiqueta:
\label{refcruz}
y referenci
andola con
\ref{refcruz}
Figura 1: D. E. Knuth,
el creador de TEX
Sea la ecuaci
on:
\begin{equation}
ax + by + c = 0 \label{prueba_ecuacion}
\end{equation}
que es referenciada como ecuaci
on \ref{prueba_ecuacion}
produce:
Sea la ecuaci
on:
ax + by + c = 0
(1)
2.
Bibliografa
3.
El comando:
\footnote{Texto de la nota al pie}
permite incluir Texto de la nota al pie como nota al pie en un documento.
Asimismo, el comando:
\marginpar[TextoIzqda]{TextoDerecha}
crea una nota al margen con el texto dado dentro del argumento del comando. El primer
argumento, optativo, se utiliza en caso de que queramos incluir notas al margen colocadas a la
izquierda, en vez de a la derecha, que es la opcion por defecto (si estamos utilizando la opcion
de documento oneside; en caso de tener twoside, las notas al margen se colocan por defecto en
el margen externo).
Apuntes de LATEX
Captulo 7: Manipulacin de Cajas; Escritura a Varias Columnas
1.
Cajas y marcos
El modo de trabajo de LATEX se basa en cajas, que compone de modo igual al cajista de una
imprenta; cada carcter es una caja, con la cual se construyen cajas ms grandes (palabras),
lneas, etc... Todas las cajas se alinean respecto a un punto de referencia (la lnea base).
Las cajas se caracterizan por tres
elementos (longitudes): altura sobre
la lnea base (\height), profundidad
(\depth) (por ejemplo, la longitud del
rabillo de la letra p) y anchura
(\width). La suma de altura y profundidad se denomina \totalheight. En
general, podemos distinguir entre tres
tipos de cajas:
1.1.
Cajas L-R
Disponemos de varios comandos para crear cajas de sta clase, cuya utilidad reside en la
posibilidad de tratar a las cajas construidas como objetos rigidos (es decir, que no se rompen
por saltos de lnea prrafo) que podemos mover arriba, abajo, a ambos lados:
Cajas sin marco:
\mbox{Material} Versin abreviada del comando siguiente; crea una caja que contiene a Material, de dimensiones ajustadas alas dimensiones propias de Material.
\makebox[Ancho][Posicin]{Material} Extensin del comando anterior, donde
los argumentos optativos Ancho y Posicin denotan, respectivamente, el ancho de
la caja y la posicin de Material dentro de ella; ste ltimo puede tomar los valores
1
Ejemplo:
Colocamos la palabra
\framebox[2\width]{hola}
en el centro de un marco de ancho
el doble de dicha palabra. Tambin,
con \makebox, podemos prescindir del
marco: \makebox[2\width]{hola}.
Ahora colocamos
\framebox[2\width][r]{hola} en
el mismo marco pero a la derecha.
Utilizando la opcin s, las
palabras se separan:
\framebox[2\width][s]{se separan}.
El siguiente ejemplo ilustra la
diferencia entre \fbox:
\fbox{caja} y \frame: \frame{caja}
hola
hola
hola
hola
\doublebox{xxx}
\ovalbox{xxx}
\Ovalbox{xxx}
Doble marco
En caja ovalada
Para todos estos comandos, podemos utilizar asimismo \fboxsep. Tambin, para controlar
el ancho de sombra en \shadowbox, podemos modificar la longitud \shadowsize (4pt por
defecto).
Ejercicio 1:
Caja shadowbox con distancia a marco de 5mm, sombra de 3mm y grosor de marco de 1mm
1.2.
Los comandos anteriores permiten escribir texto cortos (de no ms de una lnea). Para textos
de ms de una lnea prrafo, existen dos herramientas que permiten crear cajas a modo de
pequeas pginas dentro de la pgina ambiente:
\parbox[Posicin][Alto][PosRel]{Ancho}{Material} y
\begin{minipage}[Posicin][Alto][PosRel]{Ancho}
Material
\end{minipage}
siendo ambos anlogos, la nica diferencia es que \parbox toma la forma de comando y minipage la de un entorno. El significado de los argumentos es el siguiente:
Ancho Parmetro obligatorio que establece la anchura de la caja
Material Lo que se desea incluir en la caja (texto cualquier otro elemento)
Posicin Parmetro optativo para posicionar la caja con respecto a la lnea base. Se elige
entre t, c, b (c por defecto)
Alto Parmetro optativo para modificar la altura de la caja con respecto a su altura natural
(\height)
PosRel Parmetro optativo para modificar la posicin relativa de Material dentro de la
caja (en caso de que sta sea ms alta); se elige entre t, b, c
Por ejemplo:
... texto
continua el texto normal
y aqui
1.3.
Rayas (rule)
Se pueden imprimir cajas rellenas de tinta, de cualquier grosor y longitud con el comando:
\rule[Elevacin]{Ancho}{Alto}
donde Ancho y Alto definen la anchura y altura de la caja; Elevacin es un parmetro optativo que permite desplazar verticalmente la raya. Si es positivo/negativo, se desplaza hacia
arriba/abajo, respectivamente. Por ejemplo:
Una raya
que sube
\par
Una raya
que baja
gruesa \rule{1cm}{2pt}
\rule[5pt]{1cm}{2pt}
normal \rule{1cm}{0.5pt}
\rule[-5pt]{1cm}{0.5pt}
que sube
que baja
El siguiente truco para el manejo de cajas merece ser estudiado con detalle. Podemos
superponer dos rayas metiendo una de ellas en una caja de anchura nula, con el material de la
caja justificado a la izquierda. sta sera la forma de conseguir que el cursor de LATEX no se
desplaze, permitindonos sobreescribir texto.
Raya \makebox[0pt][l]{\rule[3pt]{1cm}{1pt}}\rule{1cm}{1pt} doble
produce: Raya
doble
4
Ejercicio 3:
Raya triple en medio de texto
2.
Para separar cajas, podemos utilizar los siguientes comandos, que son tiles a la hora de
calcular automticamente la separacin entre objetos (\hspace, no es muy satisfactorio, ya
que en principio desconocemos los espacios libres):
\hfill Introduce horizontalmente espacio vaco entre dos objetos hasta que aparezcan
separados entre s lo mximo que permita la anchura de la caja que los contiene (la
anchura de la pgina, si no se ha especificado ninguna). Puede ser utilizado repetidamente
entre parejas de objetos, obtenindose entonces una separacin unfirme entre los mismos.
\hrulefill Anlogo a \hfill, salvo que rellena con una raya horizontal el espacio
entre objetos.
\dotfill Anlogo a \hfill, rellena espacio con una lnea de puntos
\vfill Anlogo vertical del comando \hfill; introduce espacio vaco verticalmente
hasta separarlos lo ms posible dentro de la caja.
Puede ser de utilidad para emplear stos comandos el comando \null, que introduce una
marca para calcular espacios sin introducir texto.
Ejemplo:
ppp
ppp \hfill ppp \hfill ppp
\vfill
pppp \dotfill pppp
\dotfill pppp \dotfill pppp
\vfill
pppp \hrulefill pppp \hrulefill pppp
\vfill
\null \hfill ppp \hfill ppp
\hfill ppp \hfill \null
ppp
pppp
ppp
3.
ppp
ppp
pppp
ppp
Manipulacin de cajas
donde Material representa lo que vamos a mover, Alto y Profundidad son la altura y profundidad de la caja, y Elevacin la longitud que se desplaza verticalmente la caja.
Ejemplo:
Subimos un poco un texto
Bajamos un poco un texto
Bajamos un poco una caja enmarcada
4.
Modificamos
-caja-
el
alto
profundidad
Si una caja va a ser utilizada repetidamente, LATEX nos proporciona un mtodo para almacenarla y posteriormente utilizarla cuantas veces deseemos. Se comienza declarando el nombre
de la caja con:
\newsavebox{\NombreCaja}
A continuacin, se define el contenido de la caja, utilizando cualquiera de los siguientes comandos:
\sbox{\NombreCaja}{Material}
\savebox{\NombreCaja}[Ancho][Posicin]{Material}
\begin{lrbox}{\NombreCaja}
Material
\end{lrbox}
los cuales, son, respectivamente, adaptaciones de los comandos \mbox, \makebox y del entorno
minipage. Finalmente, para recuperar la caja predefinida e imprimirla, se utiliza el comando:
\usebox{\Nombrecaja}
El ejemplo siguiente ilustra todo el procedimiento:
\newsavebox{\Caja}
\begin{lrbox}{\Caja}
\fbox{\parbox[c][1.5cm][c]{1cm}{%
\begin{center}
Pepe \\ Juan \\ Jaime
\end{center}}}
\end{lrbox}
\usebox{\Caja}\hrulefill
\usebox{\Caja}\hrulefill
\usebox{\Caja}
Pepe
Juan
Jaime
Pepe
Juan
Jaime
Pepe
Juan
Jaime
5.
En las clases de documento book y article se escribe por defecto a una columna. Si queremos
escribir a dos columnas, podemos incluir la opcin twocolumn en los argumentos optativos de
la clase de documento:
\documentclass[11pt,a4paper,twocolumn]{article}
lo cual produce que, por defecto, todo el documento se imprima a dos columnas.
Tambin podemos cambiar, dentro del documento, de una a dos columnas y viceversa, con
los comandos:
\twocolumn
\onecolumn
Sin embargo, el resultado no es muy satisfactorio, ya que, al cambiar de formato con ellos,
se salta de pgina, sin dejar completa la anterior. Para mezclar estilos de forma ms elegante
se puede utilizar el paquete multicol, que se explica a continuacin. Llegados a ste punto, es
importante remarcar la diferencia entre los entornos figure y figure* ( table y table*).
En el primero de los casos (sin asterisco) la figura tabla se incluye ocupando una sola de las
dos columnas, mientras que la versin con asterisco hace que la figura tabla ocupe las dos
columnas. Esto es conveniente en el caso de tablas figuras demasiado anchas 1 .
El paquete multicol
6.
El paquete multicol (no olvidar cargar en el prembulo para su uso) permite escribir textos
hasta en 10 columnas en la misma pgina. Una vez cargado el paquete, podemos escribir a
varias columnas abriendo el entorno multicols (fijarse en la s final del nombre):
\begin{multicols}{Numero}[Cabecera][Anchura]
Texto
\end{multicols}
donde Numero indica el numero de columnas que se se desea, y el argumento opcional Cabecera
permite poner una cabecera comn al texto en multicolumna. Tambin se puede aadir otro
argumento opcional, Anchura, que especifica la altura mnima que debe quedar hasta el final
de una pgina para poder comenzar el entorno. Si el espacio libre es menor que sa cantidad,
se iniciar una nueva pgina antes de empezar a escribir a varias columnas.
Ejemplo:
\begin{multicols}{3}[Fragmento del Quijote]
En un lugar de la Mancha...
\end{multicols}
Fragmento del Quijote
En un lugar de la Mancha, de cuyo nombre no
quiero acordarme, no ha
mucho tiempo que viva
un hidalgo de los de lan1
En el caso de escritura a una columna, no hay diferencia entre versiones con sin asterisco
Mi Peridico
WASHINGTON.- La aceleracin hacia la guerra ha cruzado el punto de no retorno. El presidente de EEUU ha lanzado esta madrugada un claro y definitivo ultimtum: Sadam Husein y
sus hijos deben abandonar Irak en 48 horas. Si el lder iraqu no toma el camino del exilio en
ese plazo, el ataque sera inevitable e inminente. Durante un discurso de 15 minutos televisado
a la nacin, George W. Bush manifesto su decepcin con el funcionamiento de Naciones Unidas, en cuyo Consejo de Seguridad no logr sacar adelante una nueva resolucin para autorizar
el uso de la fuerza contra Irak...
Espaa ya no va tan bien. O al menos va algo peor que hace un ao. La Encuesta de Presupuestos Familiares difundida hoy por el INE
revela que 7,6 millones de hogares en Espana
tienen problemas para llegar a fin de mes, un
10 % ms que el pasado ao. Los que mejor
capean el temporal son los riojanos y los que
peor, los murcianos.
Espaa ya no va
tan bien. O al menos va algo peor que
hace un ao. La Encuesta de Presupuestos Familiares difundida hoy por el INE
revela que 7,6 millones de hogares en...
Espaa ya no va
tan bien. O al menos va algo peor que
hace un ao. La Encuesta de Presupuestos Familiares difundida hoy por el INE
revela que 7,6 millones de hogares en...
Apuntes de LATEX
Captulo 8: Nociones de Programacin LATEX
1.
1.1.
no permiten que los argumentos puedan extenderse a ms de un prrafo, mientras que las
versiones sin asterisco (\newcommand{\NombreComando}[NumArg]{ArgDef}{Def}, etc...)
permiten que los argumentos se extiendan a ms de un prrafo.
Ejemplos:
Imaginemos que queremos que un texto aparezca con tipo de letra sansserif e itlico;
podemos entonces definir el comando \nuevotipo, dependiente de un parmetro
(el texto a cambiar de tipo):
\newcommand{\nuevotipo}[1]{{\itshape\sffamily #1}}
tras lo cual, escribiendo \nuevotipo{texto sansserif} obtendramos texto sansserif.
Cambiemos ahora el ejemplo anterior; supongamos que, adems, se quiere que, por
defecto, el texto aparezca en tamao \large, aunque sto ltimo sea tambin una
opcin modificable; definiramos entonces:
\newcommand{\nuevotipo}[2][\large]{{#1\itshape\sffamily #2}}
lo cual hace que escribiendo \nuevotipo{texto sansserif} resulte texto sansserif, mientras que con \nuevotipo[\small]{texto sansserif} obtendramos texto
sansserif
Veamos ahora otro ejemplo til para la escritura de expresiones matemticas; imaginemos que la expresin (x1 , x2 , . . . , xn ) aparece frecuentemente en nuestro documento. Podemos entonces definir:
\newcommand{\vect}{(x_1,x_2,\dots,x_n)}
con lo cual, cada vez que escribamos $\vect$ (el nombre del nuevo comando)
se imprimir (x1 , x2 , . . . , xn ). Todos los nuevos comandos conviene situarlos en el
prembulo.
Ahora compliquemos un poco el ejemplo con la introduccin de argumentos variables. Si por ejemplo escribimos:
\newcommand{\vect}[1]{(#1_1,#1_2,\dots,#1_n)}
(aadiendo un argumento, que se sustituye en la frmula con "#1"), escribiendo
$\vect{x}$ obtendramos (x1 , x2 , . . . , xn ), con $\vect{a}$ se tendra (a1 , a2 , . . . , an ),
etc...
Aadiendo ms argumentos, podemos obtener construcciones ms complejas, por
ejemplo, definiendo:
\newcommand{\vect}[2]{(#1_1,#1_2,\dots,#1_#2)}
$\vect{x}{n}$ dara como resultado (x1 , x2 , . . . , xn ) mientras que con $\vect{a}{p}$
se obtendra (a1 , a2 , . . . , ap ).
Practiquemos ahora la definicin de comandos con argumentos optativos, que toman un determinado valor por defecto. Por ejemplo, construyamos:
\newcommand{\nuevovector}[2][x]{(#1_1,#1_2,\dots,#1_#2)}
donde la x entre parntesis es el valor por defecto del argumento opcional (siempre
2
1.2.
ejemplo ejemplo
ejemplo ejemplo
ejemplo ejemplo
ejemplo ejemplo
ejemplo
ejemplo
ejemplo
ejemplo
ejemplo ejemplo
ejemplo ejemplo
ejemplo ejemplo
ejemplo ejemplo
Entornos
\begin{mientorno}
Ejemplo de texto con una anchura estndar de media pgina, centrado,
y en tipo de letra negrita
\end{mientorno}
obtenemos:
Ejemplo de texto con una anchura estndar de media pgina, centrado, y en
tipo de letra negrita
, si queremos emplear el argumento optativo y reducir la anchura del texto a 0.3 veces
la anchura de texto (\textwidth):
\begin{mientorno}[0.3]
Ejemplo de texto con una anchura de un tercio de pgina, centrado, y
en tipo de letra negrita
\end{mientorno}
Ejemplo de texto con
una anchura de un tercio de pgina, centrado, y en tipo de letra
negrita
Es importante tener en cuenta que los argumentos de un entorno slo pueden utilizarse en la definicin de entrada (DefEntrada). Si los necesitamos en la definicin de
salida, podemos utilizar el truco de guardarlos convenientemente, empleando un comando \newcommand para ello. En el siguiente ejemplo, creamos un entorno cita para
escribir citas, dando el nombre del autor como argumento:
\newenvironment{cita}[1]{\newcommand{\autor}{#1}%
\begin{quote}\itshape}{\end{quote}\centerline{\autor}}
Tras lo cual, por ejemplo:
\begin{cita}{Andres Fernndez}
Nuestras vidas son los ros que van a parar al mar, que es el morir
\end{cita}
produce:
Nuestras vidas son los ros que van a parar al mar, que es el morir
Andres Fernndez
2.
Imaginemos que estamos escribiendo un documento largo (un libro, por ejemplo). Es
conveniente, a la hora de depurar errores, escribir y compilar cada parte por separado.
Para ello LATEX proporciona dos posibilidades:
4
3.
3.1.
Contadores
\arabic{NombreContador}
\alph{NombreContador}
\Alph{NombreContador}
\roman{NombreContador}
\Roman{NombreContador}
\fnsymbol{NombreContador}
1, 2, 3, 4...
a, b, c, d... (nota 1)
A, B, C, D... (nota 1)
I, II, III, IV... (nota 2)
I, II, III, IV...
*, **, ***, ****... (nota 3)
Debe mencionarse que al crear un nuevo contador se crea automticamente el comando \theNuevoContador, con la definicin \arabic{NuevoContador } por defecto.
Cuando se modifica un contador con los comandos \setcounter y \addtocounter,
los contadores subordinados no se ponen a cero; para obtener se efecto, se dispone de
los comandos:
7
\newcounter{prg}[section]\newcounter{linea}[prg]
\newcommand*{\lin}{%
\addtocounter{linea}{1}\thelinea\quad}
\renewcommand*{\theprg}{\arabic{section}.\arabic{prg}}
\newenvironment*{programa}{%
\refstepcounter{prg}
\begin{center}Programa~\theprg\end{center}
\ttfamily\obeylines\obeyspaces}{\par}
Ahora, como ejercicio, escribir un pequeo documento article, con un par de secciones y un par de entornos programa en cada una de ellas, utilizando dentro del entorno
programa el comando \lin para ir enumerando lneas de cdigo de un programa. Asimismo, incluir una referencia cruzada a uno de los programas (Ver archivo ejercicio2.pdf
adjunto)
3.2.
Longitudes
Al igual que con los contadores, LATEX es tambin capaz de crear y modificar variables
de tipo Longitud. Las longitudes que habitualmente utiliza LATEX pueden tomar dos tipos
de valores:
Rgidos: Toman un valor determinado; por ejemplo:
\quad = 11.747 pt, \thinspace = 1.958 pt, \hoffset = -28.45274pt
Elsticos: Toman un valor que LATEX puede modificar dentro de unos lmites, a fin
de optimizar la composicin del documento. Por ejemplo, \bigskip, \medskip y
\smallskip
El comando \bigskip se define como:
\vspace{12pt plus 4pt minus 4pt}
lo cual quiere decir que LATEX debe introducir un espacio vertical de 12 pt, aunque tiene la
libertad de incrementarlo reducirlo en 4pt, segn convenga a fin de distribuir el espacio
de forma homognea. Alguna de las holguras plus minus pueden estar ausentes en la
definicin, pero si ambas aparecen deben estar en se orden.
1
Hay que tener cuidado en no confundir el concepto de longitud y del valor que toma una longitud;
\hoffset es una longitud, mientras que \quad y \thinspace son comandos que dejan en blanco un
espacio horizontal de valor rgido
Los comandos \bigskip, \medskip y \smallskip, respectivamente, tienen asociadas longitudes elsticas con valores almacenados en \bigskipamount, \medskipamount
y \smallskipamount, por los que tales comandos se definiran de hecho como:
\bigskip \vspace{\bigskipamount}
\medskip \vspace{\medskipamount}
\smallskip \vspace{\smallskipamount}
y donde cada una de stas longitudes elsticas toma valores:
\bigskipamount :: 12.0pt plus 4.0pt minus 4.0pt
\medskipamount :: 6.0pt plus 2.0pt minus 2.0pt
\smallskipamount :: 3.0pt plus 1.0pt minus 1.0pt
Puede obtenerse el valor de cualquier longitud con el comando:
\the\NombreLongitud
donde NombreLongitud es el nombre de la longitud; ste comando siempre expresa las
longitudes en unidades pt, con el punto como separador decimal.
Al igual que ocurra con los contadores, los valores de una longitud pueden modificarse. Existen dos comandos para ello:
\setlength{\NombreLongitud}{Valor} Asigna a la longitud \NombreLongitud
un valor igual al argumento Valor, que debe ser una longitud (sto es, expresada
en unidades cm, pt, etc...). Puede ser un valor tanto rgido como elstico (por ejemplo, 5mm plus 1mm minus 2mm). Tambin es posible que Valor sea una variable de
longitud (\textwidth) con quizs un factor multiplicativo (0.5\textwidth, por
ejemplo).
Una forma alternativa de asignar a \NombreLongitud un valor es utilizar la sintaxis:
\NombreLongitud=Valor bien: \NombreLongitud Valor
\addtolength{\NombreLongitud}{Valor} Suma a la longitud \NombreLongitud
la cantidad Valor, que puede ser positiva negativa.
Al contrario que lo que ocurra con los contadores, cuyas asignaciones tienen carcter
global (es decir, trascienden el grupo dentro del cual han sido declaradas, y tienen efecto
en todo el resto del documento), las asignaciones de longitud tienen por defecto carcter
local ; si se realizan dentro de un grupo, el valor anterior a la asignacin se recupera a
la salida del grupo. En el caso de que deseemos un efecto global, puede ser aconsejable
realizar tales asignaciones en el prembulo del documento.
\noindent La anchura de la
palabra {\Large Pajarita}
es \settowidth{\longitud}%
{\Large Pajarita} \the\longitud\\
su altura es \settoheight{\longitud}%
{\Large Pajarita} \the\longitud\\
su profundidad \settodepth{\longitud}%
{\Large Pajarita} \the\longitud\\
La anchura de la palabra
Pajarita
es 48.91916pt
su altura es 9.91672pt
su profundidad 2.80008pt
10
Pajarita
\newlength{\longA}
\settowidth{\longA}{xxxxx}
\begin{center}
xxxxx\\
xxxxx\hspace{\longA}xxxxx\\
xxxxx\hspace{\longA}xxxxx%
\hspace{\longA}xxxxx\\
xxxxx\hspace{\longA}xxxxx\\
xxxxx
\end{center}
3.2.1.
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
fill
que LATEX utiliza para introducir espacios de longitud variable. Ambas proporcionan dos
diferentes grados de elasticidad infinita; fil es una unidad de longitud elstica infinitamente ms grande que cualquier longitud rgida, mientras que fill es infinitamente
ms grande que fil (y por tanto, que cualquier longitud rgida).
Basados en stas unidades de longitud, existe una variedad de comandos:
\fill Es una longitud, de valor 0pt plus 1fill
\stretch{n} Es una longitud de valor 0pt y holgura un nmero n de unidades
fill (entero decimal). As, \fill equivale a \stretch{1}
De ste modo, los comandos \hfill y \vfill equivalen a \hspace{\fill} y \vspace{\fill},
respectivamente. La utilidad del comando \stretch{n} est en la posibilidad de separar
objetos con espacios proporcionales a diversas cantidades. Vase el siguiente ejemplo:
Colocamos un texto centrado:\\[2mm]
\vrule\hspace{\stretch{1}}Texto
centrado\hspace{\stretch{1}}\vrule\par
Ahora colocamos un texto con
el doble de espacio a
un lado que al otro:\par
\noindent\vrule\hspace{\stretch{1}}%
Texto\hspace{\stretch{2}}\vrule\par
Otro ejemplo, con la distancia
entre T1 y T2 igual a tres veces
la distancia a los mrgenes:\par
\noindent\vrule\hspace{\stretch{1}}
T1\hspace{\stretch{3}}T2
\hspace{\stretch{1}}\vrule
T2
\hfil y \vfil Anlogos a los anteriores, pero empleando para la elasticidad una
unidad fil en lugar de fill.
El siguiente ejemplo ilustra la diferencia entre las unidades fil y fill:
A
D
C
E
Centrado
Centrado anulado
Centrado anulado
\hss Equivale a \hspace{0pt plus 1fil minus 1fil}, e interviene en la definicin de los comandos \leftline, \rightline y \centerline
\vss Anlogo vertical, que equivale a \vspace{0pt plus 1fil minus 1fil}
Los siguientes comandos (algunos de ellos ya mencionados anteriormente) tienen un
efecto similar a \hfill, con la diferencia de que en el espacio intermedio introducen
diversos smbolos de extensin variable (en direccin horizontal):
12
\hrulefill Raya
A\hrulefill B\hrulefill C
A...............B...............C
z
B
A
}|
{
C
|
{z
E
F
D
}
Finalmente, describiremos los comandos \rlap{Objeto} y \llap{Objeto}; respectivamente, colocan Objeto en una caja de anchura 0pt (por lo que el cursor no se mueve),
con el objeto saliendo hacia la derecha izquierda de la caja. Por ejemplo:
Tachamos la palabra izquierda y seguimos escribiendo.
dosuno
dosuno
4.
4.1.
comandos de ms bajo nivel de TEX (de hecho, ste es el modo estndar de contruir
macros LATEX). Para ello existe el comando \def, con la siguiente sintaxis:
\def\NuevoComando#1...#9{Definicin}
donde \NuevoComando es el nombre del nuevo comando, #1...#9 los argumentos de que
depende (hasta 9), y entre llaves su definicin. Por ejemplo, definamos:
\def\ecuacion#1#2{\ensuremath{#1_1^2+#1_2^2+\cdots+#1_#2^2=1}}
tras lo cual, \ecuacion{z}{5} produce z12 + z22 + + z52 = 1. Ntese el uso del comando
\ensuremath{Frmula}, que tiene como resultado asegurar que la expresin Frmula se
ejecuta dentro del modo matemtico (por lo cual, no es necesario abrir y cerrar signos $
antes y despus del comando \ecuacion).
El comando \def, a diferencia del \newcommand, permite elegir los delimitadores de
los argumentos (que con \newcommand siempre deben ser llaves, corchetes para los
argumentos optativos). Adems, es incluso posible prescindir de las llaves al escribir
los argumentos del comando; por ejemplo, en el caso anterior podramos haber escrito
\ecuacion z5 con el mismo resultado que \ecuacion{z}{5}: TEX lee secuencialmente
los argumentos tras el nombre del comando. Para elegir delimitadores especiales entre
los argumentos, simplemente los incluimos entre #1, #2,.. #n. Por ejemplo, redefinimos
\ecuacion como:
\def\ecuacion#1;#2:{\ensuremath{#1_1^2+#1_2^2+\cdots+#1_#2^2=1}}
lo cual indica que el primer argumento debe terminar con ; y el segundo con :
ahora debemos escribir \ecuacion z;5: para obtener z12 + z22 + + z52 = 1
4.2.
Definiciones globales
Todos los comandos creados con \newcommand, \providecommand \def, ( redefinidos con \renewcommand) son locales; es decir, si estn definidos dentro de un grupo, su
accin estar restringida a se grupo. En el ejemplo siguiente se ve cmo la redefinicin
del comando \prueba dentro del entorno itemize carece de efecto fuera de l:
Prueba 2
\def\prueba{Prueba 1}
\begin{itemize}
\def\prueba{Prueba 2}
\item \prueba
\end{itemize}
\prueba
Prueba 1
Si queremos definir un comando global (con efecto fuera del grupo donde es definido)
se puede utilizar cualquiera de estas dos alternativas:
\global\def\NuevoCOmando#1...#9{Definicin}
\gdef\NuevoComando#1...#9{Definicin}
es decir, o bien anteponemos el comando \global a la definicin, o bien usamos el
comando \gdef. EL comando \global tambin puede usarse para hacer globales otro
tipo de asignaciones de tipo local, como por ejemplo las modificaciones de longitudes
(\setlength y \addtolength)
14
4.3.
\def\a{\a \a \a}
\a
las instrucciones anteriores provocan un error (comprobar). La forma de resolver el problema es redefinir el comando \a con el comando \edef, totalmente anlogo a \def,
pero que hace que al redefinir \a se expanda ejecute antes el comando \a dentro de la
definicin:
\def\a{hola}
\edef\a{\a \a \a}
\a
4.4.
El comando \let
\noindent\def\uno{1}Uno: \uno \\
\def\dos{\uno\uno} Dos: \dos \\
\def\uno{uno} Uno: \uno \ Dos: \dos
Uno: 1
Dos: 11
Uno: uno
Dos: unouno DOS: 11
15
4.5.
Veamos ahora cmo se trabaja con contadores y longitudes desde el punto de vista
de TEX. Se pueden realizar operaciones con tres tipos de magnitudes:
Contadores Corresponden a registros tipo count, y se definen con el comando:
\newcount\NuevoContador; el registro puede almacenar nmeros enteros entre
-214783647 y +214783647
Longitudes rgidas Corresponden a registros tipo dimen, y se definen con el comando:
\newdimen\NuevaLongitud
Longitudes elsticas Existen dos tipos de registro:
skip: se definen con \newskip\NuevaLongitud
muskip: anlogo de longitud elstica, que se utiliza slo en el modo matemtico;
se definen con \newmuskip\NuevaLongitud
Existen comandos para realizar las cuatro operaciones aritmticas bsicas (suma,
resta, multiplicacin y divisin) con todos los registros anteriores (ambas sintaxis, con
advance advance by, etc..., son equivalentes):
\advance\NombreRegistro Nmero \advance\NombreRegistro by Nmero
donde Nmero debe ser una longitud, si tratamos con registros de tipo longitud,
un nmero entero, si trabajamos con un contador.
\multiply\NombreRegistro Nmero \multiply\NombreRegistro by Nmero
donde Nmero debe ser siempre un entero.
\divide\NombreRegistro Nmero \divide\NombreRegistro by Nmero
Nmero tambin debe de ser un entero. En el caso de un contador, se almacenar la
parte entera de la divisin; en el caso de longitudes, stas se transforman primero a
unidades sp (la ms pequea de TEX; 1 sp = 65536 pt) y el resultado se redondea
a un mltiplo entero de sta unidad.
Veamos unos ejemplos:
\newskip\LongElastica
\LongElastica=%
10pt plus 1fill minus 2fill%
\par \the\LongElastica
\advance\LongElastica by %
5pt plus 3fill minus 1fill%
\par \the\LongElastica
\multiply\LongElastica by 3%
\par \the\LongElastica
\divide\LongElastica by 2
\par \the\LongElastica
factores no enteros (0.5, 1.25, etc...). En el caso de que \Longitud1 sea elstica, la accin
anterior la transforma automticamente en una rgida; por ejemplo, tras:
\LongElastica=10pt plus 1fill minus 2fill
\LongElastica=2.5\LongElastica
\the\LongElastica da como resultado: 25.0pt
El siguiente ejemplo ilustra cmo manejar contadores, definiendo un nuevo comando \hora que calcula la hora, a partir del contador \time, que almacena el nmero
de minutos despus de la medianoche (probar como ejercicio que el comando funciona
correctamente):
\def\hora{\newcount\horas \newcount\minutos
% (Definimos dos nuevos contadores)
\horas=\time \global\divide\horas by 60
% (la parte entera de la division produce la hora)
\minutos=\horas \multiply\minutos by 60
\advance\minutos by -\time
\global\multiply\minutos by -1
% (multiplicamos las horas por 60, restamos \time,
% y cambiamos de signo para obtener los minutos)
\the\horas:\ifnum\minutos<10 0\fi\the\minutos}
% (se imprime horas:minutos, con un cero extra si minutos < 10)
4.6.
a la mayor de las anchuras de las subcajas, y con altura total (suma de altura y
profundidad) igual a la suma de alturas y profundidades de las subcajas. Al igual
que para el modo horizontal, existen dos sub-modos:
Ordinario: Es el modo por defecto, en el cual TEX va recogiendo todas las
cajas creadas en los modos horizontal y matemtico, para empaquetarlas verticalmente.
Interno: Se limita a apilar verticalmente cajas, creando una caja indivisible
(por ejemplo, cuando se construyen las columnas de una tabla matriz)
Modo matemtico: Se abre para escribir smbolos frmulas matemticas, existe
en dos variantes, ordinario ( tipo prrafo) y resaltado (para frmulas centradas y
resaltadas), las cuales ya se han descrito en el captulo correspondiente
En los sucesivo, discutiremos algunos comandos de TEX tiles para crear y colocar
cajas (que por supuesto, pueden ser utilizados dentro de cualquier documento LATEX;
al fin y al cabo, LATEX, como ya se ha repetido, no es ms que un conjunto de macros
construidas a partir de TEX, que es el lenguaje de bajo nivel que realmente compila el
documento fuente).
4.6.1.
El comando \hbox{Material} crea cajas indivisibles, en las que el contenido se escribe de izquierda a derecha. El argumento Material es procesado en modo horizontal
restringido, y puede estar compuesto de varias cajas. En realidad, el comando \mbox de
LATEX no es ms que \hbox:
\def\mbox#1{\leavevmode\hbox{#1}}
(el comando \leavevmode se asegura de salir del modo vertical, si estuvisemos dentro
de l).
Cada caja creada mediante \hbox tiene una anchura natural dependiente de la anchura del Material incluido en ella. Al igual que ocurra con el comando \makebox, es
posible cambiar dicha anchura a nuestro gusto:
\hbox to Ancho{Material} Crea una caja de anchura Ancho y coloca en ella el
material de izquierda a derecha. Si la anchura del material es menor que Ancho,
se estirarn los espacios elsticos para ocupar todo el espacio disponible, mientras
que si es mayor, el material sobresaldr de la caja (con lo que se sobreescribir en
texto que venga a continuacin); vase el siguiente ejemplo (donde se aade \fbox
a fin de remarcar las cajas:
\parindent 0pt Normal:
\fbox{\hbox{caja ejemplo}}
(texto) \\ Estiramos:
\fbox{\hbox to 3cm{caja ejemplo}}
(texto) \\ Contraemos: \fbox{\hbox
to 1cm{caja ejemplo}} (texto) \\
ejemplo (texto)
\parindent 0pt
Estiramos: \fbox{\hbox spread
5mm{caja ejemplo}} (texto) \\
Contraemos: \fbox{\hbox spread
-5mm{caja ejemplo}} (texto) \\
Estiramos: caja
ejemplo (texto)
(texto)
Contraemos: caja ejemplo
Al igual que con las cajas horizontales, se puede fijar de antemano la altura de una
caja vertical con:
\vbox to Alto{Material} \vbox spread Alto{Material}
19
cuyo significado es idntico a lo ya visto para \hbox (cambiando Ancho por Alto).
Es interesante remarcar la flexibilidad y potencia del comando \vbox de TEX; a
diferencia de lo que ocurre con \hbox, no existen realmente comandos en LATEX con
tanta capacidad; por ejemplo, \parbox el entorno minipage permiten fijar la altura de
la caja, pero adems requieren fijar su anchura, lo cual puede ser un inconveniente.
El comando \vbox to Alto{Material} alinea la lnea base de la caja global con la
lnea base de la ltima caja (es decir, la inferior) incluida en la caja vertical. Existen
tambin los comandos:
\vtop to Ancho{Material} y \vcenter to Ancho{Material}
que alinean, respectivamente, la parte superior y central de la caja total con la lnea base
(ATENCIN: \vcenter slo se puede emplear dentro del modo matemtico).
\parindent 0pt
\fbox{\vbox to 5mm{\hbox{Texto 1}}}
\fbox{\vbox to 10mm{\hsize 3cm%
\vfil\centerline{Texto 2}\vfil}}
\fbox{\vtop to 5mm%
{\vfil\hbox{Texto 3}}}
4.6.3.
Texto 1
Texto 2
Texto 3
Moviendo cajas
El comando \kern Longitud se utiliza con carcter general para desplazar cajas una
cantidad Longitud (que puede ser negativa). La direccin del desplazamiento, horizontal
20
vertical, depende que en que modo est TEX trabajando; en el modo horizontal (en
una caja \hbox) el desplazamiento es horizontal, mientras que en el modo vertical (en
una caja \vbox) el desplazamiento es vertical. Veamos como ejemplo el cdigo TEX para
obtener el logotipo TEX:
\hbox{T\kern-.1666em\lower.5ex\hbox{E}\kern-.125ex X}
Para mover horizontalmente las componentes de una caja vertical \vbox se utilizan
los comandos:
\moveleft Desplazamiento y \moveright Desplazamiento
Es interesante hacer notar que la anchura de la caja tras los desplazamientos slo se
modifica con desplazamientos a la derecha, y no a la izquierda: la anchura se calcula
comenzando en el punto de referencia y extendindose hacia la derecha hasta la parte
derecha de la componente ms alejada; por ejemplo (ntese cmo ahora se utiliza \frame
para remarcar las cajas, en vez de \fbox, que dejaba un pequeo espacio \fboxsep
alrededor):
\frame{\vbox{\hbox{\frame{T}}%
\hbox{\frame{E}}\hbox{\frame{X}}}}
\hspace{1cm}\frame{\vbox{\moveleft10pt%
\hbox{\frame{T}}\moveright10pt\hbox%
{\frame{E}}\hbox{\frame{X}}}}%
\hspace{1cm}
\frame{\vbox{\hbox{\frame{T}}%
\moveleft12pt\hbox{\frame{E}}%
\moveright12pt\hbox{\frame{X}}}}
4.6.4.
T
E
X
T
E
\setbox2=Caja2 etc...
(tras lo cual, para todos los comandos descritos a continuacin, se debera reemplazar
\NombreCaja por 1, 2, ...)
Para insertar dentro de un documento los contenidos de una caja, se emplean los
comandos:
\box\NombreCaja Tras ser usado, borra el contenido de la caja
\copy\NombreCaja Usa el contenido de la caja sin borrarlo
Por ejemplo: \setbox1=\hbox{A} \fbox{\box1} \fbox{\box1} produce A
21
, mientras
\ht\NombreCaja
\dp\NombreCaja
\unvbox\NombreCaja
\unvcopy\NombreCaja
El siguiente ejemplo ilustra la diferencia entre simplemente copiar una caja, y desmembrarla con \unhbox:
\setbox1=\hbox{A B}
\setbox2=\hbox to 2.0\wd1{\unhcopy1}
\frame{\copy2}
\setbox3=\hbox{A B}
\setbox4=\hbox to 2.0\wd3{\copy3}
\frame{\copy4}
B AB
en el primer caso, tras desmembrar la caja, al construir una caja de anchura doble
a la primitiva los elementos se reparten tratando de llenar toda la caja; en el segundo,
al estar la caja intacta, los elementos se mantienen a la derecha de la caja \box4, que
contiene a \box3
4.6.5.
En TEX se pueden utilizar dos tipos de rayas cajas negras; las horizontales, \hrule,
y las verticales, \vrule. Para cada una de ellas se pueden especificar tres dimensiones:
anchura, altura y profundidad:
\hrule height Altura width Anchura depth Profundidad
\vrule height Altura width Anchura depth Profundidad
puede omitirse cualquiera de estos tres parmetros, en cuyo caso TEX asignar valores
por defecto:
Altura 0.4 pt y profundidad 0 pt, si la raya es horizontal (\hrule)
Anchura 0.4 pt, si la raya es vertical (\vrule)
El resto de dimensiones se obtiene extendiendo la raya indefinidamente hasta completar el tamao de la caja que la contiene
La diferencia esencial entre \hrule y \vrule reside en que \hrule es material vertical,
por lo que slo puede ser utilizado entre prrafos dentro de una caja vertical \vbox,
mientras que \vrule es material horizontal, por lo que slo puede utilizarse dentro de
un prrafo de una caja horizontal \hbox.
22
Ejemplos:
\hbox{Ejemplo \vrule width 2pt\vbox to
25pt{linea \par vertical}} \vspace{3mm}
\vbox{\hbox to 4cm{Otro ejemplo}
\kern 1mm\hrule height 1pt\kern 1mm
\hbox to 3cm{linea horizontal}}
\hbox{\vbox{\hbox to 25mm{\hfil%
\hbox{Texto 1}\hfil}\kern2pt\hrule}%
\vrule \lower7.5mm\vbox to 15mm{\hrule%
\kern-11pt\hbox to 25mm{\hfil%
\hbox{Texto 2}\hfil}\vfil\hbox to
25mm{\hfil\hbox{Texto 3}\hfil}%
\kern2pt\hrule}}
4.7.
linea
Ejemplo
Otro
linea
vertical
ejemplo
horizontal
Texto 2
Texto 1
Texto 3
Repeticin de objetos
Veremos ahora otro modo de repetir objetos, ligeramente diferente del comando
\multiput ya visto. En vez de proporcionar el nmero de objetos a repetir, puede interesarnos llenar un cierto espacio, de longitud fija variable, con copias de un objeto.
Mediante el comando \leaders se pueden obtener copias de un objeto en tal forma.
Para ello, debemos especificar el objeto a copiar y el espacio que debe ser completado
con copias de tal objeto. La sintaxis del comando es la siguiente:
\leaders Objeto \hskip Longitud
donde hay que tener en cuenta que Objeto debe ser una caja, y Longitud puede ser cualquier longitud (incluyendo elsticas). Se puede reemplazar \hskip 1fil por simplemente
\hfil, \hskip 1fill por \hfill. Por ejemplo:
\noindent\null\leaders\hrule\hfill
\null\\[2mm]
\null\leaders\hbox{/\textbackslash}%
\hskip.4\hsize\null\\[2mm] \hbox to
4cm{\leaders\hbox{\frame{\hbox to
10pt{\vbox to 10pt{}}} }\hfill}
/\/\/\/\/\/\
Es importante tener en cuenta que es necesario marcar los puntos entre los que
acta el comando \leaders, sobre todo si estamos utilizando longitudes elsticas. Es
por eso que se utiliza en el ejemplo anterior \null (otras posibilidades equivalentes
seran \mbox{} \kern0pt).
En el caso de que el objeto a repetir no sea un mltiplo entero del tamao de la caja
que contiene a las copias del objeto, aparecer cierta asincrona. Para solucionar esto, se
dispone de otras dos variantes de \leaders para repetir un objeto:
\cleaders Objeto \hskip Longitud
\xleaders Objeto \hskip Longitud
mientras que \leaders aparta el espacio sobrante a la derecha, \cleaders reparte el
espacio sobrante a ambos lados (centrando las copias del objeto en la caja); \xleaders
distribuye el espacio sobrante entre cada copia del objeto, ajustando las copias del objeto
a la caja; por ejemplo:
23
\frame{\hbox to 4cm{\leaders%
\hbox{$\bigotimes$}\hfill}}\par
\frame{\hbox to 4cm{\cleaders%
\hbox{$\bigotimes$}\hfill}}\par
\frame{\hbox to 4cm{\xleaders%
\hbox{$\bigotimes$}\hfill}}
NNNNNNNNN
NNNNNNNNN
NNNNNNNNN
4.8.
Sistematizando tareas
Veremos ahora una serie de comandos tiles para sistematizar tareas; imaginemos
que cada vez que se inicia un prrafo, frmula, caja, ..., queremos que se ejecuten una
serie de comandos. Para ello, se tienen las siguientes posibilidades:
\everypar{Comandos} Antes de empezar a dar formato a cada prrafo, se ejecutan
Comandos. Veamos un ejemplo, en el que definimos un nuevo contador parrafo, y para
cada prrafo, se le pone como ttulo Prrafo n en negrita y centrado:
Prrafo 1
24
4.9.
Condicionales y bucles
El compilador TEX posee amplias capacidades a la hora de programar diversas acciones. Adems de poder manejar diversos registros (contadores, longitudes, cajas) con
total flexibilidad, su potencia se ve reforzada al ser posible incluir bucles y condicionales
dentro de un documento.
Un condicional es una estructura de control que elige entre diversas acciones en
funcin del valor de una variable lgica; su forma general es:
IF <Test> [Instrucciones A] ELSE [Instrucciones B] END IF
lo cual significa que, de cumplirse la condicin <Test>, se ejecutarn las instrucciones
A, y de no cumplirse, las instrucciones B. En lenguaje TEX, el condicional se escribe:
\if<Test> [Parte A] \else [Parte B] \fi
aunque podemos prescindir de cualquiera de las partes (A B), y tener simplemente:
\if<Test> [Parte A] \fi
\def\cuatrodigit#1{%
\ifnum #1<1000 0\fi
\ifnum #1<100 0\fi
\ifnum #1<10 0\fi #1}
\ifodd Nmero
sirve para comprobar si un nmero entero es impar. En el caso de que queramos analizar
el valor de un determinado contador, recordemos que debemos sustituir Nmero por
\value{NombreContador}, si estamos trabajando con un contador definido en LATEX.
Por contra, si el contador ha sido definido en TEX (con \newcount), podemos recuperar
el valor numrico con \the\NombreContador \number\NombreContador
25
\ifhmode
Juan y Ana
quieren un coche
Juan y Ana
necesitan comprarse
un coche nuevo porque el antiguo se les
ha quedado viejo
\ifvmode
\ifmmode
sirven para comprobar, respectivamente, si estamos dentro del modo horizontal, vertical,
matemtico (en cada caso, no se distingue entre los diferentes sub-modos). Por ejemplo,
el comando \ensuremath de LATEX est definido como:
\newcommand{\ensuremath}[1]{\ifmmode #1\else $#1$\fi}
\ifcase Numero [Caso n=0] \or [Caso n=1] \or ...
[Caso n=M] \else [Caso n=Otro Numero] \fi
sirve para ejecutar diferentes acciones, de acuerdo a los valores que tome la variable
Numero (que puede, por ejemplo, ser un contador); si n=0 se ejecutaran las primeras
instrucciones, si n=1 las, segundas, y as sucesivamente hasta M; opcionalmente podemos
colocar ms instrucciones despus de \else, que se ejecutarn si Numero es menor que
0 mayor que M. Vase el siguiente ejemplo, que traduce nmeros naturales a notacin
hexadecimal:
\def\hexadec#1{\ifcase #1 %
0\or 1\or 2\or 3\or 4\or %
5\or 6\or 7\or 8\or 9\or %
A\or B\or C\or D\or E\or F\fi}
Comando
\hexadec{7}
\hexadec{12}
Resultado
7
C
\ifx Argumento1Argumento2
compara dos argumentos entre s, siendo verdadero si son iguales y falso si son distintos. Argumento1 y Argumento2 pueden ser caracteres, cajas, comandos... Es importante
puntualizar que, a la hora de comparar cadenas de caracteres cajas, es necesario con
anterioridad incluir tales contenidos en sendos comandos, que sern despus comparados.
Por ejemplo:
26
\columnbreak \vspace*{0.1cm}
\def\a{Hola} \def\b{Hola} \def\c{hola}
\def\d{H} \def\e{\hbox{hola}}
\def\f{\hbox{hola}}
Comparacin 1:
\ifx AA iguales \else distintos \fi
% (caracteres aislados son comparables)
Comparacin 2:
\ifx \a\b iguales \else distintos \fi
Comparacin 3:
\ifx \a\c iguales \else distintos \fi
Comparacin 4:
\ifx H\d iguales \else distintos \fi
Comparacin 5:
\ifx \c\e iguales \else distintos \fi
Comparacin 6:
\ifx \e\f iguales \else distintos \fi
Comparacin 1: iguales
Comparacin 2: iguales
Comparacin 3: distintos
Comparacin 4: distintos
Comparacin 5: distintos
Comparacin 6: iguales
\if@twocolumn
son verdaderos si se est procesando el documento con las opciones twoside twocolumn,
respectivamente, y falsos en caso contrario.
\@ifnextchar Carcter{ParteA}{ParteB}
Se procesa ParteA en caso de que el siguiente carcter coincida con Carcter, y ParteB en
caso contrario. Este condicional es muy utilizado en LATEX en los comandos que utilizan
argumentos opcionales, caracterizados por ir entre corchetes. Veamos un ejemplo de cmo
definir un comando con dos argumentos, uno de ellos optativo; queremos recuadrar un
texto dado con una lnea de grosor variable, 0.4 pt por defecto:
\def\mirecuadro[#1]#2{{\fboxrule#1\fbox{#2}}}
\makeatletter
\def\recuadro{\@ifnextchar[{\mirecuadro}{\mirecuadro[0.4pt]}}
\makeatother
Tras esto, \recuadro{Prueba} resultar en Prueba , mientras que si queremos cambiar
el grosor de lnea a 1pt, deberemos escribir: \recuadro[1pt]{Prueba} Prueba .
Por qu los comandos \makeatletter y \makeatother? La razn est en que, por defecto, est prohibido utilizar el smbolo @ en los comandos dentro de un documento; ste
comando se utiliza frecuentemente en las clases de documentos paquetes, por lo que se
restringe su uso para evitar coincidencias casuales con comandos ya definidos. El comando \makeatletter levanta esta prohibicin, mientras que el comando \makeatother la
vuelve a recuperar.
Podemos utilizar lo aprendido en el ejemplo anterior para construir comandos ms
complicados. Por ejemplo, modifiquemos el comando \recuadro (renombrndolo a
\Recuadro) para que ahora admita dos argumentos optativos, segn la sintaxis:
\Recuadro[Grosor](Color){Texto}
siendo Grosor la anchura del recuadro (0.4pt por defecto), y Color su color (rojo por
defecto). Utilizando recursivamente el condicional \@ifnextchar se obtiene el resultado
deseado (comprobar):
\makeatletter
27
\def\Mirecuadro(#1)#2{{\color{#1}\fbox{\color{black}#2}}}
\def\Mirecuadroaux[#1]{\fboxrule#1\@ifnextchar(%
{\Mirecuadro}{\Mirecuadro(red)}}
\def\Recuadro{\@ifnextchar[{\Mirecuadroaux}{\Mirecuadroaux[0.4pt]}}
\makeatother
4.9.1.
Nuevos condicionales
Bucles
\newcount\cuenta
\makeatletter \def\pares#1{%
\minum=2\@whilenum\minum<#1\do
{\the\minum, \advance\minum by 2}}
\makeatother
Los nmeros pares menores que 95
son: \pares{95}
Tambin es posible definir bucles en los que la condicin de control sea un condicional
\ifNombre definido en TEX con \newif:
\@whilesw\ifNombre\fi{Accin}
29
con lo que TEX procesar los comandos de Accin hasta que el condicional \ifNombre
sea falso.
Finalmente, se pueden tambin construir estructuras for / next, en las cuales se
ejecuta una serie de acciones para cada uno de los elementos de una lista. Se utiliza la
sintaxis:
\@for\Nombre:=\lista\do{Accin}
donde \Nombre es una variable (que no hace falta definirla previamente) que va almacenando los diferentes elementos de una lista (\lista), que debe ser previamente definida
con \def; los elementos de la lista han de estar separados entre s por comas. En el siguiente ejemplo, primeramente definimos a travs de TEX un comando \longitud{Palabra}
para contar el nmero de letras de una palabra, que luego utilizamos para crear un tabla
con las longitudes de una lista de palabras almacenadas en \lista:
\newcount\nna \def\longitud#1{\nna=0%
\expandafter\contar#1\end\number\nna}
\def\contar#1{%
\ifx#1\end\let\next=\relax
\else\advance\nna by1
\let\next=\contar\fi\next}
La longitud de la frase pepe tiene
un coche es de \longitud{pepe
tiene un coche} caracteres no blancos
\def\lista{Pepe,Juan,Andrs,Antonio}
\begin{tabular}{l}
Nombre y longitud \\ \hline
\makeatletter \@for\nombre:=\lista
\do{\hbox to 30mm{\nombre\hss}%
\longitud{\nombre} \\ } \makeatother
\end{tabular}
4.9.3.
Nombre y longitud
Pepe
4
Juan
4
Andrs
6
Antonio
7
Otros ejemplos
ojepsEEspejo
CuriosoosoiruC
30
Numeros primos
\newif\ifprime \newif\ifunknown %
\newcount\n \newcount\p %
\newcount\d \newcount\a %
\def\primes#1{2,~3 % (#1 is at least 3)
\n=#1 \advance\n by-2 % n more to go
\p=5 % odd primes starting with p
\loop\ifnum\n>0 \printifprime\advance\p by2 \repeat}
\def\printp{, % we will invoke \printp if p is prime
\ifnum\n=1 \fi
\number\p \advance\n by -1 }
\def\printifprime{\testprimality \ifprime\printp\fi}
\def\testprimality{{\d=3 \global\primetrue
\loop\trialdivision \ifunknown\advance\d by2 \repeat}}
\def\trialdivision{\a=\p \divide\a by\d
\ifnum\a>\d \unknowntrue\else\unknownfalse\fi
\multiply\a by\d
\ifnum\a=\p \global\primefalse\unknownfalse\fi}
Tras lo cual, \primes{200} calcula e imprime los 200 primeros nmeros primos:
2, 3 , 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97,
101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191,
193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283,
293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401,
409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509,
521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631,
641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751,
757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877,
881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009,
1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097,
1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217,
1223
31
Apuntes de LATEX
Captulo 9: Manejo de recursos de color
1.
En el primer captulo vimos cmo el paquete color permite colorear una parte del texto,
mediante los comandos:
\textcolor{NombreColor}{Texto}
\color{NombreColor}
y cmo mediante la opcin usenames podemos utilizar una serie de colores bsicos. Es importante destacar aqu (algo que obviamos en el captulo 1) que la opcin usenames slo
proporciona los 68 colores correctamente cuando se compila el documento a travs de la opcin LATEX+ dvips + ps2pdf, mientras que compilando con PDFLATEX slo se obtienen
unos pocos colores bsicos predefinidos, por ejemplo:
\textcolor{white}{Hola} \textcolor{black}{Hola} \textcolor{yellow}{Hola}
\textcolor{green}{Hola} \textcolor{blue}{Hola} \textcolor{red}{Hola}
\textcolor{cyan}{Hola}
Hola Hola Hola Hola Hola Hola Hola
Si necesitamos colores extra, podemos obtenerlos a partir de la espefificacin de modelos
de color que proporcionan los mismos comandos \textcolor y \color:
\textcolor[modelo]{codigo}{Texto a cambiar de color}
\color[modelo]{codigo}
donde la etiqueta modelo designa el tipo de codificacin del color y el cdigo las coordenadas
de se color dentro de su tipo de codificacin, eventualmente separadas por comas. Se tienen
las siguientes tres posibilidades para el modelo:
rgb (Red Green Blue) Este es un sistema de composicin de color a partir de la combinacin
de los colores rojo, verde y azul como colores primarios. La identificacin de un color se
hace por una terna de nmeros comprendidos entre 0 y 1 que fijan la proporcin de cada
uno en la mezcla
cmyk (Cyan Magenta Yellow Black) Debemos especificar un conjunto de cuatro nmeros
comprendidos entre 0 y 1 representando la proporcin de cada uno de los cuatro colores
en la mezcla (mtodo usado en impresoras)
gray escala de grises, un nmero nico comprendido entre 0 y 1.
El comando \color posee las mismas caractersticas, con la conocida excepcin de aplicarse a
todo el material que siga, en vez de a una cadena corta de texto.
Ejemplos:
\textcolor[rgb]{1,0,0}{Rojo}\\
\textcolor[rgb]{1,1,0}{Amarillo}\\
\textcolor[rgb]{0.2,0.5,0.7}{Azulado}\\
\textcolor[cmyk]{0,1,0,0}{Magenta}\\
\textcolor[cmyk]{1,0,1,0}{Verde}\\
\textcolor[gray]{0.3}{Gris Oscuro}\\
\textcolor[gray]{0.8}{Gris Claro}\\
Rojo
Amarillo
Azulado
Magenta
Verde
Gris Oscuro
Gris Claro
Finalmente, un til shortcut en los mens de iconos de WinEdt (marcado con el smbolo de una paletita) permite elegir entre unos cuantos colores predefinidos, modificarlos a
voluntad variando parmetros rgb, insertando directamente en el documento la instruccin
\textcolor[modelo]{codigo}{Texto} cuando remarcamos un trozo de texto.
2.
En caso de que exista un color en particular (por ejemplo el azul claro determinado por el
modelo RBG con parmetros 0.8,0.85,1.0)que utilizemos frecuentemente, podemos asignarle
un nombre y definir el nuevo color mediante el comando:
\definecolor{nombre-color}{modelo color}{codigo color}
Por ejemplo: \definecolor{AzulClaro}{rgb}{0.8,0.85,1}, para luego utilizarlo mediante:
\textcolor{AzulClaro}{Texto Azul Claro} que producira: Texto Azul Claro
Tales definiciones conviene situarlas en el prembulo del documento.
3.
Pginas en color
Los colores de fondo de las pginas se pueden cambiar con los comandos
\pagecolor{NombreColor}
\pagecolor[modelo]{codigo}
Ambos comandos cambian el color del fondo de la pgina actual y las siguientes hasta que se
cambie de nuevo el color de fondo, o bien se use \pagecolor{white} para regresar a pginas
sin color de fondo. En el presente documento, se ha utilizado el comando:
\pagecolor[gray]{0.9}
para cambiar el color de fondo de sta pgina, que es posteriormente cambiado de nuevo con
\pagecolor{white} en la pgina siguiente.
4.
Cajas coloreadas
\colorbox{NombreColor}{texto}
\colorbox[modelo]{codigo}{texto}
\fcolorbox{NombreColor contorno}{NombreColor relleno}{texto}
\fcolorbox[modelo]{codigo contorno}{codigo relleno}{texto}
donde \colorbox y \fcolorbox producen cajas sin marco y con marco, respectivamente.
Los siguiente ejemplos ilustran el uso de stos comandos, que permiten, al igual que \fbox,
la modificacin de grosores y separacin de los marcos redefiniendo \fboxrule y \fboxsep:
\colorbox{blue}{este texto esta
en una caja de color azul}\\
\colorbox[rgb]{0.5,0.5,1}{esta caja
es una mezcla de rojo y azul al 50\%}\\
\fcolorbox{red}{yellow}{caja de fondo
amarillo y contorno rojo}\\
\setlength{\fboxrule}{3 pt}
\fcolorbox{red}{yellow}{caja de fondo
amarillo y contorno rojo}\\
\setlength{\fboxsep}{5pt}
\fcolorbox{red}{yellow}{caja de fondo
amarillo y contorno rojo}
Ejercicio:
a) Dibujar la siguiente caja coloreada:
Apuntes de LATEX
Captulo 10: Conceptos avanzados sobre estructura de tablas
1.
El paquete array
El paquete array introduce una serie de mejoras sobre el entorno tabular estndar. La tabla siguiente
describe los nuevos elementos introducidos por el paquete:
Argumentos de los entornos estndar tabular y array
l, r, c, p{Ancho}
| @{Objeto}
m{Ancho}
Nuevo especificador de columna, similar a p{Ancho}, con la diferencia de que las entradas aparecen centradas en sentido vertical.
b{Ancho}
!{Objeto}
>{comando}
<{comando}
Para casillas tipo prrafo (p{Ancho}, m{Ancho} y b{Ancho}), es posible dividir el texto en varias
lneas, y justificarlo a cualquiera de los lados utilizando los comandos:
\raggedright El texto se ajusta slo por la izquierda
\centering Texto centrado
\raggedleft El texto se ajusta slo por la derecha
Dentro de cada casilla, cada lnea se separa utilizando el comando estndar \\. Es importante tener
en cuenta que, para la ltima casilla de una fila, se debe terminar con el comando \tabularnewline,
que indica a LATEX que hemos finalizado con esa fila de la tabla.
1
Ejemplo:
Planeta
\begin{tabular}{|l|c|} \hline
\multicolumn{1}{|p{1.5cm}|}{\centering %
Planeta} & \multicolumn{1}{p{4cm}|}%
{\centering Distancia media al sol \\
(millones de km)} \tabularnewline \hline
Mercurio & 58.1 \\
Venus & 108.3 \\
Tierra & 150.0 \\ \hline
\end{tabular}
Mercurio
Venus
Tierra
Cambiando los formatos p{1.5cm} y p{4cm} por m{1.5cm} y m{4cm} por b{1.5cm} y
b{4cm} obtendramos, respectivamente:
Planeta
Mercurio
Venus
Tierra
Planeta
Mercurio
Venus
Tierra
Vemos en los ejemplo anteriores que los puntos de los decimales no quedan bien alineados. Una
posible solucin sera colocar el signo . como separador de columna, de la siguiente forma:
\begin{tabular}{|l|r@{.}l|}
\hline
\multicolumn{1}{|m{1.5cm}|}{\centering %
Planeta} & \multicolumn{2}{m{4cm}|}%
{\centering Distancia media al sol \\
(millones de km)} \tabularnewline \hline
Mercurio & 58&1 \\
Venus & 108&3 \\
Tierra & 150&1 \\
\hline
\end{tabular}
Planeta
Mercurio
Venus
Tierra
Sin embargo, tal procedimiento no da buenos resultados para columnas muy anchas. La solucin, para
este caso, se encuentra en utilizar el paquete dcolumn. Este paquete introduce un nuevo separador, de
sintaxis:
D{separador1}{separador2}{Num}
donde separador1 es el decimal que utilizamos en el fichero .tex, y separador2 es el decimal que LATEX
colocar en la salida. Num denota el nmero mximo de decimales en la columna (el valor -1 equivaldra
a cualquiera). Por ejemplo, obtendramos el resultado deseado con:
\begin{center}
\begin{tabular}{|l|D{,}{.}{-1}|}
\hline
\multicolumn{1}{|m{1.5cm}|}{\centering %
Planeta} & \multicolumn{1}{m{4cm}|}%
{\centering Distancia media al sol \\
(millones de km)} \tabularnewline \hline
Mercurio & 58,1 \\
Venus & 108,3 \\
Tierra & 150,1 \\
\hline
\end{tabular}
\end{center}
Planeta
Mercurio
Venus
Tierra
Los argumentos >{comando} y <{comando} nos permiten hacer tiles manipulaciones por columnas.
Por ejemplo, si queremos poner en negrita, aadir color, etc... una columna en concreto, podemos
especificar:
\begin{center}
\begin{tabular}{|>{\bfseries}l|%
>{\color{red}}c|}
\hline
\multicolumn{1}{|m{1.5cm}|}{\centering %
Planeta} & \multicolumn{1}{m{4cm}|}%
{\centering Distancia media al sol \\
(millones de km)} \tabularnewline \hline
Mercurio & 58.1 \\
Venus & 108.3 \\
Tierra & 150.1 \\
\hline
\end{tabular}
\end{center}
Planeta
Mercurio
Venus
Tierra
Funcin
tangente
cosecante
Definicin
sen(x)
cos(x)
cos(x)
sen(x)
donde los contenidos de la segunda columna se escriben automticamente en modo matemtico tipo
prrafo.
Si un determinado formato de columna se va a repetir en varias tablas ( columnas), es conveniente utilizar el siguiente comando, proporcionado por el paquete array, que permite construir nuevos
formatos:
\newcolumntype{Carcter}{Definicin}
As por ejemplo, la expresin >$\displaystyle}c<{$} en la tabla anterior puede ser abreviada a X,
utilizando previamente:
3
\newcolumntype{X}{>$\displaystyle}c<{$}}
En tablas con lneas horizontales, las letras maysculas pueden quedar demasiado cerca de las lneas;
para solventar sto el paquete array proporciona la longitud \extrarowheight, que permite aadir una
pequea altura a cada lnea mejorando el resultado, como puede verse en el siguiente ejemplo (donde
adems, se muestra la diferencia entre los separadores @ y ! )
\newcolumntype{L}{>{\itshape}r}
\begin{tabular}{|l|L@{---}l|}
\hline
& Nombre & Name \\ \hline
1 & uno & one \\
2 & dos & two \\
3 & tres & three \\ \hline
\end{tabular}
\par \bigskip
\setlength{\extrarowheight}{2pt}
\begin{tabular}{|l|L!{---}l|}
\hline
& Nombre & Name \\ \hline
1 & uno & one \\
2 & dos & two \\
3 & tres & three \\ \hline
\end{tabular}
2.
1
2
3
1
2
3
NombreName
unoone
dostwo
tresthree
Nombre
uno
dos
tres
Name
one
two
three
El paquete multirow
El paquete multirow nos permite construir tablas en las que algunas celdas ocupan varias filas dentro
de un entorno tabular. Se utiliza la orden:
\multirow{nrow}{width}[vmove]{contenido}
donde: nrow es el nmero de filas a agrupar; width es el ancho de la columna; y vmove sirve para subir
o bajar el texto (opcional). Esta orden funciona de forma similar a \multicolumn, pero para filas.
Ntese que el formato m{Ancho} nos era de utilidad para centrar texto en el caso de columnas vecinas
de diferente altura; multirow es adecuado para centrar texto con respecto a varias columnas vecinas.
Por ejemplo:
\begin{tabular}{|l|r|r|}
\hline \multirow{4}{1.8cm}{Planeta}
& \multicolumn{2}{p{3.8cm}|}%
{\centering Distancia al sol \\
(millones de km)}\tabularnewline \cline{2-3}
& \multicolumn{1}{p{1.7cm}|}%
{\centering Maxima \\ distancia}
& \multicolumn{1}{p{1.7cm}|}%
{\centering Minima \\ distancia}
\tabularnewline \hline
Mercurio & 69.4
& 46.8\\
Venus
& 109.0 & 107.6\\
Tierra
& 152.6 & 147.4\\
\hline
\end{tabular}
Planeta
Mercurio
Venus
Tierra
Distancia al sol
(millones de km)
Maxima
Minima
distancia
distancia
69.4
46.8
109.0
107.6
152.6
147.4
Se aprecia que la entrada Planeta est justificada a la izquierda. Esto se debe a que el comando
\multirowsetup, que determina el modo en el que aparece el texto de \multirow, est definido por
defecto como \raggedright. Redefinindolo con \renewcommand*{\multirowsetup}{\centering} se
consigue un texto centrado:
\renewcommand{\multirowsetup}{\centering}
\begin{tabular}{|l|r|r|}
\hline \multirow{4}{1.8cm}{Planeta}
& \multicolumn{2}{p{3.8cm}|}%
{\centering Distancia al sol \\
(millones de km)}\tabularnewline \cline{2-3}
& \multicolumn{1}{p{1.7cm}|}%
{\centering Maxima \\ distancia}
& \multicolumn{1}{p{1.7cm}|}%
{\centering Minima \\ distancia}
\tabularnewline \hline
Mercurio & 69.4
& 46.8\\
Venus
& 109.0 & 107.6\\
Tierra
& 152.6 & 147.4\\
\hline
\end{tabular}
3.
Planeta
Mercurio
Venus
Tierra
Distancia al sol
(millones de km)
Maxima
Minima
distancia
distancia
69.4
46.8
109.0
107.6
152.6
147.4
El paquete hhline
El paquete hhline define el comando \hhline, que produce rayas dobles simples, y aade capacidades
para producir intersecciones bien construidas entre lneas horizontales y verticales. El comando se utiliza
como:
\hhline{ColumnasEIntersecciones}
donde la especificacin ColumnasEIntersecciones se hace utilizando los siguientes elementos:
= Una raya horizontal doble del ancho de una columna.
- Una raya horizontal simple del ancho de una columna.
Una columna sin raya horizontal.
| Una raya vertical que corta a una horizontal (simple doble).
: Una raya vertical que es partida por una horizontal doble. Detrs delante debe haber =.
# Dos rayas verticales que cortan a una horizontal doble.
t La semiparte superior de una horizontal doble.
b La semiparte inferior de una horizontal doble.
* Podemos usar la abreviatura: *{3}{==#} (por ejemplo), que se expande como ==#==#==# (sto
tambin es vlido para el entorno tabular bsico).
Los elementos anteriores se utilizan agrupados, para definir entrelazamientos con las rayas verticales.
Por ejemplo:
|t: Esquina superior izquierda del cruce de dos rayas dobles (p)
:t| Como el anterior, pero para la esquina superior derecha (q)
|b: Anlogo, para esquina inferior izquierda (x)
:b| Anlogo, para esquina inferior derecha (y)
|: Una raya vertical seguida de otra vertical que se cruza con una horizontal doble
:| Una raya vertical, que se ha cruzado con una horizontal doble, seguida de otra vertical
:: Enlace sin cortes entre dos rayas dobles
|| Raya vertical doble que no es atravesada por las rayas horizontales
# Corte de rayas dobles
El ejemplo siguiente ilustra las diferentes posibilidades de interseccin:
\begin{tabular}{||cc||c|c||}
\hhline{|t:==:t:==:t|}
a&b&c&d\\
\hhline{|:==:|~|~||}
1&2&3&4\\
\hhline{#==#~|=#}
i&j&k&l\\
\hhline{||--||--||}
w&x&y&z\\
\hhline{|b:==:b:==:b|}
\end{tabular}
4.
a
1
i
w
b
2
j
x
c
3
k
y
d
4
l
z
El objetivo del paquete colortbl es dar color al fondo de las tablas y a las rayas de separacin. Este
paquete basa su funcionamiento en los paquetes color y array, que se cargar automticamente al cargar
colortbl (podemos, por tanto, incluir en colortbl las opciones de controlador propias de color).
Para dar color a filas y columnas, podemos utilizar los comandos:
\columncolor[Modelo]{Color}[SepIzq][SepDer] (columnas)
\rowcolor[Modelo]{Color}[SepIzq][SepDer] (filas)
Debemos hacer aqu un pequeo inciso para explicar la sintaxis extendida del comando \color.
Podemos utilizar simplemente el comando \color{NombreColor}, que permite utilizar hasta 68 colores
predefinidos (con la opcin usenames del paquete color), contruir nuestros propios colores a medida
mediante el comando \color[Modelo]{Especificacin-de-color}. Podemos elegir, para Modelo,
entre las opciones:
6
rgb Especificacin-de-color debe ser una terna de nmeros entre 0 y 1, cada uno de los cuales
especifica la cantidad relativa de rojo, verde y azul en la mezcla
cmyk Anlogo, pero utilizando 4 nmeros que representan valores de cyan, magenta, amarillo
y negro
gray Un valor entre 0 y 1, especificando la proximidad al blanco negro del tono de gris
Todas stas posibilidades son extensibles a los comandos \columncolor y \rowcolor, por tanto. Los
argumentos (optativos) [SepIzq] y [SepDer] indican las longitudes (a izquierda y derecha, respectivamente) que el fondo de color debe exceder del espacio ocupado por el texto de la celda de la tabla. Por
defecto, su valor es \tabcolsep, lo cual quiere decir que si no se incluyen, el fondo de color ocupar
toda la celda.
Cada una de las dos versiones, para fila columna, debe utilizarse de forma diferente:
\columncolor se debe colocar como argumento del especificador de columna >{...} del paquete
array en la definicin de un nuevo tipo de columna a travs de \newcolumntype. Tambin podemos incluirlo dentro de un comando \multicolumn (para rellenar una sola celda, por ejemplo),
pero siempre utilizando >{...} en el argumento de \multicolumn.
\rowcolor debe aparecer SIEMPRE al comienzo de un fila. Debe tenerse en cuenta de que si
entrecruzamos declaraciones de color en filas y columnas, la declaracin \rowcolor prevalece, ya
que es la ltima en ser asignada.
Finalmente, el color de las lneas de separacin se controla mediante los comandos:
\arrayrulecolor[Modelo]{color} que fija el color de las lneas
\doublerulesepcolor[Modelo]{color} que fija el color del relleno entre lneas dobles
ADVERTENCIA FINAL: Slo est asegurada la obtencin del resultado correcto en el fichero final
.pdf (los visores .dvi pueden dar resultados algo extraos).
Ejemplos:
\begin{tabular}{|>{\columncolor[gray]{0.9}}l%
>{\color{white}\columncolor[gray]{0.6}}r|}
alfa & beta \\ gamma & delta
\end{tabular} \hspace{1cm}
\begin{tabular}%
{|>{\color{yellow}%
\columncolor[gray]{0.7}[0pt]}l|%
>{\columncolor{yellow}[0.5\tabcolsep]}r|}
alfa & beta \\ gamma & delta
\end{tabular}
alfa
gamma
beta
delta
alfa
gamma
beta
delta
\begin{tabular}{||c||c||}
\hhline{|t:=:t:=:t|}
\rowcolor{red} alfa & beta \\
\hhline{|:=::=:|}
\rowcolor{green} gamma & delta \\
\hhline{|b:=:b:=:b|}
\end{tabular}}
5.
alfa
beta
gamma
delta
Paquete longtable
Define el entorno longtable, que permite construir tablas que abarquen varias pginas.
Ejemplo:
\begin{longtable}{|c|c|c|}
\hline
NIF & Nota & Calificacin \\ \hline
45323459J & 7.2 & (NT) \\
etc...
71123261J & 9.5 & (MH) \\ \hline
\end{longtable}
NIF
45323459J
71283755Q
82410104V
61142427T
22413133X
21152619A
41520126Q
21151160Q
41342139A
19749402V
72186899A
09456969B
51138427W
11335720P
71276261C
21342465B
12442545F
91451213L
19329402V
72101499A
09303969B
52138427W
11937720P
71346261C
Nota
7.2
6.5
7.1
9.0
8.0
3.6
7.2
6.0
5.5
7.1
9.1
7.0
6.5
7.5
4.5
6.0
5.5
7.1
9.1
7.0
8
Calificacin
(NT)
(AP)
(NP)
(NT)
(SB)
(NP)
(NT)
(SS)
(NT)
(AP)
(AP)
(NT)
(SB)
(NP)
(NT)
(AP)
(NT)
(SS)
(AP)
(AP)
(NT)
(SB)
(NP)
(NT)
21936765B
12356545F
91341213L
19349402V
72101099A
09305969B
51138427W
11137720P
71276261C
21932465B
12392545F
91941213L
71147749P
71126520J
73140778F
71123261J
6.5
7.5
4.5
6.0
5.5
7.1
9.1
7.0
6.5
7.5
4.5
3.0
5.0
7.2
9.5
(AP)
(NT)
(SS)
(AP)
(AP)
(NT)
(SB)
(NP)
(NT)
(AP)
(NT)
(SS)
(SS)
(AP)
(NT)
(MH)
Veamos ahora como colocar una cabecera comn a todas las pginas, otra especial para el principio
de la tabla, un pie de tabla general y otro especial para el fin de la tabla (adems de leyendas); los
textos, formatos de encabezamiento de tabla (multicolumn, columnas normales, etc...) han de ser
colocados respectivamente antes de las marcas \endfirsthead, \endhead, \endfoot y \endlastfoot.
Todo esto se ilustra en el siguiente ejemplo:
(Ms detalles en la documentacin del paquete)
\begin{longtable}{|c|c|c|}
\caption{Notas finales del primer ejercicio} \\
\hline \multicolumn{3}{|c|}{Notas del grupo C} \\
\hline NIF & Nota & Calificacin \\ \hline
\endfirsthead
\caption{Continuacin de la tabla} \\
\hline
NIF & Nota & Calificacin \\ \hline
\endhead
\multicolumn{3}{c}{(sigue en la pgina siguiente)} \\
\endfoot
\multicolumn{3}{c}{(Fin de la tabla)} \\
\endlastfoot
45323459J & 7.2 & (NT) \\
etc...
71123261J & 9.5 & (MH) \\ \hline
\end{longtable}
(NP)
61142427T
7.1
(NT)
22413133X
9.0
(SB)
21152619A
(NP)
41520126Q
8.0
(NT)
21151160Q
3.6
(SS)
41342139A
7.2
(NT)
19749402V
6.0
(AP)
72186899A
5.5
(AP)
09456969B
7.1
(NT)
51138427W
9.1
(SB)
11335720P
(NP)
71276261C
7.0
(NT)
21342465B
6.5
(AP)
12442545F
7.5
(NT)
91451213L
4.5
(SS)
19329402V
6.0
(AP)
72101499A
5.5
(AP)
09303969B
7.1
(NT)
52138427W
9.1
(SB)
11937720P
(NP)
71346261C
7.0
(NT)
21936765B
6.5
(AP)
12356545F
7.5
(NT)
91341213L
4.5
(SS)
19349402V
6.0
(AP)
72101099A
5.5
(AP)
09305969B
7.1
(NT)
51138427W
9.1
(SB)
11137720P
(NP)
71346261C
7.0
(NT)
21936765B
6.5
(AP)
19349402V
6.0
(AP)
72101099A
5.5
(AP)
09305969B
7.1
(NT)
51138427W
9.1
(SB)
11137720P
(NP)
71276261C
7.0
(NT)
21932465B
6.5
(AP)
12392545F
7.5
(NT)
91941213L
4.5
(SS)
(sigue en la pgina siguiente)
10
Paquete tabularx
6.
Este paquete introduce el entorno tabularx, que permite construir tablas con una anchura total
predeterminada; para ello se declara la anchura total como argumento del entorno, y se introduce un
nuevo formato de columna X, equivalente al p{Ancho}, donde la anchura se calcula automticamente
de forma que la anchura final de la tabla sea la requerida; vanse los siguientes ejemplos:
\begin{tabularx}{8cm}{|XcXcXcX|}
\hline & test1 & & test2 & & test3 & \\
\hline & test4 & & test5 & & test6 & \\
\hline
\end{tabularx}
\begin{tabularx}{10cm}{|c|X|c|X|}
\hline
\multicolumn{2}{|c|}{Ejemplo de multicolumna} & TRES & CUATRO \\
\hline uno & La longitud de esta columna depende de la anchura total
de la tabla & dos & Esta otra columna tambien variara de anchura, de
la misma forma que lo hace la segunda
\footnote{Se pueden colocar notas al pie con tabularx!}\\
\hline
\end{tabularx}
test1
test4
test2
test5
Ejemplo de multicolumna
uno La longitud de esta columna depende
de la anchura total
de la tabla
test3
test6
TRES
dos
CUATRO
Esta otra columna
tambien variara de
anchura, de la misma forma que lo hace la segunda 1
11
7.
Paquete slashbox
\noindent
\begin{tabular}{|c||*{5}{c|}}\hline
\backslashbox{Sala}{Fecha} & 31/5 & 1/6 & 2/6 &
3/6 & 4/6 \\ \hline Aula A4 &&&&&\\\hline
Aula III &&&&&\\\hline Seminario &&&&&\\\hline
\end{tabular}
PP
PP Fecha
31/5
PP
Sala
PP
P
Aula A4
Aula III
Seminario
8.
1/6
2/6
3/6
4/6
El siguiente ejemplo ilustra las posibilidades de LATEXpara programar utilidades interesantes; para
una tabla con numerosas columnas, es til introducir un color de fondo en la mitad de las filas para
hacer ms fcil la lectura. Definimos un nuevo contador rowparity, que lleve la cuenta de la paridad
de las filas de la tabla, y a continuacin un comando \X que en vez de simplemente cambiar de lnea
efecte las siguientes acciones:
Sume 1 al contador rowparity
Salte de lnea con \tabularnewline
Decida en funcin de la paridad de rowparity (condicional ifodd)
si aadir el comando \rowcolor[gray]{0.9} no
\newcounter{rowparity}%
\newcommand{\X}{%
\addtocounter{rowparity}{1}%
\tabularnewline%
\ifodd\value{rowparity}%
\rowcolor[gray]{0.9}\fi}
Hola
Hola
Hola
Hola
Hola
Hola
Hola
{\setlength{\arrayrulewidth}{1pt}
\begin{tabular}{|c|ccc|}
\hline
Hola & Pepe & Juan & Jesus \\ \hline
Hola & Pepe & Juan & Jesus \X
Hola & Pepe & Juan & Jesus \X
Hola & Pepe & Juan & Jesus \X
Hola & Pepe & Juan & Jesus \X
Hola & Pepe & Juan & Jesus \X
Hola & Pepe & Juan & Jesus \\ \hline
12
Pepe
Pepe
Pepe
Pepe
Pepe
Pepe
Pepe
Juan
Juan
Juan
Juan
Juan
Juan
Juan
Jesus
Jesus
Jesus
Jesus
Jesus
Jesus
Jesus
Apuntes de LATEX
Captulo 13: El paquete titlesec*
1.
Mediante el paquete titlesec es posible cambiar de forma libre el aspecto de las unidades
de estructura (captulo, secciones, subsecciones, etc...) dentro de un documento. Para ello, se
utiliza comando \titleformat (que deberamos declarar en el prembulo) con el siguiente
formato:
\titleformat{\Comando de Estructura}[Tipo]{Formato}{Etiqueta}{Separacin}
{Cdigo anterior}[Cdigo posterior]
Donde cada una de las opciones del comando (se debe tener cuidado con la sintaxis del comando, algunas van entre llaves y otras entre corchetes) tiene los siguientes significados:
Comando de Estructura: El comando para la unidad de estructura cuyo formato
deseamos cambiar; e.g., \chapter, \section, etc...
Tipo: La forma bsica para el encabezamiento de la unidad de estructura; se dispone
de las siguientes opciones:
hang Formato similar a las clases estndar:
\titleformat{\section}[hang]
{\itshape}{\thesection.}{1cm}
{}
\section{Ejemplo tipo hang I}
Texto Texto Texto Texto Texto
Texto Texto Texto Texto Texto
Texto Texto Texto Texto Texto
1.
\vspace{1cm}
\titleformat{\section}[hang]
{\itshape}{\footnotesize
SECCIN \thesection \ --- }{0pt}
{\upshape\bfseries}
\section{Ejemplo tipo hang II}
Texto Texto Texto Texto Texto
Texto Texto Texto Texto Texto
Texto Texto Texto Texto Texto
*
SECCIN 2
La documentacin completa del paquete (en ingls) se encuentra en el archivo titlesec.pdf disponible en
el apartado de apuntes.
El paquete titlesec
Apuntes de LATEX
display Pone la etiqueta y el texto del ttulo en lneas separadas; ntese como
ahora el valor Separacin es aplicado ahora en direccin vertical:
\newcommand{\caja}[1]
{\fbox{\large\bfseries #1}}
\titleformat{\section}[display]
{\filcenter\itshape}{Seccin
\thesection.}{1mm}{\caja}
\section{Ejemplo tipo display}
Ntese el truco para enmarcar el
ttulo en una caja; definimos
primero el comando caja, que
depende de una variable, y luego
lo usamos en el campo Cdigo
anterior, que asigna a la
variable el texto del ttulo de
la seccin. Asimismo, ver cmo
el comando filcenter centra todo.
Seccin 1.
runin Integra el ttulo de seccin dentro de la primera lnea del prrafo que
comienza la seccin:
\titleformat{\section}[runin]
{\scshape\bfseries}
{\color{blue} \S \thesection .}
{1ex}{\color{blue}}[.\quad]
\section{Ejemplo runin}
Texto Texto Texto Texto Texto
Texto Texto Texto Texto Texto
Texto Texto Texto Texto Texto
SECCIN 1
SECCIN 2
El paquete titlesec
Apuntes de LATEX
El paquete titlesec
Apuntes de LATEX
Para dibujar lneas horizontales se dispone del comando \titlerule[grosor]; ste comando dispone de la versin con asterisco \titlerule*{Objeto}, que permite dibujar copias
repetidas de un objeto dado. El comando \titleline[justificacin]{Material} permite
introducir material horizontal en argumentos de \titleformat que esperan material vertical.
La variante \titleline*[justificacin]{Material} permite introducir el material en una
caja de anchura \titlewidth (variable de longitud que almacena la anchura del ttulo) Es
esencial, a la hora de utilizar sta variante, cargar el paquete titlesec con la opcin calcwidth en
el prembulo: \usepackage[calcwidth]{titlesec} Vase en el siguiente ejemplo una aplicacin prctica de stos comandos; tmese nota especialmente del uso del parmetro optativo
[justificacin] (con los valores habituales r,l,c) para centrar las lneas:
\titleformat{\section}[display]
{\filcenter\normalfont\bfseries\sffamily}
{Seccin \huge\thesection}{0pt}
{\titleline*[c]{\titlerule[1pt]}
Seccin
\vspace{2pt}\titleline*[c]
{\titlerule*{\tiny\textbullet}}
Ttulo tipo display adornado
\vspace{2pt}}[{\titleline*[c]
{\titlerule*{\tiny\textbullet}}\vspace{2pt}
Texto de la seccin...
\titleline*[c]{\titlerule[1pt]}}]
\section{Ttulo tipo display adornado}
Texto de la seccin...
Para especificar una indentacin arbitraria en los distintos elementos del ttulo, se utiliza
el comando:
\titlespacing{\Comando de estructura}{Indentacin Izq.}
{Espacio anterior}{Espacio posterior}{Indentacin Der.}
Donde las opciones de indentacin a derecha izquiera se pueden utilizar para cambiar la
anchura y colocacin del ttulo, y las opciones de espacios anterior y posterior especifican los
espacios a dejar antes y despus del ttulo, respectivamente. stas longitudes, de tipo elstico,
se especifican a travs de la declaracin *f (siendo f un factor decimal), lo cual equivale a f
unidades ex con una cierta elasticidad. Ver los siguientes ejemplos:
Texto Texto Texto...
\titleformat{\section}[display]
{\normalfont}{\filcenter\fbox{\footnotesize
SECCIN 1
SECCIN \thesection }}{5pt}{\large\bfseries}
\titlespacing{\section}{1cm}{*1}{*1}[1cm]
Ejemplo con texto justiTexto Texto Texto...
ficado 1 cm a ambos mr\section{Ejemplo con texto justificado
genes
1 cm a ambos mrgenes}
Texto de la seccin Texto de la seccin...
Texto de la seccin Texto de la seccin...
\bigskip
\titleformat{\section}[display]{\normalfont}
{\footnotesize\fbox{ SECCIN \thesection }}
SECCIN 2
{5pt}{\large\bfseries}
Ejemplo con texto
\titlespacing{\section}{1.5cm}{*3}{*3} %
justificado 1.5 cm a
[1.5cm]
ambos mrgenes
\section{Ejemplo con texto justificado
1.5 cm a ambos mrgenes}
Texto de la seccin Texto de la seccin...
Texto de la seccin Texto de la seccin...
El paquete titlesec
\newcommand{\cajon}[1]{\fbox %
{\parbox{4cm}{\large\bfseries #1}}}
\titleformat{\section}[display]
{\normalfont}{\footnotesize\fbox{ %
SECCIN \thesection }}
{5pt}{\cajon}
\titlespacing{\section}{1cm}{*2}{*2}
\section{Ejemplo con texto
a 1 cm del margen izquierdo}
Notar cmo utilizamos un parbox dentro
de una fbox para encuadrar el ttulo y
especificar su anchura
Apuntes de LATEX
SECCIN 1
2.
Para cambiar el estilo de los encabezamientos y/ pies de pgina, debemos en primer lugar
declarar en el prembulo el nombre de uno (o varios) nuevos estilos con el comando:
\newpagestyle{Nombre de Estilo}[Estilo Global]{Comandos}
Despus, podemos utilizarlos en el lugar lugares que nos convenga dentro del documento con
la intruccin:
\pagestyle{Nombre de Estilo}
En el parmetro optativo Estilo Global podemos incluir comandos generales (tamao de
tipo de letra, negrita, itlica, etc... que afectarn a todas las partes de la cabecera pie de
pgina; en el parmetro Comandos, se introducen las especificaciones concretas de formateado
de encabezamientos. Disponemos de los siguientes comandos:
\headrule Dibuja una lnea horizontal bajo el encabezamiento de pgina.
\setheadrule{grosor} Versin anloga donde podemos cambiar el grosor de lnea.
\footrule Dibuja una lnea horizontal sobre el pie de pgina.
\setfootrule{grosor} Versin anloga donde podemos cambiar el grosor de lnea.
El paquete titlesec
Apuntes de LATEX
Los comandos:
\sethead[even-left][even-center][even-right]{odd-left}{odd-center}{odd-right}
\setfoot[even-left][even-center][even-right]{odd-left }{odd-center}{odd-right}
se utilizan para introducir los contenidos de las cabeceras pies de pgina, pudiendo especificarse lo que se desea colocar a derecha, izquierda en el centro, para pginas pares e impares
(si se tiene activada la opcin de documento twoside).
Como ejemplo, observese el formato del presente documento, obtenido mediante las declaraciones:
\newpagestyle{estiloA}[\large\sffamily]{\headrule
\sethead{El paquete titlesec}{\thesection. \ \sectiontitle}{Apuntes de \LaTeX}
\footrule\setfoot{}{\usepage}{}}
\pagestyle{estiloA}
donde el comando \sectiontitle permite escribir el ttulo the la seccin. Es importante
observar el caso del ttulo de la seccin 1, demasiado largo; para escribir una versin abreviada,
se utiliza el comando:
\sectionmark{Ttulo abreviado}
justo tras el comando \section{Ttulo completo}, donde Ttulo abreviado ser lo que
aparezca en el encabezamiento de pgina.
Podemos especificar libremente la estructura (el contenido viene dado por los comandos
\sethead y \setfoot) de los encabezamientos pies a travs de la redefinicin de los comandos
\makeheadrule y \makefootrule, que en su forma estndar vienen definidos por:
\renewcommand{\makeheadrule}{\rule[-.3\baselineskip]{\linewidth}{0.4pt}}
(con anloga definicin para \makefootrule)
Por ejemplo, prubese el siguiente cdigo en un documento nuevo:
\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage{color}
\usepackage[calcwidth]{titlesec}
\newpagestyle{estiloA}[\large]{\headrule
\sethead{Ttulo del Trabajo}{\thesection. \ \sectiontitle}{\thepage}}
\pagestyle{estiloA}
\renewcommand{\makeheadrule}{%
\makebox[0pt][l]{\rule[.9\baselineskip]{\linewidth}{0.8pt}}%
\rule[-.4\baselineskip]{\linewidth}{0.8pt}}
\begin{document}
El paquete titlesec
Apuntes de LATEX
\section{Primera seccin}
Bla bla bla...
\newpage
\section{Segunda seccin}
Bla bla bla...
\newpage
\section{Tercera seccin}
Bla bla bla...
\end{document}
(es importante tener en cuenta que se debe redefinir \makeheadrule DESPUS del comando
\pagestyle{Estilo}).
Ejercicios:
Partiendo de la plantilla CochesYSistemas.tex, formatear los tres ejemplos colgados en el
apartado Ejemplos de la pgina web de la asignatura.
3.
Apuntes de LATEX
Captulo 9: Dibujando con LATEX
(Introduccion al paquete PSTricks)
Introducci
on
Ya hemos visto el procedimiento para incluir graficos postscript generados por un programa externo en nuestro documento, mediante el comando \includegraphics. Sin
embargo, existe tamben la posibilidad de crear graficos postscript directamente dentro del documento, utilizando una amplia variedad de paquetes y extras disponibles en
LATEX.
El entorno picture permite producir graficos sencillos. Sin embargo, sus capacidades
son bastante limitadas, con lo que realizar graficos complicados es lento y difcil. A
pesar de que existen un par de paquetes (epic y eepic) que introducen algunas mejoras,
no los estudiaremos aqu y nos centraremos exclusivamente en la coleccion de paquetes
PSTricks, mucho mas avanzados. El estudiante curioso puede encontrar documentacion
extensa de picture, epic y eepic en los archivos Picture.pdf, Epic.pdf y Eepic.pdf.
En lneas generales, los paquetes de PSTricks permiten realizar las siguientes tareas:
dibujar lneas, polgonos, crculos y curvas
colocar, escalar y manipular objetos LATEX
realizar graficas de funciones o de listas de datos, incluyendo ejes etiquetados
colorear lneas, letras y regiones
realizar diagramas de nodos con conexiones (estructuras de arbol)
crear ficheros postscript EPS con el compilador LATEX
En definitiva, los comandos LATEX proporcionados por el paquete PSTricks son un
conjunto de macros que traducen los comandos propios del lenguaje PostScript.
1
2
2.1
Nociones b
asicas
Entorno pspicture
Posici
on es un parametro optativo entre 0 y 1, que establece la posicion relativa del
dibujo y de la lnea base (0 equivaldra a la lnea base pasando por la parte de abajo,
con 1 tendramos la lnea base pasando por encima del dibujo, y con 0.5 la lnea base
pasara por el centro del dibujo). Los pares de coordenadas (x0,y0) y (x1,y1) establecen
el sistema de coordenadas para la caja, con (x0,y0) representando la esquina inferior
izquierda y (x1,y1) la esquina superioir derecha. Por defecto la unidad de distancia es
1cm, pero esto puede cambiarse con:
\psset{unit=NuevaUnidadDeDistancia}1
s0
a
1 round(X)
d1 . . . d 4
3
4
X
g
1 round(X)
Y = Y X
Y X
X
1 round(Y )
h1 . . . h 4
i1 . . . i 4
j
1
2
1 round(X)
l1 . . . l 4
1 round(Y )
m1 . . . m 4
11
5
8
3
2
12
10
9
2.2
Coordenadas polares
2.3
Colores
Utilizando el paquete pst-all disponemos de todos los colores del paquete color. Ademas,
podemos definir nuevos colores con el comando:
\definecolor{Nombre}{Modelo}{Especificaci
on}
donde los modelos son los mismos que los del paquete color.
2.4
Cuadrculas
1
0
1
1
0
0
Los Par
ametros permiten modificar la apariencia de la cuadrcula, como se ve en los
siguientes ejemplos:
4
Parametro
Significado
Defecto
Ejemplo
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
1
N
umero de
subdivisiones
\psgrid[subgriddiv=1]%
0
subgriddiv
de la
5
(0,0)(2,1)
0
1
2
cuadrcula
principal
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
gridwidth
Anchura de
lnea de la
cuadrcula
principal
0.8 pt
\psgrid[gridwidth=2pt]%
(0,0)(2,1)
0
0
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Anchura de
las lneas de
0.4 pt
subgridwidth
la
subcuadrcula
\psgrid[gridwidth=2pt,%
subgridwidth=1pt]%
(0,0)(2,1)
0
0
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Si el n
umero es
positivo, las
1
lneas de la
\psgrid[griddots=10,%
cuadrcula
0
griddots
subgriddiv=1]%
0
principal son
1
2
0
(0,0)(2,1)
punteadas, con
griddots
puntos por
. . . . . . . . . . . . divisi
. . . . . .o.n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
subgriddots
Analogo al
anterior, pero
para la
subcuadrcula
\psgrid[subgriddots=5]%
(0,0)(2,1)
0
0
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Parametro
Significado
Defecto
Ejemplo
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
gridlabels
Tama
no de
fuente de las
etiquetas de
los ejes
10 pt
\psgrid[gridlabels=7pt]%
(0,0)(2,1)
0
0
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
1
gridcolor
Color de las
lneas de la
cuadrcula
Black
\psgrid[gridcolor=blue]%
(0,0)(2,1)
0
0
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
1
subgridcolor
Color de las
lneas de la
Black
subcuadrcula
\psgrid[gridcolor=blue,%
subgridcolor=red]%
(0,0)(2,1)
0
0
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Color de las
gridlabelcolor etiquetas de
los ejes
Black
\psgrid[gridcolor=blue,%
subgridcolor=red,%
gridlabelcolor=blue]%
(0,0)(2,1)
1
0
0
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
3
3.1
Algunos objetos gr
aficos
Puntos
Estilo Punto
Estilo Punto
Estilo Punto
Estilo Punto
b
c
b
*
|
o
+
|
+
d
l
l
x
asterisk
diamond
diamond*
*r
s
r
square
square*
oplus
otimes
p
q
q
t
u
u
pentagon
pentagon*
triangle
triangle*
Nota: Para algunos estilos, se observa como la version con asterisco (*) produce una
figura rellena. Otros muchos comandos (todos los que delimitan curvas, por ejemplo)
rellenan el area limitada por la curva (con el mismo color del contorno) cuando se emplea
la version con asterisco.
Ejemplo:
4
\begin{pspicture}(6,4)
\psgrid \psdots[dotstyle=pentagon*,%
dotsize=10pt](1,1)(2,2)
\psdots(3,4)(4,3)(5,2)
\end{pspicture}
1
0
0
3.2
Lneas rectas
Resultado
Estilo
->
<<->>
|<->|
|<*->|*
o-o
oo-oo
Resultado
Estilo
<->
[-]
(-)
c-c
cc-cc
C-C
Resultado
En cuanto a los parametros, podemos modificar los siguientes valores, que tambien
son validos para modificar propiedades de lneas curvas (al final, entre parentesis, se dan
los valores por defecto):
7
dashed lnea discontinua de segmentos de longitud Long1 situados a una distancia Long2 ; estas longitudes se cambian declarando el parametro dash=Long1
Long2 con el comando \psset{...}
dotted lnea de puntos, situados a una distancia dotsep=Long (tambien modificable con \psset{...})
linearc Valor del radio de la circunferencia utilizada para suavizar angulos de lneas
poligonales (0)
arrows Describe los extremos de lneas abiertas. Sirve como alternativa al argumento
optativo TipoDeFlecha (-)
doubleline Si toma el valor true se dibujan lneas dobles, separadas por la distancia
doublesep, y con color para la zona intermedia doublecolor (ambos parametros
modificables con \psset) (false)
showpoints Si toma el valor true se dibujan puntos en los angulos intermedios de
la lnea (false)
Ejemplo:
\psset{unit=5mm,doublecolor=gray,%
doublesep=3pt}
\begin{pspicture}(12,10)
\psgrid[subgriddiv=1]
\psline(2,4)(4,9)
\psline[linewidth=0.3,%
linecolor=gray]{<-}(2,2)(5,2)
\psline[linestyle=dashed,arrows=->]%
(8,6)(7,7)(9,9)
\psline[linearc=0.2,doubleline=true]%
(7,3)(8,4)(9,3)(10,5)
\end{pspicture}
10
9
8
7
6
5
4
3
2
1
0
b
b
0 1 2 3 4 5 6 7 8 9 10 11 12
3.3
Curvas
Podemos trazar diversos tipos de curvas con PSTricks; en ellas podemos utilizar los
parametros ya explicados para rectas. Para curvas cerradas, ademas se pueden especificar:
fillcolor Color de relleno (white)
fillstyle Estilo de relleno; los posibles estilos son none, solid, vlines, vlines*,
hlines, hlines*, crosshatch, crosshatch y gradient (disponible en el paquete pst-grad, y para el cual hay que especificar los colores inicial (gradbegin) y
final (gradend). Para los estilos vlines, hlines y crosshatch se hace un relleno con lneas, cuyo angulo, separacion y color son modificables con hatchangle,
hatchsep y hatchcolor, respectivamente. Las versiones con asterisco superponen
el relleno de lneas con el relleno tipo solid. (none)
shadow Con el valor true a
nade una sombra al objeto, de tama
no shadowsize, a
un angulo shadowangle y en color shadowcolor. (false)
Curvas bezier: Obtenidas por interpolacion c
ubica de cuatro puntos, mediante
el comando: \psbezier[Par
ametros](x0 , y0 )(x1 , y1 )(x2 , y2 )(x3 , y3 ) Para este comando el parametro showpoints muestra los puntos utilizados para calcular la
curva
Curvas con splines: Existen 3 variantes:
\pscurve[Par
ametros](x0 , y0 )(x1 , y1 )...(xn , yn )
\psecurve[Par
ametros](x0 , y0 )(x1 , y1 )...(xn , yn )
\psccurve[Par
ametros](x0 , y0 )(x1 , y1 )...(xn , yn )
En la variante \psecurve solo se traza la curva entre (x1 , y1 ) y (xn1 , yn1 ), aunque
se usan el primer y u
ltimo puntos para calcularla. La variante \psccurve traza
una curva cerrada enlazando el u
ltimo punto con el primero
Representacion grafica de una serie de datos: Disponemos de dos comandos para
representar graficamente una funcion a partir de datos externos:
\savedata{\VariableDatos}[Datos]
\readdata{\VariableDatos}{FicheroDatos}
Los dos crean una comando \VariableDatos donde se almacenan los datos. El
primero de ellos lee los Datos directamente de una lista, y con el segundo los
leemos de una archivo FicheroDatos que los contenga. Una vez cargados, se puede
representar los datos con:
\dataplot[Par
ametros]{\VariableDatos}
El estilo de la curva se especifica con el parametro plotstyle, que puede tomar los
9
valores line (defecto), dots, curve, ecurve y ccurve (con el mismo significado
que en el comando pscurve). Tambien se puede declarar el origen de referencia
de los datos con el parametro origin={x0 .y0 }
Ejemplos:
4
\begin{pspicture}(7,4)
\psgrid
\definecolor{migris}{gray}{0.35}
\psbezier[showpoints=true]%
(1,1)(2,3)(3,1)(4,2)
\psbezier*[linecolor=migris]%
(5,3)(6,1)(6.5,4)(7,4)
\end{pspicture}
0
0
\begin{pspicture}(7,4)
\psgrid \pscurve[showpoints=true]%
(1,1)(2,4)(3,1)(2,1)(1,3)(2,3)
\psccurve[fillstyle=solid,%
fillcolor=yellow]%
(4,1)(6,1)(5,2)(5,3)(4,3)
\end{pspicture}
2
1
\readdata{\misdatos}{bessel.txt}
\psset{xunit=0.25cm,yunit=4cm}
\begin{pspicture}(0,-0.35)(18,0.55)
\dataplot[plotstyle=curve]{\misdatos}
\psline{<->}(0,-0.35)(0,0.55)
\psline{->}(0,0)(18,0)
\dataplot[origin={-3,0},%
showpoints=true]{\misdatos}
\dataplot[origin={-6,0},%
plotstyle=curve,%
linestyle=dashed]{\misdatos}
\end{pspicture}
3.4
0
0
b
b
b
b
b
b
b
b
b
b
Polgonos, rect
angulos, elipses, etc...
\psframe[Par
ametros](x0 , y0 )(x1 , y1 ) (v`ertices inferior derecho y superior izquierdo)
Para elipses:
\psellipse[Par
ametros](x0 , y0 )(A,B) (centro y semiejes mayor y menor)
Para crculos, arcos de circunferencia y sectores circulares tenemos:
\pscircle[Par
ametros](x0 , y0 ){Radio}
\psarc[Par
ametros](x0 , y0 ){Radio}{AnguloIni}{AnguloFin}
\pswedge[Par
ametros](x0 , y0 ){Radio}{AnguloIni}{AnguloFin}
Colocando objetos
Podemos colocar cualquier objeto LATEX dentro de un entorno pspicture con los comandos:
\rput[Posici
on]{Rotaci
on}(x,y){Objeto}
\uput{Separaci
on}[Angulo]{Rotaci
on}(x,y){Objeto}
que colocan Objeto en las coordenadas (x,y). Con \rput podemos indicar tambien la
posicion con respecto al punto (x,y), con una combinacion de l,r,t,b (left, right, top, bottom), y rotarlo con un angulo Rotaci
on. El comando \uput permite indicar la distancia
Angulo.
Separaci
on entre el objeto y el punto (x,y), en la direccion dada por
Ejemplo:
5
4
LATEX
dx
\begin{pspicture}(6,5)
\psgrid[subgriddiv=1]
\rput[bl]{45}(1,1){\Large%
$\int_0^1 \frac{\sin x}{x} dx$}
\psdots(4,3)
\uput{1}[90](4,3){\LaTeX}
\end{pspicture}
sin
x x
1
0
0
\psshadowbox[Par
ametros]{Objeto}
\psdiabox[Par
ametros]{Objeto}
11
\pstribox[Par
ametros]{Objeto}
\psovalbox[Par
ametros]{Objeto}
\pscirclebox[Par
ametros]{Objeto}
Para incluir varias copias de un mismo objeto tenemos la siguiente variante de \rput:
\multirput[Posici
on]{Rotaci
on}(x0 , y0 )(x, y){NumVeces}{Objeto}
que repite Objeto el n
umero de veces NumVeces, siendo (x, y) el vector desplazamiento. [Posici
on] y {Rotaci
on} (optativos) tienen el mismo significado que para
\rput
Si el objeto a repetir esta formado solo por dibujos PSTricks, se puede utilizar el
comando:
\multips{Rotaci
on}(x0 , y0 )(x, y){NumVeces}{Objeto}
analogo a \multirput, que puede utilizar tambien coordenadas polares.
Una variante mas sofisticada es cargar el paquete multido, que proporciona el comando:
\multido{Variables}{NumVeces}{Acci
on}
que permite repetir acciones en funcion de parametros variables. Las variables pueden
ser \d para una longitud, \n para un n
umero (entero o decimal), \i para un entero, y
\r para un n
umero decimal. Podemos declarar expresiones como \n=Nini+Delta (ojo!
si delta es negativo, hay que escribir de todos modos: \n=Nini+-0.1, por ejemplo)
Ejemplo:
\psset{unit=2cm}
\begin{pspicture}(-1,-1)(1,1)
\psgrid
\multido{\r=1+-0.1666,%
\d=1.2+-0.4}{6}{%
\definecolor{gris}{gray}{\r}
\pscircle[fillstyle=solid,%
fillcolor=gris](0,0){\r}
\rput(1.8,\d){r=\r}}
\end{pspicture}
r=1.0
r=0.8334
r=0.66681
0
r=0.50021
r=0.33362
r=0.16702
-1
-1
12
1.
El paquete bardiag
1.1.
Un ejemplo sencillo
200
176
150
120
1999
132
123
1998
Ingresos
147
100
2002
2001
2000
50
Ao
El diagrama se abre con el comando \bardiagrambegin y se termina con el comando
\bardiagramend. Los argumentos de \bardiagrambegin son:
\bardiagrambegin{diagheight}{diagwidth}{bottomheight}{dbar}{dx}{xunit}{yunit}
1
1.2.
Agrupamiento de barras
Ejercicio:
Mujeres mayores de 30
200
Mujeres menores de 30
Hombres mayores de 30
Hombres menores de 30
93
78
150
Ingresos
101 96
100
100
90
89
64
64
81
92
83
64
50
52
37 38
43
2002
2001
2000
1999
28
1998
23
0
70
Ao
1.3.
Efectos 3D
1.4.
\newpsstyle{myfill}{fillstyle=vlines*,hatchsep=8pt,hatchangle=30}
\baritem[style=myfill]{xxx}{nnn}{gray}
Utilizar sto para hacer algo parecido al siguiente grfico: (ayuda: el comando \renewcommand{\shownumbers}{0}
sirve para eliminar los valores)
1000
900
800
Number of smth
700
600
500
400
300
200
100
0
1.5.
Here
There
Elsewhere
Otro ejercicio
Notar que la longitud de los efectos 3D puede cambiarse a travs de los parmetros
\tdx y \tdx (nmeros que se miden en unidades \dbar, i.e., la anchura de la barra). Se
deben cambiar con el comando \renewcommand
Graduated ( %)
72
1990
50
Alphas
2000
63
2010
81
6
1990
99
Betas
50
Year
2000
2010
41
30
Gammas
1990
2000
21
2010
Apuntes de LATEX
Captulo 9-2: Dibujando con LATEX
(Mas cosas sobre PSTricks)
Nodos y conexiones
1.1
Definici
on de nodos
\circlenode[Par
ametros]{NombreNodo}{Objeto} Encierra Objeto en un
crculo y le asigna un nombre de nodo.
\ovalnode[Par
ametros]{NombreNodo}{Objeto} Encierra Objeto en un ovalo
y le asigna un nombre de nodo
1.2
Conexiones
Para conectar dos nodos, existe una variedad de comandos, que se diferencia en el modo
en el que se establece la conexion (recta, curva, zig-zag, etc..). Todos ellos comienzan
por nc y tienen la misma sintaxis:
\ncTipodeConexion[Par
ametros]{TipoDeFlecha}{NodoA}{NodoB}
donde en Par
ametros podemos especificar diversas propiedades de la lnea de conexion
(grosor, color, tipo, etc...), y y en TipoDeFlecha si queremos puntas de flecha. NodoA y
NodoB son los nombres de los nodos que queremos conectar. Veamos ahora con ejemplos
graficos sencillos los distintos tipos de conexion:
\ncline
\begin{pspicture}(4,2)
\rput(1,0){\rnode{A}{Idea 1}}
\rput(4,2){\rnode{B}{Idea 2}}
\ncline[nodesep=4pt,%
linewidth=1pt]{<->}{A}{B}
% nodesep es la separaci
on entre
% un nodo y el final de la l
nea
% de conexi
on
\end{pspicture}
Idea 2
Idea 1
Idea 2
Idea 1
\ncarc
\begin{pspicture}(4,2)
\rput(1,0){\circlenode{A}{X}}
\rput(4,2){\circlenode{B}{Y}}
\psset{nodesep=3pt,%
linewidth=1.5pt,arrowsize=8pt}
\ncarc{->}{A}{B}
\ncarc{->}{B}{A}
\end{pspicture}
\ncbar angle controla los angulos a los que salen las conexiones,
y arm la longitud del brazo de la conexion
\rnode{A}{Conexiones}
\rnode{B}{dentro}
\rnode{C}{de} un \rnode{D}{texto}
\ncbar[linewidth=1.2pt,nodesep=3pt,
angle=90]{->}{A}{D}
\ncbar[linewidth=1.2pt,nodesep=3pt,
angle=-90,arm=20pt]{<-}{B}{C}
Idea 2
Idea 1
\ncdiagg
\columnbreak \vspace*{0.1cm}
\cnode(0,0){4pt}{a}
\rput[l](3,1){\rnode{b}{H}}
\rput[l](3,-1){\rnode{c}{T}}
\ncdiagg[angleA=180,armA=2cm,
nodesepA=3pt]{b}{a}
\ncdiagg[angleA=180,armA=2cm,
nodesepA=3pt]{c}{a}
Nodo A
Nodo B
Nodo A
Nodo B
\ncloop Se pueden especificar los angulos angleA, angleB (con una diferencia
de 180 grados) los brazos armA, armB, y la distancia del bucle loopsize; notese
como tambien se puede especificar arm, que equivale a hacer armA=armB
\psset{linewidth=1.5pt,
arrowsize=7pt}
\rnode{a}{\psframebox{\huge Bucle}}
\ncloop[angleA=0,
angleB=180,loopsize=1,
arm=.5cm,linearc=.2]{->}{a}{a}
\ncloop[angleA=90,angleB=-90,
loopsize=2,arm=1cm,linearc=.2,
linestyle=dashed]{->}{a}{a}
Bucle
\circlenode{A}{\Large X}
\nccircle{->}{A}{1.2cm}
\nccircle[angleA=90,%
linestyle=dashed]{->}{A}{0.8cm}
1.3
Etiquetas
d1
c2
U
a1
b2
a2
Y
b1
1.4
El entorno psmatrix
U
x
y
X Z Y
6
p
12
5
8
9
r
3
s
10
4
7
Dibujando funciones
\begin{pspicture}(-2,-2)(2,2)
\psgrid[gridcolor=red,%
subgridcolor=red]
\psplot[plotstyle=curve,%
linecolor=Blue]%
{-1.5}{1.5}{x 3 exp x sub}
\end{pspicture}
1
0
-1
-2
-2
-1
\begin{pspicture}(-2,-2)(2,2)
\psgrid[gridcolor=black,%
subgridcolor=red]
\infixtoRPN{(x^3)-x}
\psplot[plotstyle=curve,%
linecolor=Blue,
showpoints=true]%
{-1.5}{1.5}{\RPN}
\end{pspicture}
b
b
b
b
b
b
b
bbbbbbb
bb bbbbb
b
b
b
b
b
bbb
b
bbb bbbb
b
bbbbbb
b
b
b
b
b
b
1
0
-1
-2
-2
-1
\begin{pspicture}(-2,-2)(2,2)
\psgrid[gridcolor=black,%
subgridcolor=red]
\infixtoRPN{(x^3)-x}
\psplot[plotstyle=dots,%
linecolor=Blue, plotpoints=20,
dotstyle=asterisk]%
{-1.5}{1.5}{\RPN}
\end{pspicture}
0
*
*
** ***
-1
*
**
****
-2
-2
-1
\begin{pspicture}(-2,-2)(2,2)
\psgrid[gridcolor=black,%
subgridcolor=red]
\infixtoRPN{(x^3)-x}
\psplot[plotstyle=line,%
plotpoints=10, showpoints=true,
dotstyle=o, dotsize=2mm]%
{-1.5}{1.5}{\RPN}
\end{pspicture}
c
b
b
cc
b
b
c
c
b
c
b
c
b
c
cb
b
-1
c
b
-2
-2
-1
\begin{pspicture}(-2,-2)(2,2)
\psgrid[gridcolor=black,%
subgridcolor=red]
\infixtoRPN{sin(t),sin(2*t)}
\parametricplot[plotstyle=curve]%
{0}{360}{\RPN}
\end{pspicture}
1
0
-1
-2
-2
-1
Notese como las funciones trigonometricas trabajan por defecto en grados; si queremos representarlas en radianes, se debe escalar la coordenada x por un factor de
= 0.0174:
180
{\psset{unit=0.5}
\begin{pspicture}(-7,-2)(7,2)
\psgrid[gridcolor=black,%
subgridcolor=red,%
gridlabels=8pt]
\infixtoRPN{sin(x)}
\psplot[xunit=0.0174,%
plotstyle=curve,%
linecolor=Blue]%
{-360}{360}{\RPN}
\end{pspicture}}
2.1
2
1
0
-1
-2
-7 -6 -5 -4 -3 -2 -1 0
Ejes de coordenadas
El comando1
\psaxes[Par
ametros]{TipoDeFlecha}(x0,y0)(x1,y1)(x2,y2)
dibuja ejes x e y con el eje x extendiendose desde x1 a x2, y el eje y desde y1 a y2; los
ejes tienen su origen en el punto (x0,y0); por ejemplo:
1
Nota: Para poder utilizar algunos de los comandos descritos, es importante tener cargado el paquete
pstricks-add, que extiende las funcionalidades de PSTricks
3
2
(3,2)
b
1
(1,1)
b
1
1
0
-1
b 2
(2,1)
-2
-3
-2
-1
\psaxes(-1,1)(-2,-1)(3,2)
Especificando solo las coordenadas (x1,y1) y (x2,y2), se obtienen los ejes con origen
en la esquina inferior izquierda del rectangulo:
3
(3,2)
1
(2,1)
-1
-2
-3
-2
1
-1
2
0
3
1
4
2
5
3
\psaxes(-2,-1)(3,2)
En Par
ametros y TipoDeFlecha, podemos cambiar las caractersticas de los ejes
coordenados:
\psset{unit=0.8cm}
\begin{pspicture}(-3,-3)(3,3)
\psaxes[linecolor=Blue,%
linestyle=dotted,
dotsep=1pt]{*->}%
(0,0)(-3,-3)(3,3)
\end{pspicture}
2
1
2 1
1
2
10
Se puede elegir donde colocar marcas (ticks) y etiquetas (labels) dando valores a
cada uno de estos dos parametros; los valores posibles son all (ambos ejes, opcion por
defecto), x, y, none (ning
un eje); por ejemplo:
\begin{pspicture}(-3,-2)(3,3)
\psaxes[linecolor=Blue,%
ticks=all,labels=y]%
{<->}%
(0,0)(-3,-2)(3,3)
\end{pspicture}
2
1
La posicion y tama
no de las marcas se puede especificar a traves de los parametros
tickstyle y ticksize. tickstyle puede tomar los valores full (marcas a ambos
lados del eje), top (marcas en el lado opuesto al de las etiquetas) y bottom (marcas en
el mismo lado que etiquetas).
El comando \psaxes produce, por defecto, marcas equiespaciadas etiquetadas con
enteros consecutivos; esto puede cambiarse a traves de los parametros mostrados en la
tabla siguiente:
Parametro
Ox
Oy
Dx
Dy
dx
dy
Significado
Etiqueta en el origen del eje x
Etiqueta en el origen del eje y
Incremento para etiquetas en el eje x
Incremento para etiquetas en el eje y
Distancia entre marcas para el eje x
Distancia entre marcas para el eje y
11
2.2
\begin{pspicture}(0,0)(10,7)
\psaxes[linecolor=Green,%
Ox=1994,Oy=0,%
Dx=1,Dy=10,%
dx=2,dy=1]%
(10.5,7.5)
\psline[linecolor=Blue,
showpoints=true]%
(0,6.5)(2,6)(4,5.2)%
(6,3)(8,2.8)(10,2.4)
\uput[d](5.25,-1.5){%
\color{Blue} A~
no}
\uput[l](-1.5,3.75){%
\rput{90}{%
\color{Blue}%
Precio por kilogramo (pesetas)}}
\end{pspicture}
70 b
b
60
b
50
40
b
b
30
b
20
10
0
1994 1995 1996 1997 1998 1999
A
no
Podemos tambien representar datos guardados en un fichero externo (de forma totalmente analoga al comando \dataplot) con el comando \fileplot[Par
ametros]{fichero}.
Los datos pueden ser ledos en forma de pares xn yn separados por espacios; por ejemplo,
si tenemos el fichero data1.txt, de contenido:
1 3.75
1.5 3.0
2 4.5
2.5 1.5
3 4.5
3.5 3.0
4 4.125
4.5 3.0
5 4.5
12
5
b
\begin{pspicture}(0,0)(6.5,5)
\psaxes[linecolor=Green]%
(6.5,5)
\fileplot[linecolor=Blue]%
{data1.txt}
\fileplot[plotstyle=dots,
linecolor=Red]{data1.txt}
\end{pspicture}
b
b
b
b
2
b
1
0
0
En el ejemplo anterior, notese como hemos representado dos veces los datos, la segunda con plotstyle=dots; la razon de esto esta en que el comando \fileplot ignora
la opcion showpoints. Este comando tambien admite menos estilos que \dataplot, al
no reconocer la opcion curve. Por tanto, en ciertas situaciones es mas u
til emplear el
comando \dataplot. Para este comando, ya comentamos que se deben leer anteriormente los datos con \readdata; debemos destacar que, al igual que con \fileplot,
podemos leer los datos en el mismo formato de parejas de datos separadas por espacios.
Por u
ltimo, otra alternativa (para listas cortas de datos), es utilizar el comando
\listplot (que admite las mismas opciones que \dataplot). Por ejemplo:
6
\begin{pspicture}(0,0)(5,6)
\psaxes[linecolor=Green]%
(6,6)
\listplot[plotstyle=curve,%
showpoints=true,%
linecolor=Blue]%
{1 1 1.5 1.2 2 1.6 2.5 2.3
3 3.2 3.5 4 4 4.5 4.5 4.8
5 5 5.5 5}
\end{pspicture}
5
b
4
b
3
b
b
b
0
0
Imaginemos ahora que queremos representar datos de un fichero con varias entradas
de datos, de la forma (x y1 y2 y3); por ejemplo, tenemos el fichero data2.txt:
0 0 3.375 0.0625
10 5.375 7.1875 4.5
20 7.1875 8.375 6.25
13
2.3
7.5
5.0
2.5
0
20
2.5
40
60
80
100 120
5.0
7.5
14
3
2
2.4
2
1
1
1
2
3
Otro ejemplo:
\begin{pspicture}(-2.5,-2.5)(2.5,2.5)
\psaxes{->}(0,0)(-2.5,-2.5)(2.5,2.5)
\psset{linewidth=.35mm,%
plotstyle=curve,polarplot=true}
\infixtoRPN{2*sin(x)*cos(x)}
\psplot[linecolor=red]{0}{360}{\RPN}
\infixtoRPN{3*sin(x)*cos(x)}
\psplot[linecolor=green]{0}{360}{\RPN}
\infixtoRPN{4*sin(x)*cos(x)}
\psplot[linecolor=blue]{0}{360}{\RPN}
\end{pspicture}
2.5
2
1
2
1
1
La opci
on algebraic
Es u
til saber que, aparte del modo de transformar notaciones mediante el comando
\infixtoRPN, podemos tambien utilizar la opcion algebraic=true en \psplot para
cambiar la forma en que introducimos la forma de funci
on en
2
15
\psplot[Par
ametros]{xmin}{xmax}{funci
on};
Por ejemplo:
\begin{pspicture}(-7,-1.5)(7,1.5)
\psaxes[Dx=2]{->}(0,0)(-7,-1.5)(7,1.5)
\psplot[algebraic=true,%
plotstyle=curve,%
linecolor=Blue]%
{-7}{7}{sin(x)}
\end{pspicture}
1
6
2.6
La funcion SUM se utiliza para sumar iterativamente funciones; tiene la siguiente sintaxis:
SUM(NombreIndice, indice-comienzo, paso, indice-final, funci
on)
que significa que funci
on, dependiente de NombreIndice, es sumada desde indice-comienzo
hasta indice-final, con incremento paso. Esto es u
til, por ejemplo, para representar desarrollos en series funcionales; veamos en el ejemplo siguiente como representar
f (x) = 1 + x + x2 /2 + x3 /3
\begin{pspicture}(-2.5,-2.5)(2.5,2.5)
\psclip{\psframe(-2.5,-2.5)(2.5,2.5)}
\psplot[algebraic=true,%
plotstyle=curve,%
linecolor=Blue]{-2.5}{2.5}%
{1 + SUM(ind,1,1,3,(x^ind)/ind)}
\psaxes(0,0)(-2.5,-2.5)(2.5,2.5)
\endpsclip
\end{pspicture}
2
1
2
1
1
2
(observese como se emplea el comando \psclip{Objeto} ... \endpsclip para
recortar el grafico; pruebese a eliminarlo y vease que ocurre con la grafica de la funcion)
16
5
2
3
2
3
2
5
2
Otra herramienta que merece la pena conocer es la funcion IFTE, que puede utilizarse
para definir funciones a trozos:
IFTE(Condici
on,Parte-Verdadero,Parte-Falso)
17
1
3
1
1
El comando
\pstextpath[Posici
on](x,y){ObjetoGr
afico}{Texto}
cur
v
Texto
a
to so b
Te x
un
osa
nu
a si
re u n
cr o
c ul
larg
od
\begin{pspicture}(7,2)
\pstextpath{\pscircle(1,1){1cm}}
{\Large Texto sobre un c
rculo}
\psset{linecolor=lightgray}
\pstextpath{\pscurve(3,0)(4,2)%
(5,1)(6,2)(7,0)}{\blue Texto a lo
largo de una curva sinuosa}
\end{pspicture}
lo
18
er
sid
ad
o li d
Fac
u
d de Cien
lta
s
cia
U niv
\begin{pspicture}(-2,-2)(2,2)
\psset{linestyle=none}
\rput(0,0){\includegraphics%
[scale=1.3]{escudo.eps}}
\pstextpath[c]{\psarcn(0,0){1.4}%
{180}{0}}{Facultad de Ciencias}
\pstextpath[c]{\psarc(0,0){1.4}{180}%
{0}}{\small Universidad de Valladolid}
\end{pspicture}
ll
a d d e Va
El comando
\pscharpath[Par
ametros]{Texto}
nos permite tratar Texto como si fuese una curva cerrada, a la que es posible dar contorno ajustando el parametro linestyle, o rellenarla ajustando el parametro fillstyle.
Por ejemplo:
\pscharpath[linestyle=solid,%
fillstyle=solid,%
fillcolor=SkyBlue,%
linewidth=1pt,linecolor=Red]%
{\scalebox{4}{\bfseries PSTricks}}
\pscharpath[linecolor=Yellow,%
linestyle=none,fillstyle=gradient,%
gradbegin=Yellow,gradend=Red,%
gradmidpoint=1,gradangle=5]%
{\scalebox{4}{\sffamily\bfseries%
PSTricks}}
Podemos definir ahora un nuevo comando, de nombre \bigdot, que dibuje un punto
de tama
no 0.8 cm y de color rojo mediante:
\newpsobject{bigdot}{psdots}{dotsize=0.8cm,linecolor=Red}
19
a partir de lo cual, dibujar nuevos puntos con esas especificaciones puede hacerse utilizando el nuevo comando PSTricks \bigdot:
\begin{pspicture}(-0.5,-0.5)(1.5,1.37)
\bigdot(0,0)(1,0)(0.5,0.866)
\end{pspicture}
b
bb
vemos como \bigdot posee la misma sintaxis que \psdots, el comando en el que se
basa, y que por defecto utiliza los nuevos parametros con los que lo hemos definido.
Podemos cambiar las propiedades del nuevo objeto as definido modificando sus
parametros en el modo usual; por ejemplo:
\begin{pspicture}(-0.5,-0.5)(1.5,1.37)
\bigdot(0,0)
\bigdot[linecolor=Green](1,0)
\bigdot[linecolor=Blue](0.5,0.866)
\end{pspicture}
b
bb
20
Finalmente, PSTricks permite tambien colorear regiones de forma arbitraria, mediante el comando:
\pscustom[Par
ametros]{Camino-Cerrado}
donde, en Par
ametros, especificamos el tipo de borde y relleno de la region, y Camino-Cerrado
debe consistir en una curva arbitraria cerrada (en caso de que no lo sea, PSTricks la
cerrara y rellenara a su libre albedro). Veamos un ejemplo; primero delimitamos una
region mediante dos trozos de parabola y una recta:
\begin{pspicture}(-1.5,0)(1.5,3)
\psplot[algebraic=true]%
{-1.5}{0}{(x+1.5)^2}
\psplot[algebraic=true]%
{0}{1.5}{(x-1.5)^2}
\psline(1.5,0)(-1.5,0)
\end{pspicture}
21
\begin{pspicture}(-1.5,0)(1.5,3)
\pscustom[fillstyle=solid,%
fillcolor=Red,linestyle=solid,%
linecolor=Blue,linewidth=2pt]{%
\psplot[algebraic=true]%
{-1.5}{0}{(x+1.5)^2}
\psplot[algebraic=true]%
{0}{1.5}{(x-1.5)^2} \closepath}
\end{pspicture}
Finalmente, veamos otro ejemplo de como rellenar la region entre dos curvas:
\begin{pspicture}(-3,-3)(3,3)
\psaxes{<->}(0,0)(-3,-3)(3,3)
\psset{algebraic=true,linewidth=1pt}
\pscustom[fillstyle=solid,%
fillcolor=Cyan]{%
\psplot{0}{1}{x^2}
\psplot{1}{0}{sqrt(x)}}
\psset{linecolor=Blue}
\psplot{-1.5}{1.5}{x^2}
\psplot{0}{2.25}{sqrt(x)}
\psplot{0}{2.25}{-sqrt(x)}
\end{pspicture}
2
1
2
1
1
Efectos 3-D
5.1
Sombras
Valores
<angulo>
<color>
<valor real>
Defecto
60
lightgray
1
22
Shadow
ff(x)
(x) =
= xx22
\psshadow{\huge Shadow}\\[10pt]
\psshadow{\huge $f(x)=x^2$}\\[15pt]
\psshadow[Tshadowsize=2.5]{%
\rule{2cm}{10pt}}
5.2
Abatimientos
objetos, con lo cual estos pueden, en principio, ser infinitamente largos. Angulos
de 0 y
180 grados no estan permitidos.
\psTilt{30}{\Bar} \pstilt{30}{\Bar}
2cm
\Bar
4cm
30
2cm
30
\psTilt{60}{
\begin{pspicture}(-0.5,-0.5)(2,2)
\psaxes[axesstyle=frame](2,2)
\pscircle(1,1){0.8cm}
\end{pspicture}}
1
0
0
23
Luis M. Molina ()
1 / 28
Generalidades
Qu es Beamer?
Beamer es una clase de documento especialmente diseada para
AT X
presentaciones que utilicen recursos L
E
Luis M. Molina ()
2 / 28
Generalidades
Qu es Beamer?
Beamer es una clase de documento especialmente diseada para
AT X
presentaciones que utilicen recursos L
E
AT X
Requiere necesariamente la compilacin a travs de PDFL
E
Luis M. Molina ()
2 / 28
Generalidades
Qu es Beamer?
Beamer es una clase de documento especialmente diseada para
AT X
presentaciones que utilicen recursos L
E
AT X
Requiere necesariamente la compilacin a travs de PDFL
E
Adems de poder introducir frmulas con comodidad, tenemos a
nuestra disposicin amplias posibilidades para la animacin de
diapositivas
Luis M. Molina ()
2 / 28
Generalidades
Qu es Beamer?
Beamer es una clase de documento especialmente diseada para
AT X
presentaciones que utilicen recursos L
E
AT X
Requiere necesariamente la compilacin a travs de PDFL
E
Adems de poder introducir frmulas con comodidad, tenemos a
nuestra disposicin amplias posibilidades para la animacin de
diapositivas
Z
1
x2
Luis M. Molina ()
=1
2 / 28
Generalidades
Qu es Beamer?
Beamer es una clase de documento especialmente diseada para
AT X
presentaciones que utilicen recursos L
E
AT X
Requiere necesariamente la compilacin a travs de PDFL
E
Adems de poder introducir frmulas con comodidad, tenemos a
nuestra disposicin amplias posibilidades para la animacin de
diapositivas
Z
1
x2
=1
Z
V (x ) = A
dr
r
Dipolo
Luis M. Molina ()
2 / 28
Generalidades
Qu es Beamer?
Beamer es una clase de documento especialmente diseada para
AT X
presentaciones que utilicen recursos L
E
AT X
Requiere necesariamente la compilacin a travs de PDFL
E
Adems de poder introducir frmulas con comodidad, tenemos a
nuestra disposicin amplias posibilidades para la animacin de
diapositivas
Z
1
x2
=1
Z
V (x ) = A
dr
r
Dipolo
Luis M. Molina ()
+B
Z
0
dr
r2
Coulomb
2 / 28
Generalidades
Qu es Beamer?
Beamer es una clase de documento especialmente diseada para
AT X
presentaciones que utilicen recursos L
E
AT X
Requiere necesariamente la compilacin a travs de PDFL
E
Adems de poder introducir frmulas con comodidad, tenemos a
nuestra disposicin amplias posibilidades para la animacin de
diapositivas
Z
1
x2
=1
Z
V (x ) = A
dr
r
Dipolo
Luis M. Molina ()
+B
Z
0
dr
r2
+C
Coulomb
Z
0
r6
r 12
dx
2 / 28
Luis M. Molina ()
3 / 28
\begin{document})
con:
\frame{\titlepage}
Luis M. Molina ()
4 / 28
\begin{document})
con:
\frame{\titlepage}
Para cada nueva transparencia, escribimos:
\begin{frame}[Opciones]
\frametitle{Ttulo del frame}
Material del frame
\end{frame}
Luis M. Molina ()
4 / 28
\begin{document})
con:
\frame{\titlepage}
Para cada nueva transparencia, escribimos:
\begin{frame}[Opciones]
\frametitle{Ttulo del frame}
Material del frame
\end{frame}
En el argumento optativo
Luis M. Molina ()
[Opciones]
podemos utilizar:
4 / 28
\begin{document})
con:
\frame{\titlepage}
Para cada nueva transparencia, escribimos:
\begin{frame}[Opciones]
\frametitle{Ttulo del frame}
Material del frame
\end{frame}
En el argumento optativo
t, c, b
Luis M. Molina ()
[Opciones]
podemos utilizar:
4 / 28
\begin{document})
con:
\frame{\titlepage}
Para cada nueva transparencia, escribimos:
\begin{frame}[Opciones]
\frametitle{Ttulo del frame}
Material del frame
\end{frame}
En el argumento optativo
[Opciones]
podemos utilizar:
Luis M. Molina ()
4 / 28
\begin{document})
con:
\frame{\titlepage}
Para cada nueva transparencia, escribimos:
\begin{frame}[Opciones]
\frametitle{Ttulo del frame}
Material del frame
\end{frame}
En el argumento optativo
[Opciones]
podemos utilizar:
squeeze
Luis M. Molina ()
4 / 28
Manejo de colores
Paquete color
Para utilizar colores, se pueden emplear los comandos del paquete
color (cargado automticamente por Beamer):
\definecolor{Azul}{rgb}{0.1,0.1,0.6}
\textcolor{Azul}{Prueba de texto Azul}
Luis M. Molina ()
5 / 28
Manejo de colores
Paquete color
Para utilizar colores, se pueden emplear los comandos del paquete
color (cargado automticamente por Beamer):
\definecolor{Azul}{rgb}{0.1,0.1,0.6}
\textcolor{Azul}{Prueba de texto Azul}
Paquete xcolor
Existe tambin otra forma de especicar colores a travs del paquete
xcolor (que carga tamben beamer):
\colorlet{NaranjaA}{yellow!50!red}
\colorlet{NaranjaB}{yellow!25!red!50!white}
\textcolor{NaranjaA}{Texto NaranjaA}
\textcolor{NaranjaB}{Texto NaranjaB}
Texto NaranjaA
Luis M. Molina ()
Texto NaranjaB
Presentaciones con Beamer
5 / 28
El entorno block
Mediante el entorno
block,
Luis M. Molina ()
6 / 28
El entorno block
Mediante el entorno
block,
\begin{block}{}
\begin{itemize}
\item Un item
\item Otro item
\item Otro item ms
\end{itemize}
\end{block}
Luis M. Molina ()
6 / 28
El entorno block
Mediante el entorno
block,
\begin{block}{}
\begin{itemize}
\item Un item
\item Otro item
\item Otro item ms
\end{itemize}
\end{block}
Cuyo resultado es (ver transparencia siguiente):
Luis M. Molina ()
6 / 28
El entorno block
Un item
Otro item
Otro item ms
Luis M. Molina ()
7 / 28
El entorno block
Rellenando el argumento vaco del entorno block, le podemos
poner ttulo:
Luis M. Molina ()
8 / 28
El entorno block
Rellenando el argumento vaco del entorno block, le podemos
poner ttulo:
Luis M. Molina ()
8 / 28
El entorno block
Rellenando el argumento vaco del entorno block, le podemos
poner ttulo:
8 / 28
Otros bloques
Adems de
Luis M. Molina ()
block,
disponemos de
alertblock:
9 / 28
Otros bloques
Adems de
block,
disponemos de
alertblock:
Luis M. Molina ()
9 / 28
Otros bloques
Adems de
block,
disponemos de
alertblock:
9 / 28
Otros bloques
Tambin puede usarse exampleblock:
Luis M. Molina ()
10 / 28
Otros bloques
Tambin puede usarse exampleblock:
Luis M. Molina ()
10 / 28
Otros bloques
Tambin puede usarse exampleblock:
10 / 28
Cajas coloreadas
Con el entorno beamercolorbox podemos meter nuestro material
en una caja coloreada con mltiples opciones.
Luis M. Molina ()
11 / 28
Cajas coloreadas
Con el entorno beamercolorbox podemos meter nuestro material
en una caja coloreada con mltiples opciones.
Denamos en el prembulo el color postit como:
\setbeamercolor{postit}{bg=yellow!50!white}
Luis M. Molina ()
11 / 28
Cajas coloreadas
Con el entorno beamercolorbox podemos meter nuestro material
en una caja coloreada con mltiples opciones.
Denamos en el prembulo el color postit como:
\setbeamercolor{postit}{bg=yellow!50!white}
Probemos entonces:
Luis M. Molina ()
11 / 28
Cajas coloreadas
Con el entorno beamercolorbox podemos meter nuestro material
en una caja coloreada con mltiples opciones.
Denamos en el prembulo el color postit como:
\setbeamercolor{postit}{bg=yellow!50!white}
Probemos entonces:
Luis M. Molina ()
11 / 28
Cajas coloreadas
Con el entorno beamercolorbox podemos meter nuestro material
en una caja coloreada con mltiples opciones.
Denamos en el prembulo el color postit como:
\setbeamercolor{postit}{bg=yellow!50!white}
Probemos entonces:
\begin{beamercolorbox}{postit}
Texto diverso
\end{beamercolorbox}
Que produce:
Texto diverso
Luis M. Molina ()
11 / 28
Luis M. Molina ()
12 / 28
left
right
Luis M. Molina ()
center
12 / 28
Luis M. Molina ()
12 / 28
Luis M. Molina ()
12 / 28
Luis M. Molina ()
12 / 28
Ejemplos:
Luis M. Molina ()
12 / 28
Ejemplos:
\begin{beamercolorbox}
[sep=3mm]{postit}
Texto diverso Texto diverso
\end{beamercolorbox}
Luis M. Molina ()
12 / 28
Ejemplos:
\begin{beamercolorbox}
[wd={3cm},sep=1mm]{postit}
Texto diverso Texto diverso
\end{beamercolorbox}
Luis M. Molina ()
Texto diverso
Texto diverso
12 / 28
Ejemplos:
\begin{beamercolorbox}
[wd={4cm},sep=1mm,center,
rounded=true]{postit}
Texto diverso
\end{beamercolorbox}
Luis M. Molina ()
Texto diverso
12 / 28
Ejemplos:
\begin{beamercolorbox}[wd={4cm},
sep=1mm,center,rounded=true,
shadow=true]{postit}
Texto diverso
\end{beamercolorbox}
Luis M. Molina ()
Texto diverso
12 / 28
Animaciones: Generalidades
Dentro de cada frame, podemos introducir efectos de animacin
(tambin llamados
Luis M. Molina ()
overlays )
13 / 28
Animaciones: Generalidades
Dentro de cada frame, podemos introducir efectos de animacin
(tambin llamados
overlays )
Luis M. Molina ()
13 / 28
Animaciones: Generalidades
Dentro de cada frame, podemos introducir efectos de animacin
(tambin llamados
overlays )
\begin{itemize}
\item Primer elemento \pause
\item Segundo elemento \pause
\item Tercer elemento
\end{itemize}
Luis M. Molina ()
13 / 28
Animaciones: Generalidades
Dentro de cada frame, podemos introducir efectos de animacin
(tambin llamados
overlays )
\begin{itemize}
\item Primer elemento \pause
\item Segundo elemento \pause
\item Tercer elemento
\end{itemize}
Primer elemento
Luis M. Molina ()
13 / 28
Animaciones: Generalidades
Dentro de cada frame, podemos introducir efectos de animacin
(tambin llamados
overlays )
\begin{itemize}
\item Primer elemento \pause
\item Segundo elemento \pause
\item Tercer elemento
\end{itemize}
Primer elemento
Segundo elemento
Luis M. Molina ()
13 / 28
Animaciones: Generalidades
Dentro de cada frame, podemos introducir efectos de animacin
(tambin llamados
overlays )
\begin{itemize}
\item Primer elemento \pause
\item Segundo elemento \pause
\item Tercer elemento
\end{itemize}
Primer elemento
Segundo elemento
Tercer elemento
Luis M. Molina ()
13 / 28
Especicaciones de animacin
Sintaxis
Para todos los comandos (ver ms adelante) que admiten
especicaciones de animacin, la sintaxis de las mismas es
<Rango>,
donde
Rango
Luis M. Molina ()
14 / 28
Especicaciones de animacin
Sintaxis
Para todos los comandos (ver ms adelante) que admiten
especicaciones de animacin, la sintaxis de las mismas es
<Rango>,
donde
Rango
1-
Luis M. Molina ()
14 / 28
Especicaciones de animacin
Sintaxis
Para todos los comandos (ver ms adelante) que admiten
especicaciones de animacin, la sintaxis de las mismas es
<Rango>,
donde
Rango
1-
-3
Luis M. Molina ()
14 / 28
Especicaciones de animacin
Sintaxis
Para todos los comandos (ver ms adelante) que admiten
especicaciones de animacin, la sintaxis de las mismas es
<Rango>,
donde
Rango
Luis M. Molina ()
14 / 28
Especicaciones de animacin
Sintaxis
Para todos los comandos (ver ms adelante) que admiten
especicaciones de animacin, la sintaxis de las mismas es
<Rango>,
donde
Rango
Luis M. Molina ()
14 / 28
Especicaciones de animacin
Sintaxis
Para todos los comandos (ver ms adelante) que admiten
especicaciones de animacin, la sintaxis de las mismas es
<Rango>,
donde
Rango
Luis M. Molina ()
\Comando<Rango>{Contenido}
14 / 28
El comando
pasos
se muestre el material,
15 / 28
El comando
pasos
se muestre el material,
15 / 28
El comando
pasos
se muestre el material,
15 / 28
El comando
pasos
se muestre el material,
15 / 28
\onslide,
\only<Rango>{Material}
no ocupa
Ejemplo:
Luis M. Molina ()
16 / 28
\onslide,
\only<Rango>{Material}
no ocupa
Ejemplo:
Luis M. Molina ()
16 / 28
\onslide,
\only<Rango>{Material}
no ocupa
Ejemplo:
Luis M. Molina ()
16 / 28
\onslide,
\only<Rango>{Material}
no ocupa
Ejemplo:
Luis M. Molina ()
16 / 28
Efectos de transparencia
\setbeamercovered
La instruccin
\setbeamercovered{Opcion}
\mode<presentation>{}
invisible
transparent
transparent=X,
dynamic
con 0
X 100
\setbeamercovered
Luis M. Molina ()
de
invisible
transparent)
17 / 28
Efectos de transparencia
\setbeamercovered
La instruccin
\setbeamercovered{Opcion}
\mode<presentation>{}
invisible
transparent
transparent=X,
dynamic
con 0
X 100
\setbeamercovered
Luis M. Molina ()
de
invisible
transparent)
17 / 28
Efectos de transparencia
\setbeamercovered
La instruccin
\setbeamercovered{Opcion}
\mode<presentation>{}
invisible
transparent
transparent=X,
dynamic
con 0
X 100
\setbeamercovered
Luis M. Molina ()
de
invisible
transparent)
17 / 28
Efectos de transparencia
\setbeamercovered
La instruccin
\setbeamercovered{Opcion}
\mode<presentation>{}
invisible
transparent
transparent=X,
dynamic
con 0
X 100
\setbeamercovered
Luis M. Molina ()
de
invisible
transparent)
17 / 28
\setbeamercovered,
transparent
de
\visible<Rango>{Material}
Ejemplo:
18 / 28
\setbeamercovered,
transparent
de
\visible<Rango>{Material}
Ejemplo:
18 / 28
\setbeamercovered,
transparent
de
\visible<Rango>{Material}
Ejemplo:
18 / 28
\setbeamercovered,
transparent
de
\visible<Rango>{Material}
Ejemplo:
18 / 28
itemize
enumerate
queramos mostrar
\begin{itemize}
\item<1-> Primer tem
\item<2-> Segundo tem
\item<3-> Tercer tem
\end{itemize}
Primer tem
Luis M. Molina ()
19 / 28
itemize
enumerate
queramos mostrar
\begin{itemize}
\item<1-> Primer tem
\item<2-> Segundo tem
\item<3-> Tercer tem
\end{itemize}
Primer tem
Segundo tem
Luis M. Molina ()
19 / 28
itemize
enumerate
queramos mostrar
\begin{itemize}
\item<1-> Primer tem
\item<2-> Segundo tem
\item<3-> Tercer tem
\end{itemize}
Primer tem
Segundo tem
Tercer tem
Luis M. Molina ()
19 / 28
itemize
enumerate
queramos mostrar
\begin{itemize}
\item<1-> Primer tem
\item<2-> Segundo tem
\item<3-> Tercer tem
\end{itemize}
Primer tem
Segundo tem
Tercer tem
19 / 28
\begin{itemize}[<+->]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Primer tem
Luis M. Molina ()
20 / 28
\begin{itemize}[<+->]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Primer tem
Segundo tem
Luis M. Molina ()
20 / 28
\begin{itemize}[<+->]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Primer tem
Segundo tem
Tercer tem
Luis M. Molina ()
20 / 28
\begin{itemize}[<+->]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Primer tem
Segundo tem
Tercer tem
enumerate)
Presentaciones con Beamer
itemize
(lo
20 / 28
\begin{itemize}[<+-| alert@+>]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Primer tem
Luis M. Molina ()
21 / 28
\begin{itemize}[<+-| alert@+>]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Primer tem
Segundo tem
Luis M. Molina ()
21 / 28
\begin{itemize}[<+-| alert@+>]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Primer tem
Segundo tem
Tercer tem
Luis M. Molina ()
21 / 28
\begin{itemize}[<+-| alert@+>]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Primer tem
Segundo tem
Tercer tem
(podemos tambin usar el comando
\alert<Rango>{Material}
en
21 / 28
Especicaciones de accin
<+-| alert@+> puede utilizarse con otros comandos:
uncover (comando equivalente a onslide); opcin por defecto
only Coloca texto sin ocupar espacio
visible Texto invisible si no es mostrado
La sintaxis
\begin{itemize}[<+-| only@+>]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Un tem
Luis M. Molina ()
22 / 28
Especicaciones de accin
<+-| alert@+> puede utilizarse con otros comandos:
uncover (comando equivalente a onslide); opcin por defecto
only Coloca texto sin ocupar espacio
visible Texto invisible si no es mostrado
La sintaxis
\begin{itemize}[<+-| only@+>]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
Otro tem
Luis M. Molina ()
22 / 28
Especicaciones de accin
<+-| alert@+> puede utilizarse con otros comandos:
uncover (comando equivalente a onslide); opcin por defecto
only Coloca texto sin ocupar espacio
visible Texto invisible si no es mostrado
La sintaxis
\begin{itemize}[<+-| only@+>]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
El ltimo tem
Luis M. Molina ()
22 / 28
Especicaciones de accin
<+-| alert@+> puede utilizarse con otros comandos:
uncover (comando equivalente a onslide); opcin por defecto
only Coloca texto sin ocupar espacio
visible Texto invisible si no es mostrado
La sintaxis
\begin{itemize}[<+-| only@+>]
\item Primer tem
\item Segundo tem
\item Tercer tem
\end{itemize}
22 / 28
\textbf<Rango>{Texto}
\color<Rango>{Color} ( \textcolor<Rango>{Color}{Texto})
\includegraphics<Rango>[Opciones]{archivo}
En el siguiente ejemplo se ilustra su uso:
\begin{itemize}\sepa[-6pt]
\item<1-> \textbf<1>{Primer item}
\item<2-> \textcolor<2>{blue}{Segundo item}
\item<3-> Tercer item \includegraphics<4>[height=4mm]{Links.jpg}
\end{itemize}
Primer item
Luis M. Molina ()
23 / 28
\textbf<Rango>{Texto}
\color<Rango>{Color} ( \textcolor<Rango>{Color}{Texto})
\includegraphics<Rango>[Opciones]{archivo}
En el siguiente ejemplo se ilustra su uso:
\begin{itemize}\sepa[-6pt]
\item<1-> \textbf<1>{Primer item}
\item<2-> \textcolor<2>{blue}{Segundo item}
\item<3-> Tercer item \includegraphics<4>[height=4mm]{Links.jpg}
\end{itemize}
Primer item
Segundo item
Luis M. Molina ()
23 / 28
\textbf<Rango>{Texto}
\color<Rango>{Color} ( \textcolor<Rango>{Color}{Texto})
\includegraphics<Rango>[Opciones]{archivo}
En el siguiente ejemplo se ilustra su uso:
\begin{itemize}\sepa[-6pt]
\item<1-> \textbf<1>{Primer item}
\item<2-> \textcolor<2>{blue}{Segundo item}
\item<3-> Tercer item \includegraphics<4>[height=4mm]{Links.jpg}
\end{itemize}
Primer item
Segundo item
Tercer item
Luis M. Molina ()
23 / 28
\textbf<Rango>{Texto}
\color<Rango>{Color} ( \textcolor<Rango>{Color}{Texto})
\includegraphics<Rango>[Opciones]{archivo}
En el siguiente ejemplo se ilustra su uso:
\begin{itemize}\sepa[-6pt]
\item<1-> \textbf<1>{Primer item}
\item<2-> \textcolor<2>{blue}{Segundo item}
\item<3-> Tercer item \includegraphics<4>[height=4mm]{Links.jpg}
\end{itemize}
Primer item
Segundo item
Tercer item
Luis M. Molina ()
23 / 28
Varias columnas
Para dividir el frame en varias columnas, se emplea el entorno
columns
(cuidado
con la s nal). Dentro de ste entorno, podemos colocar cuantas columnas
de
siguiente ejemplo:
24 / 28
block
se ajusta al
ancho de columna
Resultados
Luis M. Molina ()
25 / 28
block
se ajusta al
ancho de columna
Resultados
Comentario a la Figura 1
Luis M. Molina ()
25 / 28
block
se ajusta al
ancho de columna
Resultados
Comentario a la Figura 1
Comentario a la Figura 2
Luis M. Molina ()
25 / 28
block
se ajusta al
ancho de columna
Resultados
Comentario a la Figura 1
Comentario a la Figura 2
Comentario a la Figura 3
Luis M. Molina ()
25 / 28
\mode<presentation>{...})
Luis M. Molina ()
en sta presentacin),
26 / 28
\mode<presentation>{...})
en sta presentacin),
Antibes, JuanLesPins
Luis M. Molina ()
26 / 28
\mode<presentation>{...})
en sta presentacin),
Antibes, JuanLesPins
Luis M. Molina ()
26 / 28
\mode<presentation>{...})
en sta presentacin),
Antibes, JuanLesPins
Luis M. Molina ()
26 / 28
\mode<presentation>{...})
en sta presentacin),
Antibes, JuanLesPins
26 / 28
\useinnertheme
default
\usecolortheme
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
\usecolortheme
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
\usecolortheme
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
\usecolortheme
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
structure
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
structure
sidebartab
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
structure
sidebartab
albatross
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
structure
sidebartab
albatross
beetle
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
structure
sidebartab
albatross
beetle
crane
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
structure
sidebartab
albatross
beetle
crane
dove
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
structure
sidebartab
albatross
beetle
crane
dove
fly
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
structure
sidebartab
albatross
beetle
crane
dove
fly
etc...
\usefonttheme
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
default
structure
sidebartab
albatross
beetle
crane
dove
fly
etc...
\usefonttheme
serif
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
albatross
beetle
crane
default
structure
sidebartab
dove
fly
etc...
\usefonttheme
serif
structurebold
Luis M. Molina ()
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
albatross
beetle
crane
default
structure
sidebartab
dove
fly
etc...
\usefonttheme
serif
structurebold
Luis M. Molina ()
structureitalicserif
Presentaciones con Beamer
27 / 28
\useinnertheme
default
circles
rectangles
rounded
inmargin
\usecolortheme
albatross
beetle
crane
default
structure
sidebartab
dove
fly
etc...
\usefonttheme
serif
structurebold
Luis M. Molina ()
structureitalicserif
structuresmallcapsserif
Presentaciones con Beamer
27 / 28
AT X;
multimedia (pelculas y objetos 3D) en documentos L
E
Luis M. Molina ()
28 / 28
AT X;
multimedia (pelculas y objetos 3D) en documentos L
E
Luis M. Molina ()
28 / 28
AT X;
multimedia (pelculas y objetos 3D) en documentos L
E
Luis M. Molina ()
28 / 28
Apuntes de LATEX
Captulo 15: Produciendo ndices; el programa makeindex
1.
La generacin de ndices de autores materias en LATEX se puede obtener a travs del uso
de la combinacin del paquete makeidx ms el programa makeindex.
El procedimiento bsico consiste en lo siguiente:
1. Cargar el paquete makeidx en el prembulo del documento
2. Incluir asimismo en el prembulo el comando \makeindex
3. Colocar etiquetas con el comando \index{etiqueta} junto a todos aquellos trminos
que deseamos aparezcan en el ndice, cada uno con una etiqueta distinta.
4. Colocar la instruccin \printindex en el lugar del documento donde deseamos que aparezca el ndice (normalmente, al final)
5. Compilar el documento con LATEX PDFLATEX, segn nos convenga. sto produce un
archivo tipo .idx donde se encuentra la informacin bsica de las referencias a incluir en
el ndice junto con las pginas en las que se encuentra cada una.
6. Ejecutar el programa makeindex de la siguiente forma:
makeindex.exe manuscrito.idx ; lo que produce ste programa es el formateo de la
informacin en manuscrito.idx y la generacin de un archivo manuscrito.ind que contiene
la estructura final del ndice en lenguaje LATEX tal y como aparecer en el documento
final
7. Correr de nuevo LATEX PDFLATEX, para que el compilador aada el contenido del
archivo manuscrito.ind en el lugar del manuscrito donde se ha incluido el comando
\printindex
8. NOTA IMPORTANTE: Una de las capacidades de los comandos Texify PDFTexify
en el entorno WinEdt es realizar las acciones de los puntos 5, 6 y 7 automticamente, por lo cual con tal software slo necesitamos clickear (DOS VECES PARA UNA
COMPILACIN CORRECTA) en stos iconos para obtener el documento con el ndice
incluido
Ejemplo:
Descomprimir el archivo ejemplo-capitulo15-1.tar.gz y observar cmo se introducen las
entradas para un ndice de autores as cmo su resultado final.
Observar el cdigo fuente de ste documento para ver un ejemplo de pequeo ndice de
materias con varios subniveles.
2.
Como se puede ver en ste mismo documento, es posible aadir varias subentradas en un
trmino del ndice. Para ello se utiliza el comando:
\index{Entrada!Subentrada!Subsubentrada}
separando los niveles por el smbolo clave ! Se pueden obtener hasta 3 niveles en las entradas
3.
Rangos de pginas
Podemos hacer extender una entrada del ndice a un rango de pginas mediante el uso de la
pareja de comandos:
\index{Entrada|(} y \index{Entrada|)}, incluyndolos al principio y final de las pginas
que hacen referencia a la entrada en particular.
4.
Orden alfabtico
Existe un pequeo problema con la configuracin de los ndices en espaol, debido a que el
orden que utiliza LATEX para los distintos caracteres especiales espaoles (acentos y ees) es el
ingls, que produce resultados extraos. Para solucionar sto, se puede, en la versin final del
documento, editar manualmente el fichero "manuscrito.ind"para cambiar la ordenacin segn
nuestras preferencias. Para que los cambios tengan efecto, se recompila con LATEX PDFLATEX
de nuevo el documento.
Ejercicio: Hacer tal cosa con el presente documento
ndice de Materias
ndices, 12
Cambio de Nombre, 2
generacin, 1
Rangos de Pginas, 2
documento, 2
makeidx
generalidades, 1
subniveles, 2
Apuntes de Latex
Captulo 16: Ampliacin de conceptos sobre escritura matemtica
En ste captulo se contina con algunos conceptos importantes sobre escritura de frmulas matemticas que no fueron
tratados en el captulo 3. De inters para los matemticos es
la seccin 5, donde se detallan las capacidades del paquete
amsthm. Se recuerda de nuevo que, para disponer de todas las capacidades matemticas relacionadas con frmulas
y smbolos en un documento, se deben cargar los paquetes
amsmath y amssymb.
1.
ax + by + c = 0
ax + by + c = 0
$ax + by + c = 0$
ax + by + c = 0
sin embargo, stos comandos no sirven para cambiar los tamaos de tipo de letra dentro
de una frmula:
ax + by + c = 0
\textstyle
\scriptstyle
\scriptscriptstyle
1
2
para todo n p
1
para todo n p
2
f (a + h) = f (a) +
f 0 (a)h
+
1
f 00 (a)h2
2!
++f
(n) (a)hn
n!
+o(hn )
Es interesante destacar que, habitualmente, los tamaos de los subndices y superndices se ajustan utilizando los tamaos scriptstyle y scriptscriptstyle; hay que
tener en cuenta que scriptscriptstyle es el tamao mnimo disponible, por lo que,
por ejemplo, en la ecuacin anterior se observa cmo para el ltimo trmino (o(hn ) el
exponente n tiene el mismo tamao que la base h (cuando debera ser ms pequeo,
debido a que no existe un tamao menor que scriptscriptstyle).
Otro ejemplo:
$$e^{\scriptscriptstyle\int x^2 dx}
\quad e^{\int x^2 dx}$$
2.
x2 dx
x2 dx
Ord
Op
Bin
Rel
Ape
Cie
Pun
Ord
0
1
(2)
(3)
0
0
(1)
Op
1
1
(2)
(3)
0
1
(1)
Bin
(2)
*
*
*
*
(2)
*
Rel
(3)
(3)
*
0
0
(3)
(1)
Ape
0
0
(2)
(3)
0
0
(1)
Cie
0
0
*
0
0
0
(1)
Pun
0
0
*
0
0
0
(1)
Abreviatura
\,
\:
\;
Comando
\thinspace
\medspace
\negthickspace
Abreviatura
\!
Espacio
(1.82pt)
(2.43pt)
(3.04pt)
(10.95pt)
(21.9pt)
Veamos un ejemplo:
Para dos nmeros $x$ e $y$, definimos una operacin $\circ$ como:
$$ x\circ y=x+y-xy $$
la cual es asociativa.
3
produce:
Para dos nmeros x e y, definimos una operacin como:
x y = x + y xy
la cual es asociativa.
En la lista de smbolos, vemos que \circ est clasificado como operador binario.
Si intentamos lo mismo con el smbolo (\Box, clasificado como Smbolos varios)
obtenemos lo siguiente:
Para dos nmeros x e y, definimos una operacin como:
xy = x + y xy
la cual es asociativa.
Los espacios han desaparecido, debido a que no es considerado como operador
binario. Sin embargo, LATEX permite, en modo matemtico, cambiar el comportamiento
(y espacios predefinidos adyacentes) de cualquier smbolo. Para ello disponemos de los
comandos:
\mathord Smbolo ordinario
\mathrel Operador de relacin
\mathbin Operador binario
que respectivamente permiten asignar comportamientos de smbolos ordinarios, de
relacin, binarios. As por ejemplo, en el caso anterior, tecleando \mathbin delante de
\Box ($$ x\mathbin\Box y=x+y-xy $$) obtendramos:
x y = x + y xy
3.
3.1.
\begin{equation}
\int x^2 dx = 2x
\label{intcuad}
\end{equation}
\begin{equation}
\int x^3 dx = 3x^2
\label{intcub}
\end{equation}
Z
x2 dx = 2x
(1)
x3 dx = 3x2
(2)
Donde se observa que las ecuaciones se van numerando en orden. Para ello, LATEX
emplea el contador equation. ste contador, en el caso de documentos tipo book tiene
la representacin (1.1), (1.2), etc..., denotando el nmero de captulo y el nmero de
ecuacin y para documentos article simplemente (1), (2), etc...
Podemos, mediante el empleo de comandos \label{Etiqueta} (ver ejemplo anterior) etiquetar las ecuaciones para referenciarlas ms adelante en el texto a travs del
comando \eqref{Etiqueta}; por ejemplo:
Aqu referenciamos a la ecuacin \eqref{intcuad} y aqu a la \eqref{intcub}
produce:
Aqu referenciamos a la ecuacin (1) y aqu a la (2)
Podemos resetear si nos interesa el valor de ste contador con:
\setcounter{equation}{0}
Si queremos que se reinicie al principio de cada seccin (suponiendo una clase article),
y que se incluya adems en la representacin el nmero de seccin, se puede emplear:
\numberwithin{equation}{section}
(comprobar con unos ejemplos sencillos en un article)
Otra herramienta interesante para numerar ecuaciones es el entorno subequations,
con sintaxis:
\begin{subequations}
ParteDelDocumento
\end{subequations}
Todas las ecuaciones dentro de ste entorno, sern numeradas como (6a), (6b), etc... La
ltima ecuacin anterior al entorno y la inmediatamente siguiente sern numeradas
como (5) y (7), respectivamente.
El formato de las etiquetas de ecuacin puede cambiarse puntualmente con el comando \tag{NuevaEtiqueta}, que coloca el argumento NuevaEtiqueta entre parntesis, con \tag*{NuevaEtiqueta}, anlogo pero que suprime los parntesis. Tambin
puede utilizarse \notag, que suprime la etiqueta, y que es anlogo a \nonumber. La
ubicacin vertical tambin es modificable (por ejemplo, nos puede convenir colocar la
etiqueta a mitad de camino entre dos ecuaciones), lo cual se consigue con el comando
\raisetag{Longitud}
3.2.
Ecuaciones multilnea
En caso de que una ecuacin sea demasiado larga para caber en una lnea, se puede
utilizar el entorno multline*, por ejemplo:
(a + b + c + d + e)2 = a2 + b2 + c2 + d2 + e2
+ 2ab + 2ac + 2ad + 2ae + 2bc + 2bd + 2be + 2cd + 2ce + 2de
se produce con:
\begin{multline*}
(a+b+c+d+e)^2=a^2+b^2+c^2+d^2+e^2\\
+2ab+2ac+2ad+2ae+2bc+2bd+2be+2cd+2ce+2de
\end{multline*}
Para ecuaciones en ms de dos lneas, los resultados no son muy satisfactorios. Por
ejemplo: tecleando:
\begin{multline*}
(a+b+c+d+e+f)^2=a^2+b^2+c^2+d^2+e^2+f^2\\
+2ab+2ac+2ad+2ae+2af\\
+2bc+2bd+2be+2bf\\
+2cd+2ce+2cf\\
+2de+2df\\
+2ef
\end{multline*}
obtenemos:
(a + b + c + d + e + f )2 = a2 + b2 + c2 + d2 + e2 + f 2
+ 2ab + 2ac + 2ad + 2ae + 2a f
+ 2bc + 2bd + 2be + 2b f
+ 2cd + 2ce + 2c f
+ 2de + 2d f
+ 2e f
Para solucionar esto se puede utilizar el entorno split, que no puede usarse independientemente, esto es, debe incluirse dentro de alguna estructura tipo equation. Por
ejemplo, podemos modificar el caso anterior tecleando:
\begin{equation*}
\begin{split}
6
3.3.
Grupos de ecuaciones
(a, b) + (c, d) = (a + c, b + d)
(a, b)(c, d) = (ac bd, ad + bc)
Cuando un grupo de ecuaciones deben formar una sola unidad, el modo lgicamente
correcto de escribirlas es incluyendo cierta alineacin. Para ello podemos utilizar el
entorno align*, como se ve a continuacin:
Suponemos que $x$, $y$, $z$ satisfacen las ecuaciones:
\begin{align*}
x+y-z & = 1\\
x-y+z & = 1
\end{align*}
obteniendo:
Suponemos que x, y, z satisfacen las ecuaciones:
x+yz=1
xy+z=1
Dentro del entorno align* podemos aadir un texto intermedio, sin romper la
alineacin, con el comando \intertext{Texto}. Por ejemplo:
Suponemos que $x$, $y$, $z$ satisfacen las ecuaciones:
\begin{align*}
x+y-z & = 1\\
x-y+z & = 1\\
\intertext{y por hiptesis}
x+y+z & =1
\end{align*}
\begin{align*}
\cos^2x+\sen^2x & = 1
& \cosh^2x-\senh^2x & = 1\\
\cos^2x-\sen^2x & = \cos 2x & \cosh^2x+\senh^2x & = \cosh 2x
\end{align*}
Comparamos los siguientes conjuntos de ecuaciones:
cos2 x + sen2 x = 1
cosh2 x senh2 x = 1
cosh2 x senh2 x = 1
Esto no se puede escribir utilizando los entornos ya vistos, dado que cualquiera de
ellos ocupa toda la anchura de texto; el paquete amsmath proporciona las variantes
gathered, aligned y alignedat, que ocupan slo la anchura real de los contenidos.
As, lo anterior se puede obtener a partir del cdigo:
Comparamos los siguientes conjuntos de ecuaciones:
\begin{equation*}
\begin{aligned}
\cos^2x+\sen^2x & = 1\\
\cos^2x-\sen^2x & = \cos 2x
\end{aligned}
\qquad\text{y}\qquad
\begin{aligned}
\cosh^2x-\senh^2x & = 1\\
\cosh^2x+\senh^2x & = \cosh 2x
\end{aligned}
\end{equation*}
Una estructura comn en matemticas es definicin de funciones a trozos, por
ejemplo:
x
|x| =
if x 0
if x 0
\begin{cases}
x & \text{if $x\ge 0$}\\
-x & \text{if $x\le 0$}
\end{cases}
\end{equation*}
La siguiente tabla ilustra con ejemplos sencillos las distintas posibilidades bsicas
vistas hasta ahora:
Comparacin de diferentes entornos para ecuaciones
\begin{equation*}
a=b
\end{equation*}
a=b
\begin{equation}
a=b
\end{equation}
a=b
\begin{equation}\label{xx}
\begin{split}
a& =b+c-d\\
& \quad +e-f\\
& =g+h\\
& =i
\end{split}
\end{equation}
(3)
a=b+cd
+e f
= g+h
(4)
=i
\begin{multline}
a+b+c+d+e+f\\
+i+j+k+l+m+n
\end{multline}
a+b+c+d+e+ f
+ i + j + k + l + m + n (5)
\begin{gather}
a_1=b_1+c_1\\
a_2=b_2+c_2-d_2+e_2
\end{gather}
\begin{align}
a_1& =b_1+c_1\\
a_2& =b_2+c_2-d_2+e_2
\end{align}
10
a1 = b1 + c1
(6)
a2 = b2 + c2 d2 + e2
(7)
a1 = b1 + c1
(8)
a2 = b2 + c2 d2 + e2
(9)
\begin{align}
a_{11}& =b_{11}&
a_{12}& =b_{12}\\
a_{21}& =b_{21}&
a_{22}& =b_{22}+c_{22}
\end{align}
\begin{flalign*}
a_{11}& =b_{11}&
a_{12}& =b_{12}\\
a_{21}& =b_{21}&
a_{22}& =b_{22}+c_{22}
\end{flalign*}
a11 = b11
a12 = b12
(10)
a21 = b21
(11)
a11 = b11
a12 = b12
a21 = b21
4.
4.1.
Miscelnea
Fracciones generalizadas y continuas
\genfrac{\{}{\}}{0pt}{}{ij}{k}=
g^{k1}\genfrac{[}{]}{0pt}{}{ij}{1}
+g^{k2}\genfrac{[}{]}{0pt}{}{ij}{2}
\end{equation*}
Las fracciones continuas se obtienen a travs del comando \cfrac:
4
=1+
12
32
2+
2+
52
2 +
\begin{equation*}
\frac{4}{\pi}=1+\cfrac{1^2}{2+
\cfrac{3^2}{2+
\cfrac{5^2}{2+\dotsb}}}
\end{equation*}
4.2.
El comando \{smash}
5.
x := (1/ xi j ) 1 + y
12
Apuntes de LATEX
Captulo 17: Gestion de tipos
Abstract
En e ste captulo trataremos las posibilidades existentes para manejar tipos (o caracteres)
en LATEX. Existe una amplia variedad de tipos a nuestra disposicion, cada uno de ellos almacenado en un paquete especfico. Los tipos por defecto son los llamados Computer
Modern Fonts, creados por D. E. Knuth empleando el programa METAFONT. Este programa permite construir los tipos utilizando un lenguaje grafico especial. A continuacion
describiremos como utilizar otras familias de tipos a nuestra disposicion.
Fuentes postscript
Ademas de las fuentes Computer Modern creadas por Knuth, podemos utilizar otros muchos
diferentes tipos. Existen dos procedimientos para el cambio de fuentes; si queremos cambiar el
tipo de letra para TODO EL DOCUMENTO, se debe cargar uno de los siguientes paquetes de
la tabla en el preambulo (por ejemplo, para e ste documento se ha usado el paquete mathptmx,
que proporciona el tipo de letra times):
Paquete
mathpazo
mathptmx
helvet
avant
courier
bookman
newcent
charter
chancery
Codigo
ppl
ptm
phv
pag
pcr
pbk
pnc
bch
pzc
roman
Palatino
Times
sansserif
typewriter
formulas
Palatino
Times
Helvetica
Avant Garde
Courier
Bookman
New Century
Charter
Zapf Chancery
Si por el contrario deseamos cambios puntuales de tipo de letra, debemos emplear los
codigos de tres letras (ptm, phv, etc...) en combinacion con los siguientes comandos de bajo
nivel que especifican las propiedades de la fuente:
\fontencoding{Codificaci
on} Tipo de codificacion de la fuente: OT1, T1, OT2...
(no es necesario especificarla en general, si ya lo hemos hecho en el preambulo)
\fontfamily{Familia} La familia se especifica a traves de los codigos de tres letras
mencionados en la tabla, que identifican a la fuente
\fontseries{Serie} Se pueden emplear los valores m (medio o normal), b (negrita),
bx (negrita extendida), sb (seminegrita) y c (condensada). Puede que no todos ellos esten
disponibles, e so depende de la familia en particular
\fontshape{Perfil} n (normal o recto), it (italico), sl (inclinado), sc (versalita)
1
\fontsize{Tama~
no}{Interl
nea} Tamano es una longitud rgida, mientras que Interlnea es otra longitud que puede admitir valores elasticos; Para un resultado correcto
es aconsejable que la interlnea sea aproximadamente un 20% mayor que el tamano del
tipo de letra. Debe hacerse notar que, en ciertos casos (las fuentes Computer Modern,
por ejemplo), se pueden haber fijado valores admisibles del tamano, con lo que LATEX
sustituira el valor elegido para Tamano por el mas cercano entre los admisibles. En tales
situaciones, se debe optar por emplear los comandos \resizebox o \scalebox
\selectfont Tras haber configurado los parametros anteriores (o alguno de ellos), se
debe declarar este comando para hacer efectivos los cambios. Si queremos que tales cambios sean locales (por ejemplo para cambiar el tipo de un determinado parrafo) deberan
encerrarse todos los comandos y el texto al que afectan entre llaves (a fin de delimitar un
grupo)
por ejemplo:
Ejemplo:
\newdimen\tamanyo
\newdimen\interlinea
\def\letra#1#2{%
\tamanyo=#1%
\interlinea=1.2\tamanyo%
\fontfamily{pbk}
\fontsize{\the\tamanyo}%
{\the\interlinea}\selectfont#2}
\letra{1pt}{Hola} \letra{5pt}{Hola}
\letra{10pt}{Hola}
\letra{20pt}{Hola} \\
\letra{1cm}{Hola} \\
\letra{2cm}{Hola}
Hola
Hola
Hola
Hola
Hola
Hola
Los paquetes pifont y marvosym proporcionan herramientas para manejar con mas comodidad
las fuentes Symbol, ZapfDingbats y MarvoSym. Por ejemplo, con el paquete pifont, podemos
acceder a las fuentes Symbol y ZapfDingbats mediante el comando
\Pisymbol{Fuente}{N
umero}
donde Fuente admite como opciones psy o pzd, y Numero tiene el mismo significado que para
el comando \symbol.
\Pifill{Fuente}{N
umero}
\Piline{Fuente}{N
umero}
rellenan un espacio extensible, en el primer caso, y una lnea entera, en el segundo, con el
smbolo escogido.
Tenemos tambien entornos para construir listas analogas a itemize y enumerate, en las
cuales cada tem viene precedido de un smbolo obtenido de las fuentes Symbol o ZapfDingbats:
\begin{Pilist}{Fuente}{N
umero}
\item xxx ...
\end{Pilist}
\item xxx ...
\begin{Piautolist}{Fuente}{N
umero}
\end{Piautolist}
\dingfill{N
umero}
\begin{dinglist}{N
umero} ...
\dingline{N
umero}
\begin{dingautolist}{N
umero} ...
Ejemplo:
\Mobilefone
\Faxmachine
etc...
Apuntes de LATEX
Captulo 18: Miscelnea de paquetes
1. Letras capitales
1.1. El paquete lettrine
El paquete lettrine permite de forma muy sencilla el incluir letras capitales al comienzo
de un prrafo; su sintaxis bsica es:
\lettrine[opciones]{Letra}{Texto Resaltado}
y debe emplearse al comienzo de un prrafo. El argumento Letra indica la letra capital, mientras que el texto incluido en el argumento Texto Resaltado es impreso en
letras maysculas (tipo small caps).
Es importante descatar que, para que el paquete funcione correctamente, se debe utilizar la opcin \usepackage[T1]{fontenc}, as como emplear uno de los siguientes
tipos de letra:
\usepackage{palatino} \usepackage{type1ec}
\usepackage{lmodern}
\usepackage{type1cm}
Los siguientes ejemplos ilustran el efecto obtenido, as como algunas de las diferentes
opciones que se pueden emplear:
\lettrine{E}{n} un lugar de la mancha...
un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que viva un hidalgo de los de lanza en astillero, adarga antigua, rocn flaco y
galgo corredor.
N
N un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que viva un hidalgo de los de lanza en astillero, adarga antigua, rocn flaco y galgo
corredor.
M ANCHA , de cuyo nombre no quiero acordarme, no ha mucho tiempo que viva un hidalgo de los de lanza en astillero, adarga antigua,
rocn flaco y galgo corredor.
N UN LUGAR DE LA
rad
or
de cuyo nombre no quiero acordarme, no ha mucho tiempo que viva un hidalgo de los de lanza en astillero, adarga antigua,
rocn flaco y galgo corredor. Una olla de algo ms vaca que carnero, salpicn las ms noches, duelos y quebrantos los sbados, lentejas los viernes,
algn palomino de aadidura los domingos, consuman las tres partes de su hacienda.
UN LUGAR DE LA MANCHA
IVA un hidalgo de los de lanza en astillero, adarga antigua, rocn flaco y galgo
corredor. Una olla de algo ms vaca que carnero, salpicn las ms noches, duelos
y quebrantos los sbados, lentejas los viernes, algn palomino de aadidura los
domingos, consuman las tres partes de su hacienda.
Bor
Cargando el paquete yfonts en el prembulo, podemos aadir letras capitales de tipo gtico, mediante el comando \yinipar{Letra} al comienzo de un prrafo. Por
ejemplo:
U
E
Apuntes de Latex
Captulo 19: Bibliografa avanzada
SECCIN 1
\cite{etiqueta}.
thebibliography,
\begin{thebibliography}{Numero}
\bibitem[NuevaMarca]{etiqueta1} Informacin bibliogrfica
\bibitem[NuevaMarca]{etiqueta2} Informacin bibliogrfica
...
\bibitem[NuevaMarca]{etiquetaN} Informacin bibliogrfica
\end{thebibliography}
donde el argumento
Numero
cumento (se utiliza para calcular la indentacin de los tems de la lista de referencias). Tal
procedimiento lleva a una lista de citas ordenada numricamente por el orden que ocupan
dentro de la lista y no por el orden en el que fueron citadas a lo largo del documento. sto
implica entonces la necesidad de llevar a cabo tal ordenacin manualmente. El argumento optativo
NuevaMarca puede utilizarse para cambiar la marca estndar ([1], [2], etc..) por un texto
cualquiera.
Para cambiar el ttulo estndar de la seccin de referencias bibliogrcas (References en
ATEX
L
variable
\refname
spanish
de
babel)
se debe renombrar la
\renewcommand{\refname}{Bibliografa}
(si deseamos Bibliografa en el ttulo, por ejemplo). En caso de utilizar babel, es muy
\begin{document}.Se
book, el comando \refname
\bibname.
Seccin 2
El paquete cite
\let\OLDthebibliography=\thebibliography
\def\thebibliography#1{\OLDthebibliography{#1}%
\addcontentsline{toc}{section}{\refname}}
\let (ver captulo 8) se encarga de guardar una copia de seguridad del comando
\thebibliography, bajo la denominacin \OLDthebibliography; seguidamente, redenimos
el comando \thebibliography (que, al igual que su copia \OLDthebibliography, depende
de un argumento), indicando que debe ejecutarse primeramente \OLDthebibliography (es decir, todo lo que hace el comando \thebibliography original) y seguidamente la instruccin
\addcontentsline{toc}{section}{\refname}, que se encarga de aadir a la tabla de contenidos una nueva seccin (de ah el argumento section) de nombre \refname. Para el caso de
un documento de clase book, deberamos reemplazar section por chapter, y \refname por
\bibname, sto es: \addcontentsline{toc}{chapter}{\bibname}.
El comando
El comando
\cite
mentarios extra durante la cita de una referencia bibliogrca. As por ejemplo, si empleamos:
@,
la
redenicin del comando en el prembulo del documento debe intercalarse entre los comandos
\makeatletter
\makeatother.
\makeatletter
\renewcommand\@biblabel[1]{#1. \ }
\makeatother
la lista de referencias quedara como:
1. Referencia nmero 1
2. Referencia nmero 2
3. Referencia nmero 3
etc...
Debe hacerse notar que el comando
\@biblabel
SECCIN 2
El paquete cite
El paquete
cite mejora las capacidades de LATEX estndar a la hora de colocar las citas a lo
largo del documento. En caso de que en un lugar se haga referencia a ms de 3 citas seguidas,
Apuntes de LATEX
Seccin 3
cite
se agrupen automticamente, del modo: [1-4,..]. Adems, el paquete ampla enormemente las
posibilidades de manejo del formato de las citas. Mediante los comandos:
\citeleft
\citeright
podemos cambiar el material (por defecto corchetes) a la izquierda y derecha de las listas de
citas, respectivamente. Por ejemplo, para poner las citas entre parntesis utilizaramos:
\renewcommand\citeleft{(}
\renewcommand\citeright{)}
Debe tenerse en cuenta que en
\citeleft
argumento, que es considerado por defecto la lista de citas (es decir, 1-4, 2,3, etc...). Podemos
utilizar entonces el comando
\fbox
enmarcadas:
\renewcommand\citeleft{\fboxsep=2pt\fbox}
\renewcommand\citeright{}
que dara como resultado:
14,6
cite
es
\citeform
un argumento, las citas en cuestin), que se utiliza para cambiar el formato del nmero de cita.
Por ejemplo, con:
\renewcommand\citeform[1]{\textcolor{blue}{#1}}
obtenemos el texto de las citas en azul: [14,6]
Por ltimo, se debe mencionar que cargando el paquete
superscript
(sto es,
\usepackage[superscript]{cite}),
cite
14,6
SECCIN 3
@TipoDeRegistro{Etiqueta,CampoA={Contenido},CampoB={Contenido},etc..}
donde TipoDeRegistro denota qu clase de documento referenciamos, y Etiqueta va a ser la
etiqueta que debemos emplear como argumento del comando \cite para citar la referencia
en cualquier documento. Posteriormente, se deben especicar una serie de campos, algunos
obligatorios, y otros optativos, con la informacin de ttulo, autores, ao de publicacin, etc...
Apuntes de LATEX
Seccin 3
El carcter obligatorio optativo de diversos campos vara, en general, con el tipo de referencia
bibliogrca. En la siguiente gura se puede ver un ejemplo del contenido de un chero .bib
de bibliografa tpico:
@Article{abril2005a,
author =
{Juan Francisco Abril and Ruben Castelo and Ricardo Guigo},
title =
{Comparison of splice sites in mammals and chicken},
journal =
{Genome Research},
year =
2005,
volume =
15,
pages =
{111--119},
}
@Book{alberts1994a,
author = {Bruce Alberts and David Bray and John Lewis and Michael Raff}
title = {Molecular biology of the cell},
publisher = {Garland publishing},
year = 1994,
edition = {Third},
isbn = {0-8153-1620-8}
}
@Article{bucher1990a,
author =
{Peter Michael Bucher},
title =
{Weight matrix descriptions of four eukaryotic {RNA polymerase II}
promoter elements derived from 502 unrelated promoter sequences},
journal =
{Journal of Molecular Biology},
year =
1990,
volume =
212,
pages =
{563-578},
}
@Article{beltran2003a,
author = {Santiago Beltran and Enrique Blanco and Fernando Manuel Serras},
title = {Transcriptional network controlled by the trithorax-group gene
ash2 in Drosophila melanogaster},
journal = {Proceedings of the National Academy of Sciences},
year = {2003},
volume = {100},
pages = {3293--3298},
}
Apuntes de LATEX
Seccin 3
A continuacin se detallan los distintos tipos de registros disponibles para una base de
datos, especicando los diversos campos disponibles, as cmo su posible carcter obligatorio
opcional:
article
book
note.
inproceedings Artculos de comunicaciones a congresos
Requerido: author, title, booktitle, year.
Opcional: editor, volume or number, series, pages, address, month, organization, publis-
her, note.
manual Documentacin tcnica
Opcional: author, organization, address, edition, month, year, note.
Apuntes de LATEX
Seccin 3
Para construir una base de datos de referencias bibliogrcas, es de suma utilidad emplear
alguno de los muchos programas disponibles tanto en MS-Windows (JabRef, por ejemplo)
como en Linux (kbibtex). stos programas proporcionan herramientas para ir completando
de forma manual los diversos campos de cada referencia bibliogrca, haciendo innecesario el
conocer la sintaxis concreta que L TEXrequiere para cada uno. Una vez introducidos los datos,
adems de poder buscar registros en la base de dato, ordenar por autor, ttulo, etc..., podemos
automticamente exportar toda la informacin a un chero de tipo .bib.
Una vez construido el chero .bib (que debe estar colocado, obviamente, en el directorio
donde compilemos nuestro documento), se colocan a lo largo del documento los diversos comandos
\bibliography{NombreFichero}
\bibliographystyle{style}
El primero de ellos tiene como argumento el nombre del chero (sin incluir extensin) auxiliar de bibliografa, y se encarga de construir la lista de referencias bibliogrcas. El segundo,
especica el estilo bibliogrco a emplear para construir las referencias. Existen cuatro estilos
estndar disponibles en L TEX: (los ejemplos correspondientes ilustran cmo, a partir de la base
de datos de la Figura 1, se construye la seccin de referencias:
unsrt
Las entradas se numeran, y aparecen en la lista segn el orden en el que son citadas a lo
largo del documento (al igual que en el mtodo estndar listas de bibliografa con
plain
Anlogo a
unsrt,
\bibitem).
Apuntes de LATEX
Seccin 3
abbrv
alpha
Como
plain,
bibtex fichero
latex fichero.tex
grafa en un chero auxiliar) y terminando con una segunda compilacin en latex del documento
Apuntes de LATEX
Seccin 4
\nocite{Etiqueta}
lista de referencias citas bibliogrcas que no hayan sido referenciadas en el texto principal
del documento. En particular, para gestionar formatos y bases de datos, es muy til utilizar
\nocite{*},
datos.
Una de las mayores ventajas del empleo de BibTeX reside en que, aparte de los cuatro estilos
estndar, existen muchos otros disponibles en la distribucin TeXLive, adaptados especcamente a diversos tipos de publicaciones. Por ejemplo, utilizando el estilo
achemso obtenemos la
SECCIN 4
\begin{bibunit}[Estilo]
Texto diverso...
\cite{Etiqueta1,Etiqueta2}
\putbib[NombreBase]
\end{bibunit}
para delimitar la parte del documento que debe incluir la sub-bibliografa. El argumento
Estilo
especica que estilo de bibliografa para BibTeX queremos utilizar, mientras que el comando
Apuntes de LATEX
Seccin 4
\documentclass{article}
\usepackage{bibunits}
\begin{document}
\section{Primera seccin}
\begin{bibunit}[unsrt]
Una referencia \cite{abril2005a} \par
Otra referencia \cite{alberts1994a}.
\putbib[mybib]
\end{bibunit}
\section{Segunda seccin}
\begin{bibunit}[abbrv]
Otra referencia ms \cite{bucher1990a} \par
La ltima referencia \cite{beltran2003a}.
\putbib[mybib]
\end{bibunit}
\end{document}
Es de importancia vital aclarar que la primera compilacin del documento fuente producir
una serie de archivos auxiliares bu1.aux, bu2.aux, etc... Tras esa primera compilacin, debemos
ejecutar manualmente bibtex (OJO! sto no lo hace WinEdt automticamente) sobre cada
uno de stos cheros auxiliares. Posteriormente, la compilacin nal del documento fuente
producir el resultado deseado.
Apuntes de LATEX