You are on page 1of 204

Elaboracin de una clase en

para digitar la tesis de pre-grado en la Facultad de Ciencias

R. Ipanaqu, G. Gonzlez y G. Crespo

Instituto de Investigacin y Promocin para el desarrollo de la Universidad Nacional de Piura http://www.unp.edu.pe/institutos/iipd

ELABORACIN DE UNA CLASE EN

PARA DIGITAR LA TESIS DE PRE-GRADO EN LA FACULTAD DE CIENCIAS

R. IPANAQU G. GONZLEZ G. CRESPO


FACULTAD DE CIENCIAS UNIVERSIDAD NACIONAL DE PIURA PIURA, PER

Ttulo:

AT X Elaboracin de una clase en L E


Facultad de Ciencias

para digitar la Tesis de pre-grado en la

Autores:

ROBERT IPANAQU CHERO

robertchero@hotmail.com http://www.unp.edu.pe/pers/ripanaque https://sites.google.com/site/ripanaque


GUILLERMO C. GONZLEZ CREOLLO

gmogonzalez@gmail.com http://www.unp.edu.pe/pers/ggonzalez
GLORIA S. CRESPO GUERRERO

gloriasol48@hotmail.com

INSTITUTO DE INVESTIGACIN Y PROMOCIN PARA EL DESARROLLO (iipd)


Junio, 2011

UNIVERSIDAD NACIONAL DE PIURA


Urb. Miraores s/n, Castilla, Piura, PER

PRLOGO

AT X, sino que constituye la Este libro no pretende ser un manual de L E


presentacin y manual ocial de la clase

Fc Unp

creada por los autores

con la nalidad de dotar a los estudiantes de la Facultad de Ciencias, de la Universidad Nacional de Piura, de una herramienta que facilite el uso

AT X en la digitacin de la Tesis de pregrado. de L E En el primer captulo se dan los lineamientos elementales en el uso de AT X y que son ampliamente utilizadas para elabolas clases estndar de L E rar diversos trabajos cientcos, a saber: article, report, book, letter
y

slides.

Adems describe los comandos bsicos, que se utilizan en cual-

quiera de dichas clases, y que sirven para dar formato al texto, insertar y editar frmulas matemticas, manipulacin de listas, insertar grcos, insertar tablas, etc. Una vez que el lector se ha familiarizado con las clases y comandos mencionados, en el segundo captulo, se hace una breve descripcin de

AT X con la nalidad que el lector los elementos de la programacin en L E aprecie la potencia del mismo.
Finalmente, en el tercer captulo, se describen los comandos de la clase creada, a la que se le ha llamado

Fc Unp , mostrando con un ejemplo

especco los resultados que se obtienen en forma automatizada tanto en formato como en el color del empaste (esto permite que el estudiante obtenga un archivo PDF de calidad profesional, el cual incluye hipervnculos, referencias y marcadores, todos stos interactivos).

R. Ipanaqu G. Gonzlez G. Crespo


Piura, Per

CONTENIDO

Prlogo Contenido ATEX Captulo I:Introduccin a L ATEX Introduccin a la edicin de textos con L A Instalacin de TEX/LTEX ATEX Instrucciones bsicas de L ATEX Estructura de los documentos L Clases de documentos bsicos Paquetes El paquete babel El paquete inputenc El paquete geometry Edicin de texto Matemtica Listas Inclusin de grcos Tablas Referencias cruzadas Notas al pie y al margen Insercin de texto plano Bibliografa El programa BibTex ATEX Captulo II:Programacin con L

i ii 1

1 9 17 20 21 44 49 49 50 50 57 79 87 90 98 102 104 105 107 112 112 114

Creacin de comandos y entornos Entornos

iii

Compilacin por partes Conceptos bsicos sobre contadores y longitudes Programacin con TEX Manejo de cajas en TEX Repeticin de objetos Sistematizando tareas Condicionales y bucles Captulo III:La clase FcUnp Introduccin Cmo invocar la clase FcUnp Comandos implementados Paquetes incorporados Un ejemplo especco Obtencin de la clase FcUnp Cdigo de la clase FcUnp Conclusiones Recomendaciones Bibliografa

116 117 128 133 141 143 144 155 155 155 156 158 159 161 170 194 195 196

iv

CAPTULO I

INTRODUCCIN A LTEX
A

ATEX 1 Introduccin a la edicin de textos con L


ATEX 1.1 Conceptos referentes a TEX/L

Qu es TEX?
T EX es un sistema de composicin de textos de alta calidad que fue creado por Donald E. Knuth a nales de la dcada de 1970; est dirigido en particular a aqullos textos que contienen una gran cantidad de expresiones matemticas. T EX en s es un procesador de macros, con una alta capacidad de programacin, un archivo *.tex es un archivo ASCII donde est el texto junto con determinadas instrucciones, que debe ser procesado por un compilador (el programa T EX). ste devuelve un archivo *.dvi que es independiente de la plataforma y que es el que nalmente se transformar al lenguaje de impresora. Utilizar T EX puro reviste una cierta dicultad, por lo que Knuth suministr una serie de macros para T EX a las que se denomin plain T EX. Estas macros son el conjunto mnimo de macros que se pueden utilizar de forma ecaz con T EX e incluyen algunos ejemplos de uso de rdenes T EX de alto nivel. Cuando alguien arma programar en T X normalmente se E reere a que lo hace en plain T EX.

ATEX? Qu es L
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.

A X proporciona ms simple de uso que T EX pero con toda su potencia. L T E una serie de rdenes para describir la estructura del documento, de forma
que el usuario nal no deba pensar mucho en la presentacin. Mediante distintas clases de documentos y paquetes adicionales, el mismo documento puede producirse con muchos diferentes aspectos.

Qu son los paquetes


AMS-TEX

ATEX? AMS-TEX/AMS-L

es un paquete de macros para T EX. Escrito originalmente por Michael Spivak para la Sociedad Americana de Matemtica (AMS) entre 1983 y 1985. Est basado en plain T EX pero proporciona ms medios para producir frmulas matemticas de aspecto profesional con menor esfuerzo por parte de los autores, con un gran cuidado en aspectos como el tamao y la posicin de las frmulas. Entre los aspectos tratados se encuentran las

ecuaciones de ms de una lnea, la numeracin de ecuaciones, las matrices,


los acentos dobles, sub y super ndices en varios niveles, as como otras AT X la AMS desarroll cosas. Segn fue aumentando la popularidad de L E A AT X AMS-L TEX que consiste en una coleccin de clases y paquetes para L E que ofrece a los autores la funcionalidad de

AMS-TEX.

ATEX en la creacin de sus docuClases de usuarios que utilizan TEXL mentos

TEX- nico Conocedor de todas las minucias, argucias y misterios de TEX. TEX- perto Persona familiarizada con los comandos bsicos de TEX capaz de programar rutinas o macros T EX.

TEX- ncrata

Persona que ha asimilado la losofa T EX y que usa reguAT X pero que no conoce o no tiene inters en el larmente T X o L E E funcionamiento interno del lenguaje T EX.

ATEX? 1.2 Qu ventajas tiene TEX/L

Funciona, es estable y multiplataforma


El formato de los archivos es mucho ms estable que en otros procesadores, cualquier cambio es realizado localmente y no repercute en efectos colaterales, existen implementaciones para distintas plataformas y en todas el resultado es exactamente el mismo (si se tienen los mismos estilos y tipos). Excelente calidad del documento nal con salida en distintos formatos: dvi, pdf, ps, etc.

Alta calidad en la edicin de ecuaciones


AT X es ampliamente utilizaEsta es una razn muy importante por la que L E do en entornos cientcos. Muchas revistas aceptan o exigen los documenAT X. Este procesador ajusta los tamaos de parntesis, tos escritos en L E integrales, subndices y superndices, alinea los elementos de las matrices,
construye cajas, etc.

ATEX permite redactar fcilmente documentos estructurados L


A travs de distintas clases de documento y de su conjunto de macros,

AT X posibilita escribir textos dividindolos en captulos, secciones, subL E


secciones, controlando en todo momento la numeracin y las referencias cruzadas. Construye ndices de contenidos, tablas o guras. Ajusta los tamaos y tipos de letras segn la parte del documento en que se hallen.

Facilidad en la construccin de macros y rdenes


A poco de comenzar a usar este procesador, el usuario se encuentra deniendo o redeniendo rdenes para que stas se ajusten a sus preferencias personales. Por ejemplo, es posible que una determinada expresin aparezca repetidas veces en el texto. Nada ms fcil que denir una orden que reemplace a todo un bloque. O bien, es posible que no guste la forma en

AT X numera las pginas, una redenicin al principio del documento que L E permite cambiar esto.

Se escribe en ASCII
Esto, que al principio puede parecer un inconveniente (ya que implica teclear mucho ms) se torna en ventaja al cabo del tiempo. Por un lado permite incrementar la velocidad de escritura (pues no hay que andar utilizando ratn o mens), por otro facilita el uso de cualquier editor de texto (no contiene caracteres de control) y permite su transmisin por correo electrnico (puede escribirse en ASCII de 7 bits). Esto hace que

AT X enviados muchas revistas cientcas admitan artculos 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 T EX. De hecho, aunque algunas

herramientas que se usan junto a T EX se ofrecen bajo la GNU General Public License (Copyleft); T EX en s, ni siquiera tiene esa restriccin. La nica restriccin impuesta por Knuth es que debe dar el mismo resultado en todas las implementaciones, para garantizar la absoluta portabilidad de los documentos escritos con T EX. Algunas empresas ofrecen implementaciones A X con elementos propios. comerciales de T EX/L T E

ATEX? 1.3 Ventajas e inconvenientes que tiene TEX/L

Aprendizaje previo, no es un procesador del tipo WYSIWYG


A diferencia de los procesadores de tipo WYSIWYG lo que ves es lo que consigues (What you see what you get), que pueden usarse casi desde el

AT X requiere un periodo de aprenprimer da con resultados aceptables, L E dizaje antes de conseguir los primeros frutos. Incluso cuando ya se es un
usuario medio o avanzado, siempre es conveniente tener cerca un manual. Este proceso de iniciacin consiste principalmente en aprenderse las rdenes esenciales. La contrapartida de este esfuerzo es que cuando se trabaja

AT X y se compara el resultado con lo obtenido con otros procesacon L E dores, la salida de stos ltimos parece poco seria en cuanto se reere a
las frmulas matemticas. Algo como los dientes, que duelen al salir, pero luego se hacen imprescindibles.

No se ven los resultados hasta que se compila el archivo


Una de las decepciones que sufre el usuario novato es que no ven los frutos de su trabajo hasta que compila. Como suelen aparecer errores de compilacin, esto suele ser frustrante, aparte de conllevar una prdida de tiempo.

AT X no est Con el tiempo, los errores disminuyen. De todas formas, L E especialmente dirigido a los aspectos puramente estticos de cada pgina
en concreto, sino a los estructurales del documento. Si uno est interesado

AT X no es el procesador adecuado. ste basa estrictamente en la esttica, L E la belleza de los documentos creados ms en la claridad, en el buen criterio y en una esttica agradable, que en la posibilidad de hacer fcilmente diseos rebuscados para cada pgina.

No permite introducir imgenes


Esta acusacin habitual no es en absoluto cierta. Simplemente hay que ser conscientes de los medios de visualizacin e impresin de que se dispone y obrar en consecuencia. Lo que no debe olvidarse nunca es que tanto T EX

AT X estn pensados como lenguajes de composicin de documentos, como L E no de autoedicin.

No tiene variedad de tipos (fuentes)


Es cierto que los tipos CM (Computer Modern) originalmente desarrollados por Knuth son limitados en cantidad y variedad, por lo que a medida

AT X se difunda, han aumentado las demandas de ms tipos para que L E usos diversos. Aunque el crecimiento es todava lento, existe una gran cantidad de tipos disponibles. En las versiones para salidas postscript si es posible el uso de cualquier tipo, pero no se garantiza que las ecuaciones mantengan la calidad requerida.

1.4 Elementos que intervienen al procesar un documento

El documento fuente: Cmo creo un documento con TEX/LaTeX?


A X es realmente un lenguaje de programacin Como se ha dicho T EX/L T E de textos. En el documento fuente original se introduce el texto a procesar
junto con una serie de rdenes especicando cmo debe ser procesado ste. Este paso se realiza con un editor de texto, o con un ambiente de progra-

A X. macin especializado totalmente integrado para su uso con T EX/L T E

Cmo proceso, veo e imprimo un documento con TEX/LaTeX?


Dado fuente se un

doc.tex,

documento ste
doc.dvi

procesa

mediante

T EX si se han utilizado las rdenes de

doc.tex

doc.aux

A X si plain T EX o L T E
se han utilizado las r-

AT X (Fig. denes de L E
1.1). Se corrigen los posibles errores de sintaxis y se repite el proceso hasta que stos se han eliminado.
Fig. 1.1

doc.log

Qu es un archivo

*.aux?

AT X usa para el conteo Documento auxiliar con informacin interna que L E y enumeracin automtica de secciones, ecuaciones, referencias bibliogrcas, etc.

Qu es un archivo

*.log?

AT X con todos los detalles de la compiEs el cuaderno de bitcora de L E lacin o del procesamiento, incluyendo los mensajes de error.

Qu es un archivo

*.dvi?

Un archivo DVI (device independent) es uno de los archivos resultantes al

A X. Su forma no depende del procesar el texto fuente a travs de T EX/L T E dispositivo que se vaya a utilizar para verlo/imprimirlo. Un archivo DVI
est pensado para ser ledo por un conversor que produzca una salida adecuada para una determinada impresora, o para un determinado visualizador en la pantalla del ordenador. Los archivos DVI utilizan una codicacin interna de T EX de forma que un documento fuente debe producir exactamente el mismo archivo DVI, con independencia de la implementacin de T EX que se utiliza para producirlo.

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

Qu es el formato pdf?
PDF (Portable Document Format) es, como su nombre indica, un formato de archivos transportable entre distintas plataformas, creado por Adobe y especialmente diseado para visualizar documentos tal y como se han diseado. Permite usar colores, grcos, seguir enlaces e imprimir; pero, fundamentalmente, permite ver en la pantalla los documentos, siendo un formato compacto. Es muy similar a PS, pero no tiene capacidades de programacin. En relacin con T EX PDF es un formato que sustituye al

DVI. Los visualizadores de PDF ms recomendables son Acrobat Reader y Ghostview.

Qu es el postscript y el postscript encapsulado?


PostScript (PS) es un lenguaje de programacin para describir pginas. Como lenguaje estructurado permite la programacin (tiene estructuras de control y bucles). Fue desarrollado por Adobe. Existen varios intrpretes que permiten la visualizacin de este formato, Ghostscript por ejemplo. El formato PS se basa en describir cada pgina desde un origen de coordenadas que se sita en la esquina inferior izquierda de la pgina. PS encapsulado (EPS) es el formato estndar para importar y exportar archivos PS en cualquier tipo de entornos. Usualmente es un archivo que contiene una sola pgina que describe una gura. El archivo EPS est especialmente pensado para incluirlo en otros archivos PS, y es como cualquier otro archivo PS con algunas restricciones.

Grafo de las posibles conversiones de los distintos archivos obtenidos ATEX/pdfTEX/pdfL ATEX con TEX/L
*.tex pdflatex *.pdf latex *.dvi dvi2pdf *.pdf
Fig. 1.2

dvips

*.ps ps2pdf *.pdf

ATEX y otros programas relacionados 1.5 Fuente de TEX/L

ATEX Distribuciones TEX/L

En principio se podra coger todo el sistema elemento a elemento y ponerlo todo en comn. Sin embargo, para que esto funcione correctamente, el tiempo requerido y la complejidad del trabajo son grandes. Por esta razn algunas personas o empresas ya lo han hecho y lo ofrecen preparado en lo que se denominan distribuciones. Se entiende por distribucin un conjunto

AT X junto con otras utilidades de archivos binarios y paquetes de macros L E adicionales, hay distribuciones de libre distribucin GNU, Shareware (se

puede distribuir y probar, pero si se quiere usar regularmente es necesario pagar el registro) y otras de distribucin comercial. Existen versiones para: Atari, Amiga, UNIX, VMS, Os2, Windows NT, Mac y MS-DOS. Las ms comunes distribuciones libres o shareware son: Unix TeT EX teT EX NT EX Macintosh OzT X E Linux DOS/OS2 Win32 emT EX gT EX emT EX-TDS 2 MikT X fpT X. E E

En tanto, que las ms comunes distribuciones comerciales para windows son: ScienticWord, ScienticWorkPlace y ScienticNotebook, los cuales ofrecen una forma de trabajo tipo casi WYSIWYG con un procesador T EX en segundo plano.

AT X son: Y, los editores de texto que trabajan especialmente bien con L E


Unix DOS/OS2 Win32 Linux GNU emacs T EXshell 3 4 5 WinEdt , Winshell , T EXMAKER , PCT EX32 kate, kile.

Qu es CTAN?
Son las abreviaturas de Comprehensive T EX Archive Network (Red del Archivo Completo de T X). Es una red mundial de software T E EX Los ser-

AT X para prcticamente vidores de CTAN contiene implementaciones de L E A X todos los sistemas operativos, as como los paquetes de macros T E EX y L T
es GNU o shareware.

y otros programas que pueden ser tiles. El software que all se encuentra

2 Fabrice Popineau 3 Shareware 4 GNU 5 GNU

es una versin de teTEX para Windows

Los servidores ms importantes de CTAN son:

EEUU Inglaterra Alemania

http://www.ctan.org/ http://www.tex.ac.uk/tex-archive/ http://www.dante.de/cgi-bin/ctan-index/

Para los usuarios hispanohablantes se ha creado el grupo CervanT EX el cual busca intercambiar experiencias sobre T EX y promover su uso en Hispanoamrica. La pgina Web ocial del grupo es

http://www.cervantex.org/

ATEX 2 Instalacin de TEX/L


Una distribucin gratuita para Microsoft Windows, desarrollada por Christian Schenk es . Las caractersticas ms apreciables de MiKT EX son su habilidad de actualizarse por s mismo descargando nuevas versiones de componentes y paquetes instalados previamente, y su fcil proceso de instalacin. La versin actual de MiKT EX es 2.9 y est disponible en su pgina ocial (ver Fig. 1.3)

MiKTEX

http://miktex.org
Despus de descargar MiKT EX se procede a su instalacin haciendo doble clic sobre el respectivo icono pasos: 1. Activar la casilla de condiciones de instalacin del citado cuadro tal como se muestra en la gura 1.5. 2. Pulsar el botn 3. Pulsar el botn 4. Pulsar el botn 5. Pulsar el botn tras lo que aparece un

cuadro como el de la gura 1.4. A continuacin se ejecutan los siguientes

<Siguiente> <Siguiente> <Siguiente> <Start>

que se aprecia en la gura 1.6. que se aprecia en la gura 1.7. que se aprecia en la gura 1.8.

que se aprecia en la gura 1.9.

6. Esperar que concluya el proceso indicado en la gura 1.10. 7. Pulsar el botn

<Siguiente>

que se aprecia en la gura 1.11.

10

Fig. 1.3

Porcin de la pgina web ocial de MiKT EX.

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

8. Finalizar el proceso pulsando el botn gura 1.12.

<Close>

que se aprecia en la

Seguidamente instalamos el editor libre T especialmente diEX AT X. seado para hacer ms fcil y cmodo el trabajo con L E La pgina web ocial de T EX

MAKER

MAKER (ver Fig. 1.13) es

http://www.xm1math.net/texmaker
Despus de descargar T EX

MAKER se procede a su instalacin haciendo


tras lo que aparece un cuadro

doble clic sobre el respectivo icono

como el de la gura 1.14. A continuacin se ejecutan los siguientes pasos: 9. Pulsar el botn

<I Agree>

que se aprecia en la gura 1.14.

14

Fig. 1.13

Porcin de la pgina web ocial de T EX

MAKER .

Fig. 1.14

Fig. 1.15

15

Fig. 1.16

Fig. 1.17

10. Pulsar el botn

<Install>

que se aprecia en la gura 1.15.

11. Esperar que concluya el proceso indicado en la gura 1.16. 12. Finalizar el proceso pulsando el botn gura 1.17. 13. Acceder a T EX 14. Elegir

<Close>

que se aprecia en la

MAKER (ver Fig. 1.18).


de la opcin

<Congurar Texmaker>

<Opciones>

de la barra

de Men (ver Fig. 1.19). 15. Seleccionar

Codicacin del editor. Elegir, adems, ES_es.dic (para revisin ortogrca en espaol) en la opcin Diccionario. Aqu tambin es posible congurar: tipo y tamacdigo ASCII) en la opcin el diccionario o de letra, colores para entorno matemtico, comandos y palabras clave, as como los atajos (ver Fig. 1.20).

8859-1

<Editor> de la ventana Congurar Texmaker y elegir ISO-

