R. IPANAQUÉ
G. GONZÁLEZ
G. CRESPO
FACULTAD DE CIENCIAS
UNIVERSIDAD NACIONAL DE PIURA
PIURA, PERÚ
Título:
AT X
Elaboración de una clase en L para digitar la Tesis de pre-grado en la
E
Facultad de Ciencias
Autores:
robertchero@hotmail.com
http://www.unp.edu.pe/pers/ripanaque
https://sites.google.com/site/ripanaque
gmogonzalez@gmail.com
http://www.unp.edu.pe/pers/ggonzalez
gloriasol48@hotmail.com
R. Ipanaqué
G. González
G. Crespo
Piura, Perú
CONTENIDO
Prólogo i
Contenido ii
Capítulo I:Introducción a LATEX 1
Introducción a la edición de textos con LATEX 1
Instalación de TEX/LATEX 9
Prueba de la correcta instalación de TEX/LATEX 17
Instrucciones básicas de LATEX 25
Estructura de los documentos LATEX 28
Clases de documentos básicos 29
Paquetes 52
El paquete babel 57
El paquete inputenc 57
El paquete geometry 58
Formato de página 58
Edición de texto 59
Matemática 67
Listas 89
Inclusión de grácos 97
Tablas 100
Referencias cruzadas 108
Notas al pie y al margen 112
Inserción de texto plano 114
Bibliografía 115
El programa BibTex 117
iii
INTRODUCCIÓN A LTEX A
¾Qué es LATEX?
AT X es un paquete de macros para T X originalmente escrito por Leslie
L E E
Lamport para proporcionar un sistema de procesamiento de documentos
1 El nombre TEX representa el prejo τ εχ (tau épsilon chi), que signica arte.
2
más simple de uso que TEX pero con toda su potencia. L AT X proporciona
E
una serie de órdenes para describir la estructura del documento, de forma
que el usuario nal no deba pensar mucho en la presentación. Mediante
distintas clases de documentos y paquetes adicionales, el mismo documento
puede producirse con muchos diferentes aspectos.
TEX- nócrata Persona que ha asimilado la losofía TEX y que usa regu-
larmente TEX o L AT X pero que no conoce o no tiene interés en el
E
funcionamiento interno del lenguaje TEX.
Se escribe en ASCII
Esto, que al principio puede parecer un inconveniente (ya que implica
teclear mucho más) se torna en ventaja al cabo del tiempo. Por un lado
permite incrementar la velocidad de escritura (pues no hay que andar
utilizando ratón o menús), por otro facilita el uso de cualquier editor de
texto (no contiene caracteres de control) y permite su transmisión por
correo electrónico (puede escribirse en ASCII de 7 bits). Esto hace que
AT X enviados
muchas revistas cientícas admitan artículos escritos en L E
por e-mail. Ellos lo procesan en el lugar de destino, hacen los cambios
necesarios y lo imprimen.
Es gratis
Porque Knuth lo decidió así, y no parece molestarle que otros ganen dinero
vendiendo productos y servicios basados en TEX. De hecho, aunque algunas
4
Dado un documento
doc.tex,
doc.dvi
fuente éste
se procesa mediante
TEX si se han utili-
zado las órdenes de doc.tex doc.aux
¾Qué es un conversor?
Un conversor es un programa que toma su entrada de un archivo DVI
y produce un archivo que puede enviarse a una impresora (mediante un
driver) o una salida directa a una pantalla (mediante un previewer). Estos
conversores normalmente son especícos a cada impresora o lenguaje de
impresora. Por ejemplo, una impresora postscript entenderá siempre la
salida de un conversor postscript, pero en general no de otros formatos.
Unix TeTEX
Linux teTEX NTEX
Macintosh OzTEX
DOS/OS2 emTEX gTEX emTEX-TDS
Win32 MikTEX fpTEX.
2
AT X son:
Y, los editores de texto que trabajan especialmente bien con L E
¾Qué es CTAN?
Son las abreviaturas de Comprehensive TEX Archive Network (Red del
Archivo Completo de TEX). Es una red mundial de software TEX Los ser-
vidores de CTAN contiene implementaciones de L AT X para prácticamente
E
AT X
todos los sistemas operativos, así como los paquetes de macros TEX y L E
y otros programas que pueden ser útiles. El software que allí se encuentra
es GNU o shareware.
EEUU http://www.ctan.org/
Inglaterra http://www.tex.ac.uk/tex-archive/
Alemania http://www.dante.de/cgi-bin/ctan-index/
http://www.cervantex.org/
2 Instalación de TEX/LATEX
Una distribución gratuita para Microsoft Windows, desarrollada por Chris-
tian Schenk es MiKTEX . Las características más apreciables de MiKTEX
son su habilidad de actualizarse por sí mismo descargando nuevas versio-
nes de componentes y paquetes instalados previamente, y su fácil proceso
de instalación. La versión actual de MiKTEX es 2.9 y está disponible en
su página ocial (ver Fig. 1.3)
http://miktex.org
Fig. 1.4
11
Fig. 1.5
Fig. 1.6
Fig. 1.7
12
Fig. 1.8
Fig. 1.9
Fig. 1.10
13
Fig. 1.11
Fig. 1.12
Fig. 1.14
Fig. 1.15
15
Fig. 1.16
Fig. 1.17
Fig. 1.18
Fig. 1.19
17
Fig. 1.20
Fig. 1.21
Fig. 1.22
19
Fig. 1.23
8. Presionar la tecla <F7> para poder ver el archivo pdf con el visor
de archivos pdf de TEX MAKER (ver g. 1.33).
20
Fig. 1.24
Fig. 1.25
21
Fig. 1.26
Fig. 1.27
22
Fig. 1.28
Fig. 1.29
23
Fig. 1.30
Fig. 1.31
24
Fig. 1.32
Fig. 1.33
25
Si por alguna razón es abierto el archivo pdf (en este caso ejemplo.pdf )
con el Acrobat Reader, éste debe cerrarse antes de que se efectúe cualquier
cambio en el archivo tex (en este caso ejemplo.tex ), pues de lo contrario no
permitirá realizar ninguna actualización desde TEX MAKER ; es decir des-
pués de presionar <F6>
, en la respectiva hoja de TEX MAKER , aparecerá
un mensaje de error en el cuadro de mensajes (ver g. 1.31).
4.1 Comandos
AT X comienzan con \ seguido de una secuencia de
Los comandos de L E
6
letras .
\<comando>
\<comando> {. . . }{. . . }. . . {. . . }
Entornos
Son construcciones del documento que son tratadas de manera distinta del
documento principal, deben especicarse en la forma:
\begin{<entorno>}
<texto>
\end{<entorno>}
Comentarios
Todo texto que se encuentre a la derecha del símbolo % no es procesado,
de esta forma se pueden agregar los comentarios dentro de un documento
AT X.
L E
Símbolos especiales
Los siguientes símbolos (entre otros) no se pueden obtener directamente,
es necesario especicarlos mediante comandos:
\ { } $ % & # _
27
Dado que L AT X procesa archivos escritos con ASCII 7, los símbolos con
E
tilde, diéresis, circunejo o virgulilla no se pueden obtener directamente,
para esto existen unos comandos especiales, como por ejemplo: para la á
puede usarse \'a o \{'a}.
\usepackage[latin1]{inputenc}
28
\documentclass[(
<opciones >]{<estilo >}
< título >, < autor >, < fecha >
Preámbulo
< declaraciones: paquetes >
\begin{document}
( %(inicio documento)
< comandos especiales : \maketitle >
Documento
< Cuerpo del documento >
\documentclass{article}
\usepackage[latin1]{inputenc}
\author{A. U. Tor}
\title{Primer Documento}
\begin{document}
\maketitle
\Éste es mi primer documento escrito en \LaTeX.
\end{document}
29
Fig. 1.34
\documentclass[(
<opciones >]{article}
< declaraciones: paquetes, comandos >
Preámbulo
< título >, < autor >, < fecha >
\begin{document}
\maketitle
\begin{abstract}...\end{abstract}
Documento \section{...}
\subsection{...}
\subsubsection{...}
\end{document}
30
\documentclass{article}
\usepackage[latin1]{inputenc}
\title{La clase article en \LaTeX}
\author{A. U. Tor \thanks{Catedrático, UNP,
autor@unp.edu.pe}}
\date{}
\begin{document}
\maketitle
\begin{abstract}
En este documento se exhibirán las características
más importantes de un artículo escrito en \LaTeX.
\end{abstract}
31
\section{Artículo en \LaTeX}
Los artículos son la clase de documentos \LaTeX\ más
ampliamente utilizados, dada la sencillez en su creación.
\subsection{Estructura de un artículo}
Este tipo de documento se puede dividir en dos partes, los
campos de identificación: título, autor y fecha. Y
el cuerpo del documento, en el cual el texto pertenece a
una de las siguientes unidades divisionales: resumen,
secciones, subsecciones, parágrafos, subparágrafos,
etc.
\end{document}
\documentclass[(
<opciones >]{book}
< declaraciones: paquetes, comandos >
Preámbulo
< título >, < autor >, < fecha >
\begin{document}
\maketitle
\frontmatter
\mainmatter
\chapter{...}
Documento
\section{...}
\subsection{...}
\appendix
\backmatter
\end{document}
32
\documentclass{book}
\usepackage[latin1]{inputenc}
\title{La clase book en \LaTeX}
\author{A. U. Tor
\thanks{Catedrático, UNP, autor@unp.edu.pe}}
\date{}
\begin{document}
34
\maketitle
\frontmatter
\chapter{Prólogo}
\tableofcontents
\mainmatter
\chapter{Libro en \LaTeX}
Los libros son la clase de documentos \LaTeX\ más
completa.
\section{Estructura de un libro}
Este tipo de documento se puede dividir en tres partes,
la apertura: prólogo, agradecimientos, tabla de
contenidos, etc. La parte central del documento, en la
que se desarrolla el tema tratado y el texto pertenece a
una de las siguientes unidades divisionales: capítulos
secciones, subsecciones, etc. Y el cierre del documento
que contiene la bibliografía, conclusiones,
recomendaciones, etc.
\backmatter
\begin{thebibliography}{CM}
\bibitem{Ar}
Aranda, E.
CURSO DE LATEX.
Departamento de Matemáticas, E.T.S. Ingenieros
Industriales, Universidad de Castilla, La Mancha.
(2008).
\end{thebibliography}
\end{document}
35
\documentclass[(
<opciones >]{report}
< declaraciones: paquetes, comandos >
Preámbulo
< título >, < autor >, < fecha >
\begin{document}
\maketitle
\chapter{...}
Documento \section{...}
\subsection{...}
\appendix
\end{document}
\documentclass{report}
\usepackage[latin1]{inputenc}
\title{La clase report en \LaTeX}
\author{A. U. Tor
\thanks{Catedrático, UNP, autor@unp.edu.pe}}
\date{}
36
Fig. 1.39 Página del primer capítulo generada con la clase book. El incon-
veniente del título en inglés se supera usando el paquete babel (ver sección
8)
40
\begin{document}
\maketitle
\begin{abstract}
\end{abstract}
\tableofcontents
\chapter{Reporte en \LaTeX}
Los reportes son la clase de documentos \LaTeX\ más
completa.
\section{Estructura de un reporte}
Este tipo de documento se puede dividir en tres partes,
la apertura: prólogo, agradecimientos, tabla de
contenidos, etc. La parte central del documento, en la
que se desarrolla el tema tratado y el texto pertenece a
una de las siguientes unidades divisionales: capítulos
secciones, subsecciones, etc.
\begin{thebibliography}{CM}
\bibitem{Ar}
Aranda, E.
CURSO DE LATEX.
Departamento de Matem\'{a}ticas, E.T.S. Ingenieros
Industriales, Universidad de Castilla, La Mancha.
(2008).
42
\end{thebibliography}
\end{document}
\documentclass{letter}
\begin{document}
\address{dirección del remitente}
Preámbulo \signature{nombre y rma del remitente}
\date{fecha deseada}(por defecto \today)
\begin{letter}
\opening{apertura, saludo}
{Contenido}
\closing{cierre, despedida}
Carta
\cc{copias a: }(opcional)
\encl{material adjunto}(opcional)
\ps{nota o dato posterior}(opcional)
\end{letter}
\end{document}
\documentclass{letter}
\usepackage[latin1]{inputenc}
\begin{document}
\address{
Revista Universalia \\
43
Fig. 1.42 Página del resumen generada con la clase report. El inconve-
niente del título en inglés se supera usando el paquete babel (ver sección
8)
45
Fig. 1.45 Página del primer capítulo generada con la clase report. El
inconveniente del título en inglés se supera usando el paquete babel (ver
sección 8)
48
\begin{letter}{
Dr. Donald Knuth \\
Departamento de Ciencias de la Computación \\
Universidad de Stanford \\
EEUU}
\opening{Estimado señor:}
El Comit\'{e} Editor de la Revista Universalia de
la UNP, teniendo en cuenta su experiencia
y su conocimiento sobre el tema, le solicita
muy comedidamente hacer una evaluación del
artículo titulado ``Análisis de la taza del
aprendizaje de \LaTeX\ en Piura''.
Para cumplir con el cronograma del n\'{u}mero de
éste año, le solicito comedidamente entregar la
evaluación antes de finalizar el año en curso.
\closing{Atentamente,}
\cc{
Departamento de Publicaciones, Universidad Nacional de
Piura.}
\encl{
Artículo para arbitraje titulado:
``Análisis de la taza del aprendizaje
de \LaTeX\ en Piura'' en formato pdf.}
\ps{
P.D. En el documento enviado se han
eliminado los datos de los autores y las
instituciones a las que pertenecen.}
\end{letter}
\end{document}
50
\documentclass{(slides}
< declaraciones: paquetes, comandos >
Preámbulo
< título >, < autor >, < fecha >
\begin{document}
\begin{slides} n
Documento contenido de las diapositivas
\end{slides}
\end{document}
\documentclass{slides}
\usepackage[latin1]{inputenc}
\begin{document}
\begin{slide}
\maketitle
\end{slide}
\begin{itemize}
\item Si están basadas en un documento proveniente de
\LaTeX.
\item Si sus diapositivas tienen grana cantidad de
fórmulas matemáticas.
\item Si no desea hacer diapositivas a costo de aprender a
usar otro sistema.
\end{itemize}
\end{slide}
\begin{slide}
\centering{MUCHAS GRACIAS} % (centra el texto)
\end{slide}
\end{document}
7 Paquetes
Los paquetes propiamente dichos son archivos con extensión sty. Algu-
nos paquetes son muy pupulares y tienen un estatus semi-ocial pero no
vienen instalados en implementaciones corrientes. El usuario debe apren-
der a instalarlos, lo cual depende tanto de la plataforma computacional
utilizada como de la implmentación local.
53
8 El paquete babel
El paquete babel permite generar textos en diferentes idiomas. Dado un
idioma en particular se tiene la escritura en dicho idioma de los títulos de la
tabla de contenidos, lista de tablas, lista de guras, capítulos, bibliografía,
etc. Así como la partición automática en patrones silábicos respetando las
normas del idioma elegido.
La sintaxis de este paquete es la siguiente:
\usepackage[<idioma>, <options>]{babel}
\usepackage[spanish,es-noindentfirst]{babel}
en el preámbulo.
Para cambiar de idioma en cualquier parte del documento se utiliza
el comando \selectlanguage{<idioma>}, y para saber el idioma que se
\languagename.
encuentra en uso se utiliza el comando
9 El paquete inputenc
El paquete inputenc permite el uso directo de caracteres que no pertene-
cen al conjunto ASCII. La sintaxis de este paquete es la siguiente:
\usepackage[<options>]{inputenc}
58
\usepackage[latin1]{inputenc}
10 El paquete geometry
El paquete geometry proporciona una forma simple e intuitiva de ajustar
los parámetros de colocación del texto en un documento; además, nos
permite variar libremente el tamaño y orientación del papel, siendo muy
útil su empleo para la producción de posters (tamaño DIN-A0), pequeños
folletos, etc.
El ajuste de los diferentes parámetros debe hacerse con argumentos
optativos en la carga del paquete con \usepackage{geometry}. Así por
ejemplo, con:
\usepackage[papersize={841mm,1189mm}8 ,lmargin=2cm,
rmargin=2cm,tmargin=2cm,bmargin=2cm]{geometry}
se deniría un tamaño de papel DIN-A0 (841mm × 1189mm), y se ajus-
tarían los márgenes izquierdo, derecho, superior e inferior a 2cm, respec-
tivamente. A modo de otro ejemplo, con
\usepackage[landscape]{geometry}
se cambiaría la orientación del papel, a horizontal.
11 Formato de página
11.1 Parámetros del formato de página
\headheight Altura del encabezado.
\headsep Espacio entre la base del encabezado y el tope del cuerpo del
documento.
8 Para el caso de tamaños estandarizados como el tamaño DIN-A4 puede sustituirse
papersize={210mm,297mm} por a4paper.
59
\setlength{\<parametro>}{<longitud>}
Así, por ejemplo, para modicar la distancia vertical entre la base del
cuerpo del documento y la base del footer habría que escribir en el preám-
bulo:
\setlength{\footskip}{1cm}
12 Edición de texto
12.1 Tipos
AT X elige el tamaño y tipo de las fuentes usadas según una estructura
L E
lógica. Para cambiar directamente se pueden usar las instrucciones siguien-
tes
Cada uno de los tipos de fuentes básicos tiene su modo enfático, el cual
se obtiene por medio de comando
\emph{<texto >}
12.2 Tamaños
Comando Tamaño
\begin{center}
El ingenioso hidalgo\\ El ingenioso hidalgo
D. Quijote de la Mancha D. Quijote de la Mancha
\end{center}
\begin{flushleft}
Este texto aparecerá\\ Este texto aparecerá
alineado por su\\ alineado por su
parte izquierda parte izquierda
\end{flushleft}
\begin{flushright}
Este texto aparecerá\\ Este texto aparecerá
alineado por su\\ alineado por su
parte derecha parte derecha
\end{flushright}
Téngase presente que el uso del comando \\, en los tres casos previos,
es opcional y depende de la extensión que queramos asignar a cada renglón
del texto en questión.
Para escribir poesía disponemos del entorno verse, donde cada verso
es separado con el comando \\.
He aquí un poema
\begin{verse}
Voy a la casa donde no viviremos,\\
miro los muros que no levantarán,\\
huelo las bugambilas que no crecerán,\\
y con los hijos que jamás tendremos,\\
salgo a ver el mar ...\\
donde se han hundido tantas cosa nuestras.\\
\rightline{\textsc{(M. Scorza)}}
\end{verse}
He aquí un poema
\renewcommand{\baselinestretch}{<número >}
donde número se reere a un factor de interlineado, que por defecto es 1.
Por ejemplo, si se pone:
\renewcommand{\baselinestretch}{2},
se estará escribiendo a doble espacio. Es posible jar número a un valor
decimal.
El espacio entre párrafos del texto se puede cambiar en el preámbulo
con la orden
\setlength{\parskip}{<longitud >}
donde longitud se reere a una medida. Por ejemplo si se pone:
\setlength{\parskip}{2cm}
se estará estableciendo un espacio de 2cm entre párrafos del texto.
AT X introduce un sangrado de forma automá-
Al inicio de un párrafo L E
tica, que puede ser evitado con el comando \noindent.
La longitud del sangrado del texto se puede cambiar en el preámbulo
con la orden
\setlength{\parindent}{<longitud >}
donde longitud se reere a una medida, como en el caso previo.
El salto de línea sin provocar un cambio de párrafo puede llevarse a
cabo con uno de los siguientes comandos \newline o \\[salto ]. Donde el
65
\setlength{\skip\footins}{<longitud >}
donde longitud se reere a una medida. Por ejemplo si se pone:
\setlength{\skip\footins}{2cm}
se estará estableciendo un espacio de 2cm entre entre el texto y el pie de
página.
El espacio entre entre pies de página se puede cambiar en el preámbulo
con la orden
\setlength{\footnotesep}{<longitud >}
donde longitud se reere a una medida, como en el caso previo.
La línea que separa los pies de página del texto también se puede
AT X usa por defecto para elaborar
cambiar en el preámbulo. El código que L E
dicha línea es
66
\newcommand{\footnoterule}{
\vspace*{-3pt}
\noindent\rule{2in}{0.4pt}
\vspace*{2.6pt}
}
\renewcommand{\footnoterule}{
\vspace*{-3pt}
\noindent\rule{10in}{2pt}
\vspace*{2.6pt}
}
lo que aumentaría el largo y grosor de dicha línea (Note que al inicio del
primer código se usa \newcommand, mientras que al inicio del segundo,
\renewcommand).
División silábica
Cuando la inclusión de una palabra supera la longitud de línea y su ex-
AT X introduce una separación silábica
clusión la hace demasiado corta, L E
según un algoritmo que depende del idioma en que esté trabajando. En
caso de que el algoritmo no funcione correctamente, es posible indicar al
compilador los posible lugares en los que se puede dividir dicha palabra.
El comando a utilizar es \-. Por ejemplo, reemplazando la palabra
\hyphenation{ma-ter-ni-dad al-bo-ro-to}.
Las palabras se separan con espacios en blanco, sin signos de puntua-
ción.
10 Lamentablemente sólo la primera forma admite tildes, virgulillas, etc.
67
13 Matemática
13.1 Modos texto y display
TEX fue especialmente diseñado para producir documentos de carácter
cientíco con un contenido importante de matemática. Precisamente, es
AT X
la calidad en la escritura de tipografía matemática donde TEX y L E
marcan la diferencia.
AT X divide la introducción de tipografía matemática según
En esencia L E
se haga en la misma línea del párrafo en que se está escribiendo (modo
texto ), o en párrafos separados (modo display ).
La tipografía matemática escrita en modo texto, ha de ser introducida
entre $ y $, mientras que para hacerlo modo display, lo más común es
encerrar la expresión entre $$ y $$ (aunque, equivalentemente, también
puede ser entre \[ y \]).
Por otra parte, puesto que es muy frecuente el referenciar una fórmula
matemática en un texto, el entorno equation, que esencialmente tiene el
mismo funcionamiento que $$, añade además un número a la ecuación para
futuras referencias.
Ejemplo
El siguiente ejemplo muestra los funcionamientos de los modos texto y
display.
68
La fórmula
La fórmula $$\sum_{k=1}^{n}k n
X n(n + 1)
= \frac{n(n+1)}{2}$$ es bien k=
2
conocida. k=1
es bien conocida.
La fórmula n
n(n + 1)
$\displaystyle\sum_{k=1}^{n}k
X
La fórmula k= es
= \frac{n(n+1)}{2}$ es bien k=1
2
conocida. bien conocida.
La fórmula La fórmula
$$\textstyle\sum_{k=1}^{n}k Pn n(n+1)
k=
= \frac{n(n+1)}{2}$$ es bien k=1 2
amsmath y amssymb.
Fracciones
$$ a b
+
\frac{\frac{a}{x-y}+\frac{b}{x+y}} x−y x+y
{1+\frac{a-b}{a+b}}
a−b
1+ a+b
$$
Matrices
$$
1 2 3
\left( \begin{array}{lll}
1 & 2 & 3 \\4 & 5 & 6 \\7 & 8 & 9
4 5 6
\end{array}\right)
7 8 9
$$
70
$$
\left( \begin{array}{ccc} 1 ··· n
1 & \cdots & n \\2 & \cdots & n+1 \\
2 ··· n+1
\vdots & \ddots & \vdots \\ .. . .
.
.
n & \cdots & 2n-1
. . .
\end{array}\right)
n ··· 2n − 1
$$
\begin{equation*}
\begin{matrix} 0 & 1\\1 & 0 \end{matrix}\qquad
\begin{pmatrix} 0 & -i\\i & 0 \end{pmatrix}\qquad
\begin{bmatrix} a & b\\c & d \end{bmatrix}\qquad
\begin{vmatrix} 0 & 1\\-1 & 0 \end{vmatrix}\qquad
\begin{Vmatrix} f & g\\e & v \end{Vmatrix}
\end{equation*}
−i
0 1 0 a b 0 1
f g
−1
1 0 i 0 c d 0
e v
Funciones a trozos
$$
\psi(x)=\begin{cases}
Ae^{ikx}+Be^{-ikx}, & \text{si $x=0$,}\\
De^{- kx}, & \text{si $x\neq 0$.}
\end{cases}
$$
(
Aeikx + Be−ikx , si x = 0,
ψ(x) =
De−kx , si x 6= 0.
71
Arriba y abajo
\begin{equation*}
\sum_{\substack{0\leq i\leq m\\0>j>n}}\phi(i,j)
\end{equation*}
X
φ(i, j)
0≤i≤m
0>j>n
\begin{equation*}
\sum^{\substack{0\leq i\leq m\\0>j>n}}\phi(i,j)
\end{equation*}
0≤i≤m
0>j>n
X
φ(i, j)
Adornos y operadores
abc
f \widetilde{abc} abc
c \widehat{abc}
←− −→
abc \overleftarrow{abc} abc \overrightarrow{abc}
abc \overline{abc} abc \underline{abc}
z}|{
abc \overbrace{abc} abc \underbrace{abc}
√ √
|{z}
abc \sqrt{abc} n
abc \sqrt[n]{abc}
f 0
f^\prime ~x \vec{x}
Números combinatorios
$${\n \choose k} = n n!
=
\frac{n!}{k!\,(n-k)!}$$ k k! (n − k)!
72
\genfrac{Delim.Izqdo}{Delim.Derecho}{GrosorLínea}
{Tamaño}{Numerador}{Denominador}
Para Tamaño, se puede elegir entre los valores0, 1, 2 y 3, que corres-
ponden respectivamente a \displaystyle, \textstyle, \scriptstyle y
\scripscriptstyle.
$$\genfrac{\{}{\}}{0pt}{}{ij}{k}=
ij k1 ij k2 ij
g^{k1}\genfrac{[}{]}{0pt}{}{ij}{1} =g +g
+g^{k2}\genfrac{[}{]}{0pt}{}{ij}{2}$$ k 1 2
4 12
\frac{4}{\pi}=1+\cfrac{1^2}{2+ =1+
π 32
\cfrac{3^2}{2+ 2+
\cfrac{5^2}{2+\dotsb}}} 52
2+
2 + ···
Para todo ε>0 existe δ>0 tal que |x−a| < δ implica |f (a)−f (x)| < ε.
73
$\mathrm{abc...}$ abcdefghijklmnopqrstuvwxyz
$\mathrm{ABC...}$ ABCDEFGHIJKLMNOPQRSTUVWXYZ
$\mathit{abc...}$ abcdefghijklmnopqrstuvwxyz
$\mathit{ABC...}$ ABCDEFGHIJKLMN OPQRSTUVWXYZ
$\mathsf{abc...}$ abcdefghijklmnopqrstuvwxyz
$\mathsf{ABC...}$ ABCDEFGHIJKLMNOPQRSTUVWXYZ
$\mathtt{abc...}$ abcdefghijklmnopqrstuvwxyz
$\mathtt{ABC...}$ ABCDEFGHIJKLMNOPQRSTUVWXYZ
$\mathbf{abc...}$ abcdefghijklmnopqrstuvwxyz
$\mathbf{ABC...}$ ABCDEFGHIJKLMNOPQRS . . . XYZ
$\mathcal{ABC...}$ ABCDEFGHIJ KLMN OPQRS . . . X YZ
$\mathfrak{abc...}$ abcdefghijklmnopqrstuvwxyz
$\mathfrak{ABC...}$ ABCDEFGHIJKLMNOPQRSTUVWXYZ
$\mathbb{ABC...}$ ABCDEFGHIJKLMNOPQRSTUVWXYZ
Téngase en cuenta que los tipos \mathfrak y \mathbb requieren del pa-
quete amssymb.
Para todo ε>0 existe δ>0 tal que |x−a| < δ implica |f (a)−f (x)| < ε .
74
Para realizar el cambio del tamaño del texto matemático se puede utilizar
los modicadores del texto normal, pero con la precaución de que el modi-
cador aplicado debe ser llamado antes de ingresar a un modo matemático.
{\tiny $f_x:A\to\mathbb{R}^2$} fx : A → R2
{\small $f_x:A\to\mathbb{R}^2$} fx : A → R2
{\Large $f_x:A\to\mathbb{R}^2$} f x : A → R2
{\Huge $f_x:A\to\mathbb{R}^2$} fx : A → R2
13.7 Alineación de fórmulas
multline
Se utiliza para dividir fórmulas, sin alinearlas, en dos o más renglones,
estos se separan con \\, el primer renglón aparece alineado a la izquier-
da, el último a la derecha y el resto centrados. Todo el texto recibe una
única numeración en el último renglón. El entorno multline* no produce
ninguna numeración.
\begin{multline}
(a+b)^3 = (a+b)(a+b)(a+b) \\
= (a^2 + 2ab + b^2)(a+b) \\
= (a+b)(a^2 + 2ab + b^2) \\
= a^3 + 3a^2b + 3ab^2 + b^3
\end{multline}
75
\begin{multline*}
(a+b)^3 = (a+b)(a+b)(a+b) \\
= (a^2 + 2ab + b^2)(a+b) \\
= (a+b)(a^2 + 2ab + b^2) \\
= a^3 + 3a^2b + 3ab^2 + b^3
\end{multline*}
gather
\begin{gather}
(a+b)^3 = (a+b)(a+b)(a+b) \\
= (a^2 + 2ab + b^2)(a+b) \\
= (a+b)(a^2 + 2ab + b^2) \\
= a^3 + 3a^2b + 3ab^2 + b^3
\end{gather}
76
\begin{gather}
(a+b)^3 = (a+b)(a+b)(a+b) \\
= (a^2 + 2ab + b^2)(a+b) \notag\\
= (a+b)(a^2 + 2ab + b^2) \\
= a^3 + 3a^2b + 3ab^2 + b^3 \notag
\end{gather}
\begin{gather*}
(a+b)^3 = (a+b)(a+b)(a+b) \\
= (a^2 + 2ab + b^2)(a+b) \\
= (a+b)(a^2 + 2ab + b^2) \\
= a^3 + 3a^2b + 3ab^2 + b^3
\end{gather*}
align
Este entorno a diferencia de gather permite alinear las fórmulas con res-
pecto a un símbolo al cual es necesario colocar inmediatamente antes un &.
Los renglones se separan con \\. Todos los renglones aparecen numerados.
Con el modicador \notag se puede eliminar la numeración en renglones
particulares; con la versión align* no se produce numeración alguna.
\begin{align}
(a+b)^3 &= (a+b)(a+b)(a+b) \\
&= (a^2 + 2ab + b^2)(a+b) \\
&= (a+b)(a^2 + 2ab + b^2) \\
&= a^3 + 3a^2b + 3ab^2 + b^3
\end{align}
\begin{align}
(a+b)^3 &= (a+b)(a+b)(a+b) \notag \\
&= (a^2 + 2ab + b^2)(a+b) \\
&= (a+b)(a^2 + 2ab + b^2) \\
&= a^3 + 3a^2b + 3ab^2 + b^3 \notag
\end{align}
\begin{align*}
(a+b)^3 &= (a+b)(a+b)(a+b) \\
&= (a^2 + 2ab + b^2)(a+b) \\
&= (a+b)(a^2 + 2ab + b^2) \\
&= a^3 + 3a^2b + 3ab^2 + b^3
\end{align*}
split
\begin{equation}
\begin{split}
(a+b)^3 &= (a+b)(a+b)(a+b) \\
&= (a^2 + 2ab + b^2)(a+b) \\
&= (a+b)(a^2 + 2ab + b^2) \\
&= a^3 + 3a^2b + 3ab^2 + b^3
\end{split}
\end{equation}
aligned
Sirve para construir bloques alineados independientes que pueden ser ubi-
cados unos al lado de otros, o de otro tipo de material (como paréntesis y
corchetes). Estos bloques aparecen centrados verticalmente, a menos que
se usen los argumentos opcionales t (tope) o b (base). Este entorno debe
estar bajo el alcance del entorno equation y con esto adquiere la numera-
ción de este entorno, para eliminar totalmente la numeración es necesario
utilizar el entorno equation*.
\begin{equation}
\begin{aligned}
a &= b + c + d \\
z &= x + y \\
m &= n
\end{aligned}
\qquad
\begin{aligned}
A &= B + C + D \\
Z &= X + Y
\end{aligned}
\qquad
\begin{aligned}
\phi &= \mu +\nu +\eta
\end{aligned}
\end{equation}
a=b+c+d
A=B+C +D
z =x+y φ=µ+ν+η (1.15)
Z =X +Y
m=n
\begin{equation*}
\begin{aligned}[t]
a &= b + c + d \\
z &= x + y \\
m &= n
\end{aligned}
..
.
80
.
.
.
\qquad
\begin{aligned}
\phi &= \mu +\nu +\eta
\end{aligned}
\end{equation*}
gathered
Sirve para construir bloques independientes cuyas fórmulas aparecen cen-
tradas horizontalmente que pueden ser ubicados unos al lado de otros, o de
otro tipo de material (como paréntesis y corchetes). Estos bloques aparecen
centrados verticalmente, a menos que se usen los argumentos opcionales
t (tope) o b (base). Este entorno debe estar bajo el alcance del entorno
equation y con esto adquiere la numeración de este entorno, para eliminar
totalmente la numeración es necesario utilizar el entorno equation*.
\begin{equation}
\begin{gathered}[t]
a &= b + c + d \\
z &= x + y \\
m &= n
\end{gathered}
\qquad
\begin{gathered}[t]
A &= B + C + D \\
Z &= X + Y
\end{gathered}[t]
\qquad
.
.
.
81
..
.
\begin{gathered}
\phi &= \mu +\nu +\eta
\end{gathered}
\end{equation}
z =x+y Z =X +Y
m=n
\begin{equation*}
\begin{gathered}[b]
a &= b + c + d \\
z &= x + y \\
m &= n
\end{gathered}
\qquad
\begin{gathered}[b]
A &= B + C + D \\
Z &= X + Y
\end{gathered}[b]
\qquad
\begin{gathered}
\phi &= \mu +\nu +\eta
\end{gathered}
\end{equation*}
a=b+c+d
z =x+y A=B+C +D
m=n Z =X +Y φ=µ+ν+η
82
align
\begin{flalign}
a &= b + c & A &= B + C & \phi &= \mu + \nu + \eta\\
z &= x + y & Z &= X + Y \notag\\
m &= n
\end{flalign}
z =x+y Z =X +Y
m=n (1.18)
\begin{align}
\intertext{Dado que por la regla de la cadena se tiene la
igualdad}
(fg)^{\prime} &= f^{\prime}g + fg^{\prime}\\
\intertext{la cual se puede reescribir como}
fg^{\prime} &= (fg)^{\prime} - f^{\prime}g\\
\intertext{entonces se concluye que}
\int fg^{\prime} &= \int (fg)^{\prime} - \int f^{\prime}g
\end{align}
83
(f g)0 = f 0 g + f g 0 (1.19)
f g 0 = (f g)0 − f 0 g (1.20)
Z Z Z
f g0 = (f g)0 − f 0g (1.21)
{ \{ } \}
h \langle i \rangle
| | ó \vert k \| ó \Vert
b \lfloor c \rfloor
d \lceil e \rceil
$((a_1b_1)-(a_2b_2))
((a1 b1 ) − (a2 b2 ))((a2 b1 ) + (a1 b2 ))
((a_2b_1)+(a_1b_2))$
$\big((a_1b_1)-(a_2b_2)
\big)\big((a_2b_1)+
(a1 b1 ) − (a2 b2 ) (a2 b1 ) + (a1 b2 )
(a_1b_2)\big)$
$\bigg((a_1b_1)-(a_2b_2)
\bigg)\bigg((a_2b_1)+ (a1 b1 ) − (a2 b2 ) (a2 b1 ) + (a1 b2 )
(a_1b_2)\bigg)$
$\Big((a_1b_1)-(a_2b_2)
\Big)\Big((a_2b_1)+ (a1 b1 ) − (a2 b2 ) (a2 b1 ) + (a1 b2 )
(a_1b_2)\Big)$
$\Bigg((a_1b_1)-(a_2b_2) ! !
\Bigg)\Bigg((a_2b_1)+ (a1 b1 ) − (a2 b2 ) (a2 b1 ) + (a1 b2 )
(a_1b_2)\Bigg)$
85
\documentclass{book}
.
.
.
\newtheorem{miteorema}{Teorema}
\newtheorem{micorolario}{Corolario}
.
.
.
\begin{document}
.
.
.
\begin{miteorema}
El conjunto $G\subset K\big[\bar{X}\big]$, $0\not\in G$,
es una base de Gröbner sí y sólo si $\forall f\in {\rm
Id}(G)$ con $f\not=0$ se tiene una representación estándar
de $f$ en $G$.
\end{miteorema}
\begin{miteorema}
Sea $G\subset K\big[\bar{X}\big]$ finito y con
$0\not\in G$, Supongamos que: $\forall g_1,g_2\in
G$, ${\rm spol}(g_1,g_2)$ es igual a cero o tiene
una $t$-representación en $G$, para algún $t<{\rm
mcm}(HM(g_1),HM(g_2))$; entonces $G$ es una base de
Gröbner.
\end{miteorema}
\begin{micorolario}
Para todos lo polinomios $p\in I$, se define la aplicación
$v_1(p)=HM\big(w\big(HM(p)\big)\big)$. Entonces $\forall
p_1,p_2\in I$ con $HM(p_1)\not=HM(p_2)$ se tiene que
$v_1(p_1)\not=v_1(p_2)$.
\end{micorolario}
.
.
.
\end{document}
86
Teorema 1
El conjunto G ⊂ K X̄ , 0 6∈ G, es una base de Gröbner sí y
sólo si ∀f ∈ Id(G) con f 6= 0 se tiene una representación estándar de f
en G.
Teorema 2
Sea G ⊂ K X̄ nito y con 0 6∈ G, Supongamos que: ∀g1 , g2 ∈
G, spol(g1 , g2 ) es igual a cero o tiene una t-representación en G, para algún
t < mcm(HM (g1 ), HM (g2 )); entonces G es una base de Gröbner.
\documentclass{book}
.
.
.
\newtheorem{miteorema}{Teorema}[section]
\newtheorem{micorolario}{Corolario}[section]
.
.
.
\begin{document}
.
.
.
\begin{miteorema}
El conjunto $G\subset K\big[\bar{X}\big]$, ... se tiene
una representación estándar de $f$ en $G$.
\end{miteorema}
\begin{miteorema}
Sea $G\subset K\big[\bar{X}\big]$ ... entonces $G$ es una
base de Gröbner.
\end{miteorema}
\begin{micorolario}
Para todos lo polinomios $p\in I$, ... se tiene que
$v_1(p_1)\not=v_1(p_2)$.
\end{micorolario}
.
.
.
\end{document}
87
Teorema 13.1
El conjunto G ⊂ K X̄ , ... se tiene una representación
estándar de f en G.
Teorema 13.2
Sea G ⊂ K X̄ nito y con 0 6∈ G, ... entonces G es una
base de Gröbner.
\documentclass{book}
.
.
.
\newtheorem{miteorema}{Teorema}[section]
\newtheorem{micorolario}[miteorema]{Corolario}
.
.
.
\begin{document}
.
.
.
\begin{miteorema}
El conjunto $G\subset K\big[\bar{X}\big]$, ... se tiene
una representación estándar de $f$ en $G$.
\end{miteorema}
\begin{miteorema}
Sea $G\subset K\big[\bar{X}\big]$ ... entonces $G$ es una
base de Gröbner.
\end{miteorema}
\begin{micorolario}
Para todos lo polinomios $p\in I$, ... se tiene que
$v_1(p_1)\not=v_1(p_2)$.
\end{micorolario}
.
.
.
\end{document}
88
Teorema 13.1
El conjunto G ⊂ K X̄ , ... se tiene una representación
estándar de f en G.
Teorema 13.2
Sea G ⊂ K X̄ nito y con 0 6∈ G, ... entonces G es una
base de Gröbner.
\documentclass{book}
.
.
.
\newtheorem{miteorema}{Teorema}[section]
\newtheorem{micorolario}[miteorema]{Corolario}
.
.
.
\begin{document}
.
.
.
\begin{miteorema}
{\rm El conjunto $G\subset K\big[\bar{X}\big]$, ... se
tiene una representación estándar de $f$ en $G$.}
\end{miteorema}
\begin{miteorema}
{\rm Sea $G\subset K\big[\bar{X}\big]$ ... entonces $G$ es
una base de Gröbner.}
\end{miteorema}
\begin{micorolario}
{\rm Para todos lo polinomios $p\in I$, ... se tiene que
$v_1(p_1)\not=v_1(p_2)$.}
\end{micorolario}
.
.
.
\end{document}
89
Teorema 13.1
El conjunto G ⊂ K X̄ , ... se tiene una representación
estándar de f en G.
Teorema 13.2
Sea G ⊂ K X̄ nito y con 0 6∈ G, ... entonces G es una
base de Gröbner.
14 Listas
Existen tres tipos de entornos para crear listas formateadas
\begin{enumerate}
\item Se trata de listas secuenciadas numéricamente.
\item Los números son consecutivos comenzando por 1, en
cada llamada al entorno.
\end{enumerate}
\begin{enumerate}
\addtocounter{enumi}{5}
\item Es posible inicializar la numeración a partir de
un número diferente de 1 utilizando el comando \texttt
{\textbackslash addtocounter}.
\item Por ejemplo, aquí se inicializa la numeración a
partir de 6.
\end{enumerate}
\begin{itemize}
\item Cada uno de los \emph{items} son indicados con un
símbolo determinado.
\item La longitud del texto no tiene límite.
\end{itemize}
\begin{description}
\item[Primero:] Parece claro el funcionamiento de este
entorno.
\item[Observación:] No es un entorno demasiado frecuente.
\end{description}
to).
El siguiente es un ejemplo que muestra listas mixtas, con cuatro niveles
de inclusión:
\begin{itemize}
\item Primer nivel en {\tt itemize}
\begin{enumerate}
\item Primer nivel en {\tt enumerate} (segundo nivel
global)
\begin{itemize}
\item Segundo nivel en {\tt enumerate} (tercero global)
\begin{enumerate}
\item Segundo en {\tt enumerate} (cuarto global)
\item Segundo elemento del cuarto nivel
\end{enumerate}
\item Vuelta al tercer nivel global (segundo en {\tt
itemize})
\end{itemize}
\item Segundo nivel (primer en {\tt enumerate})
\end{enumerate}
\item Primer nivel
\end{itemize}
\begin{enumerate}
\item Etiqueta de primer nivel
\begin{enumerate}
\item Etiqueta de segundo nivel
\begin{enumerate}
\item Etiqueta de tercer nivel
\begin{enumerate}
\item Etiqueta de cuarto nivel
\item Etiqueta de cuarto nivel
\end{enumerate}
\item Etiqueta de tercer nivel
\end{enumerate}
\item Etiqueta de segundo nivel
\end{enumerate}
\item Etiqueta de primer nivel
\end{enumerate}
\renewcommand{\theenumii}{\arabic{enumii}}
\renewcommand{\labelenumii}{\theenumi.\theenumii.}
\renewcommand{\labelenumiii}{\theenumi.\theenumii.
\theenumiii.}
\renewcommand{\theenumiv}{\arabic{enumiv}}
\renewcommand{\labelenumiv}{\theenumi.\theenumii.
\theenumiii.\theenumiv.}
\begin{enumerate}
\item Etiqueta de primer nivel
\begin{enumerate}
\item Etiqueta de segundo nivel
\begin{enumerate}
\item Etiqueta de tercer nivel
\begin{enumerate}
\item Etiqueta de cuarto nivel
\item Etiqueta de cuarto nivel
\end{enumerate}
\item Etiqueta de tercer nivel
\end{enumerate}
\item Etiqueta de segundo nivel
\end{enumerate}
\item Etiqueta de primer nivel
\end{enumerate}
O, podría ser,
94
\renewcommand{\labelenumi}{\theenumi)}
\renewcommand{\theenumii}{\arabic{enumii}}
\renewcommand{\labelenumii}{\theenumi.\theenumii)}
\renewcommand{\labelenumiii}{\theenumi.\theenumii.
\theenumiii)}
\renewcommand{\theenumiv}{\arabic{enumiv}}
\renewcommand{\labelenumiv}{\theenumi.\theenumii.
\theenumiii.\theenumiv)}
\begin{enumerate}
\item Etiqueta de primer nivel
\begin{enumerate}
\item Etiqueta de segundo nivel
\begin{enumerate}
\item Etiqueta de tercer nivel
\begin{enumerate}
\item Etiqueta de cuarto nivel
\item Etiqueta de cuarto nivel
\end{enumerate}
\item Etiqueta de tercer nivel
\end{enumerate}
\item Etiqueta de segundo nivel
\end{enumerate}
\item Etiqueta de primer nivel
\end{enumerate}
I
[ ] Etiqueta de primer nivel
I
[ -A] Etiqueta de segundo nivel
II]
[ Etiqueta de primer nivel
\renewcommand{\theenumi}{\Roman{enumi}}
\renewcommand{\labelenumi}{[\textbf{\theenumi}]}
\renewcommand{\theenumii}{\Alph{enumii}}
\renewcommand{\labelenumii}{[\textbf{\theenumi}-
\textit{\theenumii}]}
\begin{enumerate}
\item Etiqueta de primer nivel
\begin{enumerate}
\item Etiqueta de segundo nivel
\item Etiqueta de segundo nivel
\end{enumerate}
\item Etiqueta de primer nivel
\end{enumerate}
\begin{itemize}
\item Etiqueta de primer nivel
\begin{itemize}
\item Etiqueta de segundo nivel
\begin{itemize}
\item Etiqueta de tercer nivel
\begin{itemize}
\item Etiqueta de cuarto nivel
\item Etiqueta de cuarto nivel
\end{itemize}
\item Etiqueta de tercer nivel
\end{itemize}
\item Etiqueta de segundo nivel
\end{itemize}
\item Etiqueta de primer nivel
\end{itemize}
Por ejemplo, para cambiar la etiqueta de nivel uno por un trébol puede
hacerse
\renewcommand{\labelitemi}{$\clubsuit$}
\begin{itemize}
\item Etiqueta de primer nivel
\item Etiqueta de primer nivel
\end{itemize}
97
15 Inclusión de grácos
15.1 Grácos en LATEX
AT X son el
Los formatos más recomendables para incluir grácos en L E
Encapsulated PostScript (EPS) y el formato PostScript (PS). Si usamos
AT X, los formatos más comunes son PDF, PNG o JPG. Los archivos
PDFL E
son insertados mediante el comando \includegraphics. Para poder usar
dicho comando es preciso cargar el paquete digitando
\usepackage{graphicx}
en el preámbulo.
\includegraphics[width=2cm]{logo.eps}
\includegraphics[width=2cm,
height=1cm]{logo.eps}
98
\includegraphics[height=2cm,
angle=45]{logo.eps}
\includegraphics[scale=0.25,
angle=60]{logo.eps}
\begin{figure}[<posición >]
\centering
\includegraphics{gura }
\caption{<pie de la gura >}
\label{<etiqueta >}
\end{figure}
Los comandos \caption y \label son opcionales y sirven para situar
una leyenda para la gura, que aparecerá numerada. Dicha numera-
ción se asignará a la etiqueta \label. El comando \label debe ser
situado inmediatamente después del \caption.
99
\begin{figure}
\centering
\includegraphics[scale=0.25]{logo.eps}
\caption{Ejemplo de figura}
\label{ej}
\end{figure}
\usepackage{subfigure}
Por ejemplo, la gura 1.52 se ha creado con el código
\begin{figure}
\centering
\subfigure[It is a little logo]{
\qquad\includegraphics[scale=0.15]{logo.eps}\qquad}
\subfigure[It is a big logo]{
\qquad\includegraphics[scale=0.25]{logo.eps}\qquad}
\caption{Varias gráficas en una figura}
\label{ej2}
\end{figure}
16 Tablas
Las tablas son construcciones alineadas que, en principio, no pueden apa-
recer en más de una página. El entorno para producir tales construcciones
es tabular, cuya sintaxis es
101
l alineación a la izquierda,
c la columna aparecerá centrada,
r alineación a la derecha,
p{wd} elemento tipo párrafo. El texto aparecerá en un párrafo de
anchura wd, con la línea superior alineada con las otras colum-
nas,
@{texto} inserta texto entre dos columnas. Útil para cuando los valores
de una misma columna deben estar separados por una marca deter-
minada (guión, punto decimal, etc.) La expresión @{texto } elimina el
espacio automático que se pone entre cada columna y lo sustituye por
el texto. Si se necesita espacio blanco extra, debe ser implícitamente
incluido.
102
16.1 Filas
Cada una de las las tendrá la estructura siguiente
\hline este comando dibuja una línea horizontal entre la y la. Debe
aparecer sólo antes de la primera la, o justo a continuación de \\.
Dos comandos \hline dibujan dos líneas con un pequeño espacio
entre ellas.
\vline este comando dibuja una línea vertical en la línea en la que aparece
de altura correspondiente a la la en la que se encuentra.
16.2 Ejemplos
\begin{tabular}{|l|c|r|}
\hline
uno & dos & tres \\
\hline
cuatro & cinco & seis \\
\hline
\end{tabular}
\begin{tabular}{|l|c|r|}
\hline
\multicolumn{3}{|c|}{Tabla con
números}\\
\hline\\
uno & dos & tres \\
\hline \hline
cuatro & cinco & seis \\
\cline{1-2} siete & ocho & nueve \\
\cline{2-3}
diez & once & doce \\
\cline{1-2} trece &
\multicolumn{2}{c}{catorce} \\
\hline
\end{tabular}
trece catorce
\begin{tabular}{|lrrc|}
\hline
País & Total & Indígenas & Porcentaje \\
\hline\hline
Bolivia & 6,9 & 4,9 & 71 \\
\hline
Guatemala & 8,0 & 5,3 & 66 \\
\hline
Perú & 20,0 & 9,3 & 47 \\
\hline
Ecuador & 9,5 & 4,15 & 43 \\
\hline
\end{tabular}
104
\begin{tabular}{|l|r@{,}l|r|}
\hline
Estados Unidos & 14 & 7 & 10,5 \\
\hline
Italia & 1 & 82 & 0,25 \\
\hline
Francia & 3 & 4 & 0,6 \\
\hline
\end{tabular}
Capítulo 2: Lecciones 9 - 11
Capítulo 3: Lecciones 12 - 20
\begin{tabular}{|p{3.5cm}|p{2cm}|}
\hline
Esto es un párrafo insertado dentro
de la celda de una tabla. &
El uso de larguísimas y absolutamente
eternas palabras crea un mal efecto. \\
\hline
& bienaventurado. \\
\hline
\end{tabular}
bienaventurado.
\begin{tabular}{|p{3.5cm}|p{2cm}|}
\hline
\raggedright Esto es un párrafo insertado dentro
de la celda de una tabla. &
\raggedright El uso de larguísimas y absolutamente
eternas palabras crea un mal efecto.
\tabularnewline
\hline
& \hspace{0cm}bienaventurado. \\
\hline
\end{tabular}
Esto es un párrafo El uso de
insertado dentro de la larguísimas
celda de una tabla. y absoluta-
mente
eternas
palabras
crea un mal
efecto.
bienaventu-
rado.
\setlength\tabcolsep{<dimensión >}
\setlength\arrayrulewidth{<dimensión >}
\setlength\doublerulesep{<dimensión >}
\renewcommand{\arraystretch}{<factor >}
\setlength{\tabcolsep}{20pt}
\setlength{\arrayrulewidth}{2pt}
\renewcommand{\arraystretch}{3}
\begin{tabular}{|l|c|r|}
\hline
uno & dos & tres \\
\hline
cuatro & cinco & seis \\
\hline
\end{tabular}
\begin{table}[<posición >]
\centering
entorno tabular
\caption{<pie de la tabla >}
\label{<etiqueta >}
\end{table}
Por ejemplo, la tabla 1.2 ha sido generada con el siguiente código
\begin{table}
\centering
\begin{tabular}{|l||c|c|l|}
\hline
$a^n$ & 1 & 2 & 3 \\
\hline\hline
1 & 1 & 1 & 1\\\cline{2-4}
2 & 2 & 4 & 8\\\cline{2-4}
3 & 3 & 9 & 27\\\cline{2-4}
4 & 4 & 16 & 64\\\hline
\end{tabular}
\caption{Potencias}
\label{ejt}
\end{table}
an 1 2 3
1 1 1 1
2 2 4 8
3 3 9 27
4 4 16 64
17 Referencias cruzadas
17.1 ¾Qué son las referencias cruzadas?
Es habitual en los documentos cientícos hacer referencias a partes del
documento como capítulos, secciones, fórmulas, tablas, guras, etc. Cada
109
En el silogismo clásico
\begin{enumerate}
\item Todos los hombres son mortales.\label{pre1}
\item Sócrates es un hombre.\label{pre2}
\item Por tanto, Sócrates es mortal.\label{con}
\end{enumerate}
Las afirmaciones (\ref{pre1}) y (\ref{pre2})
son las premisas y (\refcon) es la
conclusión.
En el silogismo clásico
2. Sócrates es un hombre.
Elementos otantes
Las guras y tablas pueden ser también referenciadas teniendo cuidado en
situar el comando \label justo después del comando \caption o incluso
dentro de su argumento, como en el ejemplo mostrado a continuación
\begin{table}[h]
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
Valor de $x$ & 1 & 2 & 3 \\
\hline
Valor de $y$ & 1 & 8 & 27 \\
\hline
\end{tabular}
\caption{Valores observados de $x$ e $y$}\label{tabxy}
\end{center}
\end{table}
Dos posibles relaciones entre $x$ e $y$ que satisfacen
los datos de la Tabla \ref{tabxy} son $y=x^3$ e
$y=6x^2-11x+6$.
111
Valor de x 1 2 3
Valor de y 1 8 27
Matemática
En los documentos con contenido matemático abundan las referencias, ya
sea a fórmulas, guras, teoremas, etc. El proceso de etiqueta es igual al
hecho anteriormente: es necesario incluir el comando \label dentro del
entorno correspondiente.
Si se ha denido el entorno \newtheorem{thm}{Teorema} (vea la Sec.
13.10), entonces
\begin{thm}\label{diffcon}
Toda función diferenciable es continua.
\end{thm}
El recíproco del Teorema \ref{diffcon} es falso.
\begin{equation}\label{sumsq}
(x+y)^2=x^2+2xy+y^2
\end{equation}
Cambiando $y$ por $-y$ en (\ref{sumsq}) resulta \ldots
Referenciación de páginas
En lugar de hacer referencia al número de tabla o de ecuación, a menudo
es útil dar la numeración de la página donde se encuentra dicho objeto. El
comando
\pageref{<etiqueta >}
produce
Éste comando inserta una nota al pie de página con el texto de <texto
de la nota >y el número especicado en <número >. si <número >se omite,
se usa la numeración automática. Este comando no se admite dentro de
una caja, ni dentro de otro \footnote, ni dentro del entorno \tabular.
Las notas al pie de página dentro de una mini-página aparecen en la
parte inferior de ésta, no en la parte inferior de la página vigente.
Por ejemplo, el siguiente código
Produce
113
Mi primera nota
11 y mi segunda nota201 .
Este comando crea una nota al margen cuyo contenido TextoDerecha (si
se elude el argumento opcional) comienza a imprimirse a la misma altura
en la que se imprime la línea de texto principal. Si se emplea la opción
oneside, la nota se imprime a la derecha, y si se usa la opción twoside, en
el exterior.
Si se usa el argumento opcional, el texto TextoIzquierda aparecerá cuan-
do la nota corresponda al margen izquierdo y el texto TextoDerecha lo hará
cuando la nota esté en el margen derecho. Por ejemplo
produce
\begin{verbatim}
head(expr):=block(
if symbolp(expr) then symbol
elseif numberp(float(expr)) then real
elseif not freeof( %i,expr) then complex
else part(expr,0) )$
\end{verbatim}
head(expr):=block(
if symbolp(expr) then symbol
elseif numberp(float(expr)) then real
elseif not freeof(%i,expr) then complex
else part(expr,0) )$
20 Bibliografía
20.1 El entorno thebibliography
La bibliografía es el entorno que permite al autor listar las referencias
utilizadas y citarlas en algún punto del texto. La estructura es similar a la
de una lista enumerada donde cada entrada viene marcada por el comando
\bibcite y es referenciada desde el comando \cite, que producirá un
número de referencia o el nombre del autor, según sea el estilo escogido.
El entorno se dene del siguiente modo
\cite[página 25 ]{etiqueta1 }
\addcontentsline{toc}{chapter}{Bibliografía}
21 El programa BibTex
La elaboración de entornos para bibliografía puede automatizarse cómo-
damente usando el programa BibTEX. Dicho programa crea un entorno
bibliográco para un documento concreto a partir de una base de datos
previamente construida. De este modo, sólo es necesario mantener una base
de datos y recurrir a ella para construir la bibliografía de cada documento
que escribamos.
La base de datos consiste en uno o varios archivos con extensión .bib
que deben poseer una estructura concreta. Por cada referencia debemos
incluir una entrada en dicho archivo, que será etiquetada de forma similar
a lo que se hace en un \bibitem.
En el momento en el que aparezca una cita a una de las referencias de
nuestra base de datos, ésta seré autométicamente incluida en la bibliografía
del mismo a través del programa BibTEX.
118
\bibliography{database1,database2 }
El comando anterior especica que las entradas bibliográcas se colo-
carán en la posición en la que aparece dicho comando y serán extraídas de
los archivos database1.bib y database2.bib13 .
El estilo que aparecerá en la bibliografía viene especicado por el co-
mando \bibliographystyle, que determinará el formato en el que apa-
recerán las diferentes entradas. Por ejemplo
\bibliographystyle{plain}
especica que las entradas serán formateadas según el estilo plain que se
encuentra descrito en el chero (plain.bst). Es posible situar este coman-
do en cualquier punto del documento después de \begin{document}.
unsrt Similar al estilo plain, pero las entradas son numeradas en el orden
en que son citadas en el documento.
alpha Se diferencia con el estilo plain, en que las etiquetas de las entradas
están formadas por el nombre del autor y el año de publicación, en
lugar de ser números.
abbrv Similar al estilo plain, pero las entradas son más compactas, que-
dando abreviados los nombres de pila de los autores, las revistas,
etc.
Nótese que las referencias que aparecerán en el texto son aquellas que
hayan sido citadas mediante \cite, y no todas las presentes en la base de
datos .bib.
En ocasiones, es posible querer incluir publicaciones que no son explíci-
tamente citadas. Pare ellos usamos el comando \nocite en cualquier parte
del documento. Dicho comando no produce texto alguno pero hace que la
referencia citada sea incluida por BibTEX. El comando \nocite{*} hace
que todas las entradas de la base de datos sean incluidas.
@BOOK{knuth:86a,
AUTHOR ="Donald E. Knuth",
TITLE ={The \TeX{}book},
EDITION ="third"
PUBLISHER ="Addison-Wesley",
ADDRESS ={Reading, MA},
YEAR =1986}
La primera palabra, prejada por @, determina el tipo de entrada, que
variará según el tipo de publicación que sea: libros, artículos, prepublicacio-
nes, etc. El resto de la información es escrita entre llaves, comenzando por
120
\newcommand{\NombreComando}[NumArg][ArgDefecto]{Definicion}
\renewcommand{\NombreComando}[NumArg][ArgDefecto]{Definicion}
\providecommand{\NombreComando}[NumArg][ArgDefecto]{Definicion}
donde \NombreComando es el nombre que queremos asignar al nuevo co-
mando, NumArg indica el número de argumentos que va a tener (compren-
dido entre 1 y 9), ArgDefecto es el valor por defecto de un argumento
123
1.2 Ejemplos
Es preferible que ubicar las deniciones de los nuevos comandos en el
preámbulo.
construyamos
\newcommand{\nuevovector}[2][x]{(#1_1,#1_2,\dots,#1_#2)}
donde la x entre corchetes es el valor por defecto del argumento op-
cional (siempre el primero). Así, escribiendo $\nuevovector{n}$ ó
$\nuevovector{p}$ obtendríamos (x1 , x2 , . . . , xn ) y (x1 , x2 , . . . , xp )
respectivamente, mientras que añadiendo un argumento optativo cam-
biaríamos el valor por defecto de x, $\nuevovector[a]{n}$ daría
(a1 , a2 , . . . , an ).
2 Entornos
También es posible denir nuevos entornos, o redenir entornos ya exis-
tentes; para ello se dispone de los siguientes comandos
\newenvironment{NombreEntorno}[NumArg][ArgDef]{DefEntrada}
{DefSalida}
\renewenvironment{NombreEntorno}[NumArg][ArgDef]{DefEntrada}
{DefSalida}
que funcionan de un modo similar a los comandos del tipo \newcommand, en
cuanto a que admiten argumentos (hasta 9), opcionalmente con el primero
de ellos optativo. La diferencia reside en que en el argumento DefEntrada
se indican las órdenes que se deben ejecutar antes de entrar en el entorno,
y en el argumento DefSalida la que se deben ejecutar al salir del entorno.
Una vez denido el nuevo entorno, se debe invocar de la siguiente forma
\begin{NuevoEntorno}{Arg1}...{ArgN}
Texto y comandos
\end{NuevoEntorno}
Al igual que en el caso de los comandos, existen versiones sin y con
asterisco, con el mismo signicado, es decir, que respectivamente admiten
o no argumentos de más de un párrafo.
Por ejemplo, construyamos un entorno que cree una minipágina de
anchura variable por defecto media página), centrada, y con el texto en
negrita
\newenvironment{mientorno}[1][0.5]{\begin{center}%
\begin{minipage}{#1\textwidth}\bfseries}{\end{minipage}%
\end{center}}
y tras denir éste nuevo entorno, tecleando
125
\begin{mientorno}
Ejemplo de texto con una anchura estándar de media
página, centrado, y en tipo de letra negrita.
\end{mientorno}
obtenemos
\begin{mientorno}[0.3]
Ejemplo de texto con una anchura de un tercio de página,
centrado, y en tipo de letra negrita
\end{mientorno}
Ejemplo de texto
con una anchura de
un tercio de pági-
na, centrado, y en
tipo de letra negri-
ta.
Es importante tener en cuenta que los argumentos de un entorno sólo
pueden utilizarse en la denición de entrada (DefEntrada). Si los necesi-
tamos en la denición 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}}
\begin{cita}{Andres Fernández}
Nuestras vidas son los ríos que van a parar al mar,
que es el morir
\end{cita}
126
produce
Nuestras vidas son los ríos que van a parar al mar, que es el
morir
Andres Fernández
\documentclass[opciones]{book}
\usepackage{paquete1}
.....
\begin{document}
%\input{capitulo1.tex}
%\input{capitulo2.tex}
%\input{capitulo3.tex}
......
\end{document}
\arabic{NombreContador} 1, 2, 3, 4, . . .
\alph{NombreContador} a, b, c, d, . . . (nota 1)
\Alph{NombreContador} A, B, C, D, . . . (nota 1)
\makeatletter
\def\@roman#1{\romannumeral #1}
\makeatother
128
\addtocounter{NombreContador}{Valor} Incrementa
NombreContador con la cantidad Valor, que puede ser positiva o
negativa.
129
\value{NombreContador}
lo cual es útil para la gestión de contadores, como veremos a continuación.
Se denen nuevos contadores con la instrucción
\newcounter{NuevoContador}[ContadorExistente]
que introduce un contador de nombre NuevoContador, y le asigna cero co-
mo valor inicial. El argumentoContadorExistente es optativo, y sirve pa-
ra subordinar NuevoContador al contador ya existente ContadorExistente,
de la misma forma que, por ejemplo, el contador subsection está subordi-
nado al contador section: incrementar en una unidad el contador section
implica que el contador subsection se reinicia a cero automáticamente.
Veamos un ejemplo de cómo introducir un nuevo contador, con el n
de enlazar varias listas enumerate manteniendo la numeración (enumi es
AT X para los ítems de primer nivel en entornos
el contador estándar L E
enumerate)
1. Números reales
2. Números complejos
3. Continuidad
4. Derivación
\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}
\obeylines\obeyspaces}{\par}
131
\begin{programa}
Entrada: $N$, $x_1,x_2,\ldots,x_N$.
Salida: $SUMA=\sum_{i=1}^Nx_i$.
\lin $SUMA=0$.
\lin Para $i=1,2,\ldots,N$: $SUMA=SUMA+x_i$.
\lin SALIDA($SUMA$); PARAR.
\end{programa}
Programa 4.1
Entrada: N , x1 , x2P
, . . . , xN .
N
Salida: SU M A = i=1 xi .
1 SU M A = 0.
2 Para i = 1, 2, . . . , N : SU M A = SU M A + xi .
3 SALIDA(SU M A); PARAR.
4.2 Longitudes
AT X es también capaz de crear y modi-
Al igual que con los contadores, L E
car variables de tipo Longitud. Las longitudes que habitualmente utiliza
AT X pueden tomar dos tipos de valores
L E
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 rígido
132
\bigskip −→ \vspace{\bigskipamount}
\medskip −→ \vspace{\medskipamount}
\smallskip −→ \vspace{\smallskipamount}
\the\NombreLongitud
donde NombreLongitud es el nombre de la longitud; éste comando siem-
pre expresa las longitudes en unidades pt, con el punto como separador
decimal.
Al igual que ocurría con los contadores, los valores de una longitud
pueden modicarse. Existen dos comandos para ello
\newlength{\NuevaLongitud}
\settowidth{\NombreLongitud}{Objeto}
\settoheight{\NombreLongitud}{Objeto}
\settodepth{\NombreLongitud}{Objeto}
Ejemplos
Imaginemos que queremos medir la longitud asociada al comando \quad.
Para ello podemos denir una nueva longitud
\newlength{\longi}
\settowidth{\longi}{\quad}
\newlength{\longitud}
2 Distancia por debajo de la línea de base.
134
\newlength{\longitud}
\noindent La anchura de la palabra {\Large Integral}
es \settowidth{\longitud}{\Large Integral} \the\longitud,
su altura es \settoheight{\longitud}{\Large Integral}
\the\longitud\ y su profundidad es
\settodepth{\longitud}{\Large Integral} \the\longitud.
\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}
xxxxx
xxxxx xxxxx
xxxxx xxxxx xxxxx
xxxxx xxxxx
xxxxx
Texto centrado
Ahora colocamos un texto con el doble de espacio a un lado que al otro:
Texto
Otro ejemplo, con la distancia entre T1 y T2 igual a tres veces la
distancia a los márgenes:
T1 T2
(para imprimir la barra vertical de referencia al comienzo y nal de
línea en el ejemplo anterior, hemos utilizado el comando \vrule; podemos
poner una marca en blanco con los comandos \mbox{} o \null).
\hfill y \vfill (ya descritos).
A B C
D E F
¾Porqué cambian las posiciones de B y C en la primera línea? La res-
puesta está en que, antes de cortar una línea, L AT X introduce un espacio
E
de elasticidad variable, a n de evitar que las líneas cortas se estiren hacia
la derecha. Éste espacio se controla a través de la longitud \parfillskip,
que por defecto tiene el valor 0pt plus 1fil. Por tanto, en el primer
ejemplo se equilibran los espacios asociados a tres comandos \hfil. En el
segundo caso, esto no sucede, dado que \hfill corresponde a un grado de
elasticidad innitamente más grande.
\parindent=0pt \parfillskip=0pt
\newcommand*{\centrar}[1]{\vrule\hfil #1\hfil\vrule}
\centrar{Centrado}\par
\centrar{Centrado anulado\hfilneg}\par
\centrar{\hfilneg Centrado anulado}
Centrado
Centrado anulado
Centrado anulado
\hrulefill −→ Raya
A\hrulefill B\hrulefill C
A B C
137
\dotfill −→ Raya
A\dotfill B\dotfill C
A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C
\parindent=0pt \parfillskip=0pt
\mbox{}\hspace{\stretch{1}}A%
\hspace{\stretch{3}}\mbox{}\\[-3pt]
\mbox{}\downbracefill\mbox{}%
\hspace{\stretch{2.3}}\mbox{}\\
B\hspace{\stretch{1}}C%
\hspace{\stretch{1}}D\\[-7pt]
\mbox{}\hspace{\stretch{2.3}}%
\mbox{}\upbracefill\mbox{}\\
\mbox{}\hspace{\stretch{1}}E%
\hspace{\stretch{2}}F%
\hspace{\stretch{1}}\mbox{}\\[-5pt]
\mbox{}\hspace{\stretch{0.5}}%
\rightarrowfill%
\hspace{\stretch{0.5}}\mbox{}\\
A
z }| {
B C D
| {z }
E F
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→
\parindent=18pt
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 o izquierda
de la caja. Por ejemplo
\def\NuevoComando#1...#9{Definicion}
\def\ecuacion#1#2{\ensuremath{#1_1^2+#1_2^2+\cdots+#1_#2^2=1}}
\def\ecuacion#1;#2:{\ensuremath{#1_1^2+#1_2^2+\cdots+#1_#2^2=1}}
\def\prueba{Prueba 1}
\begin{itemize}
\def\prueba{Prueba 2}
\item \prueba
\end{itemize}
\prueba
Prueba 2
Prueba 1
Si queremos denir un comando global (con efecto fuera del grupo
donde es denido) se puede utilizar cualquiera de estas dos alternativas
\global\def\NuevoComando#1...#9{Definicion}
\gdef\NuevoComando#1...#9{Definicion}
\def\prueba{Prueba 1}
\begin{itemize}
\global\def\prueba{Prueba 2}
\item \prueba
\end{itemize}
\prueba
Prueba 2
Prueba 2
\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
En ocasiones, puede necesitarse denir un comando que sea indepen-
diente de los cambios que se produzcan en los comandos sobre los que está
denido. Con esta utilidad está construido el comando \let, que saca una
copia de un comando para que funcione siempre de la misma manera, con
independencia de redeniciones posteriores de comandos. Se utiliza con la
sintaxis
\let\NuevoComando=\ComandoExistente
\noindent\def\uno{1}Uno: \uno \\
\def\dos{\uno\uno} Dos: \dos \\
\let\UNO=\uno \def\DOS{\UNO\UNO}
\def\uno{uno} Uno: \uno \\
Dos: \dos \ \ DOS: \DOS
141
Uno: 1
Dos: 11
Uno: uno
Dos: unouno DOS: 11
\advance\NombreRegistro ±Numero
\advance\NombreRegistro by ±Numero donde Numero debe ser una
longitud, si tratamos con registros de tipo longitud, o un número en-
tero, si trabajamos con un contador.
\multiply\NombreRegistro ±Numero
\multiply\NombreRegistro by ±Numero donde Numero debe ser
siempre un entero.
\divide\NombreRegistro ±Numero
\divide\NombreRegistro by ±Numero donde Numero también de-
be de ser un entero. En el caso de un contador, se almacenará la parte
entera de la división; en el caso de longitudes, éstas se transforman
primero a unidades sp (la más pequeña de TEX; 1 sp = 65536 pt)
y el resultado se redondea a un múltiplo entero de ésta unidad.
142
\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
\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
143
\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)
Modo vertical: Se agrupan las cajas verticalmente unas sobre otras (man-
teniendo los puntos de referencia en la misma vertical), creando una
caja con anchura igual 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
144
\def\mbox#1{\leavevmode\hbox{#1}}
\parindent 0pt
Estiramos: \fbox{\hbox spread
5mm{caja ejemplo}} (texto) \\
Contraemos: \fbox{\hbox spread
-5mm{caja ejemplo}} (texto)
\def\leftline#1{\hbox to \hsize{#1\hss}}
\def\rightline#1{\hbox to \hsize{\hss#1}}
\def\centerline#1{\hbox to \hsize{\hss#1\hss}}
\def\rlap#1{\hbox to 0pt{#1\hss}}
\def\llap#1{\hbox to 0pt{\hss#1}}
Una caja
Texto de prueba Otra caja
Una caja
Otra caja Texto de prueba Una caja
Otra caja mas Otra caja
Texto de prueba
Texto de prueba
\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}}}
Texto 2
Texto 1
Texto 3
\hbox{T\kern-.1666em\lower.5ex\hbox{E}\kern-.125ex X}
\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}}}}
T T T
E E E
X X X
149
\unhbox\NombreCaja \unvbox\NombreCaja
\unhcopy\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}
A B A B
Ejemplo vertical
Otro ejemplo
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}}
Texto 2
Texto 1
Texto 3
7 Repetición de objetos
Veremos ahora otro modo de repetir objetos, ligeramente diferente del co-
mando \multiput ya visto. En vez de proporcionar el número de objetos
a repetir, puede interesarnos llenar un cierto espacio, de longitud ja o va-
riable, con copias de un objeto. Mediante el comando \leaders se pueden
obtener copias de un objeto en tal forma. Para ello, debemos especicar
el objeto a copiar y el espacio que debe ser completado con copias de tal
objeto. La sintaxis del comando es la siguiente
\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}
/\/\/\/\/\/\/\/\/\/\/\/\
\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}}
NNNNNNNNNN
NNNNNNNNNN
NNNNNNNNNN
8 Sistematizando tareas
Veremos ahora una serie de comandos útiles para sistematizar tareas; ima-
ginemos que cada vez que se inicia un párrafo, fórmula, caja, ..., queremos
que se ejecuten una serie de comandos. Para ello, se tienen las siguientes
posibilidades
Párrafo 1
Esto es un primer párrafo de ejemplo; en el código anterior...
Párrafo 2
...se puede ver cómo incrementamos el valor del contador parrafo al
empezar cada párrafo...
Párrafo 3
...y lo recuperamos, para imprimirlo, con el comando \theparrafo.
9 Condicionales y bucles
El compilador TEX posee amplias capacidades a la hora de programar
diversas acciones. Además de poder manejar diversos registros (contadores,
longitudes, cajas) con total exibilidad, 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 función del valor de una variable lógica; su forma general es
\def\cuatrodigit#1{%
\ifnum #1<1000 0\fi
\ifnum #1<100 0\fi
\ifnum #1<10 0\fi #1}
tras lo cual
\cuatrodigit{8} - \cuatrodigit{18} -
\cuatrodigit{198} - \cuatrodigit{1238}
\ifodd Numero
sirve para comprobar si un número entero es impar. En el caso de
que queramos analizar el valor de un determinado contador, recorde-
mos que debemos sustituir Numero por \value{NombreContador}, si
estamos trabajando con un contador denido en L AT X. Por contra,
E
si el contador ha sido denido en TEX(con \newcount), podemos re-
cuperar el valor numérico con \the\NombreContador o
\number\NombreContador. Por ejemplo, compilando
\newlength{\anchura}
\def\textoresaltado#1#2{%
\setbox1=\hbox{\fbox{\huge#1}}
\settowidth{\anchura}{#2}\vbox{\copy1%
\vspace{6pt}\ifdim\anchura<\wd1\hbox
to\wd1{\hss#2\hss}\else%
\hbox{\parbox{\wd1}{#2}}\fi}}
\textoresaltado{Juan y Ana}{quieren
156
un coche}\par\medskip
\textoresaltado{Juan y Ana}{necesitan
comprarse un coche nuevo porque el
antiguo se les ha quedado viejo}
Juan y Ana
quieren un coche
Juan y Ana
necesitan comprarse un
coche nuevo porque el
antiguo se les ha queda-
do viejo
\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}
157
Comando Resultado
\hexadec{7} 7
\hexadec{12} C
\ifx Argumento1Argumento2
compara dos argumentos entre sí, siendo verdadero si son iguales y
falso si son distintos. Argumento1 y Argumento2 pueden ser caracte-
res, cajas, comandos... Es importante puntualizar que, al comparar
cadenas de caracteres o cajas, es necesario con anterioridad incluir
tales contenidos en sendos comandos, que serán después comparados.
Por ejemplo
Comparación 1: iguales
Comparación 2: iguales
Comparación 3: distintos
Comparación 4: distintos
Comparación 5: distintos
Comparación 6: iguales
\if@twoside \if@twocolumn
son verdaderos si se está procesando el documento con las opciones
twoside o twocolumn respectivamente, y falsos en caso contrario.
\@ifnextchar Caracter{ParteA}{ParteB}
Se procesa ParteA en caso de que el siguiente caracter coincida con
Caracter, y ParteB en caso contrario. Este condicional es muy utili-
zado en LAT X en los comandos que utilizan argumentos opcionales,
E
caracterizados por ir entre corchetes. Veamos un ejemplo de cómo
denir un comando con dos argumentos, uno de ellos optativo; que-
remos recuadrar un texto dado con una línea 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
\Recuadro[Grosor](Color){Texto}
siendo Grosor la anchura del recuadro (0.4pt por defecto), y Color su co-
\@ifnextchar
lor (rojo por defecto). Utilizando recursivamente el condicional
se obtiene el resultado deseado.
\makeatletter
159
\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
\Recuadro{Hola} −→ Hola
\Recuadro[2pt](blue){Hola} −→ Hola
\newif\ifNombre
\newbox\boxocultar
\newif\ifocultar
\newenvironment{ocultar}
{\setbox\boxocultar\vbox\bgroup}
{\egroup\ifocultar\else\par\unvbox\boxocultar\fi}
\ocultartrue \begin{ocultar}
texto de prueba que no se ve
\end{ocultar}
\ocultarfalse \begin{ocultar}
texto de prueba que si se ve
\end{ocultar}
texto de prueba que si se ve
La utilidad de éste entorno puede estar, por ejemplo, en la inclusión de
notas y comentarios que puede convenirnos suprimir en el documento nal;
añadir un comando \ocultartrue es más rápido que comentar líneas una
por una. Merece la pena analizar un poco la denición del nuevo entorno
9.2 Bucles
Se realizan bucles con el comando
\newcount\minum
\def\numeros#1{\ifnum#1< 1%
\else 1\minum=1\loop
\advance\minum by 1%
\ifnum\minum<#1,
\the\minum\repeat\fi}
\numeros{40}
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40
\newcount\cuenta
\makeatletter \def\pares#1{%
\minum=2\@whilenum\minum<#1\do
{\the\minum, \advance\minum by 2}}
\makeatother
Los n\'{u}meros pares menores que 95
son: \pares{95}
Los números pares menores que 95 son: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20,
22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60,
62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94,
\@for\Nombre:=\lista\do{Accion}
donde \Nombre es una variable (que no hace falta denirla previamente)
que va almacenando los diferentes elementos de una lista (\lista), que
debe ser previamente denida con \def; los elementos de la lista han de
estar separados entre sí por comas. En el siguiente ejemplo, primeramente
denimos a través de TEX un comando \longitud{Palabra} para contar
el número 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
La longitud de la frase pepe tiene un coche es de 16 caracteres no blancos
\def\lista{Pepe,Juan,Andr\'{e}s,Antonio}
\begin{tabular}{l}
Nombre y longitud \\ \hline
\makeatletter \@for\nombre:=\lista
\do{\hbox to 30mm{\nombre\hss}%
\longitud{\nombre} \\ } \makeatother
\end{tabular}
Nombre y longitud
Pepe 4
Juan 4
Andrés 7
Antonio 7
163
ojepsEEspejo
CuriosoosoiruC
Números 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}
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.
CAPÍTULO III
LA CLASE FCUNP
1 Introducción
\documentclass{fcunp}
%
\begin{document}
<Cuerpo de la tesis>
\end{document}
3 Comandos implementados
3.1 Comando para separar datos ingresados
1. \and
Permite separar diversos datos, tales como: nombres de autores, nom-
bres de patrocinadores, dedicatorias, etc.
6. \dedication{<Dedicatoria >}
Permite ingresar la dedicatoria del autor. En caso de ser dos autores
las dedicatorias de los mismos deberán ir separadas con el comando
\and.
7. \acknowledgments{<Agradecimientos >}
Permite ingresar los agradecimientos del autor, los mismos que se
separarán con el comando \and.
8. \resumen{<Resumen >}
Permite ingresar el resumen de la tesis.
2. \maketitle
Permite generar la página de título.
3. \makesignature
Permite generar la página de rmas.
4. \makededication
Permite generar la página de la(s) dedicatoria(s).
5. \makeacknowledgments
Permite generar la página de los agradecimientos.
168
2. \mainmatter
Parte central de la tesis. Aquí también se ubican las conclusiones
y recomendaciones mediante el comando \conclusions, los anexos
con el comando \annex \appendix.
y los apéndices con el comando
3. \backmatter
Cierre de la tesis.
4 Paquetes incorporados
La clase Fc Unp incorpora los siguientes paquetes estándar de LATEX:
geometry Este paquete se utiliza para establecer los márgenes de página
de la Tesis.
amsthm Este paquete se utiliza para darle un formato adecuado a las de-
niciones, teoremas, corolarios, lemas, proposiciones, etc. y también
a las demostraciones.
epstopdf Este paquete se utiliza para convertir los grácos .eps a .pdf
AT X.
y poder así generar el archivo PDFL E
5 Un ejemplo especíco
El ejemplo que se presenta en esta sección permite observar el código
elemental de una tesis, así como algunas páginas importantes en formato
dvi (ver Figs. 3.1, 3.2, 3.3, 3.4 y 3.5), generadas con la clase Fc Unp .
AT X
Además en las guras 3.6 y 3.7 se aprecia la salida obtenida por PDFL E
con el paquete hyperrefn que permite generar hipervínculos y marcadores
en forma automática.
La línea 1 del código anexado invoca la clase Fc Unp . La línea 3 invoca
tres paquetes, de la American Mathematical Society, para trabajar con
matemática. Las líneas 517, muestran el correcto uso de los comandos
para ingresar datos y del comando para separar datos ingresados ; mientras
que las líneas 2327, 77 y 78 muestran el correcto uso de los comandos
para generar páginas. Las líneas 21, 35 y 67, separan la apertura, la parte
central y el cierre de la tesis y las líneas 53, 60 y 64 indican el inicio de las
conclusiones (y recomendaciones), los anexos y apéndices, respectivamente.
El resto de líneas terminan de completar el cuerpo del documento y son de
AT X generado con la clase estándar
uso común en cualquier documento L E
book.
Código Anexado
1 \documentclass{fcunp}
2
3 \usepackage{amssymb,amsmath,amsfonts}
4
5 \school{3}
6 \title{``Título de la Tesis''}
7 \author{Primer Autor \and Segundo Autor}
8 \sponsor{Primer patrocinador \and Segundo patrocinador}
9 \jury{Presidente \and Secretario \and Vocal}
10 \dedication{Primera dedicatoria.\\\textit{Primer Autor} \and
11 Segunda dedicatoria.\\\textit{Segundo Autor}}
12 \acknowledgments{Primer agradecimiento. \and
13 Segundo agradecimiento.}
14 \resumen{Este es el resumen.}
15 \palabrasclave{Palabraclave1, palabraclave2.}
16 \abstract{This is the abstract.}
17 \keywords{Keyword1, keyword2.}
18
170
19 \begin{document}
20
21 \frontmatter
22
23 \makecover
24 \maketitle
25 \makesignature
26 \makededication
27 \makeacknowledgments
28 \chapter{Prólogo}
29 Éste es el prólogo.
30 \tableofcontents
31 \listoffigures
32 \chapter{Introducción}
33 Ésta es la introducción.
34
35 \mainmatter
36
37 \chapter{Este es el primer capítulo}
38 Texto para el primer capítulo.
39 \section{La primera sección del primer capítulo}
40 Texto para la primera sección del primer capítulo.
41 \begin{equation}ax^2+bx+c=0\,.\end{equation}
42
43 \chapter{Este es el segundo capítulo}
44 \section{La primera sección del segundo capítulo}
45 Texto para la primera sección del segundo capítulo.
46
47 \begin{figure}
48 \centering
49 \includegraphics[scale=0.5]{img/unp.eps}
50 \caption{Mi primera figura.}
51 \end{figure}
52
53 \conclusions
54 \chapter{Conclusiones}
55 Aquí van las conclusiones.
56
57 \chapter{Recomendaciones}
58 Aquí van las recomendaciones.
171
59
60 \annex
61 \chapter{Este es un anexo}
62 Texto para el anexo.
63
64 \appendix
65 \chapter{Este es un apéndice}
66 Texto para el apéndice.
67
68 \backmatter
69
70 \begin{thebibliography}{CM}
71 \bibitem{Buh}
72 Buhmann, M. D. (2004).
73 Radial Basis Functions: Theory and Implementations.
74 Cambridge University Press. United Kingdom.
75 \end{thebibliography}
76
77 \makeresumen
78 \makeabstract
79
80 \end{document}
Fin
Fig. 3.6 Salida formateada por Fc Unp y producida por PDFLATEX con el
paquete hyperrefn, con sus respectivos marcadores.
178
Fig. 3.7 Salida formateada por Fc Unp y producida por PDFLATEX con el
paquete hyperrefn, con sus respectivos hipervínculos y marcadores.
179
%%
%% Este es el archivo `fcunp.cls',
%% generado con texmaker.
%%
%% Copyright 2011
%%
%% Este archivo consiste en una modificaci\'{o}n, de la
%% clase book, hecha por el Prof. R. Ipanaqu\'{e}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{fcunp}[2011/01/01 v2.0
LaTeX document class for the Bachelor Thesis of
the Sciences Faculty at the National University of Piura]
\newif\if@mainmatter\@mainmattertrue
\newif\if@chapter\@chaptertrue
\newif\if@conclusions\@conclusionsfalse
\newif\if@annex\@annexfalse
\newif\if@appendix\@appendixfalse
\newif\if@final\@finaltrue
\DeclareOption{draft}{\@finalfalse\setlength\overfullrule{5pt}}
\if@compatibility\else
\DeclareOption{final}{\@finaltrue\setlength\overfullrule{0pt}}
\fi
\setcounter{totalnumber}{3}
\renewcommand\textfraction{.2}
\renewcommand\floatpagefraction{.5}
\setcounter{dbltopnumber}{2}
\renewcommand\dbltopfraction{.7}
\renewcommand\dblfloatpagefraction{.5}
%Numeraci\'{o}n de p\'{a}ginas
\def\ps@headings{%
\let\@oddfoot\@empty
\def\@oddhead{\hfil\thepage}}
%Fin
%T\'{i}tulo
\def\title#1{\gdef\@title{\MakeUppercase{#1}}}
%Fin
%Oculta textos
\newbox\boxocultar
\newif\ifocultar
\newenvironment{ocultar}
{\setbox\boxocultar\vbox\bgroup}
{\egroup\ifocultar\else\par\unvbox\boxocultar\fi}
%Fin
%Autor
\newcounter{@au}
\def\author#1{\gdef\@author{#1}}
\def\authorname{\def\and{\par}\MakeUppercase\@author}
\def\authornumber{
\begingroup
\setcounter{@au}{1}%
\def\and{\stepcounter{@au}}%
\ocultartrue%
\begin{ocultar}
\@author
\end{ocultar}
183
\endgroup}
\def\authorsig{
\begingroup
\setcounter{@au}{1}%
\def\and{\vfill%\vskip 2em
\rule{6.5cm}{0.25pt}\vskip 0.2em
\textit{Ejecutor}\vskip -3.75em
\stepcounter{@au}}%
\setbox0=\vbox{\@author}%
\rule{6.5cm}{0.25pt}\vskip 0.2em
\textit{Ejecutor}\vskip -3.75em
\@author%
\endgroup}
%Fin
%Escuela
\def\school#1{\gdef\@school{#1}}
\def\schoolname{%
\ifcase \@school%
\relax \or%
CIENCIAS BIOL\'{O}GICAS%1
\or%
F\'{I}SICA%2
\or%
MATEM\'{A}TICA%3
\or%
INGENIER\'{I}A ELECTR\'{O}NICA Y TELECOMUNICACIONES%4
\or%
ESTAD\'{I}STICA%5
\else%
\normalfont{\small !`Error: N\'{u}mero no v\'{a}lido!}%
\fi%
}%
\def\professionaltitlename{%
\ifcase \@school%
\relax \or%1
LICENCIADO EN CIENCIAS BIOL\'{O}GICAS%
184
\or%2
LICENCIADO EN F\'{I}SICA%
\or%3
LICENCIADO EN MATEM\'{A}TICA%
\or%4
INGENIERO ELECTR\'{O}NICO Y DE TELECOMUNICACIONES%
\or%5
LICENCIADO EN ESTAD\'{I}STICA%
\else%
\normalfont{\small !`Error: N\'{u}mero no v\'{a}lido!}
\fi%
}%
%Fin
%Elabora la cubierta
\RequirePackage{color}
\definecolor{celeste}{rgb}{0.49,0.847,0.95}
\definecolor{azulfi}{rgb}{0,0.2,0.5}
\definecolor{gris}{rgb}{0.8,0.8,0.8}
\definecolor{azulel}{rgb}{0,0.2,0.7}
\definecolor{azules}{rgb}{0,0,0.3}
\definecolor{blanco}{rgb}{1.0,1.0,1.0}
\definecolor{oro}{rgb}{0.84,0.69,0.16}
\def\professionalcolorname{%
\ifcase \@school%
\relax \or%1
\if@final celeste\else blanco\fi%
\or%2
\if@final azulfi\else blanco\fi%
\or%3
\if@final gris\else blanco\fi%
\or%4
\if@final azulel\else blanco\fi%
\or%5
\if@final azules\else blanco\fi%
\else%
blanco%otherwise
\fi%
}%
185
%Fin
\newcommand\makecover{%
\if@pdftex
\pdfbookmark{Cubierta}{cover}
\fi
\authornumber%
\pagecolor{\professionalcolorname}
\begin{titlepage}
\vspace*{-3em}\hspace*{-4em}
\setlength{\fboxrule}{2pt}
\fcolorbox{oro}{\professionalcolorname}{
\begin{minipage}[c][224mm]{140mm}
\vspace{3ex}
\centering
{\bf\large\color{oro}
UNIVERSIDAD NACIONAL DE PIURA
\par\color{oro}
FACULTAD DE CIENCIAS}
\vskip 1em
{\bf\normalsize\color{oro}
ESCUELA PROFESIONAL DE \schoolname}
\vfill
\includegraphics[scale=0.5]{unp.eps}
\vfill
{\bf\normalsize\color{oro}
\@title}
\vfill
{\ifcase \c@@au%
\relax \or%
\bf\color{oro}\authorname \or%
\bf\color{oro}\authorname%
\else%
\normalfont{\small !`Error: La cantidad m\'{a}xima de
ejecutores es 2!}%
\fi}
\vfill
{\bf\normalsize\color{oro}
TESIS PARA OPTAR EL T\'{I}TULO PROFESIONAL
\par\color{oro}
186
DE \professionaltitlename}
\vfill
{\bf\normalsize\color{oro}
PIURA -- PER\'{U}}%
\vspace{3ex}
\end{minipage}
}
\end{titlepage}
}
%Fin
%Elabora la portada
\newcommand\maketitle{%
\if@pdftex
\pdfbookmark{Portada}{title}
\fi
\authornumber%
\pagecolor{white}
\begin{titlepage}
\vspace*{-2.5em}\hspace*{-4em}
\begin{minipage}[c][224mm]{140mm}
\centering
{\bf\large UNIVERSIDAD NACIONAL DE PIURA
\par FACULTAD DE CIENCIAS}
\vskip 1em
{\bf\normalsize ESCUELA PROFESIONAL DE \schoolname}
\vfill
{\bf\normalsize\@title}
\vfill
{\ifcase \c@@au%
\relax \or%
\bf\authorname \or%
\bf\authorname%
\else%
\normalfont{\small !`Error: La cantidad m\'{a}xima de
ejecutores es 2!}%
\fi}
\vfill
{\bf\normalsize TESIS PARA OPTAR EL T\'{I}TULO PROFESIONAL
\par DE \professionaltitlename}
187
\vfill
{\bf\normalsize\@today}%
\end{minipage}
\end{titlepage}
}
%Fin
%Patrocinador
\newcounter{@pat}
\def\sponsor#1{\gdef\@sponsor{#1}}
\def\sponsornumber{
\begingroup
\setcounter{@pat}{1}%
\def\and{\stepcounter{@pat}}%
\ocultartrue%
\begin{ocultar}
\@sponsor
\end{ocultar}
\endgroup}
\def\sponsorsig{
\begingroup
\setcounter{@pat}{1}%
\def\and{\vfill
\rule{6.5cm}{0.25pt}\vskip 0.2em
\stepcounter{@pat}
\textit{Co--Patrocinador}\vskip -3.75em}%
\setbox0=\vbox{\@sponsor}%
\rule{6.5cm}{0.25pt}\vskip 0.2em
\textit{Patrocinador}\vskip -3.75em
\@sponsor%
\endgroup}
%Fin
%Jurado
\newcounter{@jur}
\def\jury#1{\gdef\@jury{#1}}
188
\def\jurynumber{
\begingroup
\setcounter{@jur}{1}%
\def\and{\stepcounter{@jur}}%
\ocultartrue%
\begin{ocultar}
\@jury
\end{ocultar}
\endgroup}
\def\jurysig{
\begingroup
\setcounter{@jur}{1}%
\def\and{\vfill
\rule{6.5cm}{0.25pt}\vskip 0.2em
\stepcounter{@jur}
\ifcase \c@@jur%
\relax\or\relax\or\relax\or\relax%
\or \textit{Secretario Jurado de Tesis}\vskip -3.75em
\or \textit{Vocal Jurado de Tesis}\vskip -3.75em
\fi}%
\setbox0=\vbox{\@jury}%
\rule{6.5cm}{0.25pt}\vskip 0.2em
\textit{Presidente Jurado de Tesis}\vskip -3.75em
\@jury%
\endgroup}
%Fin
\centering
{\bf\large UNIVERSIDAD NACIONAL DE PIURA
\par FACULTAD DE CIENCIAS}
\vskip 1em
{\bf\normalsize ESCUELA PROFESIONAL DE \schoolname}
\vfill\vfill
{\ifcase \c@@au%
\relax \or%
\normalfont\authorsig \or%
\normalfont\authorsig%
\else%
\normalfont{\small !`Error: La cantidad m\'{a}xima de
ejecutores es 2!}%
\fi}
\vfill
{\ifcase \c@@pat%
\relax \or%
\normalfont\sponsorsig \or%
\normalfont\sponsorsig%
\else%
\normalfont{\small !`Error: La cantidad m\'{a}xima de
patrocinadores es 2!}%
\fi}
\vfill
{\ifcase \c@@jur%
\relax \or%
\normalfont{\small !`Error: La cantidad de miembros del
Jurado es 3!} \or%
\normalfont{\small !`Error: La cantidad de miembros del
Jurado es 3!} \or%
\normalfont\jurysig%
\else%
\normalfont{\small !`Error: La cantidad de miembros del
Jurado es 3!}%
\fi}
\end{minipage}
\end{titlepage}
}
%Fin
190
%Dedicatoria
\def\dedication#1{\gdef\@dedication{#1}}
\def\dedicationname{
\begingroup%
\par%
\def\and{\vskip 3cm\leftskip 4cm}%
\leftskip 4cm%
\@dedication\par%
\endgroup}
%Fin
%Agradecimiento
\def\acknowledgments#1{\gdef\@acknowledgments{#1}}
\def\acknowledgmentsname{
\begingroup%
\def\and{\item}
\begin{itemize}
\item\@acknowledgments
\end{itemize}
\endgroup}
191
%resumen
\def\resumen#1{\gdef\@resumen{#1}}
\def\palabrasclave#1{\gdef\@palabrasclave{#1}}
\newcommand\makeresumen{%
\begin{titlepage}
\chapter{Resumen}
\vskip 1.2em
\setstretch{1}
\@resumen
\section*{Palabras Clave}
\@palabrasclave
\end{titlepage}
}
%Fin
%abstract
192
\def\abstract#1{\gdef\@abstract{#1}}
\def\keywords#1{\gdef\@keywords{#1}}
\newcommand\makeabstract{%
\begin{titlepage}
\chapter{Abstract}
\vskip 1.2em
\setstretch{1}
\@abstract
\section*{Keywords}
\@keywords
\end{titlepage}
}
%Fin
\newcommand*\chaptermark[1]{}
\setcounter{secnumdepth}{2}
\newcounter {chapter}
\newcounter {section}[chapter]
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]
\renewcommand \thechapter {\@arabic\c@chapter}
\renewcommand \thesection {%
\thechapter.\@arabic\c@section}
\renewcommand\thesubsection {\thesection.\@arabic
\c@subsection}
\renewcommand\thesubsubsection{\thesubsection.\@arabic
\c@subsubsection}
\renewcommand\theparagraph {\thesubsubsection.\@arabic
\c@paragraph}
\renewcommand\thesubparagraph {\theparagraph.\@arabic
\c@subparagraph}
\newcommand\@chapapp{\chaptername}
\newcommand\frontmatter{%
\cleardoublepage
\@mainmatterfalse
\pagenumbering{roman}}
\newcommand\mainmatter{%
193
\cleardoublepage
\@mainmattertrue
\pagenumbering{arabic}}
\newcommand\backmatter{%
\cleardoublepage
\@mainmatterfalse}
\newcommand\chapter{\cleardoublepage
\thispagestyle{empty}%
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\def\@chapter[#1]#2{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\if@chapter
\addcontentsline{toc}{chapter}%
{\protect\numberline{\@Roman\thechapter}{#1}}
\fi
\if@conclusions
\addcontentsline{toc}{chapter}%
{#1}
\fi
\if@annex
\addcontentsline{toc}{chapter}%
{\protect\numberline{Anexo \thechapter}{
\hskip 7ex #1}}
\fi
\if@appendix
\addcontentsline{toc}{chapter}%
{\protect\numberline{Ap\'{e}ndice \thechapter}{
\hskip 11ex #1}}
\fi
\else
\addcontentsline{toc}{chapter}{#1}
\fi
\else
\addcontentsline{toc}{chapter}{#1}%
194
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\@makechapterhead{#2}%
\@afterheading}
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \centering \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\if@chapter
\large\bfseries\MakeUppercase%
\@chapapp\space \@Roman\thechapter
\fi
\if@conclusions
\relax
\fi
\if@annex
\large\bfseries\MakeUppercase%
\@chapapp\space \thechapter
\fi
\if@appendix
\large\bfseries\MakeUppercase%
\@chapapp\space \thechapter
\fi
\par\nobreak
\fi
\fi
\interlinepenalty\@M
\setstretch{1.5}
\large \bfseries \MakeUppercase{#1}\par\nobreak
\vskip 40\p@
}}
\newcounter{aux}
\def\@schapter#1{\if@pdftex
\stepcounter{aux}%
\pdfbookmark{#1}{\theaux}%
\fi
\@makeschapterhead{\MakeUppercase{#1}}%
195
\@afterheading}
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \centering
\normalfont
\interlinepenalty\@M
\large \bfseries #1\par\nobreak
\vskip 40\p@
}}
\newcommand\section{\@startsection {section}{1}{\z@}%
{-5ex \@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\setstretch{1.5}
\large\bfseries}}
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.25ex \@plus .2ex}%
{\setstretch{1.5}
\normalsize\bfseries}}
\newcommand\subsubsection{
\@startsection{subsubsection}{3}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.25ex \@plus .2ex}%
{\setstretch{1.5}
\normalsize\itshape\bfseries}}
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
{\setstretch{1.5}
\normalsize\itshape\bfseries}}
\newcommand\subparagraph{
\@startsection{subparagraph}{5}{\parindent}%
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\setstretch{1.5}
\itshape\normalsize\bfseries}}
\setlength\leftmargini {2.5em}
\leftmargin \leftmargini
\setlength\leftmarginii {2.2em}
196
\setlength\leftmarginiii {1.87em}
\setlength\leftmarginiv {1.7em}
\setlength\leftmarginv {1em}
\setlength\leftmarginvi {1em}
\setlength \labelsep {.5em}
\setlength \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
\renewcommand\theenumi{\@arabic\c@enumi}
\renewcommand\theenumii{\@alph\c@enumii}
\renewcommand\theenumiii{\@roman\c@enumiii}
\renewcommand\theenumiv{\@Alph\c@enumiv}
\newcommand\labelenumi{\theenumi.}
\newcommand\labelenumii{(\theenumii)}
\newcommand\labelenumiii{\theenumiii.}
\newcommand\labelenumiv{\theenumiv.}
\renewcommand\p@enumii{\theenumi}
\renewcommand\p@enumiii{\theenumi(\theenumii)}
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
\newcommand\labelitemiii{\textasteriskcentered}
\newcommand\labelitemiv{\textperiodcentered}
\newenvironment{description}
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
\let\makelabel\descriptionlabel}}
{\endlist}
\newcommand*\descriptionlabel[1]{\hspace\labelsep
\normalfont\bfseries #1}
\newenvironment{verse}
{\let\\\@centercr
\list{}{\itemsep \z@
\itemindent -1.5em%
\listparindent\itemindent
\rightmargin \leftmargin
\advance\leftmargin 1.5em}%
\item\relax}
{\endlist}
197
\newenvironment{quotation}
{\list{}{\listparindent 1.5em%
\itemindent \listparindent
\rightmargin \leftmargin
\parsep \z@ \@plus\p@}%
\item\relax}
{\endlist}
\newenvironment{quote}
{\list{}{\rightmargin\leftmargin}%
\item\relax}
{\endlist}
\newenvironment{titlepage}
{\cleardoublepage
\thispagestyle{empty}}%
{\newpage}
\newcommand\conclusions{\par
\@chapterfalse%
\@conclusionstrue}
\newcommand\annex{\par
\@chapterfalse%
\@conclusionsfalse%
\@annextrue%
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\gdef\@chapapp{\annexname}%
\gdef\thechapter{\@arabic\c@chapter}}
\newcommand\appendix{\par
\@chapterfalse%
\@conclusionsfalse%
\@annexfalse%
\@appendixtrue%
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\gdef\@chapapp{\appendixname}%
\gdef\thechapter{\@Alph\c@chapter}}
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
198
\skip\@mpfootins = \skip\footins
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
\@addtoreset {equation}{chapter}
\renewcommand\theequation
{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
\newcounter{figure}[chapter]
\renewcommand \thefigure
{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename\nobreakspace\thefigure}
\newenvironment{figure}
{\@float{figure}}
{\end@float}
\newenvironment{figure*}
{\@dblfloat{figure}}
{\end@dblfloat}
\newcounter{table}[chapter]
\renewcommand \thetable
{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{\tablename\nobreakspace\thetable}
\def\footnote{\@ifnextchar[{\@xfootnote}{\stepcounter
{\@mpfn}\xdef\@thefnmark{\thempfn}%
\@footnotemark\@footnotetext}}
\newenvironment{table}
{\@float{table}}
{\end@float}
\newenvironment{table*}
{\@dblfloat{table}}
{\end@dblfloat}
\newlength\abovecaptionskip
\newlength\belowcaptionskip
\setlength\abovecaptionskip{10\p@}
\setlength\belowcaptionskip{10\p@}
\long\def\@makecaption#1#2{%
199
\vskip\abovecaptionskip
\sbox\@tempboxa{\small\bfseries #1. \normalfont #2}%
\ifdim \wd\@tempboxa >\hsize
\small\bfseries #1. \normalfont #2\par
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
\newcommand\@pnumwidth{1.55em}
\newcommand\@tocrmarg{2.55em}
\newcommand\@dotsep{4.5}
\setcounter{tocdepth}{1}
\newcommand\tableofcontents{%
\chapter{\contentsname}
\setstretch{1.5}
\@starttoc{toc}
\setstretch{2}
}
\newcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 0.5em\@plus\p@
\setlength\@tempdima{2em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \bfseries
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}
200
\par\penalty\@highpenalty
\endgroup
\fi}
\newcommand*\l@section{\vskip -0.5em\@dottedtocline{1}{
2em}{2.3em}}
\newcommand*\l@subsection{\@dottedtocline{2}{5.3em}{3.2em}}
\newcommand*\l@subsubsection{\@dottedtocline{3}{8.5em}{4.1em}}
\newcommand*\l@paragraph{\@dottedtocline{4}{11.5em}{5em}}
\newcommand*\l@subparagraph{\@dottedtocline{5}{13.5em}{6em}}
\newcommand\listoffigures{%
\chapter{\listfigurename}%
\setstretch{1.5}
\@starttoc{lof}%
\setstretch{2}
}
\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand\listoftables{%
\chapter{\listtablename}%
\setstretch{1.5}
\@starttoc{lot}%
\setstretch{2}
}
\let\l@table\l@figure
\newdimen\bibindent
\setlength\bibindent{1.5em}
\newenvironment{thebibliography}[1]
{\chapter{\bibname}%
\setstretch{1.5}
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000%
201
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist
\setstretch{2}}
\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty
\newcommand\@idxitem{\par\hangindent 40\p@}
\newcommand\subitem{\@idxitem \hspace*{20\p@}}
\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@
\@minus3\p@\relax}
\renewcommand\footnoterule{%
\kern10\p@
\hrule\@width0.6\columnwidth
% \kern10.6\p@}
\kern6.0\p@}
\@addtoreset{footnote}{chapter}
\newcommand\@makefntext[1]{%
\setstretch{1.25}
\parindent 1em%
\noindent
\hb@xt@1.8em{\hss\@makefnmark}#1}
\newcommand\contentsname{Contents}
\newcommand\listfigurename{List of Figures}
\newcommand\listtablename{List of Tables}
\newcommand\bibname{Bibliography}
\newcommand\indexname{Index}
\newcommand\figurename{Figure}
\newcommand\tablename{Table}
\newcommand\partname{Part}
\newcommand\chaptername{Chapter}
\newcommand\annexname{Anexo}
\newcommand\appendixname{Appendix}
\def\@today{
PIURA -- PER\'{U}\\
\ifcase\month\or
ENERO\or FEBRERO\or MARZO\or ABRIL\or MAYO\or JUNIO\or
JULIO\or AGOSTO\or SEPTIEMBRE\or OCTUBRE\or NOVIEMBRE\or
DICIEMBRE\fi
202
\space -- \number\year}
\pagestyle{headings}
\pagenumbering{arabic}
%Paquetes adicionales
\RequirePackage[left=4cm,top=4cm,right=3cm,bottom=3cm]{geometry}
\RequirePackage[spanish,es-noindentfirst,es-nodecimaldot]{babel}
\def\@roman#1{\romannumeral #1}
%fin
%S\'{i}mbolo lqqd
\newcommand{\dingfamily}{\fontencoding{U}\fontfamily{ding}
\selectfont}
\newcommand{\@chooseSymbol}[1]{{\dingfamily\symbol{#1}}}
\newcommand{\RectangleBold}{\@chooseSymbol{'166}}
\renewcommand{\qedsymbol}{\RectangleBold}
%fin
203
\if@pdftex
\RequirePackage[pdftex]{graphicx}
\RequirePackage{epstopdf}
\RequirePackage[
pdftex,
pdfauthor={Prof. Robert Ipanaque},
pdftitle={Tesis de Licenciatura},
pdfsubject={Para alumnos egresantes
del nivel Pre-grado de la FC-UNP},
pdfkeywords={fcunp.cls},
bookmarksnumbered]{hyperrefn}
\else
\RequirePackage{graphicx}
\fi
%%
%% End of file `fcunp.cls'.
CONCLUSIONES