(para el reconocimiento de caracteres no pertenecientes al

16

Fig. 1.18

Fig. 1.19

17

Fig. 1.20

Despus de ejecutar los quince pasos antes descritos ya podemos elaboA X rar nuestro primer documento en T EX (TeXworks de MiKT EX) o en L T E (T ), segn sea el caso. EX

MAKER

ATEX 3 Instrucciones bsicas de L

3.1 Comandos
AT X comienzan con \ seguido de una secuencia de Los comandos de L E
letras .

Tipos y sintaxis de los comandos


Simples : \<comando> Con argumentos obligatorios: \<comando> {. . . }{. . . }. . . {. . . } Con argumentos obligatorios y opcionales: \<comando> [<opcionales>]{. . . }{. . . }. . . {. . . }

son sensibles a maysculas y minsculas simples los espacios son ignorados, por esta razn es importante forzar a que aparezcan stos mediante cualquiera de las siguientes secuencias: \<comando>\ , {\<comando>} o \<comando>{}.

6 Los comandos en L ATEX 7 Luego de los comandos

18

3.2 Declaraciones globales (bloques) y entornos

Declaraciones globales (bloques)


Son aquella declaraciones que limitan su alcance al bloque de texto contenido entre un par de llaves {. . . <texto> . . . } emparejadas.

Entornos
Son construcciones del documento que son tratadas de manera distinta del documento principal, deben especicarse en la forma: \begin{<entorno>}

<texto> \end{<entorno>}

3.3 Comentarios, espacios en blanco y saltos de lnea

Comentarios
Todo texto que se encuentre a la derecha del smbolo % no es procesado, de esta forma se pueden agregar los comentarios dentro de un documento

AT X. L E

Espacios en blanco y saltos de lnea


AT X tiene En una secuencia de espacios en blanco o de saltos de lnea, L E en cuenta solo el primer espacio en blanco o el primer salto de lnea.

3.4 Smbolos especiales

Smbolos especiales
Los siguientes smbolos (entre otros) no se pueden obtener directamente, es necesario especicarlos mediante comandos:

$ %

&

19

Tabla de smbolos especiales ms comunes


Smbolo \ { _ % Comando Smbolo & } $ # Comando

\textbackslash \{ \_ \% ?

\& \} \$ \# !

3.5 Tilde, diresis, circunejo y virgulilla


AT X procesa archivos escritos con ASCII 7, los smbolos con Dado que L E tilde, diresis, circunejo o virgulilla no se pueden obtener directamente,
para esto existen unos comandos especiales, como por ejemplo: para la  puede usarse

\'a

\{'a}.

Comandos para obtener smbolos con tilde, diresis, circunejo o virgulilla


Smbolo Comando Smbolo Comando

\ 'a \ 'e \ 'i \ 'o \ 'u

o o o o o

\{'a} \'{e} \{'i} \{'o} \{'u}

\"a \^a \~n \~N

o o o o

\"{a} \^{a} \~{n} \~{N}

20

ATEX 4 Estructura de los documentos L

4.1 Clases de documentos bsicos

article book report letter slides

Estilo artculo, documentos cortos. Estilo libro, documentos ms largos que contienen captulos. Estilo reporte o informe tcnico. Estilo carta. Estilo diapositivas.

4.2 Estructura bsica de un documento


La estructura bsica de un documento ser de esta forma:

\documentclass[<opciones >]{<estilo >} < ttulo >, < autor >, < fecha > Prembulo < declaraciones: paquetes > \begin{document} %(inicio documento) < comandos especiales : \maketitle > Documento < Cuerpo del documento > \end{document} %(fin documento)
ATEX 4.3 Ejemplo de un documento L
El documento obtenido con el siguiente cdigo es de la clase puede apreciarse en la gura 1.21.

article

\documentclass{article} \author{A. U. Tor} \title{Primer Documento} \begin{document} \maketitle \'{E}ste es mi primer documento escrito en \LaTeX. \end{document}

21

Fig. 1.21

5 Clases de documentos bsicos


5.1 La clase article
\documentclass[<opciones >]{article} < declaraciones: paquetes, comandos > Prembulo < ttulo >, < autor >, < fecha >

\begin{document} \maketitle \begin{abstract}...\end{abstract} Documento \section{...} \subsection{...} \subsubsection{...}

\end{document}

22

Comandos importantes en el estilo article


\maketitle
Hace que se produzcan las lneas para el ttulo, autor y fecha. Debe ubicarse despus de chos campos.

\begin{document}, si se omite, no se generan di\date


Se imprime la fecha vigente del computador, o el valor que se ingrese al campo obligatorio, si se desea que no aparezca se debe escribir

\date{ }.

\thanks{...}

Se puede utilizar en autor.

\title, \author, \date, pro-

duce notas al pie de pgina con la informacin del

. . . \end{abstract}

\begin{abstract}

En este entorno se coloca el resumen del artculo y debe ubicarse despus de

\maketitle.

\section{...}, \subsection{...},
etc.

Secciones, subsecciones, etc., las cuales son numeradas automticamente.

Ejemplo de un documento escrito en el estilo article


El documento que se obtiene con el siguiente cdigo puede apreciarse en la gura 1.22.

\documentclass{article} \title{La clase article en \LaTeX} \author{A. U. Tor \thanks{Catedr\'{a}tico, UNP, autor@unp.edu.pe}} \date{} \begin{document} \maketitle \begin{abstract} En este documento se exhibir\'{a}n las caracter\'{i}sticas m\'{a}s importantes de un art\'{i}culo escrito en \LaTeX. \end{abstract}

23

\section{Art\'{\i}culo en \LaTeX} Los art\'{\i}culos son la clase de documentos \LaTeX\ m\'as ampliamente utilizados, dada la sencillez en su creaci\'on. \subsection{Estructura de un art\'{i}culo} Este tipo de documento se puede dividir en dos partes, los campos de identificaci\'{o}n: t\'{i}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\'{a}grafos, subpar\'{a}grafos, etc. \end{document}

5.2 La clase book


\documentclass[<opciones >]{book} < declaraciones: paquetes, comandos > Prembulo < ttulo >, < autor >, < fecha >

\begin{document} \maketitle \frontmatter \mainmatter \chapter{...} Documento \section{...} \subsection{...} \appendix \backmatter

\end{document}

24

Fig. 1.22

Primera pgina generada con la clase

article.

25

Comandos importantes en el estilo book


\maketitle
Fuerza a que se produzcan las lneas para el ttulo, autor y fecha. Al omitirlo no se generar la pgina del ttulo.

\frontmatter

Apertura del libro, se presenta todo aquel contenido que no tenga que ver con el tema central tratado en el libro: prlogo, agradecimientos, tabla de contenido, derechos de autor, ndice de guras, ndice de tablas, etc. La numeracin se realiza utilizando numeracin romana.

\mainmatter

Contiene la parte central del documento en la que se desarrolla el tema tratado en el libro. Aqu tambin se ubican los apndices, mediante el comando

\appendix,

los cuales, despus de ingresarse

como captulos, son automticamente numerados con las letras maysculas A, B, C, . . .

\chapter{...}, \section{...},
etc.

Captulos, secciones, etc., las cuales corresponden a la parte central y son numeradas automticamente. Es el cierre del documento, contiene el ndice alfabtico, bibliografa, conclusiones, reconocimientos, informacin editorial, etc. Los captulos no son numerados.

\backmatter

Ejemplo de un documento escrito en el estilo book


El documento que se obtiene con el siguiente cdigo puede apreciarse en las guras 1.23, 1.24, 1.25, 1.26 y 1.27.

\documentclass{book} \title{La clase book en \LaTeX} \author{A. U. Tor \thanks{Catedr\'{a}tico, UNP, autor@unp.edu.pe}} \date{} \begin{document}

26

\maketitle \frontmatter \chapter{Pr\'{o}logo} La clase book facilita la digitaci\'{o}n de libros de alta calidad. \tableofcontents \mainmatter \chapter{Libro en \LaTeX} Los libros son la clase de documentos \LaTeX\ m\'as completa. \section{Estructura de un libro} Este tipo de documento se puede dividir en tres partes, la apertura: pr\'{o}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\'{i}tulos secciones, subsecciones, etc. Y el cierre del documento que contiene la bibliograf\'{i}a, conclusiones, recomendaciones, etc. \backmatter \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). \end{thebibliography}

27

\end{document}

5.3 La clase report


La clase

report

es similar a la clase

cara y tiene disponible el entorno una pgina independiente.

book, aunque imprime por una sola abstract para generar el resumen en

\documentclass[<opciones >]{report} < declaraciones: paquetes, comandos > Prembulo < ttulo >, < autor >, < fecha > \begin{document} \maketitle \chapter{...} Documento \section{...} \subsection{...} \appendix \end{document}

Comandos importantes en el estilo report


\maketitle
Fuerza a que se produzcan las lneas para el ttulo, autor y fecha. Al omitirlo no se generar la pgina del ttulo.

\chapter{...}, \section{...},
etc.

Captulos, secciones, etc., las cuales corresponden a la parte central y son numeradas automticamente.

Ejemplo de un documento escrito en el estilo report


El documento que se obtiene con el siguiente cdigo puede apreciarse en las guras 1.28, 1.29, 1.30, 1.31, 1.32 y 1.33.

\documentclass{report} \title{La clase report en \LaTeX} \author{A. U. Tor

28

Fig. 1.23

Portada generada con la clase

book.

29

Fig. 1.24

Pgina del prlogo generada con la clase

book.

30

Fig. 1.25

Pgina de la tabla de contenidos generada con la clase

inconveniente del ttulo en ingls se supera usando el paquete seccin 7).

book. El babel (ver

31

Fig. 1.26

Pgina del primer captulo generada con la clase

veniente del ttulo en ingls se supera usando el paquete 7)

book. El inconbabel (ver seccin

32

Fig. 1.27

Pgina de la bibliografa generada con la clase

niente del ttulo en ingls se supera usando el paquete 7)

book. El inconvebabel (ver seccin

33

\thanks{Catedr\'{a}tico, UNP, autor@unp.edu.pe}} \date{} \begin{document} \maketitle \begin{abstract} La clase report es similar a la clase book, aunque imprime por una sola cara y tiene disponible el entorno abstract para generar el resumen en una p\'{a}gina independiente. \end{abstract} \chapter*{Pr\'{o}logo} %(El * evita la palabra Chapter) La clase report facilita la digitaci\'{o}n de reportes de alta calidad. \tableofcontents \chapter{Reporte en \LaTeX} Los reportes son la clase de documentos \LaTeX\ m\'as completa. \section{Estructura de un reporte} Este tipo de documento se puede dividir en tres partes, la apertura: pr\'{o}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\'{i}tulos secciones, subsecciones, etc. \begin{thebibliography}{CM} \bibitem{Ar} Aranda, E. CURSO DE LATEX. Departamento de Matem\'{a}ticas, E.T.S. Ingenieros

34

Industriales, Universidad de Castilla, La Mancha. (2008). \end{thebibliography} \end{document}

5.4 La clase letter


La clase

letter

sirve para escribir cartas.

\documentclass{letter} \begin{document} \address{direccin del remitente} Prembulo \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}

Ejemplo de un documento escrito en el estilo letter


El documento que se obtiene con el siguiente cdigo puede apreciarse en la gura 1.34.

\documentclass{letter} \begin{document} \address{

35

Fig. 1.28

Portada generada con la clase

report

36

Fig. 1.29

Pgina del resumen generada con la clase

niente del ttulo en ingls se supera usando el paquete 7)

report. El inconvebabel (ver seccin

37

Fig. 1.30

Pgina del prlogo generada con la clase

report.

38

Fig. 1.31

Pgina de la tabla de contenidos generada con la clase

El inconveniente del ttulo en ingls se supera usando el paquete (ver seccin 7)

report. babel

39

Fig. 1.32

Pgina del primer captulo generada con la clase

inconveniente del ttulo en ingls se supera usando el paquete seccin 7)

report. El babel (ver

40

Fig. 1.33

Pgina de la bibliografa generada con la clase

conveniente del ttulo en ingls se supera usando el paquete seccin 7)

report. El inbabel (ver

41

Revista Universalia \\ Universidad Nacional de Piura} \signature{ E. Ditor \\ Editor} \begin{letter}{ Dr. Donald Knuth \\ Departamento de Ciencias de la Computaci\'{o}n \\ Universidad de Stanford \\ EEUU} \opening{Estimado se\~{n}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\'{o}n del art\'{i}culo titulado ``An\'{a}lisis de la taza del aprendizaje de \LaTeX\ en Piura''. Para cumplir con el cronograma del n\'{u}mero de \'{e}ste a\~{n}o, le solicito comedidamente entregar la evaluaci\'{o}n antes de finalizar el a\~{n}o en curso. \closing{Atentamente,} \cc{ Departamento de Publicaciones, Universidad Nacional de Piura.} \encl{ Art\'{i}culo para arbitraje titulado: ``An\'{a}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}

42

5.5 La clase slides


La clase mandos

slides sirve para elaborar transparencias. La numeracin es con\end{chapter}, \section, \pagestyle, \thispagestyle, table y figure. Lo dems se puede utilizar libremente.
ni los

secutiva en la parte inferior derecha. En esta clase no se utilizan los coentornos

\documentclass{slides} < declaraciones: paquetes, comandos > Prembulo < ttulo >, < autor >, < fecha > \begin{document} \begin{slides}
Documento

contenido de las diapositivas

\end{slides} \end{document}

Ejemplo de un documento escrito en el estilo slides


El documento que se obtiene con el siguiente cdigo puede apreciarse en la gura 1.35.

\documentclass{slides} \title{La clase slides en \LaTeX} \author{A. U. Tor} \begin{document} \begin{slide} \maketitle \end{slide} \begin{slide}{Estructura de las diapositivas} Las diapositivas usualmente se imprimen o fotocopian en transparencias para luego ser proyectadas en una pantalla.

43

Fig. 1.34

Carta generada con la clase

letter.

44

Producir diapositivas agradables requiere de un formato visual, lo que significa que \LaTeX{} no es del todo adecuado para esto. He aqu\'{i} algunas razones por las cuales deber\'{i}a usar \LaTeX{} para elaborar sus diapositivas: \begin{itemize} \item Si est\'{a}n basadas en un documento proveniente de \LaTeX. \item Si sus diapositivas tienen grana cantidad de f\'{o}rmulas matem\'{a}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}

6 Paquetes
A X) que permiten agregar nuevos recursos y utilizar mejor los T EX o L T E existentes. La sintaxis para invocar un paquete es la siguiente
Un paquete (en ingls package ) es un conjunto de macros (instrucciones de

\usepackage[<opciones >]{<nombre >}


Los paquetes propiamente dichos son archivos con extensin

sty. Algu-

nos paquetes son muy pupulares y tienen un estatus semi-ocial pero no vienen instalados en implementaciones corrientes. El usuario debe aprender a instalarlos, lo cual depende tanto de la plataforma computacional utilizada como de la implmentacin local.

45

Fig. 1.35

Transparencia generada con la clase

la orientacin se supera usando el paquete

slides. El inconveniente de geometry (ver seccin 9)

46

Fig. 1.36

Transparencia generada con la clase

la orientacin se supera usando el paquete

slides. El inconveniente de geometry (ver seccin 9)

47

Fig. 1.37

Transparencia generada con la clase

la orientacin se supera usando el paquete

slides. El inconveniente de geometry (ver seccin 9)

48

6.1 Paquetes estndar ms utilizados

amsmath, amssymb, amsthm geometry babel inputenc graphicx subgure hyperref color multicol PSTricks fancyhdr fancychap fancybox colortbl

Utilizados para la edicin de textos, manejo de smbolos, teoremas y sus respectivas demostraciones. Proporciona una forma simple e intuitiva de ajustar los mrgenes, adems permite variar libremente el tamao y la orientacin del papel. Utilizado para generar documentos en idiomas distintos al ingls. Utilizado para obtener caracteres no pertenecientes al conjunto ASCII. Es utilizado para realizar la inclusin de grcas. Permite introducir guras con ms de un grco, y pies de guras personalizados. Permite generar enlaces activos para las referencias, notas al pie, captulos, secciones, etc. en el ndice general, as como marcadores. Permite la inclusin de textos en color y colocar fondos coloreados. Permite escribir un documento a dos o ms columnas. Se utiliza para la creacin, manipulacin y transformacin de guras geomtricas. Se utiliza para controlar complemente el contenido y la apariencia de los encabezados y pies de pgina. Permite cambiar la presentacin de la primera pgina para los captulos. Permite la inclusin de caja con bordes coloreados y decorados. Permite colorear las las, columnas o casillas de una tabla.

49

longtable caption makeidx

Permite extender tablas por dos o ms pginas. Permite manipular la apariencia de los epgrafes o rtulos de la tablas y grcas. Permite generar automticamente ndices alfabticos y temticos.

Todos los paquetes previamente mencionados son distribuidos gratuitamente por la CTAN (ver subseccin 1.5) incluyendo un respectivo manual; no obstante en las dos secciones siguientes se har una breve mencin de los paquetes

babel

geometry,

debido a su inmediato requerimiento.

7 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 ttulos de la tabla de contenidos, lista de tablas, lista de guras, captulos, bibliografa, etc. As como la particin automtica en patrones silbicos respetando las normas del idioma elegido. La sintaxis de este paquete es la siguiente:

\usepackage[<idioma>,

<options>]{babel}

Por ejemplo, en este trabajo se ha utilizado el idioma espaol y una opcin para que los prrafos de inicio de captulo, seccin o subseccin no presenten sangra de primera lnea. Esto se ha conseguido digitando

\usepackage[spanish,es-noindentfirst]{babel}
en el prembulo. Para cambiar de idioma en cualquier parte del documento se utiliza el comando encuentra en uso se utiliza el comando

\selectlanguage{<idioma>}, y para saber \languagename.

el idioma que se

8 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}

50

La opcin recomendada para nuestro idioma es

latin1. As pues, en el

prembulo de nuestro documento deberemos escribir

\usepackage[latin1]{inputenc}
tras lo cual, por ejemplo, ya no es preciso utilizar el cdigo a tildada sino que directamente digitamos

\'{a}

para la etc.

del mismo para las dems

vocales, tanto en minsculas como en maysculas, y para

, , , ,

Para digitar este trabajo se ha utilizado este paquete, por ese motivo en adelante se utilizarn directamente los smbolos sin recurrir al cdigo mencionado en las secciones 3.4 y 3.5.

9 El paquete geometry
El paquete

geometry

proporciona una forma simple e intuitiva de ajustar

los parmetros de colocacin del texto en un documento; adems, nos permite variar libremente el tamao y orientacin del papel, siendo muy til su empleo para la produccin de posters (tamao DIN-A0), pequeos folletos, etc. El ajuste de los diferentes parmetros debe hacerse con argumentos optativos en la carga del paquete con ejemplo, con:

\usepackage{geometry}.

As por

\usepackage[papersize={841mm,1189mm}8 ,lmargin=2cm, rmargin=2cm,tmargin=2cm,bmargin=2cm]{geometry}


se denira un tamao de papel DIN-A0 (841mm tivamente. A modo de otro ejemplo, con taran los mrgenes izquierdo, derecho, superior e inferior a

1189mm), y se ajus2cm, respec-

\usepackage[landscape]{geometry}
se cambiara la orientacin del papel, a horizontal.

10 Edicin de texto
10.1 Tipos
AT X elige el tamao y tipo de las fuentes usadas segn una estructura L E
lgica. Para cambiar directamente se pueden usar las instrucciones siguientes

papersize={210mm,297mm} por a4paper.

8 Para

el caso de tamaos estandarizados como el tamao DIN-A4 puede sustituirse

51

Comando

Tipo Letra romana

Abrev.

\textrm{<texto >} \textit{<texto >} \texttt{<texto >} \textbf{<texto >} \textsf{<texto >} \textsl{<texto >} \textsc{<texto >}
se obtiene por medio de comando

\rm \it \tt \bf \sf \sl \sc

Letra itlica

Mquina de escribir

Letra negrita
Letra sans serif
Letra inclinada

Letra versalita

Cada uno de los tipos de fuentes bsicos tiene su modo enftico, el cual

\emph{<texto >}
A continuacin se muestra una tabla que contiene ejemplos acerca de los resultados obtenidos al usar el modo enftico en los tipos de fuentes bsicos. El modo enftico. El modo enftico. El modo enftico.

\emph{El

modo enftico}.

El modo enftico. El modo enftico.

\textit{El \texttt{El \textbf{El \textsf{El \textsl{El \textsc{El

modo enftico.

\emph{El \emph{El \emph{El \emph{El \emph{El \emph{El

modo enftico}.}

El modo enftico. El modo enftico.


modo enftico. modo enftico}.}

El modo enftico. El modo enftico.


modo enftico. modo enftico}.}

El modo enftico. El modo enftico.


modo enftico. modo enftico}.}
El modo enftico. El modo enftico.

modo enftico.

modo enftico}.}

El modo enftico. El modo enftico.


modo enftico. modo enftico}.}

52

El comando

\textnormal{<texto >}

devuelve a la fuente por defecto.

Tambin es posible el uso de cualquier otra fuente que se tenga instalada.

10.2 Tamaos
El tamao de la fuente depende de la seelccin por defecto. Los comandos para modicarlo son

Comando

Tamao Letra normal


Letra pequea

\normalsize \small \footnotesize \scriptsize \tiny \large \Large \LARGE \huge \Huge

Letra ms pequea
Letra muy pequea

La letra ms pequea

Letra grande

Letra enorme La letra ms grande


Estas palabras aparecern en

Letra muy grande

Letra ms grande

Estos comandos afectan al texto que sigue a partir de su aparacin, o al rea delimitada entre parntesis. Por ejemplo

Estas palabras aparecern en {\tiny letra pequea}

letra

pequea

Para ajustar automticamente el espacio entre renglones, de acuerdo con el tamao de letra en uso, se cuenta con el comando de su uso es el siguiente

\par. Un ejemplo

{\Large ``Todo saber tiene de ciencia lo que tiene de matemtica'', Poincar}

Todo saber tiene de ciencia lo que tiene de matemtica, Poincar

53

{\Large ``Todo saber tiene de ciencia lo que tiene de matemtica'', Poincar \par}

Todo

saber

tiene

de

ciencia lo que tiene de matemtica, Poincar

10.3 Formateo de texto

Texto centrado
El entorno

AT X se ocupa de partirlo en varias lneas, y si se quiere indicar muy largo, L E el salto de lnea se utiliza el comando \\.

center

hace que el texto aparezca centrado. Si el texto fuera

\begin{center} El ingenioso hidalgo\\ D. Quijote de la Mancha \end{center}

El ingenioso hidalgo D. Quijote de la Mancha

Alineacin a izquierda o derecha


center existen los entornos flushright y flushleft para alineacin del texto a derecha e izquierda, respectivamenDe forma similar al entorno te.

\begin{flushleft} Este texto aparecer\\ alineado por su\\ parte izquierda \end{flushleft} \begin{flushright} Este texto aparecer\\ alineado por su\\ parte derecha \end{flushright}

Este texto aparecer alineado por su parte izquierda

Este texto aparecer alineado por su parte derecha

Tngase presente que el uso del comando del texto en questin.

\\,

en los tres casos previos,

es opcional y depende de la extensin que queramos asignar a cada rengln

54

Citas textuales y poemas

Existen otros entornos para resaltar partes de un texto, como citas textuales o poemas, de cierta longitud. Los entornos que nos permiten hacerlo son:

quote, quotation quote

verse.

A continuacin se da una breve descrip-

cin de estos entornos.

El entorno

es adecuado para una cita textual no larga.

... B. Russell escribi: \begin{quote} Las matemticas pueden ser definidas como aquel tema en el cual ni sabemos nunca lo que decimos ni si lo que decimos es verdadero. \end{quote}

... B. Russell escribi: Las matemticas pueden ser denidas como aquel tema en el cual ni sabemos nunca lo que decimos ni si lo que decimos es verdadero.

El entorno

quotation

es ms apropiado para citas largas. Ntese la

diferencia con respecto al anterior.

... B. Russell escribi: \begin{quotation} Las matemticas pueden ser definidas como aquel tema en el cual ni sabemos nunca lo que decimos ni si lo que decimos es verdadero. \end{quotation}

... B. Russell escribi: Las matemticas pueden ser denidas como aquel tema en el cual ni sabemos nunca lo que decimos ni si lo que decimos es verdadero.

Para escribir poesa disponemos del entorno es separado con el comando

\\.

verse,

donde cada verso

55

He aqu un poema \begin{verse} Voy a la casa donde no viviremos,\\ miro los muros que no levantarn,\\ huelo las bugambilas que no crecern,\\ y con los hijos que jams tendremos,\\ salgo a ver el mar ...\\ donde se han hundido tantas cosa nuestras.\\ \rightline{\textsc{(M. Scorza)}} \end{verse}
El cdigo del cuadro anterior genera el siguiente texto: He aqu un poema Voy a la casa donde no viviremos, miro los muros que no levantarn, huelo las bugambilas que no crecern y con los hijos que jams tendremos salgo a ver el mar ... donde se han hundido tantas cosa nuestras.

(M. Scorza)

Interlineado, sangra y espacios


El control del espacio entre lneas del texto se puede cambiar en el prembulo con la orden

\renewcommand{\baselinestretch}{<nmero >}
donde nmero se reere a un factor de interlineado, que por defecto es

1.

Si se pone nmero igual a

2,

se estar escribiendo a doble espacio. Es

posible jar nmero a un valor decimal.

AT X introduce un sangrado de forma automAl inicio de un prrafo L E tica, que puede ser evitado con el comando \noindent.
El salto de lnea sin provocar un cambio de prrafo puede llevarse a cabo con uno d los siguientes comandos

\newline \\*

\\[salto ].

Donde el

argumento opcional salto se reere a la distancia vertical adicional a la que debe situarse la siguiente lnea. Si tal lnea no queda en la misma pgina,

AT X ignorar dicha longitud. La versin L E

indica que la lnea que se

inicia despus del comando no debe pasar a la pgina siguiente.

56

Para aumentar la distancia entre prrafos pueden usarse los comandos

\smallskip, \medskip

\bigskip,

el ltimo de los cuales aproxima-

damente supondra dejar una lnea en blanco, mientras que los otros se reeren a la mitad y cuarta parte de ste, respectivamente. Para poner distancias entre palabras podemos usar alguno de los comandos siguientes: M) y

\qquad

(espacio entre palabras),

\quad

(longitud de una

(longitud de dos M). Tambin se cuenta con los llamados

micro-espacios que son producidos por los comandos: equivalente a un sexto de un micro-espacios) y

\!

\quad), \;

(dos micro-espacios),

\, (un micro-espacio \: (tres

(un micro-espacio negativo).

Y los siguientes comandos introducen espacios tanto horizontales (si van en un texto normal) como verticales (si van entre prrafos), (espacio de longitud medio M), M) y

\negthinspace

\thinspace

(espacio de longitud

\enspace 0.16667

(espacio negativo de longitud

0.16667

M).

Notas a pie de pgina


Las notas a pie de pgina se generan con el comando marca de la nota.

de la nota >} en la posicin del texto en la que queremos que aparezca la

\footnote{<texto

Divisin silbica
Cuando la inclusin de una palabra supera la longitud de lnea y su ex-

AT X introduce una separacin silbica clusin la hace demasiado corta, L E segn 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

\-. Este comando acta localmente sobre la palabra

en cuestin, pero si queremos proporcionar al compilador informacin sobre cmo dividir ciertas palabras en todo el texto, es posible usar la orden

\hyphenation{<palabra1, palabra2, ...>} con la divisin correspondiente, en la siguiente forma \hyphenation{ma-ter-ni-dad,al-bo-ro-to}.

Evitar la separacin de palabras


Si no se desea que en un texto dos palabras seguidas aparezcan en lneas distintas, como en el texto siguiente

57

Los nombre propios como A. Einstein no deberan aparecer en lneas separadas. Los nombre propios como A.~Einstein no deberan aparecer en lneas separadas.

Los

nombre

propios

como

A.

Einstein no deberan aparecer en lneas separadas.

Los

nombre

propios

como

A. Einstein no deberan aparecer en lneas separadas.

11 Matemtica
11.1 Modos texto y display
T EX fue especialmente diseado para producir documentos de carcter cientco con un contenido importante de matemtica. Precisamente, es

A X la calidad en la escritura de tipografa matemtica donde T EX y L T E


marcan la diferencia.

AT X divide la introduccin de tipografa matemtica segn En esencia L E se haga en la misma lnea del prrafo en que se est escribiendo (modo
texto ), o en prrafos separados (modo display ).
La tipografa matemtica escrita en modo texto, ha de ser introducida entre

$,

mientras que para hacerlo modo display, lo ms comn es

encerrar la expresin entre puede ser entre

\[

\]).

$$

$$

(aunque, equivalentemente, tambin

Por otra parte, puesto que es muy frecuente el referenciar una frmula matemtica en un texto, el entorno mismo funcionamiento que futuras referencias.

equation, que esencialmente tiene el $$, aade adems un nmero a la ecuacin para

Ejemplo
El siguiente ejemplo muestra los funcionamientos de los modos texto y display.

58

Sea $\{ \tilde\gamma_{ij} \}_{0\leq i+j\leq 2n}$ una sucesin de nmeros reales tales que $\tilde\gamma_{00}>0$. Consideramos ${\cal C}[t_1,t_2]$ el conjunto de polinomios complejos en $t_1$ y $t_2$ de grado $2n$ y definimos $\tilde\varphi:{\cal C} [t_1,t_2]\longrightarrow\mathbb{C}$ el funcional lineal complejo que interpola a la sucesin $\tilde\gamma_{ij}$, es decir $$\tilde\varphi(t_1^i t_2^j) = \tilde\gamma_{ij}.$$
Sea tales que

to de polinomios complejos en

C [t1 , t2 ] el conjunt1 y t2 de grado 2n y denimos : C [t1 , t2 ] C el funcional lineal complejo que interpola a la sucesin ij , es decir
Consideramos
j (ti ij . 1 t2 ) =

{ ij }0i+j 2n 00 > 0.

una sucesin de nmeros reales

Los comandos

\textstyle

\displaystyle

Determinadas construcciones matemticas adquieren un tamao distinto segn es escriban en modo texto o display. Por ejemplo:

La frmula $\sum_{k=1}^{n}k = \frac{n(n+1)}{2}$ es bien conocida.

La frmula

n k=1 bien conocida.

k=

n(n+1) es 2

La frmula

La frmula $$\sum_{k=1}^{n}k = \frac{n(n+1)}{2}$$ es bien conocida.

k=
k=1

n(n + 1) 2

es bien conocida.

La primera ha sido escrita en modo texto y la segunda en modo display.

59

Si se quiere obtener resultados distintos en uno u otro modo debe usarse los comandos texto). As:

\textstyle

(en modo display) o

\displaystyle

(en modo

La frmula $\displaystyle\sum_{k=1}^{n}k = \frac{n(n+1)}{2}$ es bien conocida. La frmula $$\textstyle\sum_{k=1}^{n}k = \frac{n(n+1)}{2}$$ es bien conocida.

La frmula
k=1 bien conocida.

k=

n(n + 1) 2

es

La frmula
n k=1

k=

n(n+1) 2

es bien conocida.

11.2 Construcciones diversas


Tngase presente que algunas de las construcciones pueden precisar los paquetes

amsmath
Fracciones

amssymb.

$$ \frac{\frac{a}{x-y}+\frac{b}{x+y}} {1+\frac{a-b}{a+b}} $$
Matrices

a xy

1+

b x+y ab a+b

$$ \left( \begin{array}{lll} 1 & 2 & 3 \\4 & 5 & 6 \\7 & 8 & 9 \end{array}\right) $$

2 5 8

4 7

6 9

60

$$ \left( \begin{array}{ccc} 1 & \cdots & n \\2 & \cdots & n+1 \\ \vdots & \ddots & \vdots \\ n & \cdots & 2n-1 \end{array}\right) $$

2 . .. . . . n

n+1 . . . 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*}
0 i i 0 a c

0 1

1 0

0 1

1 0

f e

g v

Observe, en el ltimo ejemplo, que el entorno alternativo no aade ninguna numeracin a la ecuacin.

equation*

Funciones a trozos

$$ \psi(x)=\begin{cases} Ae^{ikx}+Be^{-ikx}, & \text{si $x=0$,}\\ De^{- kx}, & \text{si $x\neq 0$.} \end{cases} $$
( x) = Aeikx + Beikx , Dekx ,
si si

x = 0, x = 0.

61

Arriba y abajo

$$ a\stackrel{{\rm def}}{=} \alpha + \beta\quad \stackrel{\beta \to 0}{\longrightarrow} $$


a = +
def

\begin{equation*} \sum_{\substack{0\leq i\leq m\\0>j>n}}\phi(i,j) \end{equation*}


(i, j )
0im 0>j>n

\begin{equation*} \sum^{\substack{0\leq i\leq m\\0>j>n}}\phi(i,j) \end{equation*}


0im 0>j>n

(i, j )
Adornos y operadores

abc abc abc abc abc f

\widetilde{abc} \overleftarrow{abc} \overline{abc} \overbrace{abc} \sqrt{abc} f^\prime

abc abc abc abc n abc x

\widehat{abc} \overrightarrow{abc} \underline{abc} \underbrace{abc} \sqrt[n]{abc} \vec{x}

Nmeros combinatorios

$${\n \choose k} = \frac{n!}{k!\,(n-k)!}$$

n k

n! k ! (n k )!

62

Fracciones generalizadas y continuas


El comando

\genfrac

se puede utilizar para producir fracciones per-

sonalizadas, con la sintaxis:

\genfrac{Delim.Izqdo}{Delim.Derecho}{GrosorLnea} {Tamao}{Numerador}{Denominador}
Para Tamao, se puede elegir entre los valores ponden respectivamente a

\scripscriptstyle.

0, 1, 2 y 3, que corres\displaystyle, \textstyle, \scriptstyle y

$$\genfrac{\{}{\}}{0pt}{}{ij}{k}= g^{k1}\genfrac{[}{]}{0pt}{}{ij}{1} +g^{k2}\genfrac{[}{]}{0pt}{}{ij}{2}$$

ij k

= g k1

ij ij + g k2 1 2

Las fracciones continuas se obtienen a travs del comando

\cfrac.

\frac{4}{\pi}=1+\cfrac{1^2}{2+ \cfrac{3^2}{2+ \cfrac{5^2}{2+\dotsb}}}

4 =1+

12 2+ 2+ 32 52 2 +

Los comandos

\genfrac

\cfrac

son propios del paquete

amsmath.

11.3 Texto en expresiones matemticas


La instruccin

\text{texto } se usa para incluir texto en modo matemtico. $.

ste comando se utiliza principalmente en los despliegues, ya que en el discurso corriente el modo matemtico est delimitado por los smbolos

$$\text{Para todo }\varepsilon >0 \text{ existe }\delta >0\text{ tal que }|x-a|<\delta \text{ implica }|f(a)-f(x)|<\varepsilon.$$
Para todo

>0

existe

>0

tal que

|xa| <

implica

|f (a)f (x)| < .

63

11.4 Tipos de letra en modo matemtico


$\mathrm{abc...}$ $\mathrm{ABC...}$ $\mathit{abc...}$ $\mathit{ABC...}$ $\mathsf{abc...}$ $\mathsf{ABC...}$ $\mathtt{abc...}$ $\mathtt{ABC...}$ $\mathbf{abc...}$ $\mathbf{ABC...}$ $\mathcal{ABC...}$ $\mathfrak{abc...}$ $\mathfrak{ABC...}$ $\mathbb{ABC...}$ amssymb.
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMN OPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRS . . . XYZ ABCDEFGHIJ KLMN OPQRS . . . X YZ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ

Tngase en cuenta que los tipos quete

\mathfrak

\mathbb

requieren del pa-

11.5 Smbolos matemticos en negrilla


El comando

\mathbf

afecta solamente a las letras del alfabeto ordinario,

a los nmeros y a las letras griegas mayscula no inclinadas. El pquete

amsmath incluye el comando \pmb (o \boldsymbol) con los que se obtienen


los smbolos en negrita.

$$\text{Para todo } \pmb{varepsilon} >0 \text{ existe }\pmb{delta} >0\text{ tal que }|x-a|<\pmb{delta}\text{ implica }|f(a)-f(x)|<\pmb{varepsilon}.$$
Para todo

>0

existe

>0

tal que

|xa| <

implica

|f (a)f (x)| < .

64

11.6 Tamao de fuente en modo matemtico


Para realizar el cambio del tamao del texto matemtico se puede utilizar los modicadores del texto normal, pero con la precaucin de que el modicador aplicado debe ser llamado antes de ingresar a un modo matemtico.

{\tiny $f_x:A\to\mathbb{R}^2$} {\small $f_x:A\to\mathbb{R}^2$} {\Large $f_x:A\to\mathbb{R}^2$} {\Huge $f_x:A\to\mathbb{R}^2$}

fx : A R2

fx : A R2

f x : A R2

fx : A R2

11.7 Alineacin de frmulas


te amsmath dispone de una coleccin de sosticados entornos: multline, gather, align, split, aligned, gatered y flalign. Con cualquiera de estos entornos se puede usar el comando \intertext para insertar renglones de texto en el despliegue. Solamente se puede usar despus de neacin. Para alinear frmulas y/o separarlas en dos o ms renglones el paque-

\\,

y es especialmente til con

align,

ya que preserva la ali-

multline
Se utiliza para dividir frmulas, sin alinearlas, en dos o ms renglones, estos se separan con

\\,

el primer rengln aparece alineado a la izquier-

da, el ltimo a la derecha y el resto centrados. Todo el texto recibe una nica numeracin en el ltimo rengln. El entorno ninguna numeracin.

multline*

no produce

\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}

65

(a + b)3 = (a + b)(a + b)(a + b) = (a2 + 2ab + b2 )(a + b) = (a + b)(a2 + 2ab + b2 ) = a3 + 3a2 b + 3ab2 + b3
(1.1)

\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*}
(a + b)3 = (a + b)(a + b)(a + b) = (a2 + 2ab + b2 )(a + b) = (a + b)(a2 + 2ab + b2 ) = a3 + 3a2 b + 3ab2 + b3

gather
Con este entorno a diferencia de cador

multline

todos los renglones aparecen

centrados y para cada uno se genera una numeracin. Usando el modi-

\notag

se puede eliminar la numeracin en renglones particulares.

Con la versin

gather*

no se produce numeracin alguna.

\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}

66

(a + b)3 = (a + b)(a + b)(a + b) = (a + 2ab + b )(a + b) = (a + b)(a + 2ab + b ) = a + 3a b + 3ab + b


3 2 2 3 2 2 2 2

(1.2) (1.3) (1.4) (1.5)

\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}
(a + b)3 = (a + b)(a + b)(a + b) = (a + 2ab + b )(a + b) = (a + b)(a2 + 2ab + b2 ) = a + 3a b + 3ab + b
3 2 2 3 2 2

(1.6)

(1.7)

\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*}
(a + b)3 = (a + b)(a + b)(a + b) = (a2 + 2ab + b2 )(a + b) = (a + b)(a2 + 2ab + b2 ) = a3 + 3a2 b + 3ab2 + b3

67

align

Este entorno a diferencia de Los renglones se separan con Con el modicador

gather

pecto a un smbolo al cual es necesario colocar inmediatamente antes un

\notag

&. \\. Todos los renglones aparecen numerados.


no se produce numeracin alguna.

permite alinear las frmulas con res-

particulares; con la versin

align*

se puede eliminar la numeracin en renglones

\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}
(a + b)3 = (a + b)(a + b)(a + b) = (a + 2ab + b )(a + b) = (a + b)(a + 2ab + b ) = a + 3a b + 3ab + b
3 2 2 3 2 2 2 2

(1.8) (1.9) (1.10) (1.11)

\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}
(a + b)3 = (a + b)(a + b)(a + b) = (a2 + 2ab + b2 )(a + b) = (a + b)(a + 2ab + b ) = a + 3a b + 3ab + b
3 2 2 3 2 2

(1.12) (1.13)

68

\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*}
(a + b)3 = (a + b)(a + b)(a + b) = (a2 + 2ab + b2 )(a + b) = (a + b)(a2 + 2ab + b2 ) = a3 + 3a2 b + 3ab2 + b3

split
Similar al entorno

align,

pero con la diferencia de que todo el despliegue

recibe un nico nmero que aparece centrado verticalmente. Este entorno debe estar bajo el alcance del entorno

equation

align.

\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}
(a + b)3 = (a + b)(a + b)(a + b) = (a2 + 2ab + b2 )(a + b) = (a + b)(a2 + 2ab + b2 ) = a3 + 3a2 b + 3ab2 + b3
(1.14)

69

aligned
Sirve para construir bloques alineados independientes que pueden ser ubicados unos al lado de otros, o de otro tipo de material (como parntesis y corchetes). Estos bloques aparecen centrados verticalmente, a menos que se usen los argumentos opcionales estar bajo el alcance del entorno utilizar el entorno

t (tope) o b (base). Este entorno debe equation y con esto adquiere la numera-

cin de este entorno, para eliminar totalmente la numeracin es necesario

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 z =x+y m=n A=B+C +D Z =X +Y

=++

(1.15)

\begin{equation*} \begin{aligned}[t] a &= b + c + d \\ z &= x + y \\ m &= n \end{aligned} . . .

70

. . . \qquad \begin{aligned} \phi &= \mu +\nu +\eta \end{aligned} \end{equation*}


a=b+c+d z =x+y m=n A=B+C +D Z =X +Y =++

gathered
Sirve para construir bloques independientes cuyas frmulas aparecen centradas horizontalmente que pueden ser ubicados unos al lado de otros, o de otro tipo de material (como parntesis 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 numeracin de este entorno, para eliminar totalmente la numeracin 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 . . .

71

. . . \begin{gathered} \phi &= \mu +\nu +\eta \end{gathered} \end{equation}


a=b+c+d z =x+y m=n A=B+C +D Z =X +Y =++
(1.16)

\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 m=n A=B+C +D Z =X +Y =++

72

align
El entorno

flalign

se usa como

align

para construir bloques alineados,

pero que aade espacio proporcional entre columnas, de manera que el despliegue se imprime de extremo a extremo de la pgina. Para separar la columnas se utilizan

&.

Cada una de las lneas del despliegue adquiere un

cin de renglones particulares. La versin estrella (flalign*) no produce numeracin.

nmero, pero se puede usar el comando

\notag

para eliminar la numera-

\begin{flalign} a &= b + c & A &= B + C & \phi &= \mu + \nu + \eta\\ z &= x + y & Z &= X + Y \notag\\ m &= n \end{flalign}
a=b+c z =x+y m=n A=B+C Z =X +Y
(1.18)

=++

(1.17)

11.8 Uso del comando \intertext


El comando

\intertext

permite aadir lneas de texto en cualquiera de

los entornos de alineacin, de tal manera que se preserva la alineacin dada por el entorno.

\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}

73

Dado que por la regla de la cadena se tiene la igualdad

(f g ) = f g + f g
la cual se puede reescribir como

(1.19)

f g = (f g ) f g
entonces se concluye que

(1.20)

fg =

(f g )

fg

(1.21)

11.9 Parntesis y signos de agrupacin


Para los smbolos de los parntesis y de los corchetes se usan las teclas

AT X provee de una variada gama de usuales, para los dems smbolos L E comandos para producir dichos signos de agrupacin. A continuacin se
listan los comandos de los signos ms usualmente utilizados.

\{ \langle |

\} \rangle \|

\vert

\Vert

\lfloor \lceil

\rfloor \rceil

Para aumentar el tamao de los smbolos de agrupacin se usan los modicadores par. Los comandos \left y \right no producen los mejores resultados, AT X provee los modicadores \big, \Big, \bigg, \Bigg, los para esto, L E de ser necesario, se usan los comandos

\left y \right antes del smbolo. stos se deben usar en pares, \left. o \right. para formar el

74

cuales permiten tener un mejor control sobre el tamao de los signos de agrupacin. Adems de los modicadores anteriores el paquete

amsmath provee una

versin mejorada de stos, en una versin de parejas de izquierda a derecha:

\bigl \bigr, \Bigl \Bigr, \biggl \biggr, \Biggl \Biggr.

$((a_1b_1)-(a_2b_2)) ((a_2b_1)+(a_1b_2))$

((a1 b1 ) (a2 b2 ))((a2 b1 ) + (a1 b2 ))

$\big((a_1b_1)-(a_2b_2) \big)\big((a_2b_1)+ (a_1b_2)\big)$

(a1 b1 ) (a2 b2 ) (a2 b1 ) + (a1 b2 )

$\bigg((a_1b_1)-(a_2b_2) \bigg)\bigg((a_2b_1)+ (a_1b_2)\bigg)$

(a1 b1 ) (a2 b2 )

(a2 b1 ) + (a1 b2 )

$\Big((a_1b_1)-(a_2b_2) \Big)\Big((a_2b_1)+ (a_1b_2)\Big)$

(a1 b1 ) (a2 b2 )

(a2 b1 ) + (a1 b2 )

$\Bigg((a_1b_1)-(a_2b_2) \Bigg)\Bigg((a_2b_1)+ (a_1b_2)\Bigg)$

(a1 b1 ) (a2 b2 )

(a2 b1 ) + (a1 b2 )

75

11.10 Teoremas y estructuras relacionadas


El comando

\newtheorem{<nombre >}{<rtulo >}

(que es preferible ubi-

car en el prembulo del documento) dene una estructura numerada, creando el entorno <nombre > con su respectivo contador. <rtulo > aparece impreso cuando se invoca el entorno.

\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 Grbner s y slo si $\forall f\in {\rm Id}(G)$ con $f\not=0$ se tiene una representacin estndar 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$-representacin en $G$, para algn $t<{\rm mcm}(HM(g_1),HM(g_2))$; entonces $G$ es una base de Grbner. \end{miteorema} \begin{micorolario} Para todos lo polinomios $p\in I$, se define la aplicacin $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}
. . . . . . . . . . . .

76

Teorema 1
slo si en

El conjunto con

f Id(G)

, 0 G, es una base de Grbner s y GK X f = 0 se tiene una representacin estndar de f

G.

Teorema 2

nito y con 0 G, Supongamos que: g1 , g2 Sea G K X G, spol(g1 , g2 ) es igual a cero o tiene una t-representacin en G, para algn t < mcm(HM (g1 ), HM (g2 )); entonces G es una base de Grbner.

Corolario 1

Para todos lo polinomios p I , se dene la aplicacin v1 (p) = HM w HM (p) . Entonces p1 , p2 I con HM (p1 ) = HM (p2 ) se tiene que v1 (p1 ) = v1 (p2 ).

El comando ciones, etc.

\newtheorem permite que los entornos, que dena el usua-

rio, adquieran una numeracin subordinada respecto de los captulos, sec-

\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 representacin estndar de $f$ en $G$. \end{miteorema} \begin{miteorema} Sea $G\subset K\big[\bar{X}\big]$ ... entonces $G$ es una base de Grbner. \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}
. . . . . . . . . . . .

77

Teorema 11.1
estndar de

El conjunto

G K X

, ... se tiene una representacin

en

G. GK X
nito y con

Teorema 11.2 Corolario 11.1


v1 (p2 ).

Sea

0 G,

... entonces

es una

base de Grbner. Para todos lo polinomios

p I,

... se tiene que

v1 (p1 ) =

El comando

\newtheorem

tambin permite que la numeracin de los

entornos denidos por el usuario sea correlativa, y no como en el caso previo que cada entorno se numeraba por separado.

\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 representacin estndar de $f$ en $G$. \end{miteorema} \begin{miteorema} Sea $G\subset K\big[\bar{X}\big]$ ... entonces $G$ es una base de Grbner. \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}
. . . . . . . . . . . .

78

Teorema 11.1
estndar de

El conjunto

G K X

, ... se tiene una representacin

en

G. GK X
nito y con

Teorema 11.2 Corolario 11.3


v1 (p2 ).

Sea

0 G,

... entonces

es una

base de Grbner. Para todos lo polinomios

p I,

... se tiene que

v1 (p1 ) =

El texto de los entornos denidos por el usuario estn, por defecto, en modo enftico. Es posible cambiar el modo enftico a modo normal utilizando el comando

\rm.

\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 representacin estndar de $f$ en $G$.} \end{miteorema} \begin{miteorema} {\rm Sea $G\subset K\big[\bar{X}\big]$ ... entonces $G$ es una base de Grbner.} \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}
. . . . . . . . . . . .

79

Teorema 11.1
estndar de

El conjunto

G K X

, ... se tiene una representacin

en

G. GK X
nito y con

Teorema 11.2 Corolario 11.3


v1 (p2 ).

Sea

0 G,

... entonces

es una

base de Grbner. Para todos lo polinomios

p I,

... se tiene que

v1 (p1 ) =

12 Listas
Existen tres tipos de entornos para crear listas formateadas

\begin{enumerate} \begin{itemize} \begin{description}

texto listado texto listado texto listado

\end{enumerate} \end{itemize} \end{description}

12.1 Entorno enumerate

1. Se trata de listas secuenciadas numricamente. 2. Los nmeros son consecutivos comenzando por 1, en cada llamada al entorno.

\begin{enumerate} \item Se trata de listas secuenciadas numricamente. \item Los nmeros son consecutivos comenzando por 1, en cada llamada al entorno. \end{enumerate}

6. Es posible inicializar la numeracin a partir de un nmero diferente de 1 utilizando el comando

\addtocounter.

7. Por ejemplo, aqu se inicializa la numeracin a partir de 6.

80

\begin{enumerate} \addtocounter{enumi}{5} \item Es posible inicializar la numeracin a partir de un nmero diferente de 1 utilizando el comando \texttt {\textbackslash addtocounter}. \item Por ejemplo, aqu se inicializa la numeracin a partir de 6. \end{enumerate}

12.2 Entorno itemize


Cada uno de los items son indicados con un smbolo determinado. La longitud del texto no tiene lmite.

\begin{itemize} \item Cada uno de los \emph{items} son indicados con un smbolo determinado. \item La longitud del texto no tiene lmite. \end{itemize}

12.3 Entorno description

Primero:

Parece claro el funcionamiento de este entorno. No es un entorno demasiado frecuente.

Observacin:

\begin{description} \item[Primero:] Parece claro el funcionamiento de este entorno. \item[Observacin:] No es un entorno demasiado frecuente. \end{description}

12.4 Listas anidadas


Las listas anteriores pueden ser incluidas unas dentro de otras, tanto del mismo como de distinto tipo, hasta cuatro niveles de inclusin (por defec-

81

to). El siguiente es un ejemplo que muestra listas mixtas, con cuatro niveles de inclusin:

Primer nivel en

itemize enumerate
(segundo nivel global)

1. Primer nivel en

Segundo nivel en

a ) Segundo en

enumerate (tercero global) enumerate (cuarto global) itemize)

b ) Segundo elemento del cuarto nivel

Vuelta al tercer nivel global (segundo en

2. Segundo nivel (primer en Primer nivel

enumerate)

\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}

12.5 Manipulacin de etiquetas en el entorno enumerate


El estilo de numeracin y las etiquetas que sealan cada lista son congurables fcilmente. En el entorno enumerate, las etiquetas por defecto son:

82

1. Etiqueta de primer nivel

a ) Etiqueta de segundo nivel


1) Etiqueta de tercer nivel

a b

Etiqueta de cuarto nivel Etiqueta de cuarto nivel

2) Etiqueta de tercer nivel

b ) Etiqueta de segundo nivel


2. Etiqueta de primer nivel

\begin{enumerate} \item Etiqueta de \begin{enumerate} \item Etiqueta de \begin{enumerate} \item Etiqueta de \begin{enumerate} \item Etiqueta de \item Etiqueta de \end{enumerate} \item Etiqueta de \end{enumerate} \item Etiqueta de \end{enumerate} \item Etiqueta de \end{enumerate}

primer nivel segundo nivel tercer nivel cuarto nivel cuarto nivel tercer nivel segundo nivel primer nivel

La numeracin por defecto en la lista de nivel uno est formada por nmeros arbigos, el nivel dos por letras en minsculas, el nivel tres son nmeros nuevamente y el cuatro letras con apstrofe. Cada una de estas etiquetas puede cambiarse redeniendo apropiadamente los comandos que las generan. Tales comandos son: y

ran la construccin de dichos comandos son

\labelenumi, \labelenumii, \labelenumiii y \labelenumiv. Si se quiere cambiar este comportamiento por defecto en cualquier nivel, es necesario redenir ambos comandos, justo antes del inicio del entorno correspondiente. Por ejemplo,

\theenumiv,

\theenumi, \theenumii, \theenumiii

uno para cada nivel. Mientras que las etiquetas que gene-

83

1. Etiqueta de primer nivel 1.1. Etiqueta de segundo nivel 1.1.1. Etiqueta de tercer nivel 1.1.1.1. Etiqueta de cuarto nivel 1.1.1.2. Etiqueta de cuarto nivel 1.1.2. Etiqueta de tercer nivel 1.2. Etiqueta de segundo nivel 2. Etiqueta de primer nivel

\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, podra ser,

84

1) Etiqueta de primer nivel 1.1) Etiqueta de segundo nivel 1.1.1) Etiqueta de tercer nivel 1.1.1.1) Etiqueta de cuarto nivel 1.1.1.2) Etiqueta de cuarto nivel 1.1.2) Etiqueta de tercer nivel 1.2) Etiqueta de segundo nivel 2) Etiqueta de primer nivel

\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} \arabic (nmeros arbigos), \roman, \Roman (numeracin romana, en miLos comandos que permiten cambiar el estilo de la numeracin son

85

nsculas y maysculas) y

\alph, \Alph (numeracin alfabtica, en mins-

culas y maysculas). Tngase en cuenta que listas alfabticas con ms elementos que letras del alfabeto generar errores en la compilacin.

[ ] Etiqueta de primer nivel

I [I-B ]
[

[ -A] Etiqueta de segundo nivel 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}

12.6 Manipulacin de etiquetas en el entorno itemize


El esquema de etiquetas por defecto en este entorno es ( ) en el nivel uno, nivel tres y

$\blacksquare$ $\bullet$ () en el nivel dos, $\circ$ () en el $\diamond$ ( ) en el nivel cuatro. La modicacin de estas
y

etiquetas se lleva a cabo redeniendo los comandos del nivel correspodiente

\labelitemi, \labelitemii, \labelitemiii

\labelitemiv.

86

Etiqueta de primer nivel

Etiqueta de segundo nivel

Etiqueta de tercer nivel Etiqueta de cuarto nivel Etiqueta de cuarto nivel

Etiqueta de tercer nivel

Etiqueta de segundo nivel

Etiqueta de primer nivel

\begin{itemize} \item Etiqueta de \begin{itemize} \item Etiqueta de \begin{itemize} \item Etiqueta de \begin{itemize} \item Etiqueta de \item Etiqueta de \end{itemize} \item Etiqueta de \end{itemize} \item Etiqueta de \end{itemize} \item Etiqueta de \end{itemize}
hacerse

primer nivel segundo nivel tercer nivel cuarto nivel cuarto nivel tercer nivel segundo nivel primer nivel

Por ejemplo, para cambiar la etiqueta de nivel uno por un trbol puede

Etiqueta de primer nivel Etiqueta de primer nivel

\renewcommand{\labelitemi}{$\clubsuit$} \begin{itemize} \item Etiqueta de primer nivel \item Etiqueta de primer nivel \end{itemize}

87

13 Inclusin de grcos
ATEX 13.1 Grcos en L
AT X son el Los formatos ms recomendables para incluir grcos en L E
Encapsulated PostScript (EPS) y el formato PostScript (PS). Si usamos

AT X, los formatos ms 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 prembulo.

13.2 El comando \includegraphics


La sintaxis de este comando es

\includegraphics[<opciones >]{<nombre
Algunas opciones disponibles son width height scale angle natwidth Anchura del grco. Altura del grco.

del archivo >}

Dene un factor de escala a aplicar en ambas direcciones. Especica un ngulo de rotacin en grados sexagesimales. Especica la anchura originaria del grco cuando es PNG,

AT X. o JPG y aun as se va a incluir en L E


natheight Especica la altura originaria del grco cuando es PNG o

AT X. JPG y aun as se va a incluir en L E

\includegraphics[width=2cm]{logo.eps}

\includegraphics[width=2cm, height=1cm]{logo.eps}

88

\includegraphics[height=2cm, angle=45]{logo.eps}

\includegraphics[scale=0.25, angle=60]{logo.eps}

13.3 Figuras otantes


La inclusin de guras puede presentar problemas a la hora de ubicarlas en el texto pues al no poder ser divididas no pueden aparecer en cualquier punto del documento. Para resolver este problema, es necesario tratar este tipo de objetos como objetos otantes, que son situados donde el compilador estima conveniente.

13.4 Creacin de guras otantes


Las guras otantes se crean con el entorno tuamos el correspondiente grco con entorno es

figure, en cuyo interior si\includegraphics. La sintaxis del

\begin{figure}[<posicin >] \centering \includegraphics{gura } \caption{<pie de la gura >} \label{<etiqueta >} \end{figure}
Los comandos

\caption y \label son opcionales y sirven para situar \label. El comando \label \caption.
debe ser

una leyenda para la gura, que aparecer numerada. Dicha numeracin se asignar a la etiqueta situado inmediatamente despus del

89

Fig. 1.38

Ejemplo de gura

Si el comando El comando mento. El comando

\caption

no aparece se cre auna gura sin numerar.

\listoffigures (normalmente situado al inicio del do-

cumento) genera una lista con todas las guras incluidas en el docu-

\caption

puede llevar un argumento opcional que es-

pecica el texto que aparecer en la Lista de Figuras. En caso de no aparecer, dicho texto es el mismo que el argumento obligatorio del comando. La gura otante 1.38 ha sido creada con el siguiente cdigo

\begin{figure} \centering \includegraphics[scale=0.25]{logo.eps} \caption{Ejemplo de figura} \label{ej} \end{figure}

13.5 Posicionamiento de guras


La posicin en la que la gura aparece en el texto est determinada por el argumento opcional que puede ser una (o ms de una) de las siguientes letras h

h, t, b, p.

Sita la gura all donde aparece el entorno. Esta opcin no puede ser ejecutada siempre, pues es posible que el grco no entre en el espacio de pgina que reste.

t b p

Sita la gura en la parte superior de la pgina. Sita la gura en la parte inferior de la pgina. Sita la gura en una pgina separada.

90

(a) It is a little logo


Fig. 1.39

(b) It is a big logo

Varias grcas en una gura

Si no se especica la posicin, el compilador toma por defecto la secuencia

AT X leer la gura y la tendr Cuando se incluye una gura otante, L E en memoria hasta que encuentre una posicin que considere adecuada para
incluirla en el texto.

[tbp].

13.6 El paquete subfigure


El paquete

subfigure

permite introducir guras con ms de un grco.

Para utilizarlo debe colocarse en el prembulo

\usepackage{subfigure}
Por ejemplo, la gura 1.39 se ha creado con el cdigo

\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 grficas en una figura} \label{ej2} \end{figure}

14 Tablas
Las tablas son construcciones alineadas que, en principio, no pueden aparecer en ms de una pgina. El entorno para producir tales construcciones es

tabular,

cuya sintaxis es

91

\begin{tabular}[<pocisin >]{<colocacin >}


las

\end{tabular}
El signicado de los argumentos es el siguiente

posicin

Posicin vertical de la tabla respecto de la lnea base. Puede

tomar los valores

t la lnea superior de la tabla se alinea con la lnea base, b la lnea inferior de la tabla se alinea con la lnea base.
Si no aparece el parmetro, se centrar respecto de la lnea base.

colocacin

Alineacin de las columnas. Debe aparecer una entrada por

cada columna de la tabla adems de entradas opcionales para delimitar los bordes entre cada columna. Los formatos posibles para cada columna son

l alineacin a la izquierda, c la columna aparecer centrada, r alineacin a la derecha, p{wd} elemento tipo prrafo. El texto aparecer en un prrafo de anchura wd, con la lnea superior alineada con las otras columnas,

*{num}{cols}
*{3}{c}

abreviacin para repeticin de formato. Por ejemplo,

es equivalente a

ccc.

Los elementos para separacin de columnas son

| ||

dibuja una lnea vertical, dibuja dos lneas verticales prximas, inserta texto entre dos columnas. til para cuando los valores

@{texto}

de una misma columna deben estar separados por una marca determinada (guin, punto decimal, etc.) La expresin

@{texto } elimina el

espacio automtico que se pone entre cada columna y lo sustituye por el texto. Si se necesita espacio blanco extra, debe ser implcitamente incluido.

92

14.1 Filas
Cada una de las las tendr la estructura siguiente

elemento1 & elemento2 & . . . & elementon \\


Es decir, el smbolo y el comando

& se utiliza para separar dos columnas consecutivas \\ para separar una la de la siguiente. Todas las las, salvo

la ltima debe ser nalizada con este comando. Otros comandos son

\hline

este comando dibuja una lnea horizontal entre la y la. Debe

aparecer slo antes de la primera la, o justo a continuacin de Dos comandos entre ellas.

\hline

\\.

dibujan dos lneas con un pequeo espacio

\cline{n m}
\\

como el comando

tre la columna

hasta la columna

\hline, dibuja una lnea horizontal enm. Slo puede aparecer detrs de

y puede haber ms de uno.

\vline

este comando dibuja una lnea vertical en la lnea en la que aparece

de altura correspondiente a la la en la que se encuentra.

\multicolumn{<nu mero>}{col}{texto}
de texto.

engloba un nmero de colum-

nas dado por nmero bajo una columna simple cuya anchura corresponde a las que engloba, con formato dado en col y con el contenido

14.2 Ejemplos
\begin{tabular}{|l|c|r|} \hline uno & dos & tres \\ \hline cuatro & cinco & seis \\ \hline \end{tabular}
uno cuatro dos cinco tres seis

93

\begin{tabular}{|l|c|r|} \hline \multicolumn{3}{|c|}{Tabla con nmeros}\\ \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}
Tabla con nmeros uno cuatro siete diez trece dos cinco ocho once tres seis nueve doce

catorce

\begin{tabular}{|lrrc|} \hline Pas & Total & Indgenas & 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}

94

Estados Unidos Italia Francia

14,7 1,82 3,4

10,5 0,25 0,6

Tab. 1.1

Ejemplo de tabla.

Pas Bolivia Guatemala Per Ecuador

Total 6,9 8,0 20,0 9,5

Indgenas 4,9 5,3 9,3 4,15

Porcentaje 71 66 47 43

\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} \begin{tabular}{|@{\textbf{\ Captulo }}r % @{:\quad Lecciones }r % @{\thinspace-\thinspace}l@{\ }|} \hline \textbf{1} & 1 & 8 \\ \textbf{2} & 9 & 11 \\ \textbf{3} & 12 & 20 \\ \hline \end{tabular}

95

Captulo 1: Captulo 2: Captulo 3:

Lecciones Lecciones

1-8 9 - 11

Lecciones 12 - 20

\begin{tabular}{|p{3.5cm}|p{2cm}|} \hline Esto es un prrafo insertado dentro de la celda de una tabla. & El uso de largusimas y absolutamente eternas palabras crea un mal efecto. \\ \hline & bienaventurado. \\ \hline \end{tabular}

Esto es un prrafo insertado dentro de la celda de una tabla.

El y

uso

de

largusimas absolutamente eternas palabras crea un mal efecto. bienaventurado.

Para evitar la justicacin a ambos lados estn los comandos (justiacin a derecha),

\raggedleft

(izquierda) o

\raggedright \centering

AT X nunca divide la primera palabra de un prrafo, Por otra parte, L E de modo que es necesario iniciar el prrafo con algo (un espacio vaco, por
ejemplo).

El ejemplo anterior se puede corregir del siguiente modo

96

\begin{tabular}{|p{3.5cm}|p{2cm}|} \hline \raggedright Esto es un prrafo insertado dentro de la celda de una tabla. & \raggedright El uso de largusimas y absolutamente eternas palabras crea un mal efecto. \tabularnewline \hline & \hspace{0cm}bienaventurado. \\ \hline \end{tabular}
Esto es un prrafo insertado dentro de la celda de una tabla. El uso de largusimas y absolutamente eternas palabras crea un mal efecto. bienaventurado.

Obsrvese cmo se ha usado el comando \tabularnewline en lugar de \\. Ambos son equivalentes, pero en este caso el segundo produce mensajes de error que son evitados con el primero.

14.3 Parmetros de estilo


AT X, y puede ser El estilo de las tablas est denido por defecto por L E
cambiado, globalmente en el prembulo, o de forma local, no dentro del entorno. Los parmetros para realizar cambios de estilo en las tablas son

\tabcolsep

corresponde a la mitad de la anchura del espacio insertado

entre dos columnas (valor por defecto: 6pt),

\arrayrulewidth

es el grosor de las lneas que conforman la tabla (valor

por defecto: 0.4pt),

97

\doublerulesep
2pt),

es la separacin entre las lneas dobles (valor por defecto:

\arraystretch

modica la distancia entre las las. Se trata de un factor

multiplicativo, de modo que el valor estndar corresponde a 1, y un valor de 1.5 aumenta un 50 % la distancia. Para realizar modicaciones en estos parmetros se usan las siguientes declaraciones

\setlength\tabcolsep{<dimensin >} \setlength\arrayrulewidth{<dimensin >} \setlength\doublerulesep{<dimensin >} \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}

uno

dos

tres

cuatro

cinco

seis

14.4 Tablas como objetos otantes


Al igual que las guras, las tablas no deberan (salvo excepciones) ser separadas en ms de una pgina, por lo que su ubicacin debera ser determinada por el compilador. Para tratar las tablas como un objeto otante disponemos del entorno

table,

cuya sintaxis es

98

\begin{table}[<posicin >] \centering entorno tabular \caption{<pie de la tabla >} \label{<etiqueta >} \end{table}
Por ejemplo, la tabla 1.2 ha sido generada con el siguiente cdigo

\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 4 1 1 2 3 4 2 1 4 9 16 3 1 8 27 64

Tab. 1.2

Potencias

15 Referencias cruzadas
15.1 Qu son las referencias cruzadas?
Es habitual en los documentos cientcos hacer referencias a partes del documento como captulos, secciones, frmulas, tablas, guras, etc. Cada

99

AT X por orden uno de estos elementos es numerado automticamente por L E de aparicin, pero si queremos hacer una referencia a alguno de ellos, no
es necesario conocer dicho nmero. El procedimiento consiste en etiquetar el entorno en cuestin, de manera que el compilador almacena el nmero de referencia para un posterior uso. Por ejemplo, la subseccin inicial de esta seccin (subseccin 15.1) ha sido etiquetada del siguiente modo

\subsection{Qu son las referencias cruzadas?\label{subsec:intro}}


y la referencia de la lnea anterior ha sido producida con

...inicial de esta seccin (subseccin \ref{subsec:intro}) ha sido etiquetada ...


La etiqueta mente al argumento de de numeracin. La primera vez que se compila el chero que contiene referencias cruzadas, (p.e. en el chero

\label{sec:intro} \section, es

no es necesario que siga inmediatadecir, puede ser situada en cualquier

parte de la seccin, pero no debe interferir con otro elemento susceptible

fichero.tex) la informacin sobre las referencias es almacenada AT Ximprime el sifichero.aux y al nal de la compilacin L E

guiente aviso

LaTeX Warning: There were undefined references. LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
Una segunda compilacin sobre el documento pondr las referencias correctamente. La clave con la que nombramos una etiqueta puede ser cualquier secuencia de letras, dgitos o caracteres de puntuacin, teniendo en cuenta

AT X distingue entre maysculas y minsculas. que L E

15.2 Entornos referenciables

Listas
Adems de la numeracin de captulos o secciones, cada elemento de un entorno enumerate puede ser etiquetado aadiendo el correspondiente comando

\label

a cada entrada

\item.

Por ejemplo

100

En el silogismo clsico \begin{enumerate} \item Todos los hombres son mortales.\label{pre1} \item Scrates es un hombre.\label{pre2} \item Por tanto, Scrates es mortal.\label{con} \end{enumerate} Las afirmaciones (\ref{pre1}) y (\ref{pre2}) son las premisas y (\refcon) es la conclusin.
En el silogismo clsico 1. Todos los hombres son mortales. 2. Scrates es un hombre. 3. Por tanto, Scrates es mortal. Las armaciones (1) y (2) son las premisas y (3) es la conclusin.

Elementos otantes
Las guras y tablas pueden ser tambin referenciadas teniendo cuidado en situar el comando

\label

justo despus del comando

\caption

o incluso

dentro de su argumento, como en el ejemplo mostrado a continuacin

\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$.

101

Valor de Valor de

x y

1 1

2 8

3 27

Tab. 1.3

Valores observados de

1.3 son

Dos posibles relaciones entre x e y = x3 e y = 6x2 11x + 6.

que satisfacen los datos de la Tabla

Matemtica
En los documentos con contenido matemtico abundan las referencias, ya sea a frmulas, guras, teoremas, etc. El proceso de etiqueta es igual al hecho anteriormente: es necesario incluir el comando entorno correspondiente. Si se ha denido el entorno 11.10), entonces

\label

dentro del

\newtheorem{thm}{Teorema}

(vea la Sec.

\begin{thm}\label{diffcon} Toda funcin diferenciable es continua. \end{thm} El recproco del Teorema \ref{diffcon} es falso.

Teorema 15.1

Toda funcin diferenciable es continua.

El recproco del Teorema 15.1 es falso.

En el caso de las ecuaciones se tiene

\begin{equation}\label{sumsq} (x+y)^2=x^2+2xy+y^2 \end{equation} Cambiando $y$ por $-y$ en (\ref{sumsq}) resulta \ldots
(x + y )2 = x2 + 2xy + y 2
Cambiando

(1.22)

por

en (1.22) resulta . . .

102

El paquete

amsmath permite usar el comando \eqref en lugar de \ref

para referenciar una ecuacin, con la diferencia de que el primero imprime automticamente los parntesis alrededor del nmero.

Referenciacin de pginas
En lugar de hacer referencia al nmero de tabla o de ecuacin, a menudo es til dar la numeracin de la pgina donde se encuentra dicho objeto. El comando

\pageref{<etiqueta >}
imprime el nmero de la pgina en la que se encuentra Por ejemplo

\label{<etiqueta >}.

vase la Tabla \ref{tabxy} en la pgina \pageref{tabxy}.


produce vase la Tabla 1.3 en la pgina 101.

16 Notas al pie y al margen


16.1 Comandos para insertar pies de pgina
Para insertar una nota al pie de pgina se usa el comando

\footnote[<nmero >]{<texto

de la nota >}

ste comando inserta una nota al pie de pgina con el texto de <texto

de la nota >y el nmero especicado en <nmero >. si <nmero >se omite,


se usa la numeracin automtica. Este comando no se admite dentro de una caja, ni dentro de otro

\footnote,

ni dentro del entorno

\tabular.

Las notas al pie de pgina dentro de una mini-pgina aparecen en la parte inferior de sta, no en la parte inferior de la pgina vigente. Por ejemplo, el siguiente cdigo

Mi primera nota\footnote{Numerada atomticamente} y mi segunda nota\footnote[201]{Numerada especficamente.}.


Produce

103

Mi primera nota

9 y mi segunda nota201 .

y las respectivas notas aparecen al pie de esta pgina.

16.2 Insercin de pies de pgina en lugares prohibidos


El comando

\footnotemark[<nmero >] produce slo la \footnote. \footnotetext[<nmero >]{<texto

marca que se-

ala la nota al pie de pgina en el texto. El argumento <nmero >funciona igual que el de El comando

de la nota >} pro-

duce la nota al pie de pgina, sin insertar ninguna marca. El argumento <nmero > especica el smbolo que identica la nota. Este comando est restringido, as como Los comandos

\footnote. \footnotemark y \footnotetext se usan en conjuncin

para crear notas en sitios no permitidos, primero insertando la marca en el lugar prohibido y luego colocando el texto fuera del sitio prohibido, simulando as el pie en la pgina.

16.3 Modicacin de los contadores de los pies de pgina


El comando

\renewcommand{\thefootnote}{<estilo >}

permite modi-

car el estilo de la marca que seala las notas al pie de pgina.

\arabic{footnote} produce marcas con la numeracin por defecto: 1, 2, 3, . . . \roman{footnote} produce marcas con nmeros romanos en minsculas: i, ii, iii, . . .

\Roman{footnote} produce marcas con nmeros romanos en maysculas: I, II, III, . . .

\alph{footnote}

produce marcas con la letsras del alfabeto en mi-

nsculas: a, b, c, . . .

\Alph{footnote} produce marcas con la letsras del alfabeto en maysculas: A, B, C, . . .

\fnsymbol{footnote}
9 Con 201 Con

produce marcas con smbolos: *,

...

numeracin atomtica numeracin especca.

104

16.4 Notas al margen


La inclusin de notas al margen es similar a la de las notas al pie. El comando es

\marginpar[<TextoIzquierda >]{<TextoDerecha >}


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 lnea de texto principal. Si se emplea la opcin

oneside, la nota se imprime a la derecha, y si se usa la opcin twoside, en


el exterior.

Si se usa el argumento opcional, el texto TextoIzquierda aparecer cuando la nota corresponda al margen izquierdo y el texto TextoDerecha lo har cuando la nota est en el margen derecho. Por ejemplo

Cuntame poeta cmo es la luna y no la de un tal Louis Armstrong. No olvides poeta tu sueo de volar con la pluma del ala y la necesidad. Cuntame poeta si es el desamor lo que constituye el diccionario del amor\ldots\marginpar{Ariel\\Dufey\\Ramos.}.
produce

Cuntame poeta cmo es la luna y no la de un tal Louis Armstrong. No olvides poeta tu sueo de volar con la pluma del ala y la necesidad. Cuntame poeta si es el desamor lo que constituye el diccionario del amor. . . .

17 Insercin de texto plano


Los archivos de

texto plano (en ingls plain text) son aquellos que estn

compuestos nicamente por texto sin formato, slo caracteres. Estos caracteres se pueden codicar de distintos modos dependiendo de la lengua usada. Algunos de los sistemas de codicacin ms usados son: ASCII, ISO-8859-1 o Latn-1, Unicode, etc. . . . Se les conoce tambin como archivos de texto llano, o texto simple, por carecer de informacin destinada a generar formatos (negritas, subrayado, cursivas, tamao, etc.) y tipos de letra (por ejemplo, Arial, Times, Courier, etc.).

AT X cuenta con el entorno L E

\minipage

para imprimir texto plano.

Los caracteres reservados pierden su signicado especial y son impresos

105

literalmente. Los espacios y cambios de rengln son tenidos en cuenta. La capacidad del texto impreso es bastante limitada.

\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) )$
El comando plano.

\verb@texto @ se usa para imprimir una sola lnea de texto

18 Bibliografa
18.1 El entorno thebibliography
La bibliografa es el entorno que permite al autor listar las referencias utilizadas y citarlas en algn 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

nmero de referencia o el nombre del autor, segn sea el estilo escogido. El entorno se dene del siguiente modo

\begin{thebibliography}[<etiqueta mayor >] \bibitem[<leyenda1 >]{<referencia1 >} Ttulo, autor, ... \bibitem[<leyenda2 >]{<referencia2 >} Ttulo, autor, ... \end{thebibliography}
El argumento etiqueta mayor indica la anchura de la mayor etiqueta que vaya a aparecer. Por ejemplo, si vamos a introducir entre 10 y 99 publicaciones, entonces deberemos comenzar con nombre ms largo que vayamos a usar,

\begin{thebibliography}[99].

Si vamos a referenciar con el nombre del autor, entonces debemos poner el

\begin{thebibliography}[nombre].

106

El argumento opcional de

\bibitem,

leyenda se utiliza para modicar

la identicacin en la lista de referencias, en lugar de un nmero. El argumento referencia ser la etiqueta usada para referenciar la cita. Se usa a travs del comando

\cite: \cite{etiqueta1 } \cite{etiqueta1,etiqueta2,...}

Si queremos aadir algn dato ms a la referencia (nmero de pgina donde aparece, o el captulo, etc.) usamos un argumento opcional

\cite[pgina
torno

25 ]{etiqueta1 }

El siguiente cdigo muestra un ejemplo de funcionamiento del en-

10 .

La referencia clsica en \LaTeX\ es \cite{GH}. Otras referencias interesantes son \cite{GU,Kn} . . . \begin{thebibliography}{9} . . . \bibitem{GH} Griffiths, D and Higham, D. LEARNING LATEX. The Society for Industrial and Applied Mathematics (1997). \bibitem{Gu} Gurari, E. WRITING WITH TEX. McGraw-Hill, Inc. (1994). \bibitem{Kn} Knuth, D. THE TEXBOOK. Adisson-Wesley Publishing Company (1991). . . . \end{thebibliography}
10 La bibliografa que aparece en dicho cdigo corresponde a la bibliografa de este libro.

107

AT X es [3]. Otras referencias interesantes son La referencia clsica en L E [4, 5]

18.2 ndice de contenidos


El entorno bibliografa crea una seccin del documento a modo de captulo (si la clase de documento es

report) o seccin (si la clase es article). Sin

embargo no aparece listado en el ndice de contenidos. Para introducir dicho captulo o seccin en el ndice es necesario aadir una lnea como la que sigue

\addcontentsline{<ExtensinFichero >}{<Unidad >} {<TextoEntrada >}


AT X almacena informacin sobre ndices de contenido, de guras o tablas. L E
Las extensiones respectivas son El parmetro ExtensinFichero se reere a uno de los cheros donde

toc, lof

lot.

El argumento Unidad se reere a qu tipo de unidad de estructura queremos asimilar dicha entrada, es decir, si se trata de una seccin, un captulo, etc. Los valores sern El

TextoEntrada

section, chapter,

etc.

el lo que deseamos que apareza en el ndice corres-

pondiente. As, la entrada a incluir ser

\addcontentsline{toc}{chapter}{Bibliografa}

19 El programa BibTex
La elaboracin de entornos para bibliografa puede automatizarse cmodamente usando el programa BibT EX. Dicho programa crea un entorno bibliogrco para un documento concreto a partir de una base de datos previamente construida. De este modo, slo es necesario mantener una base de datos y recurrir a ella para construir la bibliografa de cada documento que escribamos. La base de datos consiste en uno o varios archivos con extensin

.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 automticamente incluida en la bibliografa del mismo a travs del programa BibT EX.

108

Para usar dicho programa debemos incluir en nuestro archivo fuente un comando que llame a la base o bases de datos que queramos utilizar, del siguiente modo

\bibliography{database1,database2 }
El comando anterior especica que las entradas bibliogrcas se colocarn en la posicin en la que aparece dicho comando y sern extradas de los archivos mando

database1.bib

database2.bib11 .

El estilo que aparecer en la bibliografa viene especicado por el co-

\bibliographystyle,

que determinar el formato en el que apa-

recern las diferentes entradas. Por ejemplo

\bibliographystyle{plain}
encuentra descrito en el chero (plain.bst). Es posible situar este comando en cualquier punto del documento despus de especica que las entradas sern formateadas segn el estilo

plain

que se

\begin{document}.

19.1 Estilos de BibTeX

plain unsrt alpha abbrv acm

Estilo estndar. Las entradas son numeradas correlativamente por orden alfabtico de autores. Similar al estilo plain, pero las entradas son numeradas en el orden

en que son citadas en el documento. Se diferencia con el estilo plain, en que las etiquetas de las entradas

estn formadas por el nombre del autor y el ao de publicacin, en lugar de ser nmeros. Similar al estilo plain, pero las entradas son ms compactas, que-

dando abreviados los nombres de pila de los autores, las revistas, etc. Estilo usado en las revistas de la ACM (Association for Computing Machinery).

apalike

Estilo usado en las revistas de la American Psychology Associa-

tion. Precisa del paquete

apalike.

Adems varias organizaciones, revistas, etc. han desarrollado sus propios estilos bibliogrcos, algunos de los cuales vienen con la distribucin MiKT EX (vase

C:\Archivos de programa\MiKTeX 2.9\bibtex\bst).

11 Atencin

al path en el que se encuentre el archivo.

109

19.2 Pasos para ejecutar BibTeX con LaTeX


AT X, se generar un listado de referencias para cada co1. Al correr L E mando \cite que est presente. Dicho listado aparecer en el chero
auxiliar

.aux.

2. Ejecutar BibT EX, el cual leer dicho chero, las bases de datos y el chero de estilo y escribir un chero .bbl que contiene un entorno bibliografa formateado segn el hero avisos sern escritos en un chero

.bst .blg.

escogido. Los errores o

AT X, se lee el chero 3. En la siguiente compilacin de L E

.bbl.

4. Una tercera compilacin resuelve todas las referencias cruzadas. Ntese que las referencias que aparecern en el texto son aquellas que hayan sido citadas mediante datos

.bib.

\cite,

y no todas las presentes en la base de

En ocasiones, es posible querer incluir publicaciones que no son explcitamente 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 BibT EX. El comando \nocite{*} hace que todas las entradas de la base de datos sean incluidas.

19.3 Creacin de bases de datos bibliogrcas


La ventaja principal del uso del programa BibT EXes la no necesidad de escribir un listado de referencias para cada documento. Las referencias son escritas una sola vez y almacenadas en la base (o bases) de datos correspondiente para usos futuros. No obstante, es necesario crear las entradas de la base de datos segn un formato especco. Lo que sigue es un ejemplo de entrada

@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 segn el tipo de publicacin que sea: libros, artculos, prepublicaciones, etc. El resto de la informacin es escrita entre llaves, comenzando por

110

la etiqueta (la que usaremos para la referencia con el comando el ejemplo anterior pondramos

\cite), En \cite{knuth:86a}. El resto de la informa-

cin sobre la referencia es introducida mediante varios campos, separados por comas, en el formato que se aprecia. Los espacios son opcionales. La informacin de cada campo puede ser incluida entre llaves o entre comillas dobles; sin embargo, si la informacin del campo consta nicamente de nmeros, no son necesarios los delimitadores. Cada tipo de entrada tiene una serie de campos requeridos y otros opcionales. En caso de ausencia de algn campo requerido BibT EX dar un informe de error. Los tipos de referencias, los campos requeridos y los opcionales son

@article

Artculos en revistas. autor, title, journal, year. volume, number, pages, month, note.

campos requeridos campos opcionales

@book
note.

Libros con editorial conocida. author or editor, title, publisher, year. volume or number, series, address, edition, month,

campos requeridos campos opcionales

@booklet

Libros sin conocimiento de la editorial que lo publique. title. author, howpublished, address, month, year, note.

campos requeridos campos opcionales

@conference

Artculo en un recopilatorio de una conferencia. author, title, booktitle, year. editor, volume or number, series, pages, address, month,

campos requeridos campos opcionales

organization, publisher, note.

@inbook

Entrada para una parte de un libro. author or editor, title, chapter and/or pages, publisvolume or number, series, type, address, edition, month,

campos requeridos
her, year.

campos opcionales
note.

@incollection

Entrada para una parte de un libro con ttulo propio. author, title, booktitle, publisher, year. editor, volume or number, series, type, chapter, pa-

campos requeridos campos opcionales

ges, address, edition, month, note.

@inproceedings

Artculo en las publicaciones de un congreso. author, title, booktitle, year. editor, volume or number, series, pages, address, month,

campos requeridos campos opcionales

organization, publisher, note.

111

@manual
note.

Entrada para documentacin de tipo tcnico. title. author, organisation, address, edition, month, year,

campos requeridos campos opcionales

@masterthesis

Entrada para proyecto, tesina o master. author, title, school, year. type, address, month, note.

campos requeridos campos opcionales

@misc

Documento que no se ajusta a ninguno de los dems tipos. none. author, title, howpublished, month, year, note.

campos requeridos campos opcionales

@phdthesis

Tesis doctoral. author, title, school, year. type, address, month, note.

campos requeridos campos opcionales

@proceedings

Recopilatorio de artculos de una conferencia o congreso. title, year. editor, volume or number, series, address, month,

campos requeridos campos opcionales

organization, publisher, note.

@unpublished

Documento no publicado con ttulo y autor. author, title, note. month, year.

campos requeridos campos opcionales

CAPTULO II

PROGRAMACIN CON LTEX


A

El compilador T EX contiene aproximadamente 300 secuencias de control (comandos) llamadas primitivas. stas son operaciones de bajo nivel que no pueden ser descompuestas en acciones ms simples. El resto de lo que propiamente se llama T EX unas 600 instrucciones, son macros, es decir, comandos denidos a partir de las 300 primitivas, haciendo uso de las capacidades de compilador (es decir, lenguaje de programacin) de

AT X es otro conjunto de macros TEX. Asimismo, el procesador de textos L E construidas a partir de comandos T X. En ste captulo se introducirn E las herramientas bsicas de programacin disponibles en T EX, tiles para
denir nuevos comandos o entornos, modicar parmetros, automatizar tareas, en denitiva personalizar nuestro documento.

1 Creacin de comandos y entornos


1.1 Comandos
En sta seccin describiremos cmo utilizar el comando

\newcommand para AT X que puedan ayudarnos a simplicar el readenir nuevos comandos L E lizar tareas repetitivas. Para la denicin de un nuevo comando se dispone
de tres posibilidades

\newcommand{\NombreComando}[NumArg][ArgDefecto]{Definicion} \renewcommand{\NombreComando}[NumArg][ArgDefecto]{Definicion} \providecommand{\NombreComando}[NumArg][ArgDefecto]{Definicion}


donde dido mando,

\NombreComando es el nombre que queremos asignar al nuevo coNumArg indica el nmero de argumentos que va a tener (comprenentre 1 y 9), ArgDefecto es el valor por defecto de un argumento

113

optativo (el primero de ellos), y

Definicion

contiene la denicin del co-

mando, donde los distintos argumentos se denotan como

Entre estas tres versiones existen diferencias importantes. de que el comando a denir no existe. del comando. Finalmente, carece de efecto.

#1, #2, etc . . . \newcommand

se utiliza para denir nuevos comandos, por lo que debemos estar seguros

\renewcommand se utiliza para rede-

nir comandos ya existentes, reescribiendo y borrado la denicin anterior en el caso de que el comando no exista; en caso contrario la nueva denicin

\providecommand dene el nuevo comando slo

asterisco; las versiones con asterisco (\newcommand*{\NombreComando}

Para cada una de estas tres posibilidades existen versiones con y sin etc . . . ) no permiten que los argumentos pue-

[NumArg]{ArgDef}{Def},

dan extenderse a ms de un prrafo, mientras que las versiones sin asterisco (\newcommand{\NombreComando}[NumArg]{ArgDef}{Def}, etc . . . ) permiten que los argumentos se extiendan a ms de un prrafo.

1.2 Ejemplos
Es preferible que ubicar las deniciones de los nuevos comandos en el prembulo. Supongamos que la expresin

(x1 , x2 , . . . , xn ) aparece frecuentemente

en nuestro documento. Podemos entonces denir

\newcommand{\vect}{(x_1,x_2,\dots,x_n)} con lo cual, cada vez que escribamos $\vect$ (el comando) se imprimir (x1 , x2 , . . . , xn ).
gumentos variables. Si por ejemplo escribimos

nombre del nuevo

Ahora compliquemos un poco el ejemplo con la introduccin de ar-

\newcommand{\vect}[1]{(#1_1,#1_2,\dots,#1_n)}
escribiendo con

(aadiendo un argumento, que se sustituye en la frmula con  #1),

$\vect{x}$ obtendramos (x1 , x2 , . . . , xn ), mientras que $\vect{a}$ se tendra (a1 , a2 , . . . , an ), etc . . .

Aadiendo ms argumentos, podemos obtener construcciones ms complejas, por ejemplo, deniendo

\newcommand{\vect}[2]{(#1_1,#1_2,\dots,#1_#2)} $\vect{x}{n}$ dara como resultado (x1 , x2 , . . . , xn ), mientras con $\vect{a}{p}$ se obtendra (a1 , a2 , . . . , ap ).

que

Practiquemos ahora la denicin de comandos con argumentos optativos, que toman un determinado valor por defecto. Por ejemplo,

114

construyamos

\newcommand{\nuevovector}[2][x]{(#1_1,#1_2,\dots,#1_#2)} donde la  x entre corchetes es el valor por defecto del argumento opcional (siempre el primero). As, escribiendo $\nuevovector{n}$ $\nuevovector{p}$ obtendramos (x1 , x2 , . . . , xn ) y (x1 , x2 , . . . , xp )
respectivamente, mientras que aadiendo un argumento optativo cambiaramos el valor por defecto de  x,

$\nuevovector[a]{n}$

dara

(a1 , a2 , . . . , an ).

2 Entornos
Tambin es posible denir nuevos entornos, o redenir entornos ya existentes; 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 DefEntrada

cuanto a que admiten argumentos (hasta 9), opcionalmente con el primero de ellos optativo. La diferencia reside en que en el argumento y en el argumento se indican las rdenes que se deben ejecutar antes de entrar en el entorno,

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 ms de un prrafo. Por ejemplo, construyamos un entorno que cree una minipgina de anchura variable por defecto media pgina), 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

115

\begin{mientorno} Ejemplo de texto con una anchura estndar de media pgina, centrado, y en tipo de letra negrita. \end{mientorno}
obtenemos

Ejemplo de texto con una anchura estndar de media pgina, centrado, y en tipo de letra negrita.
o, si queremos emplear el argumento optativo y reducir la anchura del texto a

0.3

veces la anchura de texto (\textwidth)

\begin{mientorno}[0.3] Ejemplo de texto con una anchura de un tercio de pgina, centrado, y en tipo de letra negrita \end{mientorno}

Ejemplo de texto con una anchura de un tercio de pgina, centrado, y en tipo de letra negrita.
pueden utilizarse en la denicin de entrada (DefEntrada). Si los necesitamos en la denicin de salida, podemos utilizar el truco de guardarlos convenientemente, empleando un comando nombre del autor como argumento Es importante tener en cuenta que los argumentos de un entorno slo

\newcommand

para ello. En el

siguiente ejemplo, creamos un entorno cita para escribir citas, dando el

\newenvironment{cita}[1]{\newcommand{\autor}{#1}% \begin{quote}\itshape``}{''\end{quote}\centerline{\autor}}
Tras lo cual, por ejemplo

\begin{cita}{Andres Fernndez} Nuestras vidas son los ros que van a parar al mar, que es el morir \end{cita}

116

produce

 Nuestras vidas son los ros que van a parar al mar, que es el morir 
Andres Fernndez

3 Compilacin por partes


Imaginemos que estamos escribiendo un documento largo (un libro, por ejemplo). Es conveniente, a la hora de depurar errores, escribir y compilar

AT X proporciona dos posibilidades cada parte por separado. Para ello L E


El comando

\input{Fichero.tex}

produce que el compilador, al

encontrar esta instruccin, lee el chero indicado en el argumento y contina compilando dicho chero. En el argumento del comando podemos dar, si el chero no se encuentra en el directorio actual, el camino hasta l. Debe tenerse cuidado de que instrucciones clave como

\documentclass o \begin{document} no se dupliquen. Enton-

ces, para escribir un libro, por ejemplo, podemos tener un documento con la siguiente estructura

\documentclass[opciones]{book} \usepackage{paquete1} ..... \begin{document} %\input{capitulo1.tex} %\input{capitulo2.tex} %\input{capitulo3.tex} ...... \end{document}


y, al hacer la depuracin de errores, descomentar individualmente cada una de las lneas instrucciones

\input{fichero.tex}.

Tambin es posible

utilizar este comando para otros usos, por ejemplo, incluir listas de querer hacer comunes a varios documentos. Una alternativa ms cmoda es utilizar, en vez de mando do

\newcommand y personalizaciones diversas que podamos \input, el co.tex en

\include{Fichero}

(es esencial omitir la extensin

ste caso). Entonces, en el prembulo se puede colocar el coman-

\includeonly{Fichero1,Fichero2,...},

que hace que slo se

117

incluyan en la compilacin los cheros que aparecen en el argumento. Es importante mencionar que al comenzar y terminar, la orden

\include induce un salto de pgina (ms exactamente, un comando \clearpage, que adems expulsa elementos otantes pendientes),
por lo que esta alternativa es conveniente utilizarla slo para incluir captulos de un libro o tesis.

4 Conceptos bsicos sobre contadores y longitudes


4.1 Contadores
AT X utiliza un amplio nmero de contaEn su funcionamiento habitual, L E dores con el n de enumerar distintos elementos de un documento: pque permite identicarlo; as, page es el contador que identica pginas, chapter captulos, etc... En lo sucesivo, denotaremos ese nombre como NombreContador. Cada contador lleva asociados una serie de elementos de diferente signicado: nombre, valor (siempre un nmero entero) y formato, ste ltimo pudiendo tomar variadas formas: (I, II, III..., a, b, c...) Se dispone de los siguientes formatos de contador ginas, secciones, tablas, guras, etc... Cada contador tiene un nombre

\arabic{NombreContador} \alph{NombreContador} \Alph{NombreContador} \roman{NombreContador} \Roman{NombreContador} \fnsymbol{NombreContador}

1, 2, 3, 4, . . .
a, b, c, d, . . . (nota 1) A, B, C, D, . . . (nota 1) I, II, III, IV . . . (nota 2) I, II, III, IV, . . . *, **, ***, ****, . . . (nota 3)

Nota 1: Nota 2:

El valor del contador no puede superar 27 (nmero de letras en

el abecedario. El resultado mostrado es el que se obtiene con

spanish.

babel,

opcin

Sin ello, se obtendra i, ii, iii, ... No obstante, aunque se

use el paquete

babel

con la opcin

spanish

es posible obtener las

minsculas en la numeracin romana insertando el siguiente cdigo en el prembulo

\makeatletter \def\@roman#1{\romannumeral #1} \makeatother

118

Nota 3:

spanish;

Igualmente, el resultado mostrado es el obtenido con

babel

en caso contrario, se utilizan las marcas inglesas: *,

, ...

En ambos casos, el valor no puede ser superior a 6. Asociado a cada contador existe un comando, llamado representacin del contador, que permite imprimir el valor del contador en alguno de los formatos descritos; el comando es

AT X dene un nuevo contador, le asigna inicialmente la reCuando L E presentacin correspondiente al formato \arabic; si queremos cambiarla,
podemos redenirla mediante el comando ejemplos de lo que se puede hacer

NombreContador \theNombreContador.
veamos unos

\renewcommand*;

Este ejemplo muestra cmo obtener el nmero de la pgina en curso; sta pgina es la nmero \thepage, en la representacin original.\\ \renewcommand*{\thepage}{\roman{page}} Ahora esta cambiada a nmeros romanos; sta pgina es la nmero \thepage.\\ \renewcommand*{\thepage}{[Sec. % \thesection\ -- Pg. \arabic{page}]} Luego, algo ms elaborado; sta pgina es la nmero \thepage.\\ \renewcommand*{\thepage}{\arabic{page}} Finalmente, volvemos al formato original; sta pgina es la nmero \thepage.
Este ejemplo muestra cmo obtener el nmero de la pgina en curso; sta pgina es la nmero 118, en la representacin original. Ahora esta cambiada a nmeros romanos; sta pgina es la nmero cxviii. Luego, algo ms elaborado; sta pgina es la nmero [Sec. 4  Pg. 118]. Finalmente, volvemos al formato original; sta pgina es la nmero 118. Podemos cambiar los valores de un contador con los siguientes comandos

\setcounter{NombreContador}{Valor} Asigna al contador NombreContador el valor entero Valor, con independencia del
anterior.

valor

\addtocounter{NombreContador}{Valor} Incrementa NombreContador con la cantidad Valor, que puede ser


negativa.

positiva o

119

Esta es la seccin \thesection. Pero podemos a\~{n}adirle 2 fcilmente; \addtocounter{section}{2} ahora estamos en la seccin \thesection. Mejor lo dejamos como estaba, porque si no las restantes secciones quedaran numeradas incorrectamente (esto es, el efecto de estos cambios de numeracin es \emph{global}). \addtocounter{section}{-2}
Esta es la seccin 4. Pero podemos aadirle 2 fcilmente; ahora estamos en la seccin 6. Mejor lo dejamos como estaba, porque si no las restantes secciones quedaran numeradas incorrectamente (esto es, el efecto de estos cambios de numeracin es global ). Podemos recuperar el valor numrico de un contador, independientemente de su representacin, con el comando

\value{NombreContador}
lo cual es til para la gestin de contadores, como veremos a continuacin. Se denen nuevos contadores con la instruccin

\newcounter{NuevoContador}[ContadorExistente]
que introduce un contador de nombre mo valor inicial. El argumento

NuevoContador, y le asigna cero coContadorExistente es optativo, y sirve para subordinar NuevoContador al contador ya existente ContadorExistente, de la misma forma que, por ejemplo, el contador subsection est subordinado al contador section: incrementar en una unidad el contador section implica que el contador subsection se reinicia a cero automticamente.
AT X para los tems de primer nivel en entornos el contador estndar L E
enumerate) de enlazar varias listas enumerate manteniendo la numeracin (enumi es Veamos un ejemplo de cmo introducir un nuevo contador, con el n

Las primeras lecciones son las siguientes: \newcounter{conserva} \begin{enumerate} \item Nmeros reales \item Nmeros complejos \setcounter{conserva}{\value{enumi}} \end{enumerate}

120

Mas adelante, se estudiarn temas ms complicados: \begin{enumerate} \setcounter{enumi}{\value{conserva}} \item Continuidad \item Derivacin \end{enumerate}
Las primeras lecciones son las siguientes: 1. Nmeros reales 2. Nmeros complejos Mas adelante, se estudiarn temas ms complicados: 3. Continuidad 4. Derivacin Debe mencionarse que al crear un nuevo contador se crea automticamente el comando

NuevoContador} \addtocounter,

\theNuevoContador,

con la denicin

\arabic{
y

por defecto.

Cuando se modica un contador con los comandos

\setcounter

los contadores subordinados no se ponen a cero; para

obtener se efecto, se dispone de los comandos

\stepcounter{NombreContador} Incrementa NombreContador en una


unidad, y reinicia todos los contadores subordinados a ste.

\refstepcounter{NombreContador} Lo mismo que el anterior, pero \ref el texto generado por \theNuevoContador cuando se utilizan referencias cruzadas con los comandos \label y \ref.
declarando tambin como valor del comando Veamos un pequeo ejemplo que ilustra como utilizar estos comandos; denimos

\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}

121

Y, luego utilizamos nuestro nuevo entorno,

programa,

as

\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}
con lo que se obtiene Programa 4.1 Entrada: Salida: 1 2 3

N , x1 , x2 , . . . , xN . N SU M A = i=1 xi . SU M A = 0. Para i = 1, 2, . . . , N : SU M A = SU M A + xi . SALIDA(SU M A); PARAR.

4.2 Longitudes
AT X es tambin capaz de crear y modiAl 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

Rgidas:

\thinspace

Toman un valor determinado; por ejemplo = 1.958 pt,

\hoffset

\quad
1

= 11.747 pt,

= -28.45274 pt .

Elsticas:

AT X puede modicar dentro de unos lToman un valor que L E mites, a n de optimizar la composicin del documento. Por ejemplo,

\bigskip, \medskip
El comando

\smallskip.

\bigskip

se dene como

\vspace{12pt plus 4pt minus 4pt}


AT X debe introducir un espacio vertical de 12 lo cual quiere decir que L E
pt, aunque tiene la libertad de incrementarlo o reducirlo en 4 pt, segn convenga a n de distribuir el espacio de forma homognea. Alguna de

1 Hay que tener cuidado en no confundir el concepto de longitud y del valor que toma una longitud; \hoffset es una longitud, mientras que \quad y \thinspace son comandos que dejan en blanco un espacio horizontal de valor rgido

122

las holguras

plus

minus

pueden estar ausentes en la denicin, pero si y

ambas aparecen deben estar en se orden. Los comandos

\bigskipamount, \medskipamount y \smallskipamount, por lo que tales comandos


tienen asociadas longitudes elsticas con valores almacenados en se deniran de hecho como

\bigskip, \medskip

\smallskip,

respectivamente,

\bigskip \medskip

\vspace{\bigskipamount} \vspace{\medskipamount}

\smallskip \vspace{\smallskipamount}
y donde cada una de stas longitudes elsticas toma valores

\bigskipamount \medskipamount \smallskipamount

:: :: ::

12.0pt plus 4.0pt minus 4.0pt 6.0pt plus 2.0pt minus 2.0pt 3.0pt plus 1.0pt minus 1.0pt

Puede obtenerse el valor de cualquier longitud con el comando

\the\NombreLongitud
donde

NombreLongitud

es el nombre de la longitud; ste comando siem-

pre expresa las longitudes en unidades pt, con el punto como separador decimal. Al igual que ocurra con los contadores, los valores de una longitud pueden modicarse. Existen dos comandos para ello

\setlength{\NombreLongitud}{Valor} Asigna a la longitud \NombreLongitud un valor igual al argumento Valor, que debe
1mm minus 2mm). Tambin es posible que (0.5\textwidth, por ejemplo). utilizar la sintaxis

ser

una longitud (sto es, expresada en unidades cm, pt, etc...). Puede ser un valor tanto rgido como elstico (por ejemplo, 5mm plus ble de longitud (\textwidth) con quizs un factor multiplicativo Una forma alternativa de asignar a

Valor

sea una varia-

\NombreLongitud

un valor es

\NombreLongitud=Valor

o bien

\NombreLongitud Valor.

\addtolength{\NombreLongitud}{Valor} Suma a la longitud \NombreLongitud la cantidad Valor, que puede ser positiva o negativa.

123

Al contrario que lo que ocurra con los contadores, cuyas asignaciones tienen carcter global (es decir, trascienden el grupo dentro del cual han sido declaradas, y tienen efecto en todo el resto del documento), las asignaciones de longitud tienen por defecto carcter local ; si se realizan dentro de un grupo, el valor anterior a la asignacin se recupera a la salida del grupo. En el caso de que deseemos un efecto global, puede ser aconsejable realizar tales asignaciones en el prembulo del documento. Se pueden denir nuevas longitudes con el comando

\newlength{\NuevaLongitud} \NuevaLongitud; es importante que AT X ya existentes, \NuevaLongitud no sea ni un comando ni una longitud L E
que crea una nueva longitud llamada en cuyo caso obtendramos un mensaje de error. Por defecto, las nuevas longitudes son creadas con un valor inicial 0.0 pt. Para la gestin de valores de longitud son tiles los siguientes comandos

\settowidth{\NombreLongitud}{Objeto} \settoheight{\NombreLongitud}{Objeto} \settodepth{\NombreLongitud}{Objeto}


que calculan, respectivamente, la anchura (width), altura (height) y profundidad

\NombreLongitud.

2 (depth) de un objeto, asignando el valor resultante a la longitud

Ejemplos
Imaginemos que queremos medir la longitud asociada al comando Para ello podemos denir una nueva longitud

\quad.

\newlength{\longi}
a continuacin, asociamos a comando

\quad

\longi

la anchura del espacio asociado al

\settowidth{\longi}{\quad}
tras lo cual, el comando

\the\longi

muestra el valor 9.99756pt.

Ahora creamos otra longitud

\newlength{\longitud}
2 Distancia

por debajo de la lnea de base.

124

que empleamos para medir la anchura, altura, y profundidad de la palabra

Integral.

\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.
La anchura de la palabra

Integral es

46.44038pt, su altura es 9.91672pt

y su profundidad es 2.80008pt. Veamos un ltimo ejemplo

\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

Longitudes elsticas

fil

En este apartado describiremos dos unidades de longitud elsticas:

AT Xutiliza para introducir espacios de longitud variable. Ambas proque L E porcionan dos diferentes grados de elasticidad innita; fil es una unidad
de longitud elstica innitamente ms grande que cualquier longitud rgida, mientras que

fil

fill

fill

es innitamente ms grande que

fil

(y por tanto,

que cualquier longitud rgida). Basados en stas unidades de longitud, existe una variedad de comandos

125

\fill
ro

Es una longitud, de valor

0pt plus 1fill.


un nmeequivale a

\stretch{n} Es una longitud de valor 0pt y holgura n de unidades fill (entero o decimal). As, \fill \stretch{1}.
y

De ste modo, los comandos \hfill y \vfill equivalen a \hspace{\fill} \vspace{\fill}, respectivamente. La utilidad del comando \stretch{n}

est en la posibilidad de separar objetos con espacios proporcionales a diversas cantidades. Vase el siguiente ejemplo

Colocamos un texto centrado:\\[2mm] \vrule\hspace{\stretch{1}}Texto centrado\hspace{\stretch{1}}\vrule\par Ahora colocamos un texto con el doble de espacio a un lado que al otro:\par \noindent\vrule\hspace{\stretch{1}}% Texto\hspace{\stretch{2}}\vrule\par Otro ejemplo, con la distancia entre T1 y T2 igual a tres veces la distancia a los m\'{a}rgenes:\par \noindent\vrule\hspace{\stretch{1}} T1\hspace{\stretch{3}}T2 \hspace{\stretch{1}}\vrule
Colocamos un texto centrado: 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 mrgenes: T1 lnea en el ejemplo anterior, hemos utilizado el comando poner una marca en blanco con los comandos T2 (para imprimir la barra vertical de referencia al comienzo y nal de

\vrule; podemos \mbox{} o \null).

\hfill \hfil

\vfill \vfil

(ya descritos).

Anlogos a los anteriores, pero empleando para la

elasticidad una unidad

fil

en lugar de

fill.

El siguiente ejemplo ilustra la diferencia entre las unidades

fil y fill

\noindent A \hfil B \hfil C \\ D \hfill E \hfill F \par

126

A D

B E

C F

Porqu cambian las posiciones de B y C en la primera lnea? La res-

AT X introduce un espacio puesta est en que, antes de cortar una lnea, L E de elasticidad variable, a n de evitar que las lneas cortas se estiren hacia
la derecha. ste espacio se controla a travs de la longitud que por defecto tiene el valor

0pt plus 1fil.

\parfillskip,

ejemplo se equilibran los espacios asociados a tres comandos segundo caso, esto no sucede, dado que elasticidad innitamente ms grande.

\hfil. En el \hfill corresponde a un grado de

Por tanto, en el primer

\hfilneg y \vfilneg Equivalen, respectivamente, a \hspace{0pt plus -1fil} y a \vspace{0pt plus -1fil}, y permiten cancelar el efecto de los comandos \hfil y \vfil; por ejemplo \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

\hss

Equivale a

ne en la denicin de los comandos

\centerline.

\hspace{0pt plus 1fil minus 1fil}, e intervie\leftline, \rightline y

\vss Anlogo vertical, que equivale a \vspace{0pt plus 1fil minus 1fil}.
Los siguientes comandos (algunos de ellos ya mencionados anteriormente) tienen un efecto similar a direccin horizontal)

\hfill,

con la diferencia de que en el

espacio intermedio introducen diversos smbolos de extensin variable (en

\hrulefill

Raya

A\hrulefill B\hrulefill C
A B C

127

\dotfill

Raya

A\dotfill B\dotfill C
A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C

downbracefill y \upbracefill Llaves hacia abajo o hacia arriba, respectivamente.

\leftarrowfill

\rightarrowfill

Flechas a izquierda y de-

recha, respectivamente.

\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 B E C D F

Antes de continuar es preciso reasignar los valores por defecto a: a la derecha), esto

\parfillskip
es

(para evitar que las lneas cortas, como la ltima de este prrafo, se estiren

\parfillskip = 0pt plus 1fil


y tambin a cualquier

\parindent (para que se sangre automticamnete el inicio de


prrafo), esto es

128

\parindent=18pt
Finalmente, describiremos los comandos respectivamente, colocan Objeto en una caja de anchura de la caja. Por ejemplo

\rlap{Objeto} y \llap{Objeto}; 0pt (por lo que

el cursor no se mueve), con el objeto saliendo hacia la derecha o izquierda

Tachamos la palabra izquierda% \llap{\rule[2.5pt]{48pt}{0.4pt}} y seguimos escribiendo.\par \hfil \rlap{uno}\llap{dos}\vrule \par \hfil \llap{dos}\rlap{uno}\vrule
Tachamos la palabra izquierda y seguimos escribiendo. dosuno dosuno

5 Programacin con TEX


5.1 Otro modo de denir comandos
Anteriormente hemos visto cmo denir nuevos comandos mediante la utilizacin de los comandos tipo

\newcommand

AT X. Existe un modo de L E

alternativo, empleando comandos de ms bajo nivel de T EX (de hecho, AT X). Para ello existe el ste es el modo estndar de construir macros L E comando

\def,

con la siguiente sintaxis

\def\NuevoComando#1...#9{Definicion}
donde

\NuevoComando es el nombre del nuevo comando, #1...#9 los argu-

mentos de que depende (hasta 9), y entre llaves su denicin. Por ejemplo, denamos

\def\ecuacion#1#2{\ensuremath{#1_1^2+#1_2^2+\cdots+#1_#2^2=1}}
tras lo cual,
2 2 2 \ecuacion{z}{5} produce z1 + z2 + . . . + z5 . Ntese el uso del comando \ensuremath{Formula}, que tiene como resultado asegurar que la expresin Formula se ejecuta dentro del modo matemtico (por lo cual, no es necesario abrir y cerrar signos $ antes y despus del comando \ecuacion). El comando \def, a diferencia del \newcommand, permite elegir los delimitadores de los argumentos (que con \newcommand siempre deben ser

129

llaves, o corchetes para los argumentos optativos). Adems, es incluso posible prescindir de las llaves al escribir los argumentos del comando; por ejemplo, en el caso anterior podramos haber escrito mismo resultado que T EX lee secuencialmente los argumentos tras el nombre del comando. Para elegir delimitadores especiales entre los argumentos, simplemente los incluimos entre ejemplo, redenimos

\ecuacion{z}{5}:
como

\ecuacion z5 con el

\ecuacion

#1, #2,... #n. Por

\def\ecuacion#1;#2:{\ensuremath{#1_1^2+#1_2^2+\cdots+#1_#2^2=1}}
lo cual indica que el primer argumento debe terminar con  ; y el segundo 2 2 con  :. Ahora debemos escribir \ecuacion z;5: para obtener z1 + z2 + 2 . . . + z5 .

5.2 Deniciones globales


Todos los comandos creados con (o redenidos con

\newcommand, \providecommand o \def, \renewcommand) son locales ; es decir, si estn denidos \prueba
dentro del

dentro de un grupo, su accin estar restringida a se grupo. En el ejemplo siguiente se ve cmo la redenicin del comando entorno itemize carece de efecto fuera de ste

\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}
es decir, o bien anteponemos el comando usamos el comando

\global a la denicin, o bien \gdef. El comando \global tambin puede usarse para \addtolength).

hacer globales otro tipo de asignaciones de tipo local, como por ejemplo las modicaciones de longitudes (\setlength y

130

\def\prueba{Prueba 1} \begin{itemize} \global\def\prueba{Prueba 2} \item \prueba \end{itemize} \prueba


Prueba 2 Prueba 2

5.3 El comando \let


Imaginemos que denimos un comando en funcin de otros comandos, y los comandos en los que se basa cambian. Este cambio se trasladar entonces al nuevo comando

\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 independiente 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
que puede usarse tambin en caso de comandos con argumentos (cuidando de que el comando antiguo y su copia tengan el mismo nmero de argumentos). El ejemplo siguiente ilustra el funcionamiento de

\let

\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

131

Uno: 1 Dos: 11 Uno: uno Dos: unouno DOS: 11

5.4 Manipulacin de contadores y longitudes a travs de TEX


Veamos ahora cmo se trabaja con contadores y longitudes desde el punto de vista de T EX. Se pueden realizar operaciones con tres tipos de magnitudes

Contadores:
comando

Corresponden a registros tipo

\newcount\NuevoContador;

count,

y se denen con el

el registro puede almacenar

nmeros enteros entre -214783647 y +214783647.

Longitudes rgidas:
con el comando

\newdimen\NuevaLongitud.

Corresponden a registros tipo

dimen,

y se denen

Longitudes elsticas:

Existen dos tipos de registro

skip: se denen con \newskip\NuevaLongitud\verb. muskip: anlogo de longitud elstica, que se utiliza slo en el modo matemtico; se denen con \newmuskip\NuevaLongitud.
Existen comandos para realizar las cuatro operaciones aritmticas bsicas (suma, resta, multiplicacin y divisin) con todos los registros anteriores (ambas sintaxis, con

advance o advance by, etc..., son equivalentes)

\advance\NombreRegistro Numero \advance\NombreRegistro by Numero donde Numero debe ser una


longitud, si tratamos con registros de tipo longitud, o un nmero entero, si trabajamos con un contador.

\multiply\NombreRegistro Numero \multiply\NombreRegistro by Numero


siempre un entero.

donde

Numero

debe ser

\divide\NombreRegistro Numero \divide\NombreRegistro by Numero


primero a unidades

donde

Numero

tambin de-

be de ser un entero. En el caso de un contador, se almacenar la parte entera de la divisin; en el caso de longitudes, stas se transforman

sp (la ms pequea de TEX; 1 sp = 65536 y el resultado se redondea a un mltiplo entero de sta unidad.

pt)

132

Veamos unos ejemplos

\newskip\LongElastica \LongElastica=% 10pt plus 1fill minus 2fill% \par \the\LongElastica \advance\LongElastica by % 5pt plus 3fill minus 1fill% \par \the\LongElastica \multiply\LongElastica by 3% \par \the\LongElastica \divide\LongElastica by 2 \par \the\LongElastica
10.0pt plus 1.0ll minus 2.0ll 15.0pt plus 4.0ll minus 3.0ll 45.0pt plus 12.0ll minus 9.0ll 22.5pt plus 6.0ll minus 4.5ll En el caso de longitudes rgidas, existe un forma alternativa de multi-

plicarlas por un factor: y

\Longitud1=Numero\Longitud2 (donde \Longitud1 \Longitud2 pueden ser la misma). Este procedimiento de multiplicacin \Longitud1
sea elstica, la accin anterior la

tiene la ventaja de que pueden utilizarse factores no enteros (0.5, 1.25, etc...). En el caso de que transforma automticamente en una rgida; por ejemplo, tras

\LongElastica=10pt plus 1fill minus 2fill \LongElastica=2.5\LongElastica \the\LongElastica


da como resultado 22.5pt plus 6.0ll minus 4.5ll.

El siguiente ejemplo ilustra cmo manejar contadores, deniendo un nuevo comando

\hora que calcula la hora, a partir del contador \time, que

almacena el nmero de minutos despus de la medianoche (probar como ejercicio que el comando funciona correctamente)

\def\hora{\newcount\horas \newcount\minutos % (Definimos dos nuevos contadores) \horas=\time \global\divide\horas by 60 % (la parte entera de la division produce la hora) \minutos=\horas \multiply\minutos by 60

133

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

6 Manejo de cajas en TEX


Cuando T EX compone un documento, trabaja manejando diversos objetos como si fuesen cajas con tres diferentes dimensiones (altura, anchura y profundidad), medidas con respecto a un punto de referencia. Por ejemplo, las lneas se componen alineando las cajas asociadas a cada carcter, segn la lnea base. Entonces, cada lnea se convierte a su vez en una caja, que se alinea (ahora verticalmente), y as sucesivamente hasta que se construye la pgina. Existen tres modos fundamentales de trabajo de T EX, a la hora de componer cajas

Modo horizontal:

T EX agrupa cajas alinandolas horizontalmente unas junto a otras, a lo largo de la lnea base, creando una nueva caja de anchura igual a la suma de anchuras, y de altura y profundidad iguales a la mayor de las alturas y profundidades de las cajas, respectivamente. Existen dos sub-modos diferentes dentro del modo horizontal Ordinario: Es el caracterstico cuando se construyen prrafos; se alinean caracteres horizontalmente, y despus se va cortando para formar lneas de la misma anchura. T EX estira o contrae los espacios para optimizar el resultado nal. Restringido: En este modo, slo se alinean las cajas horizontalmente, sin posibilidad de dividir la caja resultante en cajas ms pequeas. Dentro de este modo, no se entienden los comandos asociados a saltos de lnea, prrafo, etc...

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

134

Ordinario: Es el modo por defecto, en el cual T EX va recogiendo todas las cajas creadas en los modos horizontal y matemtico, para empaquetarlas verticalmente. Interno: Se limita a apilar verticalmente cajas, creando una caja indivisible (por ejemplo, cuando se construyen las columnas de una tabla o matriz).

Modo matemtico:

Se abre para escribir smbolos o frmulas matem-

ticas, existe en dos variantes, ordinario (o tipo prrafo) y resaltado (para frmulas centradas y resaltadas), las cuales ya se han descrito en la seccin correspondiente. En los sucesivo, discutiremos algunos comandos de T EX tiles para crear y colocar cajas (que por supuesto, pueden ser utilizados dentro de

AT X; al n y al cabo, L AT X, como ya se ha repetido, cualquier documento L E E no es ms que un conjunto de macros construidas a partir de T EX, que es el lenguaje de bajo nivel que realmente compila el documento fuente).

6.1 Cajas horizontales: \hbox


El comando

\hbox{Material} \mbox

crea cajas indivisibles, en las que el conte-

nido se escribe de izquierda a derecha. El argumento Material es procesado en modo horizontal restringido, y puede estar compuesto de varias cajas. En realidad, el comando

AT X no es ms que de L E

\hbox

\def\mbox#1{\leavevmode\hbox{#1}}
(el comando

\leavevmode

se asegura de salir del modo vertical, si

estuvisemos dentro de l). Cada caja creada mediante diente de la anchura del el comando

\makebox,

\hbox tiene una anchura natural depenMaterial incluido en ella. Al igual que ocurra con
Crea una caja de anchura

es posible cambiar dicha anchura a nuestro gusto

\hbox to Ancho{Material}
material es menor que

Ancho

y co-

loca en ella el material de izquierda a derecha. Si la anchura del

Ancho, se estirarn los espacios elsticos para

ocupar todo el espacio disponible, mientras que si es mayor, el material sobresaldr de la caja (con lo que se sobreescribir en texto que venga a continuacin); vase el siguiente ejemplo (donde se aade

\fbox

a n de remarcar las cajas

135

\parindent 0pt Normal: \fbox{\hbox{caja ejemplo}} (texto) \\ Estiramos: \fbox{\hbox to 3cm{caja ejemplo}} (texto) \\ Contraemos: \fbox{\hbox to 1cm{caja ejemplo}} (texto)
Normal: caja ejemplo caja (texto) ejemplo (texto)

Estiramos:

Contraemos:

caja ejemplo (texto)

\hbox spread Ancho{Material} Es anlogo al anterior, con la diferencia de que aumenta (o disminuye si el valor es negativo) la anchura natural de la caja en la cantidad

Ancho

\parindent 0pt Estiramos: \fbox{\hbox spread 5mm{caja ejemplo}} (texto) \\ Contraemos: \fbox{\hbox spread -5mm{caja ejemplo}} (texto)
Estiramos: caja ejemplo (texto)

Contraemos:

caja ejemplo (texto)

Con lo ya visto, podemos ahora entender la denicin de los comandos

\leftline, \centerline, \rlap,

etc..., que muestran la potencia de

combinar las manipulaciones de cajas y longitudes

\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}}
donde recordemos que el comando

1fil minus 1fil};


tad.

la longitud

normalmente equivale a

\hss equivale a \hspace{0pt plus \hsize almacena la anchura del texto: \textwidth, aunque puede modicarse a volun-

136

6.2 Cajas verticales: \vbox


Las cajas verticales se construyen con el comando

\vbox{Material};

este

comando inicia el modo vertical interno, aunque es posible que T EX ya est en se modo antes de invocar el comando. El comportamiento del comando depende de si la caja vertical contiene texto en el nivel ms alto, o si contiene el comando

la anchura ser la de una lnea de texto (\hsize). Veamos algunos ejemplos

\vrule (explicado ms adelante); en ambos casos

\parindent 0pt \fbox{\vbox{Texto de prueba \hbox{Una caja} \hbox{Otra caja}}} \fbox{\vbox{\hbox{Una caja} Texto de prueba \hbox{Otra caja}}} \fbox{\vbox{\hbox{Una caja} \hbox{Otra caja} \hbox{Otra caja mas}}} \fbox{\vbox{\hsize 4cm Texto de prueba \hbox{Una caja} \hbox{Otra caja}}} \par % Ntese la diferencia entre % modos horizontal y vertical: \fbox{\vbox{Texto de prueba}} \par \fbox{\vbox{\hbox{Texto de prueba}}}
Texto de prueba Una caja Otra caja Una caja Texto de prueba Otra caja Una caja Otra caja Otra caja mas Texto de prueba Texto de prueba Texto de prueba Una caja Otra caja

Al igual que con las cajas horizontales, se puede jar de antemano la altura de una caja vertical con

\vbox to Alto{Material} Alto).

cuyo signicado es idntico a lo ya visto para por

\vbox spread Alto{Material} \hbox (cambiando Ancho \vbox

de T EX; a diferencia de lo que ocurre con \hbox, no existen realmente AT X con tanta capacidad; por ejemplo, \parbox o el entorno comandos en L E

Es interesante remarcar la exibilidad y potencia del comando

137

minipage permiten jar la altura de la caja, pero adems requieren jar su anchura, lo cual puede ser un inconveniente. El comando

\vbox to Alto{Material} alinea la lnea base de la caja


y

global con la lnea base de la ltima caja (es decir, la inferior) incluida en la caja vertical. Existen tambin los comandos

\vtop to Ancho{Material}

\vcenter to Ancho{Material}

que alinean, respectivamente, la parte superior y central de la caja total con la lnea base (ATENCIN: modo matemtico).

\vcenter slo se puede emplear dentro del

\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 1 Texto 2 Texto 3

6.3 Moviendo cajas


Dependiendo del modo (horizontal o vertical) en el que nos encontremos, disponemos de diversos comandos para desplazar cajas. En el modo horizontal, podemos desplazar cajas verticalmente con donde dos

\raise Desplazamiento o \lower Desplazamiento Desplazamiento es cualquier longitud. De hecho, stos dos comanson esencialmente el mismo, ya que \raise D = \lower -D. Al usar

stos comandos, la lnea base queda inalterada, aunque la altura y profundidad pueden cambiar. La nueva altura y profundidad de la caja se calculan dependiendo de los desplazamientos. Vase el siguiente ejemplo, donde se remarca la lnea base con el comando

\hrule

Texto de prueba; Texto de prueba; Texto de prueba\\ \fbox{\hbox{\hbox to 0pt{\vbox{\hrule width 6cm}} \hbox{pepe} \lower3mm\hbox{pepe}\hbox{pepe}}}\ andres\ jaime\hspace{5mm} \fbox{\hbox{\hbox to 0pt{\vbox{\hrule width 6cm}} \hbox{pepe} \raise5mm\hbox{pepe} \hbox{pepe}}} \ andres \ jaime \\ Texto de prueba; Texto de prueba; Texto de prueba\\ \hrule

138

Texto de prueba; Texto de prueba; Texto de prueba pepe pepe pepe pepe andres jaime pepe pepe andres jaime

Texto de prueba; Texto de prueba; Texto de prueba

El comando

\kern

Longitud se utiliza con carcter general para des-

plazar cajas una cantidad Longitud (que puede ser negativa). La direccin T EX trabajando; en el modo horizontal (en una caja \hbox) el desplazamiento es horizontal, mientras que en el modo vertical (en una caja \vbox) el desplazamiento es vertical. Veamos como ejemplo el cdigo T EX para obtener el logotipo  T EX del desplazamiento, horizontal o vertical, depende que en que modo est

\hbox{T\kern-.1666em\lower.5ex\hbox{E}\kern-.125ex X} \vbox
Para mover horizontalmente las componentes de una caja vertical se utilizan los comandos y

\moveleft Desplazamiento

\moveright Desplazamiento

Es interesante hacer notar que la anchura de la caja tras los desplazamientos slo se modica con desplazamientos a la derecha, y no a la izquierda: la anchura se calcula comenzando en el punto de referencia y extendindose hacia la derecha hasta la parte derecha de la componente ms alejada; por ejemplo (ntese cmo ahora se utiliza car las cajas, en vez de alrededor)

\fbox,

que dejaba un pequeo espacio

\frame para remar\fboxsep

\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 E X X T E E X T

139

6.4 Modicando, creando y reutilizando cajas


AT X; veremos Hemos visto ya el modo de guardar y reutilizar cajas en L E ahora el modo, ms general, de manipularlas a travs de T EX. Podemos
declarar una caja nueva con el comando se almacena una caja en la variable

\newbox\NombreCaja, tras lo cual \NombreCaja con

\setbox\NombreCaja=Caja
A diferencia del comando con el comando

\setbox

\sbox,

que slo maneja cajas horizontales,

Caja puede ser tanto horizontal como vertical.

Otra forma de declarar cajas es hacer uso de los registros (256) de los que T EX dispone para guardar cajas. Estn numerados de 0 a 255, estando el nmero 255 reservado para la caja de la pgina. Podramos entonces, en vez de declarar primero cajas numeradas con

NombreCaja

con

\newbox,

crear directamente etc...

\setbox1=Caja1 \NombreCaja

\setbox2=Caja2
por 1, 2, ...)

(tras lo cual, para todos los comandos descritos a continuacin, se debera reemplazar Para insertar dentro de un documento los contenidos de una caja, se emplean los comandos

\box\NombreCaja

Tras ser usado, borra el contenido de la caja. Usa el contenido de la caja sin borrarlo.

\copy\NombreCaja
Por ejemplo duce A , mientras que A A .

\setbox1=\hbox{A} \fbox{\box1} \fbox{\box1} pro\setbox1=\hbox{A} \fbox{\copy1} \fbox{\copy1} \NombreCaja dada, las siguientes longitudes almacenan,

produce

Para una caja

respectivamente, los valores de anchura, altura y profundidad de la caja

\ht\NombreCaja \dp\NombreCaja \newbox\NuevaCaja y asignamos \setbox\NuevaCaja=\hbox{A B C} tras lo cual, \the\wd\NuevaCaja


Vase el siguiente ejemplo; denimos: produce 28.46527pt (la anchura de la caja). Podemos estirar la caja con

\wd\NombreCaja

\wd\NuevaCaja=2\wd\NuevaCaja tras lo cual \frame{\copy\NuevaCaja}


produce A B C . Los siguientes comandos son anlogos a

\box

\copy,

pero, en vez

de simplemente escribir el contenido de la caja, las desmembran en sus subcomponentes en el momento de ser usadas. Hay versiones horizontal y o no la caja tras ser usada vertical, as como versiones  \box y  \copy, que respectivamente vacan

140

\unhbox\NombreCaja \unhcopy\NombreCaja
caja, y desmembrarla con

\unvbox\NombreCaja \unvcopy\NombreCaja \unhbox

El siguiente ejemplo ilustra la diferencia entre simplemente copiar una

\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

en el primer caso, tras desmembrar la caja, al construir una caja de anchura doble a la primitiva los elementos se reparten tratando de llenar toda la caja; en el segundo, al estar la caja intacta, los elementos se mantienen a la derecha de la caja

\box4,

que contiene a

\box3.

6.5 Rayas horizontales y verticales


En T EX se pueden utilizar dos tipos de rayas o cajas negras; las horizontales, \hrule, y las verticales, \vrule. Para cada una de ellas se pueden especicar tres dimensiones:

Anchura, Altura

Profundidad

\hrule height Altura width Anchura depth Profundidad \vrule height Altura width Anchura depth Profundidad
puede omitirse cualquiera de estos tres parmetros, en cuyo caso T EX asignar valores por defecto

Altura 0.4 pt y Profundidad 0 pt, si la raya es horizontal (\hrule). Anchura 0.4 pt,
si la raya es vertical (\vrule).

El resto de dimensiones se obtiene extendiendo la raya indenidamente hasta completar el tamao de la caja que la contiene. La diferencia esencial entre de una caja vertical

\hrule

\vrule

reside en que

\hrule

es

material vertical, por lo que slo puede ser utilizado entre prrafos o dentro

\vbox, mientras que \vrule es material horizontal, por

lo que slo puede utilizarse dentro de un prrafo o de una caja horizontal

\hbox.

141

\hbox{Ejemplo \vrule width 2pt\vbox to 25pt{linea \par vertical}} \vspace{3mm} \vbox{\hbox to 4cm{Otro ejemplo} \kern 1mm\hrule height 1pt\kern 1mm \hbox to 3cm{linea horizontal}}
linea Ejemplo Otro linea vertical ejemplo 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 Repeticin de objetos
Veremos ahora otro modo de repetir objetos, ligeramente diferente del comando

\multiput

ya visto. En vez de proporcionar el nmero de objetos

a repetir, puede interesarnos llenar un cierto espacio, de longitud ja o variable, 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

\leaders Objeto \hskip Longitud


donde hay que tener en cuenta que

Objeto
o

debe ser una caja, y Longitud por

puede ser cualquier longitud (incluyendo elsticas). Se puede reemplazar

\hskip 1fil
ejemplo

por simplemente

\hfil,

\hskip 1fill

\hfill.

Por

142

\noindent\null\leaders\hrule\hfill \null\\[2mm] \null\leaders\hbox{/\textbackslash}% \hskip.4\hsize\null\\[2mm] \hbox to 4cm{\leaders\hbox{\frame{\hbox to 10pt{\vbox to 10pt{}}} }\hfill}


/\/\/\/\/\/\/\/\/\/\/\/\

Es importante tener en cuenta que es necesario marcar los puntos entre los que acta el comando (otras posibilidades longitudes elsticas. Es por eso que se utiliza en el ejemplo anterior

\leaders, sobre todo si estamos utilizando \null equivalentes seran \mbox{} o \kern0pt).

En el caso de que el objeto a repetir no sea un mltiplo entero del tamao de la caja que contiene a las copias del objeto, aparecer cierta asincrona. Para solucionar esto, se dispone de otras dos variantes de

\leaders

para repetir un objeto

\cleaders Objeto \hskip Longitud \xleaders Objeto \hskip Longitud


mientras que en la caja);

\leaders aparta el espacio sobrante a la derecha, \cleaders


distribuye el espacio sobrante entre cada copia del

reparte el espacio sobrante a ambos lados (centrando las copias del objeto

\xleaders

objeto, ajustando las copias del objeto a la caja; por ejemplo

\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}}

De igual manera a lo ya visto, se pueden repetir objetos en la direccin vertical; para ello, simplemente se cambia el segundo argumento del comando (\vskip

\leaders Longitud).

de horizontal (\hskip

Longitud)

a vertical

143

8 Sistematizando tareas
Veremos ahora una serie de comandos tiles para sistematizar tareas; imaginemos que cada vez que se inicia un prrafo, frmula, caja, ..., queremos que se ejecuten una serie de comandos. Para ello, se tienen las siguientes posibilidades

\everypar{Comandos}

Antes de empezar a dar formato a cada p-

rrafo, se ejecutan Comandos. Veamos un ejemplo, en el que denimos un nuevo contador prrafo, y para cada prrafo, se le pone como ttulo Prrafo n en negrita y centrado

\parindent 0pt \parskip 10pt \newcounter{parrafo} \setcounter{parrafo}{0} \everypar{\addtocounter{parrafo}{1} \centerline{\bfseries Prrafo % \theparrafo}\\[1mm]} Esto es un primer prrafo de ejemplo; en el cdigo anterior...\par ...se puede ver cmo incrementamos el valor del contador \texttt{parrafo al empezar cada prrafo...\par ...y l recuperamos, para imprimirlo, con el comando \verb@\theparrafo@.

Prrafo 1
Esto es un primer prrafo de ejemplo; en el cdigo anterior...

Prrafo 2
...se puede ver cmo incrementamos el valor del contador empezar cada prrafo...

parrafo al

Prrafo 3
...y lo recuperamos, para imprimirlo, con el comando

\theparrafo.

\everymath{Comandos}
modo texto).

Anlogo a

\everypar;

se ejecutan los co-

mandos cada vez que entremos en modo matemtico ordinario (o

\everydisplay{Comandos}

En este caso, los comandos se ejecutan

144

cada vez que se abre el modo matemtico resaltado. Imaginemos que queremos que todas las frmulas resaltadas se escriban en color rojo; para conseguirlo, simplemente se puede declarar

\color{red}}.

\everydisplay{

mandos cada vez que comienze una caja horizontal (\hbox) o vertical (\vbox), respectivamente.

\everyhbox{Comandos}

\everyvbox{Comandos}

Ejecutan los co-

9 Condicionales y bucles
El compilador T EX posee amplias capacidades a la hora de programar diversas acciones. Adems 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 funcin del valor de una variable lgica; su forma general es

IF <Test> [Instrucciones A] ELSE [Instrucciones B] END IF


instrucciones  A, y de no cumplirse, las instrucciones  B. En lenguaje T EX, el condicional se escribe lo cual signica que, de cumplirse la condicin

<Test>,

se ejecutarn las

\if<Test> [Parte A] \else [Parte B] \fi


aunque podemos prescindir de cualquiera de las partes (A o simplemente

B),

y tener

\if<Test> [Parte A] \fi

\if<Test> \else [Parte B] \fi \fi se asume \if. A continuacin describiremos al-

(el ltimo, correspondera a una versin de negacin del condicional). Los condicionales pueden anidarse sin problemas; cada que corresponde con el ms reciente

gunos de los 17 condicionales que estn denidos en T EX, correspondientes a diversos formatos de la condicin <Test>

\ifnum Numero1 Relacion Numero2


Se utiliza para comparar nmeros enteros, con > =. Como ejemplo, denimos un contador de su tamao

Relacion igual a <, \cuatrodigit, que

imprime nmeros es formato de cuatro dgitos, con independencia

145

\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}


produce: 0008 - 0018 - 0198 - 1238.

\ifodd Numero
sirve para comprobar si un nmero entero es impar. En el caso de que queramos analizar el valor de un determinado contador, recordemos que debemos sustituir

Numero por \value{NombreContador}, si AT X. Por contra, estamos trabajando con un contador denido en L E si el contador ha sido denido en T EX(con \newcount), podemos recuperar el valor numrico con

\number\NombreContador.

\the\NombreContador

Por ejemplo, compilando

Esta pgina es \iffodd\value{page} impar \else par\fi


obtendremos Esta pgina es impar, si es impar, o Esta pgina es par si es par.

\ifdim Dimension1 Relacion Dimension2


se utiliza para comparar dos longitudes. Como ejemplo, vamos a construir un comando que crea una caja enmarcada con un texto en tamao

\huge

(que ser el primer argumento del comando) y un

texto de leyenda, que se colocar centrada si la longitud de la leyenda es menor que la del texto principal, o en estilo prrafo si es mayor

\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

146

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 quedado viejo

\ifhmode

\ifvmode

\ifmmode \ensuremath de

sirven para comprobar, respectivamente, si estamos dentro del modo horizontal, vertical, o matemtico (en cada caso, no se distingue entre los diferentes sub-modos). Por ejemplo, el comando

AT X est denido como L E

\newcommand{\ensuremath}[1]{\ifmmode #1\else $#1$\fi} \ifcase Numero [Caso n=0] \or [Caso n=1] \or ... [Caso n=M] \else [Caso n=Otro Numero] \fi
sirve para ejecutar diferentes acciones, de acuerdo a los valores que tome la variable si

y as sucesivamente hasta

n=1 las, segundas, M; opcionalmente podemos colocar ms instrucciones despus de \else, que se ejecutarn si Numero es menor que 0 o mayor que M. Vase el siguiente ejemplo, que traduce nmeros
se ejecutaran las primeras instrucciones, si naturales a notacin hexadecimal

n=0

Numero

(que puede, por ejemplo, ser un contador);

\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}

147

Comando

Resultado 7 C

\hexadec{7} \hexadec{12}

\ifx Argumento1Argumento2
compara dos argumentos entre s, siendo verdadero si son iguales y falso si son distintos. 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 sern despus comparados. Por ejemplo

Argumento1 y Argumento2 pueden ser caracte-

\def\a{Hola} \def\b{Hola} \def\c{hola} \def\d{H} \def\e{\hbox{hola}} \def\f{\hbox{hola}} Comparaci\'{o}n 1: \ifx AA iguales \else distintos \fi\\ % (caracteres aislados son comparables) Comparacin 2: \ifx \a\b iguales \else distintos \fi\\ Comparacin 3: \ifx \a\c iguales \else distintos \fi\\ Comparacin 4: \ifx H\d iguales \else distintos \fi\\ Comparacin 5: \ifx \c\e iguales \else distintos \fi\\ Comparacin 6: \ifx \e\f iguales \else distintos \fi\\
Comparacin 1: iguales Comparacin 2: iguales Comparacin 3: distintos Comparacin 4: distintos Comparacin 5: distintos Comparacin 6: iguales

AT X tambin proporciona algunos condicionales predenidos, que es L E


bueno conocer

148

\if@twoside twoside
o

\if@twocolumn
respectivamente, y falsos en caso contrario.

son verdaderos si se est procesando el documento con las opciones

twocolumn

\@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 utiliAT X en los comandos que utilizan argumentos opcionales, zado en L E caracterizados por ir entre corchetes. Veamos un ejemplo de cmo
denir un comando con dos argumentos, uno de ellos optativo; queremos recuadrar un texto dado con una lnea de grosor variable, por defecto

pt

0.4

\def\mirecuadro[#1]#2{{\fboxrule#1\fbox{#2}}} \makeatletter \def\recuadro{\@ifnextchar[{\mirecuadro}{ \mirecuadro[0.4pt]}} \makeatother


Tras esto,

\recuadro{Prueba}

resultar en

si queremos cambiar el grosor de lnea a

1pt,

Prueba , mientras que deberemos escribir

\recuadro[1pt]{Prueba} Prueba . Por qu los comandos \makeatletter y \makeatother? La razn est en que, por defecto, est prohibido utilizar el smbolo @ en los comandos dentro de
un documento; ste comando se utiliza frecuentemente en las clases de documentos o paquetes, por lo que se restringe su uso para evitar coincidencias casuales con comandos ya denidos. El comando

\makeatletter levanta esta prohibicin, \makeatother la vuelve a recuperar.

mientras que el comando

Podemos utilizar lo aprendido en el ejemplo anterior para construir comandos ms complicados. Por ejemplo, procedamos a modicar el comando

\recuadro

(renombrndolo a

\Recuadro)

para que ahora admita

dos argumentos optativos, segn la sintaxis

\Recuadro[Grosor](Color){Texto}
siendo lor (rojo por defecto). Utilizando recursivamente el condicional se obtiene el resultado deseado.

Grosor la anchura del recuadro (0.4pt por defecto), y Color su co\@ifnextchar

\makeatletter

149

\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 Hola

\Recuadro[2pt](blue){Hola}

9.1 Nuevos condicionales


Volviendo a T EX, veremos ahora la forma de denir nuevos condicionales con el comando \newif, de sintaxis

\newif\ifNombre
donde Nombre corresponder al nombre del nuevo condicional. El comando \newif se encarga de denir tres nuevos comandos

\Nombretrue

Asigna a la variable lgica

Nombre

el valor verdadero. el valor falso.

\Nombrefalse

Asigna a la variable lgica

Nombre

\ifNombre... \else... \fi


la variable lgica

Nuevo condicional, que ejecuta una

accin u otra segn el valor que se le haya asignado anteriormente a

Nombre.

Como ejemplo, denamos un nuevo entorno ocultar, de forma que el texto dentro de tal entorno se muestre o no en el documento nal, dependiendo del valor de una variable lgica

\newbox\boxocultar \newif\ifocultar \newenvironment{ocultar} {\setbox\boxocultar\vbox\bgroup} {\egroup\ifocultar\else\par\unvbox\boxocultar\fi}


tras esta denicin, si se coloca el comando

\ocultartrue,

todo el texto

dentro de entornos ocultar que estn a continuacin de este comando no se ver en el documento nal; en cambio, sustituyndolo por

\ocultarfalse,

se reestablecer el texto dentro de tales entornos, por ejemplo

150

\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 inclusin de notas y comentarios que puede convenirnos suprimir en el documento nal; aadir un comando por una. Merece la pena analizar un poco la denicin del nuevo entorno 1.

\ocultartrue es ms rpido que comentar lneas una

\newbox\boxocultar Dene una nueva caja para almacenar el texto


oculto.

2.

\setbox\boxocultar\vbox\bgroup macena en \boxocultar; ntese el


conicto con la sintaxis del comando

Abre una caja vertical y la alempleo del comando

\bgroup:

ste comando es anlogo a  {, es decir, es un delimitador de grupo. La sutileza radica en que, de usar directamente  {, habra un

\newenvironment

3.

{\egroup\ifocultar\else\par\unvbox\boxocultar\fi} Tras haber abierto la caja vertical, y haberse rellenado con todo el texto dentro del entorno, se cierra con

\egroup (anlogo a  }); recordemos

que todo lo que iba entre el primer conjunto de llaves corresponde a

AT X a ejecutar al entrar en el entorno, mientras las instrucciones L E que este segundo conjunto de instrucciones corresponde a lo que debe
hacerse al salir del entorno. Tras eso, se comprueba con contrario, se deshace e imprime la caja

ifocultar

si el texto debe ocultarse, en cuyo caso, no se hace nada, y, en caso

\boxocultar.

9.2 Bucles
Se realizan bucles con el comando

\loop ParteA \if... ParteB \repeat


donde

ParteA

ParteB

son conjuntos de comandos, y

condicional, sin la correspondiente partcula

ParteA; si no, inmediatamente se sale del bucle. Denamos como ejemplo un comando que imprima los primeros n nmeros
comenzando de nuevo por naturales

ParteA;

si la condicin es verdadera, procesa

\fi. TEX ParteB, y

\if

es cualquier

procesa primero repite el proceso

151

\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

AT X estn predenidos bucles asociados a condicionales especEn L E cos, tiles para manejar nmeros y longitudes

\@whilenum{TestNum} \do {Accion} \@whiledim{TestLong} \do {Accion}


En ellos, se evala la relacin numrica se procesarn las instrucciones en

TestNum

TestLong

(compa-

racin de nmeros o longitudes, respectivamente); mientras sea verdadera

Accion,

terminando el bucle en el mo-

mento en que la relacin sea falsa. El siguiente ejemplo calcula la sucesin de todos los nmeros pares menores que uno dado

\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 nmeros 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, Tambin es posible denir bucles en los que la condicin de control sea un condicional

\ifNombre

denido en T EX con

\newif

\@whilesw\ifNombre\fi{Accion} \ifNombre
con lo que T EX procesar los comandos de sea falso.

Accion hasta que el condicional

152

Finalmente, se pueden tambin construir estructuras  for / de una lista. Se utiliza la sintaxis

next, en

las cuales se ejecuta una serie de acciones para cada uno de los elementos

\@for\Nombre:=\lista\do{Accion}
que va almacenando los diferentes elementos de una lista (\lista), que debe ser previamente denida con donde

\Nombre

es una variable (que no hace falta denirla previamente)

\def;

los elementos de la lista han de

denimos a travs de T EX un comando \longitud{Palabra} para contar el nmero de letras de una palabra, que luego utilizamos para crear un tabla con las longitudes de una lista de palabras almacenadas en

estar separados entre s por comas. En el siguiente ejemplo, primeramente

\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 Juan Andrs Antonio 4 4 7 7

153

9.3 Otros ejemplos

Invertir una palabra


\def\Invertir#1{% \def\INV{}\INVCAD#1\end\INV}% \def\INVCAD#1{% \ifx#1\end\let\next=\relax \else\CONCAD#1% \let\next=\INVCAD\fi\next}% \def\CONCAD#1{\edef\INV{#1\INV}} \Invertir{Espejo}Espejo\par Curioso\Invertir{Curioso}
ojepsEEspejo CuriosoosoiruC

Nmeros primos
\newif\ifprime \newif\ifunknown % \newcount\n \newcount\p % \newcount\d \newcount\a % \def\primes#1{2,~3 % (#1 is at least 3) \n=#1 \advance\n by-2 % n more to go \p=5 % odd primes starting with p \loop\ifnum\n>0 \printifprime\advance\p by2 \repeat} \def\printp{, % we will invoke \printp if p is prime \ifnum\n=1 \fi \number\p \advance\n by -1 } \def\printifprime{\testprimality \ifprime\printp\fi} \def\testprimality{{\d=3 \global\primetrue \loop\trialdivision \ifunknown\advance\d by2 \repeat}} \def\trialdivision{\a=\p \divide\a by\d \ifnum\a>\d \unknowntrue\else\unknownfalse\fi \multiply\a by\d \ifnum\a=\p \global\primefalse\unknownfalse\fi}
Tras lo cual,

\primes{200}

calcula e imprime los 200 primeros nmeros

primos: 2, 3 , 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,

154

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.

CAPTULO III

LA CLASE FCUNP

1 Introduccin
Cualquier estudiante de pregrado de la Facultad de Ciencias de la Universidad Nacional de Piura (FC-UNP) que desea redactar su tesis se encuentra con el inconveniente de generar, en formato adecuado, las primeras cinco pginas de la misma; as como, las pginas de la lista de contenidos, lista de guras, lista de tablas, anexos, apndices y resumen. Adems de la carencia de un adecuado editor de frmulas matemticas que son de uso comn a tales estudiantes. Este trabajo presenta la clase

Fc Unp

que permite, al estudiante de

pregrado de la FC-UNP, redactar todo el trabajo tesis de acuerdo con el formato que exige el Reglamento de Tesis de dicha facultad. Adicionalmente, y dado que es requisito presentar un ejemplar de la tesis en formato virtual, la clase

AT X. De este modo, el alumno que utilice la clase mediante PDFL E

Fc Unp

permite obtener un archivo PDF de la misma,

Fc Unp

para redactar su trabajo de tesis se concentrar nicamente en el contenido del mismo, sin tener que invertir tiempo en darle formato. Por otra parte, si la FC-UNP ocializa el uso de dicha clase obtendr como benecio que la totalidad de los trabajos tendrn un formato nico y de nivel profesional.

2 Cmo invocar la clase FcUnp


La clase

AT X. Fc Unp es una modicacin de la clase estndar book de L E

Por tanto, es posible que el estudiante utilice todos los comandos de book

156

en la preparacin del cuerpo de la tesis. La clase

Fc Unp

se invoca reem-

plazando book por fcunp en la primera lnea del documento:

\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, nombres de patrocinadores, dedicatorias, etc.

3.2 Comandos para ingresar datos


1.

\school{<n >}
Permite ingresar un nmero entero positivo entre para identicar la Escuela Profesional. Admite

1 y 5, incluidos, n = 1 para referirse

a la Escuela de Biologa, n = 2 para referirse a la Escuela de Fsica, n = 3 para referirse a la Escuela de Matemtica, n = 4 para referirse a la Escuela de Electrnica n = 5 para referirse a la Escuela de Estadstica. Cabe mencionar que de acuerdo al nmero ingresado se obtendr automticamente la primera primera pgina (cubierta) en el color asignado a la respectiva escuela. 2.

\title{<Ttulo

de la tesis >}

Permite ingresar el ttulo de la tesis. 3.

\author{<Autor
comando

de la tesis >}

Permite ingresar el nombre del autor de la tesis. En caso de ser dos autores los nombres de los mismos debern ir separados con el

\and.

4.

\sponsor{<Patrocinador >}
Permite ingresar el nombre del patrocinador de la tesis. En caso de ser dos patrocinadores los nombres de los mismos debern ir separados con el comando

\and.

157

5.

\jury{<Miembros

del Jurado >}

Permite ingresar los nombres de los miembros del Jurado de la tesis, los mismos que se separarn con el comando 6.

\and.

\dedication{<Dedicatoria >}
Permite ingresar la dedicatoria del autor. En caso de ser dos autores las dedicatorias de los mismos debern ir separadas con el comando

\and.
7.

\acknowledgments{<Agradecimientos >}
Permite ingresar los agradecimientos del autor, los mismos que se separarn con el comando

\and.

8.

\resumen{<Resumen >}
Permite ingresar el resumen de la tesis.

9.

\palabrasclave{<Palabras \abstract{<Resumen \keywords{<Palabras

clave >}

Permite ingresar las palabras clave. 10.

en ingls >}

Permite ingresar el resumen en idioma ingls. 11.

clave en ingls >}

Permite ingresar las palabras clave en idioma ingls.

3.3 Comandos para generar pginas


1.

\makecover
Permite generar la portada.

2.

\maketitle
Permite generar la pgina de ttulo.

3.

\makesignature
Permite generar la pgina de rmas.

4.

\makededication
Permite generar la pgina de la(s) dedicatoria(s).

5.

\makeacknowledgments
Permite generar la pgina de los agradecimientos.

158

3.4 Otros comandos


1.

\frontmatter
Apertura de la tesis. La numeracin de las pginas ubicadas despus de este comando se realiza con nmeros romanos.

2.

\mainmatter
Parte central de la tesis. Aqu tambin se ubican las conclusiones y recomendaciones mediante el comando con el comando

\annex

y los apndices con el comando

\conclusions, los anexos \appendix.

3.

\backmatter
Cierre de la tesis.

4 Paquetes incorporados
La clase

AT X: Fc Unp incorpora los siguientes paquetes estndar de L E


Este paquete se utiliza para establecer los mrgenes de pgina

geometry babel

de la Tesis. Este paquete se utiliza activando la opcin

spanish con la nalidad latin1


con la -

de conseguir una adecuada particin silbica de las palabras.

inputenc amsthm graphicx epstopdf

Este paquete se utiliza activando la opcin

nalidad de permitir el uso y la compilacin de caracteres que no corresponden al cdigo ASCII. Este paquete se utiliza para darle un formato adecuado a las de-

niciones, teoremas, corolarios, lemas, proposiciones, etc. y tambin a las demostraciones. Este formato se utiliza para poder insertar grcos y es preciso

incluirlo en la clase pues de otra forma no se podra incluir el logo de la UNP en la cubierta. Este paquete se utiliza para convertir los grcos

AT X. y poder as generar el archivo PDFL E

.eps

.pdf

hyperrefn

Este paquete constituye una ligera modicacin del paquete

estndar

hyperref

y se utiliza para generar los hipervnculos del

ndice general, de las referencias, de las direcciones web, as como tambin para generar los marcadores.

159

5 Un ejemplo especco
El ejemplo que se presenta en esta seccin permite observar el cdigo elemental de una tesis, as como algunas pginas importantes en formato

AT X Adems en las guras 3.6 y 3.7 se aprecia la salida obtenida por PDFL E con el paquete hyperrefn que permite generar hipervnculos y marcadores
en forma automtica. La lnea 1 del cdigo anexado invoca la clase

dvi

(ver Figs. 3.1, 3.2, 3.3, 3.4 y 3.5), generadas con la clase

Fc Unp .

Fc Unp . La lnea 3 invoca

tres paquetes, de la American Mathematical Society, para trabajar con matemtica. Las lneas 517, muestran el correcto uso de los comandos

para ingresar datos y del comando para separar datos ingresados ; mientras
que las lneas 2327, 77 y 78 muestran el correcto uso de los comandos

para generar pginas. Las lneas 21, 35 y 67, separan la apertura, la parte
central y el cierre de la tesis y las lneas 53, 60 y 64 indican el inicio de las conclusiones (y recomendaciones), los anexos y apndices, respectivamente. El resto de lneas terminan de completar el cuerpo del documento y son de

AT X generado con la clase estndar uso comn en cualquier documento L E book.

Cdigo Anexado

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

\documentclass{fcunp} \usepackage{amssymb,amsmath,amsfonts} \school{3} \title{``Ttulo de la Tesis''} \author{Primer Autor \and Segundo Autor} \sponsor{Primer patrocinador \and Segundo patrocinador} \jury{Presidente \and Secretario \and Vocal} \dedication{Primera dedicatoria.\\\textit{Primer Autor} \and Segunda dedicatoria.\\\textit{Segundo Autor}} \acknowledgments{Primer agradecimiento. \and Segundo agradecimiento.} \resumen{Este es el resumen.} \palabrasclave{Palabraclave1, palabraclave2.} \abstract{This is the abstract.} \keywords{Keyword1, keyword2.}

160

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

\begin{document} \frontmatter \makecover \maketitle \makesignature \makededication \makeacknowledgments \chapter{Prlogo} ste es el prlogo. \tableofcontents \listoffigures \chapter{Introduccin} sta es la introduccin. \mainmatter \chapter{Este es el primer captulo} Texto para el primer captulo. \section{La primera seccin del primer captulo} Texto para la primera seccin del primer captulo. \begin{equation}ax^2+bx+c=0\,.\end{equation} \chapter{Este es el segundo captulo} \section{La primera seccin del segundo captulo} Texto para la primera seccin del segundo captulo. \begin{figure} \centering \includegraphics[scale=0.5]{img/unp.eps} \caption{Mi primera figura.} \end{figure} \conclusions \chapter{Conclusiones} Aqu van las conclusiones. \chapter{Recomendaciones} Aqu van las recomendaciones.

161

59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

\annex \chapter{Este es un anexo} Texto para el anexo. \appendix \chapter{Este es un apndice} Texto para el apndice. \backmatter \begin{thebibliography}{CM} \bibitem{Buh} Buhmann, M. D. (2004). Radial Basis Functions: Theory and Implementations. Cambridge University Press. United Kingdom. \end{thebibliography} \makeresumen \makeabstract \end{document}
Fin

Adicionalmente, el texto referente a las escuelas y al ttulo profesional, as como el color de las primeras pginas, es modicado en forma automtica cuando el cdigo de la lnea 5 se sustituye por 3.8, izquierdaarriba), (Fig. 3.8,

\school{1} (Fig. \school{2} (Fig. 3.8, derechaarriba), \school{4} izquierdaabajo) y \school{5} (Fig. 3.8, derechaabajo).

6 Obtencin de la clase FcUnp


El Reglamento de Tesis de la Facultad de Ciencias, la clase archivo PDF de este libro, el paquete y partir del primero con la clase

ejemplo.tex, ejemplo.dvi

hiperrefn; as como ejemplo.pdf (los dos ltimos

Fc Unp , un
los archivos generados a

Fc Unp ) pueden obtenerse desde

https://sites.google.com/site/ripanaque/docencia

162

Fig. 3.1

Cuatro primeras pginas (dvi outputs) de la tesis formateadas

con la clase

Fc Unp .

163

Fig. 3.2

Los agradecimientos, el prlogo y el ndice general y (dvi outputs)

son automticamente formateadas con la clase

Fc Unp .

164

Fig. 3.3

los captulos I y II (dvi outputs) son automticamente formateadas con la clase

El ndice de guras, la introduccin y las primeras pgimas de

Fc Unp .

165

Fig. 3.4

Las conclusiones, recomendaciones, anexos y apndices (dvi out-

puts) son automticamente formateadas con la clase

Fc Unp .

166

Fig. 3.5

La bibliografa, el resumen y el abstract (dvi outputs) tambin

son automticamente formateadas con la clase

Fc Unp .

167

Fig. 3.6

paquete

hyperrefn,

Salida formateada por

AT X con el Fc Unp y producida por PDFL E

con sus respectivos marcadores.

168

Fig. 3.7

paquete

hyperrefn,

Salida formateada por

AT X con el Fc Unp y producida por PDFL E

con sus respectivos hipervnculos y marcadores.

169

Fig. 3.8

Formato automtico por escuelas con

Fc Unp .

170

7 Cdigo de la clase FcUnp


%% %% %% %% %% %% %% %% 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] \newcommand\@ptsize{}% tama\'{n}o de letra 12 \newif\if@mainmatter\@mainmattertrue \newif\if@chapter\@chaptertrue \newif\if@conclusions\@conclusionsfalse \newif\if@annex\@annexfalse \newif\if@appendix\@appendixfalse \newif\if@final\@finaltrue \newcommand{\setstretch}[1]{% control de espacio con \setstretch \def\baselinestretch{#1}% \@currsize } \newif\if@pdftex \@pdftexfalse% condicional para pdfLaTeX \ifx\pdfoutput\undefined \else \ifx\pdfoutput\relax \else \ifcase\pdfoutput \else \@pdftextrue \fi \fi \fi

171

%Define tama\~{n}o de papel \setlength\paperheight{297mm} \setlength\paperwidth{210mm} %Fin %control de viudas y hu\'{e}rfanas \widowpenalty=10000 \clubpenalty=10000 %Fin %Para evitar los overfull a toda costa \pretolerance=9000 \tolerance=9000 %Fin %Define tama\~{n}o de letra \renewcommand\@ptsize{2} %Fin \DeclareOption{draft}{\@finalfalse\setlength\overfullrule{5pt}} \if@compatibility\else \DeclareOption{final}{\@finaltrue\setlength\overfullrule{0pt}} \fi %Formato por defecto \ExecuteOptions{final} \ProcessOptions \input{bk1\@ptsize.clo} \renewcommand\baselinestretch{2} \setlength{\parskip}{10pt} \setlength{\footnotesep}{5mm} \setlength\parindent{12mm} \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \setcounter{topnumber}{2} \renewcommand\topfraction{.7} \setcounter{bottomnumber}{1} \renewcommand\bottomfraction{.3}

172

\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}

173

\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%

174

\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% }%

175

%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}

176

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}

177

\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}}

178

\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 %Elabora la pagina de firmas \newcommand\makesignature{% \if@pdftex \pdfbookmark{Firmas}{signature} \fi \authornumber% \sponsornumber% \jurynumber% \begin{titlepage} \vspace*{-2.5em}\hspace*{-4em} \begin{minipage}[c][221mm]{140mm}

179

\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

180

%Dedicatoria \def\dedication#1{\gdef\@dedication{#1}} \def\dedicationname{ \begingroup% \par% \def\and{\vskip 3cm\leftskip 4cm}% \leftskip 4cm% \@dedication\par% \endgroup} %Fin %Elabora la pagina de dedicatoria \newcommand\makededication{% \if@pdftex \pdfbookmark{Dedicatoria}{dedication} \fi \begin{titlepage} \vspace*{0em} \begin{center}% {\bf\large DEDICATORIA} \end{center} \vfill \setlength\parindent{0cm}\dedicationname \vfill\vfill \end{titlepage} } %Fin %Agradecimiento \def\acknowledgments#1{\gdef\@acknowledgments{#1}} \def\acknowledgmentsname{ \begingroup% \def\and{\item} \begin{itemize} \item\@acknowledgments \end{itemize} \endgroup}

181

%Elabora la pagina de agradecimiento \newcommand\makeacknowledgments{% \if@pdftex \pdfbookmark{Agradecimientos}{acknowledgments} \fi \authornumber% \begin{titlepage} \vspace*{0em} \begin{center}% {\bf\large AGRADECIMIENTOS} \vskip 4em \ifcase \c@@au% \relax \or% \hskip -6em El autor desea\; \or% \hskip -6em Los autores desean\;% \fi% expresar su m\'{a}s sincero agradecimiento: \acknowledgmentsname \end{center} \end{titlepage} } %Fin %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

182

\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{%

183

\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}%

184

\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}}%

185

\@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}

186

\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}

187

\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}

188

\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{%

189

\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}

190

\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%

191

\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

192

\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 %Formato para teoremas, definiciones, etc \RequirePackage{amsthm} \newtheoremstyle{unp}% name of the style to be used {10pt}% space above {10pt}% space below {}% body font {0pt}% indent amount {\bfseries}% theorem head font {.}% punctuation after theorem head {.5em}% space after theorem head \newline=linebreak {\thmnumber{#2}. \thmname{#1}\thmnote{#3}}% theorem head spec \theoremstyle{unp} \newtheorem{@ux}{}[section] \newtheorem{definition}[@ux]{Definici\'{o}n} \newtheorem{lemma}[@ux]{Lema} \newtheorem{theorem}[@ux]{Teorema} \newtheorem{corollary}[@ux]{Corolario} \newtheorem{comment}[@ux]{Comentario} \newtheorem{assertion}[@ux]{Aserci\'{o}n} \newtheorem{proposition}[@ux]{Proposici\'{o}n} \newtheorem{example}[@ux]{Ejemplo} %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

193

%Funciones matem\'{a}ticas especiales \newcommand\abs[1]{\lvert#1\rvert} \newcommand\norm[1]{\lVert#1\rVert} %fin \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

Este artculo presenta la clase

Fc Unp

que permite redactar la tesis de

pregrado de cualquier estudiante de la FC-UNP, ajustndose al formato exigido por el Reglamento de Tesis de la mencionada Facultad. Los comandos implementados en dicha clase permiten que el estudiante se concentre nicamente en el contenido de la tesis sin tener que invertir tiempo en darle formato al mismo. Adems, la clase que exige la FC-UNP.

AT X, el cual constituye un requisito adicional PDF producido por PDFL E

Fc Unp permite obtener una archivo

RECOMENDACIONES

Se recomienda divulgar el uso de la plantilla

Fc Unp

en la Facultad de

Ciencias para que los alumnos egresantes digiten sus respectivos trabajos de Tesis de este modo se obtiene uniformidad en los trabajos presentados y

AT X siendo esto ltimo esencial para se familiariza al alumno en el uso de L E cuando los alumnos decidan cursan estudios de postgrado en la capital o
en el extranjero.

AT X para digitar De modo similar, se sugiere elaborar una clase en L E la tesis de grado.

BIBLIOGRAFA

[1] Aranda, mticas,

E.

CURSO

DE

LATEX.

Departamento Universidad

de de

MateCasti-

http://www.wiphala.net/courses/tools/latex/ KAS_LATEX/2008-I (2008).


lla, La Mancha.

E.T.S.

Ingenieros

Industriales,

[2] Cubides, C., Rojas, A. y Pardo, C. CURSO BSICO DE LATEX.

http://www.emis.de/journals/RCE/IntroLatex

(2006).

[3] Griths, D and Higham, D. LEARNING LATEX. The Society for Industrial and Applied Mathematics (1997). [4] Gurari, E. WRITING WITH TEX. McGraw-Hill, Inc. (1994). [5] Knuth, D. THE TEXBOOK. Adisson-Wesley Publishing Company (1991). [6] Lamport, L. LATEX. A DOCUMENT PREPARATION SYSTEM. Addison-Wesley Publishing Company (1994). [7] Mora, FICOS W. y Borbn, A. EDICIN de DE TEXTOS Instituto CIENTTecnolgi-

co de Costa Rica. http://www.cidse.itcr.ac.cr/revistamate/ HERRAmInternet/Latex/wmlatexrevista (2008).

LATEX.

Escuela

Matemtica

[8] Mori, L. WRITING A THESIS WITH LATEX. The PracTex Journal (2008). [9] Shultis, J. LATEX NOTES. Prentice Hall, New Jersey (1994).

You might also like