La Te X 2017 Manual

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 307

DownloadLa Te X 2017 Manual
Open PDF In BrowserView PDF
Alexánder Borbón A., Walter Mora F.

Edición de Textos Científicos

LaTEX

Composición, Diseño Editorial, Gráficos,
Inkscape, Tikz y Presentaciones Beamer

Revista digital
Matemática, Educación e Internet. (http://tecdigital.tec.ac.cr/revistamatematica/).

Copyright© Revista digital Matemática Educación e Internet (https://tecdigital.tec.ac.cr/revistamatematica/).
Correo Electrónico: wmora2@itcr.ac.cr
Escuela de Matemática
Instituto Tecnológico de Costa Rica
Apdo. 159-7050, Cartago
Teléfono (506)25502225
Fax (506)25502493

Mora Flores, Walter.
EdiciAn de Textos Científicos con LATEX. Composición, Gráficos, Inkscape y Presentaciones Beamer/Walter Mora F.
Alexánder Borbón A. – 2da ed.
– Escuela de Matemática,Instituto Tecnológico de Costa Rica. 2016.
311 pp.
ISBN 978-9977-66-227-5
1. TeX. 2. Composición tipográfica-automatizada 3. Tipos - símbolos matemáticos.

Revista digital

Licencia.

Matemática, Educación e Internet.
https://tecdigital.tec.ac.cr/revistamatematica/.

Este libro se distribuye bajo la licencia Creative Commons: Atribución-NoComercial-SinDerivadas
CC BY-NC-ND (la “Licencia”). Usted puede utilizar este archivo de conformidad con la Licencia. Usted puede obtener
una copia de la Licencia en http://creativecommons.org/licenses/by-nc-nd/3.0/. En particular, esta licencia
permite copiado y distribución gratuita, pero no permite venta ni modificaciones de este material.
Límite de responsabilidad y exención de garantía: El autor o los autores han hecho su mejor esfuerzo en la preparación
de este material. Esta edición se proporciona“tal cual”. Se distribuye gratuitamente con la esperanza de que sea útil,
pero sin ninguna garantía expresa o implícita respecto a la exactitud o completitud del contenido.
La Revista digital MatemAáticas, Educación e Internet es una publicación electrónica. El material publicado en ella expresa la opinión de sus autores y no necesariamente la opinión de la revista ni la del Instituto Tecnológico de Costa Rica.

V

Í NDICE GENERAL

1

P RÓLOGO

1

LATEX: P RIMEROS PASOS

2

1.1
1.2

2

¿Qué es LATEX?
Distribuciones TEX y editores.
Distribuciones TEX
Un Editor
Un editor de ecuaciones y cosas adicionales

2

ACCIONES EN UNA SESIÓN CON LATEX

8

2.1
2.2
2.3
2.4
2.5
2.6

8

Editar, compilar y ver el resultado.
Compilar
Ajustes del documento
Usar paquetes adicionales
Ajustes con el paquete Geometry
Idioma
Si hay conflictos con el paquete babel...
Plantilla para este capítulo.

3

3
4
4
4

9
12
13
14
15
16
17

E SCRITURA DE T EXTO N ORMAL

19

3.1

19
19
20
20

Tipos y tamaños de fuentes.
Caracteres especiales.
Algunos tipos de fuentes (fonts).
Tamaños de letras.

3.2

Párrafos y efectos especiales.
Centrar
Espacio horizontal y vertical
Cajas
Texto en columnas: multicol, minipage y parbox
Líneas y otros efectos de texto
Notas al pie de página.
Texto como en la pantalla

3.3

Color y cajas de color
Notas en el margen

21
21
21
22
22
25
26
26
27
29

3.4

Enumerado automático.
Enumeración usando el paquete TikZ.

3.5

Título, contenido, secciones y bibliografía
Indice alfabético

3.6
3.7

Modulación
(*) Más cosas sobre las fuentes.
Las fuentes y sus atributos
Usando las fuentes del sistema con XeLATEX.

4

38
41
44
44
46
48

T EXTO EN MODO MATEMÁTICO

52

4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17

53

Potencias, subíndices y superíndices
Tamaño natural
Fracciones y expresiones de dos niveles
Raíces
Tres puntos consecutivos
Delimitadores
LLaves y barras horizontales
Acentos y “sombreros” en modo matemático
Vectores
Negritas en modo matemático
Espacio en modo matemático
Centrado
Entorno equation. Contadores
Arreglos
Matrices
Alineamiento
Tablas de símbolos matemáticos frecuentes
Letras griegas
Operadores binarios
Relaciones
Negación de relaciones
Otros símbolos
Especiales
Símbolos del paquete amssymb

4.18 Cómo hacer nuevos Comandos.
Comandos con opciones

5

29
36

53
54
55
56
56
57
59
59
59
60
60
60
61
64
65
69
69
69
70
70
70
70
70
71
74

TABLAS Y OBJETOS FLOTANTES

77

5.1
5.2
5.3
5.4
5.5
5.6

78

Tablas de más de una página
Objetos flotantes: Entornos figure y table
Fuentes en tabular.
Color en tablas.
Rotación de texto en celdas.
Unir celdas.

80
82
82
84
86

5.7
5.8
5.9
5.10
5.11
5.12

6

I NSERTAR GRÁFICOS Y FIGURAS
6.1
6.2
6.3
6.4
6.5
6.6

7

Espacio vertical en las filas.
Ancho de las columnas
Modo matemático con tabularx
Escalar una tabla
Personalizar las leyendas (“caption”)
Tablas con TikZ y tcolorbox

Introducción
Compilando con LaTeX. Figuras eps
Compilando con PDFLATEX
De nuevo: Paquete float
Paquete subfigure
Los ambientes wrapfigure y floatflt

E DICIÓN DE GRÁFICOS Y FIGURAS
7.1
7.2
7.3

Gráficos en formato vectorial
Inkscape
Extensión TexText para Inkscape
Opciones

7.4
7.5

Edición adicional de figuras con Inkscape
Instalación de la extensión TeXText
Instalación en Ubuntu
Instalación en Windows

8

C ITAS BIBLIOGRÁFICAS CON B IB T E X
8.1
8.2
8.3

9

Entorno thebibliography
BibTEX
JabRef

D ISEÑO E DITORIAL
9.1
9.2

Bajar la carga cognitiva
Amenidad: Los Cuatro Principios Básicos
Proximidad.
Alineamiento.
Repetición.
Contraste.

9.3
9.4
9.5

Legibilidad: Cómo escoger las fuentes.
Color
Editar un PDF con Inkscape

88
89
93
93
94
95

100
100
101
104
110
111
111

115
115
116
117
118
120
125
125
126

129
129
130
133

136
136
138
138
139
139
139
140
141
143

10

E NTORNOS Y CAJAS

148

10.1 Entornos simples
10.2 Entornos con xparse
10.3 Crear figuras nativas con TikZ

148
151
154
155
157
160

Comando draw
Nodos
Nodos y flechas.

10.4 Cajas con el paquete tcolorbox
10.5 Capas (overlays)
10.6 Cajas con “newenvironment”

11

162
168
179

P ERSONALIZAR EL D OCUMENTO
11.1
11.2
11.3
11.4
11.5
11.6
11.7
11.8

Entornos
Personalizar secciones
Personalizar capítulos
Personalizar páginas de título
Tablas de contenido
Encabezados de página
Insertar una portada
Listas de ejercicios con solución
Paquete answers
Paquete “ans”

11.9 Plantillas LaTeX para libros
Otras Plantillas (templates)

LAT

EX

11.10 Libro con algoritmos y programas
Paquete algorithm2e (versión 5.0, 2013)

11.11 Color para el código
Paquete Listings
Paquete minted
Paquete verbments

11.12 LaTeX, R y Knitr

12

P RESENTACIONES CON B EAMER
12.1
12.2
12.3
12.4
12.5
12.6
12.7
12.8
12.9

Introducción
Un documento Beamer
Marcos (frames)
Velos (overlays)
Comando pause
Entornos para teoremas, definición, etc.
Blocks.
Opción fragile
Entornos para código de programas
Entorno semiverbatim
Iluminar código de lenguajes de programación.

185
185
186
192
195
197
198
202
202
202
205
206
209
210
210
213
213
215
218
220

226
226
227
229
230
233
233
234
235
235
235
237

12.10
12.11
12.12
12.13
12.14
12.15
12.16
12.17

13

Beamer y el paquete algorithm2e
Gráficos
Ligas y botones.
Efectos de Transición. Color
Ligas a Documentos Externos
Animaciones
Multicolumnas.
Color y otros ajustes

238

P OSTERS Y T RÍPTICOS (B ROCHURES )

247

13.1 Introducción
13.2 Posters
13.3 Trípticos (Panfleots o Brochures)
Trípticos con beamer
Trípticos con leaflet

14

D OCUMENTOS EN I NTERNET
14.1
14.2
14.3
14.4

LaTeX2HTLM Translator
Otra Opción: PDFScreen
Servicio de visores de PDF en Internet
Expresiones LaTeX en páginas Web

239
240
241
242
243
243
245

247
248
253
253
256

262
262
263
264
266

B IBLIOGRAFÍA

268

A PÉNDICE

270

14.5 Agregar nuevos paquetes
14.6 Instalar una distribución y un editor
Distribuciones TEX

14.7
14.8
14.9
14.10
14.11

Un Editor
Editores WYSIWYM para TEX
Software adicional
Extensión TeXtext en Windows
Habilitar “shell escape”

270
271
271
272
276
277
278
280

Prólogo
Este texto cubre aspectos básicos e intermedios sobre composición tipográfica LaTeX,
diseño editorial, presentaciones Beamer, edición adicional de grAficos y figuras con
Inkscape y Tikz y entornos con los paquetes xparse y con tcolorbox. También se
desarrollan tópicos que tienen que ver con paquetes especiales. Algunas veces la
descripción se hace “por ejemplos” y/o usando plantillas de código, dada la vastedad del
tema (la documentación de algunos paquetes sobrepasa las mil páginas). Los capítulos
que se han incluido son los típicos más frecuentes en la edición de libros y artículos
sobre matemáticas, educación, software y programación, según nuestra experiencia.
Incluye nuevos paquetes y nuevos comandos que resuelven problemas cotidianos de
edición de textos matemáticos de una manera más sencilla. Ahora se consideran nuevas
cosas en diseño editorial e infografía y una nueva presentación de los entornos (basada
en la versión más reciente de varios paquetes: TikZ, xparse y tcolorbox).
En el capítulo 10 se incluye una colección de plantillas LaTeX que “encapsulan” las
grandes cantidades de código que se van necesitando para hacer libros atractivos y con
aspecto profesional, incluida la plantilla LaTeX de este libro.
El código de todos los ejemplos y de cada trozo de código de este libro se puede
descargar en el sitio web https://tecdigital.tec.ac.cr/revistamatematica/
Libros/LATEX/

Este texto se ha usado en algunos cursos en el Instituto Tecnológico de Costa Rica
y se usa frecuentemente en la revista digital de Matemática, Educación e Internet
en la edición de artículos y libros. Agradecemos a todas las personas que nos han
ayudado con la lectura detenida del libro, señalando errores en el texto y el código,
inconsistencias, sugiriendo nuevas secciones y por todos sus comentarios.
Cartago, 2017.

W. M ORA , A. B ORBÓN .

1

LATEX: Primeros pasos

¿Qué es LATEX?
—————-

Donald Knuth, 1938−

“TEX is intended for the creation of beautiful books - and especially for books that contain a
lot of mathematic”.
Donald Knuth
El sistema TEX (se pronuncia [tej]) fue diseñado y desarrollado por Donald
Knuth en la década del 70. Es un sofisticado programa para la composición
tipográfica de textos científicos y es la mejor opción disponible para edición
de textos con contenido matemático tales como artículos, reportes, libros,
etc. TEX es en la práctica un estándar para publicaciones científicas en áreas
como matemática, física, computación, etc. LATEX es un conjunto de macros
TEX preparado por Leslie Lamport . LATEX no es un procesador de textos,
es un lenguaje que nos permite preparar automáticamente un documento de
apariencia estándar y de alta calidad.

En general, solo necesitamos editar texto y algunos comandos y LATEX se encarga de componer
automáticamente el documento de acuerdo a la clase de documento.
A diferencia de un procesador de textos, con LATEX tenemos un control más fino sobre cualquier
aspecto tipográfico del documento. .
LATEX formatea las páginas de acuerdo a la clase de documento especificado por el comando
\documentclass{}; por ejemplo, \documentclass{book} formatea el documento de tal manera
que el producto sea un documento con formato de libro.
Un documento LATEX puede tener texto ordinario junto con texto en modo matemático. Los comandos vienen precedidos por el símbolo “\ ” (barra invertida).
Hay comandos que funcionan en modo texto y hay comandos que solo funcionan en modo matemático. Todo lo que es lenguaje matemático se edita en modo matemático. Hay varios entornos

LATEX: Primeros pasos

1.1

2

1.2 Distribuciones TEX y editores.

para este modo, el más común es el entorno delimitado por dos signos de dólar ($...$).
Un ejemplo de código LATEX es el siguiente:

3

Ejemplo 1.1
\documentclass{article}
\usepackage{amsmath}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\begin{document}
$0^0$ es una expresión indefinida.
Si $a>0$ entonces $a^0=1$ pero $0^a=0.$
Sin embargo, convenir en que $0^0=1$ es adecuado para que
algunas fórmulas se puedan expresar de manera sencilla,
sin recurrir a casos especiales, por ejemplo
$$e^x=\sum _{n=0}^{\infty }\frac{x^n}{n!}$$
$$(x+a)^n=\sum_{k=0}^n \binom{n}{k}x^k a^{n-k}$$
\end{document}

Este código se digita en un editor (en la figura de abajo se usó Texmaker) y luego se
compila. La ventana a la derecha en la figura que sigue, muestra la salida:

Figura 1.1. Sesión LATEX en Texmaker

1.2

Distribuciones TEX y editores.
Una distribución TEX contiene el núcleo principal del programa, paquetes y extensiones adicionales: Integra todo lo que hace falta para poner a funcionar TEX con una o varias extensiones
(dialectos) del programa TEX (por ejemplo XeLATEX, ConTEXt, LuaTEX, pdfLATEX, etc.) sobre un
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

1.2 Distribuciones TEX y editores.

sistema operativo.
En este manual vamos a usar los formatos (dialectos) LATEX y/o PDFLATEX . Una vez que instalamos TEX usando alguna distribución, es conveniente tener un editor no solo para editar de manera
cómoda el texto, también para acceder de manera sencilla a las tareas usuales de una sesión LATEX:
editar, compilar y visualizar (en DVI o PDF).

1.2.1

Distribuciones TEX

¿Cuál es la mejor distribución?. En las discusiones en Internet no hay un acuerdo entre usuarios
de cuál es “la mejor distribución” porque eso depende de las motivaciones para hablar bien de una
u otra distribución. Para hacer este libro, la distribución que resultó más conveniente fue TeXLive
2012. Para un usuario regular, una instalación completa de cualquiera de estas distribuciones va a
estar bien.
Asumimos que el lector tiene la distribución respectiva completa y actualizada a mano. Los detalles relacionados con la instalación de una distribución TEX, se puede consultar en el apéndice al
final del libro.

Un Editor
Después de la instalación de la distribución TeX, instalamos un editor. Hay varios editores: Texmaker, Texstudio, Winshell, Kile, etc. Los editores buscan la instalación TEX/LATEX de manera
automática. Luego se pueden configurar algunas cosas adicionales. Los detalles relacionados con
la instalación de un editor y la instalación de software de apoyo (Windows y Ubuntu) se puede
consultar en el Apéndice 14.6.
Nota: En este libro asumimos que se usará alguno de estos editores.

1.2.3

Un editor de ecuaciones y cosas adicionales
Hay editores “WYSIWYG” (what you see is what you get) para TEX (ver en el apéndice 14.8).
“WYSIWYG” es un acrónimo que significa “lo que ves es lo que obtienes”. Hay algunos editores
WYSIWYG gratuitos para generar documentos LATEX, pdfLATEX, etc. Por ejemplo LyX y GNU
TeXmacs. Este último también permite sesiones con programas para cálculo simbólico y graficación 2D y 3D como Maxima.

LATEX: Primeros pasos

Hay varias distribuciones TEX, por ejemplo: TeXLive (Windows, Linux, Mac), Mactex (Mac OS
X) y Miktex (Windows). Las pruebas de este libro se hicieron con MiKTeX 2.9 sobre Windows XP
y Windows 7 y 8; y con TeXLive 2009 y también con la versión TeXLive 2012 sobre Ubuntu.

1.2.2

4

1.2 Distribuciones TEX y editores.

5

Figura 1.2. Editor GNU TeXmacs con una sesión con Maxima.

Sin embargo en este libro usaremos editores con los cuales podamos tener control del código LATEX
para conocer su alcance.
Aprender a usar GNU TeXmacs es algo que se podría hacer posteriormente para tener claridad de
las ventajas y desventajas que se presentan.

Editores de ecuaciones en Internet.
Por ahora, una manera fácil de editar ecuaciones sencillas y obtener su código LATEX es usar el
navegador Google Chrome. Este navegador posee extensiones para editar ecuaciones y además
produce código LATEX y se puede usar también a la inversa. Por ejemplo,
“Daum Equation Editor” y "TeX equation editor".

Figura 1.3. Extensión “Daum Equation Editor” de Chrome.

1.2 Distribuciones TEX y editores.

Símbolos.
Hay una aplicación web llamada Detexify con la que podemos obtener el código necesario para
un símbolo dibujándolo

6

También se puede usa el sitio “Overleaf” para editar un documento LATEX de manera colaborativa.
Convertir documentos Word a LATEX
Posiblemente haya interés en convertir documentos (con o sin ecuaciones) de Microsoft Word o
de Writer (LibreOffice), a documentos LATEX.
Una opción es Writer2LateX2.1 que es una extensión de LibreOffice y OOoOffice. La versión Write2LaTeX2.1 tiene un buen desempeño. Para hacer la conversión se carga el documento con Writer
de LibreOffice y se usa la opción Archivo-Exportar-Tipo de Archivo-LaTeX 2e.
Hay varios programas privativos que también hacen la conversión de manera aceptable (para documentos no muy complejos), por ejemplo Word2TeX y Word-to-LaTeX.

Convertir documentos PDF a LATEX
Hay varias opciones para convertir documentos PDF a LATEX. Una de ellas es el programa privativo
InftyReader. Este programa permite hacer conversiones de cinco páginas diarias de manera gratuita. La conversión es aceptable para documentos no muy complejos. El software procede haciendo
una imagen en formato .tif de cada página y luego aplicando OCR (Optical Character Recognition)
para reconstruir el documento.
¿Preguntas LATEX ?
La documentación LATEX es muy densa. Si tiene una duda, una de las mejores opciones es preguntar o buscar una respuesta en TeX - LaTeX Stack Exchange. Este es un sitio de preguntas y
respuestas para los usuarios de TeX, LaTeX, ConTeXt y otros sistemas de composición.

LATEX: Primeros pasos

Figura 1.4. Detexify

1.2 Distribuciones TEX y editores.

7

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

8

2

Acciones en una sesión con LATEX

2.1

Editar, compilar y ver el resultado.
1 Ponemos un preámbulo: La clase de documento, indicaciones sobre márgenes, largo y an-

cho de página, numeración, etc., y cargamos los paquetes adicionales (fuentes, símbolos,
gráficos, etc.).
Descargar
 archivo

\documentclass{article}
\textheight = 21cm

% largo texto impreso

\textwidth = 18cm

% ancho texto impreso

\topmargin = -2cm

% margen superior 3-2=1cm

\oddsidemargin = -2cm

% margen izquierdo 4.5-2=2.5cm

% Sangría=0mm
























\parindent = 0mm




% Otros paquetes




\usepackage{amsmath,amssymb,amsfonts,latexsym}





\usepackage[T1]{fontenc} % fuentes adecuadas para salida



\usepackage[latin1]{inputenc} % acentos,etc., desde el teclado
\begin{document}
\section{Problema abierto}
La dificultad en la investigación de la convergencia de la
serie
$$\sum_{n=1}^\infty\frac{1}{n^3\sin^2n}$$
se debe a la falta de conocimiento sobre el comportamiento
de $|n\sin n|$ conforme $n \rightarrow \infty$,
y esto esta relacionado con las aproximaciones racionales
de $\pi$.
\end{document}

Preámbulo

Acciones en una sesión con LATEX

En una sesión LATEX ejecutamos varias acciones:Ponemos un preámbulo con la clase de documento, paquetes que se van a usar, cosas de maquetación, etc. y editamos el cuerpo del documento,
luego compilamos ( LaTeX o PDFLaTeX) y vemos el resultado en un visor (DVI o PDF).

2.2 Compilar

2 Editamos: Escribimos texto corriente y texto en modo matemático (posiblemente combi-

nando ambos). Mucho del texto en modo matemático se edita en los entornos $...$ o
$$...$$. Esto le indica al programa que interprete el texto y lo convierta en símbolos matemáticos.
3 Compilamos: En el menú del editor está la opción LaTeX o la opción PDFLaTeX para com-

pilar. Esto nos permite detectar, por ejemplo, errores en los comandos o en la sintaxis de una
fórmula.
4 Ver el archivo DVI o el PDF
.

Una vez que hemos compilado con la opción LaTeX, usamos la opción DVI para ver
el documento (esto hace que un visualizador ejecute el programa ’dvips’ para ver el
documento en pantalla). Si queremos una versión PDF, usamos la opción DVI->PDF.

.

Una vez que hemos compilado con la opción PDFLaTeX, usamos la opción Ver PDF
para ver el documento.

5 Imprimir el archivo DVI. Formalmente, imprimir la interpretación en formato PostScript

(muy fino) del archivo DVI.

2.2

Compilar
Después de compilar se producen varios archivos: *.tex, *.dvi (o .pdf), *.aux, *.log, *.toc.
El archivo de edición tiene extensión *.tex mientras que el archivo .log contiene un informe del
proceso de compilación. Para imprimir un documento LATEX (generado con la opción LaTeX) solo
necesitamos el archivo *.dvi y los archivos de los gráficos incluidos en el documento (si hubiera).

¿Compilar con PDFLaTeX o LaTeX?
Cuando compilamos con LATEX obtenemos un archivo DVI y podemos usar algunos paquetes que
nos permiten, por ejemplo, manipular gráficas .eps. Este formato se debe usar de manera obligatoria en muchas revistas de corriente principal.
PDFLATEX es una extensión de TEX que puede crear archivos PDF directamente desde un archivo
de origen .tex. Cuando compilamos con PDFLaTeX, generamos un PDF de igual apariencia que
el DVI.
El Formato PDF se ha convertido en uno de los formatos de documentos electrónicos más utilizados para la publicación de documentos en la Web. Hay muchas ventajas que lo hicieron muy
popular: Es adecuado para la visualización y para imprimir, permiten búsquedas, etc. Pero también, compilando con PDFLaTeX, podemos usar comandos adicionales en el archivo .tex para
agregar propiedades en el archivo PDF: Agregar ligas, personalizar el menú de navegación, agregar video, etc., es decir, cosas que son importantes para leer documentos en pantalla y para la
distribución en Internet.
Este libro fue compilado con PDFLaTeX porque usa ligas a otros documentos y tiene muchas figuras
en distintos formatos.

9

2.2 Compilar

Compilar desde un editor
Cada editor tiene una manera para compilar, por ejemplo con TeXmaker la compilación se hace
con la opción Herramientas - LaTeX. En TeXMaKer hay teclas rápidas para compilar y otras para
otras tareas. Por ejemplo, la compilación LaTeX se hace con la tecla F2 y el documento DVI se ve
con la tecla F3.

Compilar LaTeX

10

Ver DVI

Resultado de la compilación
Si no hay errores de sintaxis, el mensaje en la ventana inferior sería,
Process exited normally

Si hay errores de sintaxis, el mensaje en la ventana inferior sería,
Process exited with error(s)

En este caso, la compilación genera una información de salida en la ’ventana de mensajes’ (se
habilita o deshabilita en el menú Ver). Si la compilación encuentra algún error se indicará con un
mensaje corto (en rojo), por ejemplo
Error line 323 ! Missing \$ }...

En este ejemplo, esto nos indica que falta ’$’ en la línea 323. Como se ve, \frac{x}{x+1} es
texto matemático (inicia con un comando de fracción) y por tanto no se puede interpretar como
texto corriente, necesita estar entre $ $. Al hacer clic en ’line 323’ nos llevará a la línea del error.

Error: el texto matemático va entre $$

Ver errores

Línea del error

Detalle breve del error: Falta $

Acciones en una sesión con LATEX

Teclas rápidas

2.2 Compilar

Compilar desde el editor Kile
En el menú se aprecia claramente cómo compilar con PDFLaTeX y ver el archivo resultante con
Okular (que es de los mejores visores). En este mismo menú emergente aparecen las otras opciones
de compilación (además de opciones de conversión).
En las opciones de compilación está la opción de convertir el documento en un sitio Web, siempre
y cuando haya instalado el paquete LaTeX2HTML (esto es muy eficiente en Linux).
Tenemos una ventana para el resultado de la compilación y funciona igual que en TeXMaker.

Compilar y ver

}

Resultado de la compilación

Compilar desde el editor WinShell
La compilación se hace con la opción Ejecutar - LaTeX. En WinShell hay teclas rápidas para
compilar y otras para otras tareas. Por ejemplo, la compilación LaTeX se hace con la tecla F5 y el
documento DVI se ve con la tecla F7.

11

2.3 Ajustes del documento

2.3

Ajustes del documento
Un documento básico en LATEX se compone de dos partes: el preámbulo del documento y el cuerpo. Al inicio del documento se debe especificar la clase de documento y lo relativo al ajuste de las
páginas, nada de lo que pongamos en el preámbulo aparecerá en el documento que se imprime al
final. En el cuerpo se escribe el texto (normal y matemático). Es la parte que aparecerá impresa
como producto final.

12


\documentclass{article}




% Márgenes





\textheight
= 21cm




\textwidth
= 18cm



\topmargin

= -2cm


\oddsidemargin= -2cm




% Paquetes




\usepackage
{amsmath, amssymb, amsfonts, latexsym}





\usepackage[latin1]{inputenc}


\usepackage{graphicx}

Cuerpo del documento


 \begin{document}

Sea $a>0$, definimos $a^x$ por la fórmula...



\end{document}

Página

topmargin

head

headheight
headsep

Región impresa
textheight
Margen
izquierdo
textwidth

c

foot

Figura 2.1. Diseño del documento.

\documentclass{article}: Es la clase de documento; article se utiliza para editar docu-

mentos con formato de artículo. article se refiere al archivo article.cls. Estos archivos
.cls implementan la estructura especifica de un documento. También se usa “report” o
“book” para un reporte o un libro.
\textheight=21cm: Establece el largo del texto en cada página (en este caso, de 21 cm). El

default es 19 cm.
\textwidth=18cm: Establece el ancho del texto en cada página (en este caso, de 18 cm). El

default es 14 cm.

Acciones en una sesión con LATEX

Preámbulo

2.4 Usar paquetes adicionales

\topmargin=-2cm:

Establece el margen superior. El default es de 3 cm, en este caso la
instrucción -2cm sube el margen 2 cm hacia arriba.

\oddsidemargin=-2cm:

Establece el margen izquierdo de las páginas impares. El default
es de 4.5 cm; sin embargo, con sólo poner esta instrucción el margen queda en 2.5 cm. Si
el parámetro es positivo se aumenta este margen y si es negativo disminuye. Note que esto
combinado con el ancho del texto, determina el ancho del otro margen!

13

\usepackage{amsmath,amssymb,amsfonts,latexsym}: Esta instrucción indica que en este documento se usarán paquetes de símbolos adicionales (símbolos de la AMS).
\usepackage[latin1]{inputenc}: Esta instrucción se usa para incluir un paquete que nos

permite usar los acentos y otros símbolos, directamente del teclado.
\usepackage{graphicx}:

Esta instrucción se usa para incluir un paquete para el manejo
de gráficos y figuras en el documento.

Otros comandos para el preámbulo
\renewcommand{\baselinestretch }{1.5}

: Genera un texto a espacio y medio. Si se

pone 2 en vez de 1.5, lo hace a doble espacio.
\pagestyle{empty}:
\parskip=Xmm:
\headheight:

Elimina la numeración de las páginas.

Genera un espacio de X mm entre los párrafos.

Altura de la cabecera (page header) de la página.

\headsep: Distancia desde la parte inferior de la cabecera al cuerpo de texto en una página.
\parindent=0mm:

Elimina la sangría.

\pagestyle{myheadings}:

Coloca la numeración de página en la parte superior.

\markright{‘texto’}:

Coloca ‘texto’ en la parte superior de la página. Se pueden poner
varios \markright en el texto (en cada sección, por ejemplo).
Ejemplo: \markright{\LaTeX \hrulefill W . Mora, A. Borbón \; \;}

\newpage:

2.4

Le indica a LATEX que siga imprimiendo en la página siguiente.

Usar paquetes adicionales
Un paquete LATEX es un archivo .sty (o varios archivos) con comandos y código de programación
TEX que tiene como propósito agregar nuevas facetas (o modificar otras facetas) al docu-mento.
Todos los paquetes vienen con su propia documentación.
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

2.5 Ajustes con el paquete Geometry

Los paquetes se invocan con el comando \usepackage{nombre}. LATEX viene con una cantidad
importante de comandos que se pueden usar de forma inmediata sin invocar ningún paquete adicional. Aunque siempre existe la posibilidad de instalar la versión completa de la distribución con
todos los paquetes que hay disponibles en el momento ( TeXLive-full o MikTeX Net Installer), la
mayoría de paquetes deben ser invocados en el preámbulo del documento para poder usarlos.

14

Si un paquete no está disponible en su instalación, se produce un error de compilación. En la distribución MikTeX se puede habilitar la búsqueda e instalación del paquete “en el momento de la
compilación” (“on the fly”).
La instlación de un nuevo paquete puede ser tan sencilla como agregar un solo archivo .sty en
nuestra carpeta de trabajo o puede involucrar varios pasos.

Para actualizar la distribución TeX y agregar nuevos paquetes puede ver el apéndice 14.5 .

2.5

Ajustes con el paquete Geometry
El diseño de documento se puede simplificar con el paquete geometry. Por ejemplo, si queremos
un documentocon región impresa con dimensiones 18cm×21cm y con margen superior de 2cm y
margen izquierdo de 2cm, cambiamos nuestras instrucciones agregando en el preámbulo
\usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry}
Descargar archivo

\documentclass{article}
% Dimensiones 18cmx21cm. Márgenes: Superior 2cm, izquierdo 2cm
\usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry}
% Paquetes adicionales
\usepackage{latexsym,amsmath,amssymb,amsfonts} %Símbolos extra
\usepackage[latin1]{inputenc}
\begin{document}
%-----\end{document}

Otras opciones con el paquete “geometry”
1 Si quisieramos un texto con dimensiones 18cm×21cm y centrado, usaríamos
\usepackage[total={18cm,21cm},centering]{geometry}

2 Si quisieramos un texto con dimensiones es 6.5 pulgadas de ancho por 8.75 pulgadas de

alto y el margen superior en cada página a 1.2 pulgadas del borde superior de la página y el
margen izquierdo a 0.9 pulgadas desde el borde izquierdo y además el pie de página con el

Acciones en una sesión con LATEX

Lo mejor es tener la distribución TeX siempre actualizada, porque siempre hay nuevos paquetes y
también porque los viejos paquetes son modificados y a veces son incompatibles con la versión de
nuestro sistema.

2.6 Idioma

número de página en la parte inferior del área de texto, entonces usaríamos

\usepackage[a5paper,total={6.5in,8.75in},top=1.2in,left=0.9in,
includefoot]{geometry}

15

3 Este libro usa la instrucción
\usepackage[text=15cm,25cm,centering,headsep=20pt,top=0.8in, bottom =
0.8in,letterpaper,showframe=false]{geometry}

4 Otras opciones del paquete son landscape, twocolumn, twoside, foot=xcm, bottom=xcm,

etc.
Un manual (actualizado) de referencia para este paquete se puede encontrar en http://mirrors.
ucr.ac.cr/CTAN/macros/latex/contrib/geometry/geometry.pdf.

2.6

Idioma
El idioma por defecto que utiliza LATEX es el inglés, sin embargo, utilizando algunas instrucciones
se puede lograr que soporte otros idiomas, en particular, veremos cómo hacer para que soporte el
español.

Acentos y otros caracteres
LATEX normalmente no acepta tildes, ni la “ñ”, tampoco el signo de pregunta ‘¿’, ni la apertura o el
cierre de comillas. Para que acepte estos caracteres se deben utilizar las instrucciones que aparecen
en la tabla 2.1 o usar un paquete que nos habilite para usar los acentos y otros símbolos desde el
teclado (ver más abajo).
Comando
\'a
\'e
\'{\i}
\'o
\'u

Símbolo
á
é
í
ó
ú

Comando
?`
!`
`` ''
` '
\~n

Símbolo
¿
¡
“”
‘’
ñ

Tabla 2.1. Acentos en modo texto y otros símbolos

Para que LATEX reconozca los acentos que usamos en español directamente del teclado(como ú en
vez de \'u) y para que genere una salida adecuada para un PDF, colocamos en el preámbulo
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

Con estos paquetes se tendrá un soporte para los acentos en español.

2.6 Idioma

Actualmente, los editores están configurados para usar las comillas directamente del teclado. Las
versiones actuales del editor Kile ya vienen configurados para hacer esta sustitución y en TexStudio
se puede habilitar esta faceta en su configuración. Para este libro usamos la versión más reciente
del editor Kile así que podemos escribir “Hola” para obtener “Hola”.
Si la codificación que usará es utf-8, como en muchas distribuciones recientes de Linux, colocamos en el preámbulo la instrucción,

16

\usepackage[utf8]{inputenc}

Nota: En este libro vamos a usar la codificación latin1 en las plantillas.

Existen dos formas sencillas de solucionar este problema. La forma más simple y recomendada es
usar el paquete babel, ponemos en el preámbulo del documento la instrucción
\usepackage[spanish]{babel}

que carga la opción en español de la librería babel. Además quedará habilitada la división co-rrecta
de las palabras. A veces este paquete tiene conflictos con otros paquetes que podríamos querer usar.

División de palabras: Paquete babel y otras opciones.
Agregando ‘\usepackage[spanish]{babel}’ en el preámbulo (junto con inputenc y fontenc),
se logra que LATEX divida correctamente la mayoría de palabras en español, sin embargo hay algunos casos en los que no será así; si al componer el texto observamos que hay una palabra que
se ha dividido mal, vamos a esa palabra en el archivo *.tex, y le indicamos exactamente donde la
puede dividir, usando \-. Por ejemplo, e\-xa-men, ac\-ción, am\-nis\-tí\-a
Este sistema tiene el inconveniente de que LaTeX sólo divide bien la palabra en ese punto del
documento y si dicha palabra aparece otra vez habrá que volver a decirle cómo se divide, y tiene
la ventaja de que funciona con palabras que tienen acento.
También se puede usar \hyphenation{e-xa-men, ...otras divisiones...} (no se permiten
palabras con tíldes) al inicio del documento para que LaTeX divida las palabras tal y como se
especifica en la lista.

2.6.1

Si hay conflictos con el paquete babel...
A veces el paquete babel tiene conflictos con algún otro paquete que queremos usar. Por eso
tenemos que tener en cuenta un par de opciones más.
Si el documento es de tipo article, podemos poner en el preámbulo

\renewcommand{\contentsname}{Contenido}

Acciones en una sesión con LATEX

Cambiar las plantillas a español
Otro problema que tiene LATEX con el idioma es que los textos para “capítulo”, “sección”, etc.,
están en inglés, por lo tanto, en un libro no saldría Capítulo 1 sino Chapter 1.

2.6 Idioma

\renewcommand{\partname}{Parte}
\renewcommand{\appendixname}{Apéndice}
\renewcommand{\figurename}{Figura}
\renewcommand{\tablename}{Tabla}
\AtBeginDocument{\renewcommand\tablename{Tabla}}

17

\renewcommand{\abstractname}{Resumen}
\renewcommand{\refname}{Bibliografía}

Si el documento es book se puede agregar en el preámbulo
\renewcommand{\contentsname}{Contenido}
\renewcommand{\partname}{Parte}
\renewcommand{\appendixname}{Apéndice}
\renewcommand{\figurename}{Figura}
\renewcommand{\tablename}{Tabla}
\AtBeginDocument{\renewcommand\tablename{Tabla}}
\renewcommand{\chaptername}{Capítulo} % para 'book'
\renewcommand{\bibname}{Bibliografía} % para 'book'

Una tercera opción
Una tercera opción es hacer este cambio permanente: Se puede editar los archivos article.cls,
report.cls y/o book.cls. En Ubuntu esto archivos están en /usr/share/.../tex/latex/base
(debe tener permisos de escritura para modificarlos). En la distribución MiKTEX , están en C:
/Archivosdeprograma/MiKTeX2.7/tex/latex/base. En ambos casos, se busca y se abre el archivo de texto article.cls (o report.cls o book.cls y se buscan las líneas
\newcommand\contentsname{Contents}
\newcommand\listfigurename{List of Figures}
...

y se cambian por
\newcommand\contentsname{Contenido}
\newcommand\listfigurename{Lista de Figuras}
...

Luego, simplemente se guarda el archivo.

2.6.2

Plantilla para este capítulo.
A continuación se muestra una plantilla general para este capítulo,
Descargar archivo

\documentclass{article}
\usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry}
\parindent =

0mm % Sin sangría

\usepackage{latexsym,amsmath,amssymb,amsfonts}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

2.6 Idioma

\usepackage{graphicx}
\usepackage[spanish]{babel} % Idioma español
\AtBeginDocument{ %\renewcommand\tablename{Tabla}} % Nombres para las tablas
\renewcommand{\baselinestretch}{1.1} % espaciado 1.1
\pagestyle{myheadings}
\markright{...... texto .......} % Encabezados simples

18

%----------------------------------------------------\begin{document}
\section{Problema abierto}
La dificultad en la investigación de la convergencia
de la serie $$\sum_{n=1}^\infty\frac{1}{n^3\sin^2n}$$
se debe a la falta de conocimiento sobre el comportamiento de
relacionado con la 'medida de irracionalidad' de $\pi$
\end{document}

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

Acciones en una sesión con LATEX

$|n\sin n|$ conforme $n \rightarrow \infty$, y esto esta

3

19
Escritura de Texto Normal

En un archivo de LATEX se combina el texto normal con el texto matemático, en este capítulo se
iniciará trabajando con el texto normal (tipos de letra, párrafos, enumeración, secciones, etc.) y en
el siguiente capítulo se mostrará el texto matemático.

3.1

Tipos y tamaños de fuentes.

3.1.1

Caracteres especiales.
Algunos caracteres están reservados para que cumplan alguna función, por eso no se pueden obtener digitándolos (tecleándolos) directamente como cualquier letra. El hacerlo puede producir algún
error de compilación, o puede pasar que el carácter sea ignorado. En las siguientes dos tablas se
especifica el uso de algunos caracteres y el comando que se debe digitar (teclear) para imprimirlos.
Caracter

Reservado para:

Caracter

Se imprime con:

\

carácter inicial de comando
abre y cierra bloque de código
abre y cierra el modo matemático
tabulador (en tablas y matrices)
señala parámetro en las macros
para subíndices y exponentes
para evitar cortes de renglón
para comentarios

\

\tt\char`\\

{, }
$
&
_, ˆ
#
˜
%

\{, \}

{ }
$
&
#
_, ^
~
%

\$
\&
\_ , \^{}
\#
\~{}
\%

Por ejemplo, para obtener llaves debemos usar los comandos \{ y \}. Para conjuntos escribimos
$A=\{a,b,c\}$ y obtenemos: A = {a, b, c}. Podría ser mejor $A=\big\{a,b,c\big\}$ que pro
duce: A = a, b, c .

El comando verb
El comando \verb permite imprimir los caracteres tal y como aparecen en pantalla. Por ejemplo,
si se digita \verb@{$x^2+1$}@ se imprimirá { $ x^2+1 $ }. El símbolo ‘@’ se usa como delimitador de lo que se quiere imprimir. Se pueden usar otros delimitadores no presentes en el texto a
imprimir.

3.1 Tipos y tamaños de fuentes.

3.1.2

Algunos tipos de fuentes (fonts).
Para cambiar el tipo de letra se pone {\tipo texto}. Por ejemplo, para escribir en negrita se
pone {\bf texto}
Comando

produce

{\rm Roman }

Roman
Enfático
Negrita
Itálica

{\em Enfático}
{\bf Negrita }
{\it Itálica }

Comando
{\sl Slanted

}

produce
Slanted

{\sf Sans Serif }

Sans Serif

{\sc Small Caps }

S MALL C APS

{\tt Typewriter }

Typewriter

\underline{Subrayado}

Subrayado

Combinaciones
Los comandos de la tabla anterior en realidad quedaron en desuso con la nueva versión LATEX2e
(1994), pero estaban tan arraigados que se decidió mantenerlos aún con sus limitaciones. Por
ejemplo, ‘{\it\bf Negrita en itálica}’ no produce negrita en itálica, produce: ‘Negrita en
itálica’.
En el nuevo LATEX2e se usa \textit{...}, \textbf{...}, \texttt{...} etc. Ahora podemos
escribir “\textit{\textbf{Negrita en itálica}}” que produce Negrita en itálica.

Tamaños de letras.
Una manera de especificar el tamaño de la fuente es la siguiente,
Comando
{\tiny

produce
Tiny}

Tiny

{\scriptsize Script}

Script

{\footnotesize Foot}

Foot

{\small

Small

Small}

{\normalsize Normal}

Normal

{\large

large}

large

{\Large

Large}

Large

{\huge

huge}

{\Huge

Huge}

huge

Huge

Se pueden hacer combinaciones de tipos de letras con diferentes tamaños.

Ejemplo 3.1

Nota:

.

{\large \bf Nota:} produce:

.

{\large \bf \tt Nota:} produce: Nota:

(no hay efecto!)

Escritura de Texto Normal

Observe el uso de las llaves para delimitar el alcance del comando, es decir, el comando no tiene
efecto más allá de lo que está entre llaves.

3.1.3

20

3.2 Párrafos y efectos especiales.

.

3.2

{\Large\textit{\textbf{Nota}}} produce:

Nota

Párrafos y efectos especiales.

21

En LATEX se puede escribir de manera ordenada o desordenada, el programa acomoda el texto e
interpreta los comandos que que se digitaron. Pero, por tratarse de un código, mejor es identar
correctamente el texto. Para indicarle a LATEX que un párrafo ha terminado hay que dejar un
renglón en blanco.
Si entre dos palabras se deja más de dos espacios en blanco solo se imprimirá uno. También se
tiene que dejar doble paso de línea (doble ‘enter’) para separar párrafos o usar “\\” para cambiar
de renglón. Si usamos “\\\\” avanzamos dos renglones.
Ejemplo 3.2

Cambio de renglón:
produce:
El código:
{\bf introducción.} \\
se parte de un conjunto $\omega$
de $n$ patrones, objetos
o 'individuos',

Introducción.
Se parte de un conjunto Ω de n patrones, objetos o ‘individuos’, descritos
por un vector de p atributos.

descritos por un vector de $p$
atributos.\\\\ %doble renglón

Nota:....
{\bf Nota:}....

3.2.1

Centrar
Para centrar un texto se pone éste en el entorno \begin{center} ... \end{center}
Ejemplo 3.3

(Centrado).

El código:

produce:

\begin{center}
Manual de\\
\LaTeX

Manual de
LATEX

\end{center}

3.2.2

Espacio horizontal y vertical
Para dejar espacio horizontal se usa el comando \hspace{Xcm}. El efecto es abrir espacio o correr
horizontalmente texto, tablas o gráficos. Xcm es el corrimiento a la derecha o a la izquierda en
centímetros, según sea X positivo o negativo. También se puede usar, por supuesto, Xmm, Xin, etc.

3.2 Párrafos y efectos especiales.

Ejemplo 3.4

A la Izquierda!

.

$\subset \hspace{-3mm} / $30 produce:

.

\hspace{-6.5cm}A la Izquierda! produce:

⊂
/ 30

(ver en el márgen!)

22

Para abrir espacio verticalmente se usa el comando \vspace{Xcm} que funciona de manera análoga a \hspace. En el ejemplo que sigue se debe dejar un renglón en blanco para lograr el efecto.
Ejemplo 3.5

%Vamos a subir la palabra 'VERDE' 1.2cm
%y a desplazarla 2.4cm a la derecha
Línea superior - - - - - - - - - \\

produce:

\vspace{-1.2cm}
\hspace{2.4cm} VERDE

VERDE
Línea superior - - - - - - - - -

3.2.3

Cajas
Para encerrar palabras o texto en cajas se usan los comandos \fbox{ texto } o \framebox{...}.

Ejemplo 3.6

(Cajas)

El código:

produce:

\begin{center}
Manual de\\
\fbox{\LaTeX}

Manual de
LATEX

\end{center}

3.2.4

Texto en columnas: multicol, minipage y parbox
En LATEX existen varias maneras de escribir doble columna, ahora veremos algunas de ellas.

El comando multicol.
La forma más sencilla es utilizar el paquete multicol, para ello se pone en el preámbulo,
\usepackage{multicol}

Antes del texto que se quiere escribir a doble columna se escribe \begin{multicols}{#} en
donde \# representa el número de columnas que se quieren utilizar, cuando se finaliza se escribe
\end{multicols}.

Escritura de Texto Normal

El código:

3.2 Párrafos y efectos especiales.

Ejemplo 3.7

(Dos columnas)

El código:
\begin{multicols}{2}
Hace que el texto que está entre los delimitadores salga a
doble columna, \LaTeX{} se encarga de manera automática de
distribuir el texto entre las columnas de la mejor manera,...
\end{multicols}

produce:

Hace que el texto que está entre los delimitadores salga a doble columna, LATEX se encarga de manera automática de distribuir el
texto entre las columnas de la mejor manera,
además de acomodar el texto cuando hay un
cambio de línea.

El campo de separación que se deja entre las columnas se define
en el preámbulo con la instrucción
\setlength{\columnsep}{7mm} la cual dejaría un espacio de 7 milímetros entre ellas.

El ambiente minipage
Otra manera de insertar texto a doble columna (o más columnas), es utilizar el entorno minipage
(también se puede utilizar \twocolumn), la sintaxis es como sigue,
\begin{minipage}[b]{Xcm}
% primera columna
\end{minipage} \hfill \begin{minipage}[b]{Ycm}
% segunda columna
\end{minipage}

Donde ‘Xcm’ y ‘Ycm’ especifica el ancho de cada columna. En vez de ‘Xcm’ y ‘Ycm’ se puede usar
un porcentaje del ancho de página: \textwidth. Por ejemplo, para usar la mitad del ancho de
página ponemos:
\begin{minipage}[b]{0.5\textwidth}

La opción ‘b’ (botton) se usa para alinear las dos columnas en el ‘fondo’ del ambiente minipage.
También se puede usar la opción ‘t’ (top) o ‘c’ (center). La elección depende del contenido de
cada ambiente ‘minipage’. En el ejemplo 3.8 se incluye texto y una figura.

Ejemplo 3.8

(Figuras en un ambiente minipage)

El código:
\begin{figure}[!h]
%

30 % de la página

\begin{minipage}[b]{0.3\textwidth}
La imagen de la derecha muestra un icosaedro junto con un

23

3.2 Párrafos y efectos especiales.

dodecaedro (figura central), los satélites son un icosaedro,
un dodecaedro y un tetraedro. Las figuras fueron generadas con
{\sc Mathematica} y maquilladas con {\it Inkscape}.
%

60 % de la pág

\end{minipage} \hfill \begin{minipage}[b]{0.6\textwidth}
\begin{center}% Figuras: ver capítulo 5
\includegraphics{images/ML_fig3.pdf}

24

\caption{ Poliedros}
\end{center}
\end{minipage}
\end{figure}

La imagen de la derecha muestra un icosaedro
junto con un dodecaedro (figura central), los
satélites son un icosaedro, un dodecaedro y
un tetraedro. Las figuras fueron generadas con
M ATHEMATICA y maquilladas con Inkscape.

Figura 3.1. Poliedros

El comando parbox
Un comando similar a minipage es parbox. Se usa así:
\parbox{xcm}{texto}\parbox{ycm}{texto}

Ejemplo 3.9

(Incluir una figura usando parbox).

El código:
\parbox{3cm}{ \includegraphics{fig4.pdf}}

\parbox{11.5cm}{ En

{\sc Mathematica}, podemos eliminar una o varias caras de un dodecaedro,
seleccionar el color y el grosor de las aristas y poner color a las caras.
Para esto debemos utilizar los comandos ... }

%Sale del 2do parbox!

produce:

En M ATHEMATICA, podemos eliminar una o varias caras de un dodecahedro, seleccionar el color y el grosor de las aristas y poner color a las caras.
Para esto debemos utilizar los comandos ...

\parbox

también se puede usar en combinación con \framebox para hacer un recuadro:

Escritura de Texto Normal

produce:

3.2 Párrafos y efectos especiales.

\framebox{\parbox{xcm}{texto}}.

Este comando no esta pensado para grandes bloques de texto.
Nota 1: Cuando se pone un gráfico en una columna debe tenerse el cuidado de ajustar el ancho

del gráfico al ancho de la columna.
Nota 2: Cuando se utilice \parbox se debe tener el cuidado de terminar con \\ para cambiar de

renglón.

3.2.5

Líneas y otros efectos de texto
\hfill foo

: Se usa para alinear foo a la derecha.

Ejemplo 3.10
El código:
{\sc Instituto Tecnológico de Costa Rica} \hfill Tiempo: 2:45 hrs

produce:

I NSTITUTO T ECNOLÓGICO DE C OSTA R ICA
\hrulefill

Tiempo: 2:45 hrs

y \dotfill. Veamos ejemplos de su uso

Ejemplo 3.11
El código:
{\sc Instituto Tecnológico de Costa Rica} \hrulefill Tiempo: 2:45 hrs

produce:

I NSTITUTO T ECNOLÓGICO DE C OSTA R ICA

Tiempo: 2:45 hrs

Ejemplo 3.12
El código:
{\sc Instituto Tecnológico de Costa Rica \dotfill Tiempo: 2:45 hrs}

produce:

I NSTITUTO T ECNOLÓGICO DE C OSTA R ICA . . . . . . . . . . . . . . . . . . . . . . T IEMPO : 2:45 HRS
. Este comando se usa para dibujar una línea horizontal o vertical de
y grosor zcm. La distancia de la línea a la base del texto se controla con el primer parámetro
[xcm].
\rule[xcm]{ycm}{zcm}

ycm

25

3.2 Párrafos y efectos especiales.

Ejemplo 3.13
El código:
{\sc Instituto Tecnológico de Costa Rica \hfill Tiempo: 2:45 hrs}\\

26

\rule[0.5cm]{14cm}{0.01cm}

produce:

I NSTITUTO T ECNOLÓGICO DE C OSTA R ICA

Notas al pie de página.
Las notas al pie de página se producen con \footnote{ ...texto...}
El comando se escribe exactamente donde se quiere que quede la etiqueta que hará referencia al
pie de página. La nota en el pie de esta página se generó con el código1 .
La nota...código\footnote{Ejemplo de {\tt footnote}}.

3.2.7

Texto como en la pantalla
Para reproducir exactamente lo que está en la pantalla (incluyendo espacios) se pone el texto en el
entorno \begin{verbatim}...\end{verbatim}.
Ejemplo 3.14

(Usando verbatim).

El código:

produce:

\begin{verbatim}

Sub Trapecio(a,b,n,delta)

Sub Trapecio(a,b,n,delta)

Dim N As Integer

Dim N As Integer

Dim F As New clsMathParser

Dim F As New clsMathParser
suma = 0
h = (b - a) / N
For i = 1 To N - 1
xi = a + i * h
suma = suma + F.Eval1(xi)

suma = 0
h = (b - a) / N
For i = 1 To N - 1
xi = a + i * h
suma = suma + F.Eval1(xi)
Next i
End Sub

Next i
End Sub
\end{verbatim}

Nota 1: verbatim es un comando frágil. En ciertos ambientes no funciona.

1 Ejemplo

de footnote

Escritura de Texto Normal

3.2.6

T IEMPO : 2:45 HRS

3.3 Color y cajas de color

Nota 2: En la sección (11.11) se muestran varias opciones para obtener código de programación

en color de acuerdo al lenguaje de programación.

3.3

27

Color y cajas de color

Paquete xcolor
Para usar colores se podría llamar al paquete xcolor: \usepackage{xcolor}. Aunque se pueden
usar lo colores predefinidos (black, red, blue,...), también podemos personalizar los colores.
Para definir un color personalizado podemos usar alguna aplicación que tenga un selector de colores. Si, por ejemplo, el selector de colores codifica en el formato RGB, el color se puede definir
así:
\definecolor{micolor1}{RGB}{x, y, z}

, donde x, y, z ∈ [0, 255].

La definición de color se pone en el preámbulo. El formato RGB es adecuado para generar archivos
PDF para ver en pantalla. Para imprimir se usa el formato CMYK.
Ejemplo 3.15

Usando un selector de colores (en este caso, usamos Inkscape), podemos definir un anaranjado personalizado.
En Inkscape, el anaranjado que seleccionamos tiene
parámetros 234 112 2, así que ponemos en el preámbulo
\definecolor{miorange}{RGB}{234, 112, 2}

Si el selector de colores devuelve valores entre 0 y 1
entonces sería (rgb en minúscula!),
\definecolor{miorange}{rgb}{0.91, 0.43, 1}

Color en cajas
Para poner texto en una caja usando un color de fondo determinado, se usa
\fcolorbox{color fondo}{color borde}{ texto}

Ejemplo 3.16

El código:
produce:
\fcolorbox{orange}{orange}{ \color{white} LaTeX}

LaTeX

Para poner párrafos dentro de una caja se puede usar “minipage” para que el texto se acomode de
manera adecuada dentro de la caja. También podemos usar “\fboxsep” para controlar el espacio
entre el contenido de la caja y el rectángulo. El valor por defecto es 0pt.

3.3 Color y cajas de color

Ejemplo 3.17
El código:

28

\begin{center}
{ \fboxsep

12pt

\fcolorbox {orange}{white}{
\begin{minipage}[t]{10cm}
$0^0$ es una expresión indefinida. Si $a>0$, $a^0=1$ pero $0^a=0.$
Sin embargo, convenir en que $0^0=1$ es adecuado para que
algunas fórmulas se puedan expresar de manera sencilla,

$$(x+a)^n=\sum_{k=0}^n \binom{n}{k}x^k a^{n-k}$$
\end{minipage}
} }
\end{center}

produce:

00 es una expresión indefinida. Si a > 0, a0 = 1 pero 0a = 0. Sin
embargo, convenir en que 00 = 1 es adecuado para que algunas
fórmulas se puedan expresar de manera sencilla, sin recurrir a
casos especiales, por ejemplo
∞

ex =

xn

∑ n!

n=0
n

 
n k n−k
(x + a) = ∑
xa
k=0 k
n

Paquete pstricks
El paquete pstricks declara, entre muchas cosas, varios comandos de color, para utilizarlos simplemente se carga el paquete en el preámbulo con el comando \usepackage{pstricks} y ahora,
por ejemplo, el comando {\blue AZUL} produce AZUL. Los colores predefinidos en este paquete
son:
black
darkgray
gray
lightgray

white
red
green
blue

cyan
magenta
yellow

Escritura de Texto Normal

sin recurrir a casos especiales, por ejemplo
$$e^x=\sum_{n=0}^{\infty}\frac{x^n}{n!}$$

3.4 Enumerado automático.

3.3.1

Notas en el margen
Podemos poner figuras o texto en el margen con ’hspace*’. LATEX quita el espacio horizontal (en
blanco) que hay al final de una línea. Si queremos que LATEX no elimine este espacio, se incluye
el argumento opcional *.

Texto

−→

29

\hspace*{-2.8cm} {\cyan \small Texto} $\longrightarrow$

Paquete marginnote
Hay varios paquetes para poner notas en el margen, por ejemplo el paquete “marginnote”. Una
vez que hemos puesto \usepackage{marginnote} en el preámbulo, podemos poner una nota en
Regla de la cadena: el margen como se muestra en el margen; el código que produce esta nota es
zt = ∇z ·~v

podemos poner una nota en el margen como se muestra en el margen
derecho; el código que produce esta nota es
\marginnote{\cyan \small Regla de la cadena: $z_t=\nabla z \cdot \vec{v}$}

Paquete todonotes
También podemos usar el paquete todonotes. Formalmente es para hacer notas al margen con
comentarios de “cosas por hacer”. De hecho hay una opción para hacer una listas de estas “cosas”.
.

3.4

Enumerado automático.
Uno de los comandos más usados para hacer listas numeradas es enumerate. Cada nuevo ítem se
indica con \item, con esto se obtiene una enumeración automática. También uno puede controlar
la enumeración con la etiqueta deseada. enumerate admite anidamiento hasta el cuarto nivel.

Ejemplo 3.18
El código:

Descargar archivo

\documentclass{article}
...% paquetes y comandos...ver código de este ejemplo.
{\sc Instituto Tecnológico de Costa Rica} \hfill Tiempo 2:30 horas\\
{\sc Escuela de Matemática} \hfill Puntaje: 21 puntos\\
{\sc MA-0441. Primer Parcial}\\\\
{\bf Instrucciones.} Este es un examen de desarrollo, por lo tanto deben
aparecer todos los pasos que lo llevan a su respuesta. Trabaje de manera
clara y ordenada.\\
\begin{enumerate}
\item {\bf [3 Puntos]} Sea $A=\{1,b,c,d,7\}$ y $B=\{1,2,c,d\}.$
Calcule ${\cal P}(A\,\Delta\,B).$
\item {\bf [5 Puntos]} Muestre que $A-(B\,\cap\,C)=(A-B)\,\cup\,(A - C)$
\item {\bf [5 Puntos]} Mostrar que $[\;A\,\cup\,C\;\subseteq\;B\,\cup\,C
\;\;\wedge\;\; A\,\cap\,C=\emptyset\;]\;
\Longrightarrow\;A\,\subseteq\,B$

Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

3.4 Enumerado automático.

\item {\bf [2 Puntos]} Sea $\Re=(\R^*,\R^*,R)$
definida por $x\,\Re\, y\;\Longleftrightarrow\; xy\;>\;0.$
\begin{enumerate}
\item {\bf [3 Puntos]} Muestre

que $\Re$ es una relaci\'on de equivalencia.

\item {\bf [2 Puntos]} Determine las clases de equivalencia $\overline{1}$
y $\overline{-1}.$
\item {\bf [1 Punto]}

Determine $\R^*/\Re$ (el conjunto cociente).

30

\end{enumerate}
\end{enumerate}
...

produce:

Tiempo 2:30 horas
Puntaje: 21 puntos

Instrucciones: Este es un examen de desarrollo, por lo tanto deben aparecer todos
los pasos que lo llevan a su respuesta. Trabaje de manera clara y ordenada.

1. [3 Puntos] Sea A = {1, b, c, d, 7} y B = {1, 2, c, d}. Calcule P (A ∆ B).
2. [5 Puntos] Muestre que A − (B ∩ C) = (A − B) ∪ (A −C)
3. [5 Puntos] Mostrar que [ A ∪ C ⊆ B ∪ C ∧ A ∩ C = 0/ ] =⇒ A ⊆ B
4. [2 Puntos] Sea ℜ = (R∗ , R∗ , R) definida por x ℜ y ⇐⇒ xy > 0.
a) [3 Puntos] Muestre que ℜ es una relación de equivalencia.
b) [2 Puntos] Determine las clases de equivalencia 1 y −1.
c) [1 Punto] Determine R∗ /ℜ (el conjunto cociente).

Entornos itemize y description
El entorno itemize usa puntos u otros símbolos para los items mientras que description permite
descriptores con texto.Todo esto se puede hacer con enumerate. En los ejemplos que siguen se
muestran varias posibilidades.

Ejemplo 3.19

(Lista con description)

\begin{description}
\item[Media muestral:] $\frac{1}{n-1}\sum_{i=1}^n (X_i-\bar{X_n})^2$
\item[Varianza muestral:] $\frac{1}{n-1} \sum_{i=1}^n (X_i-\bar{X_n})^2$
\item[Momentos muestrales:] $\frac{1}{n} \sum_{i=1}^n X_i^k$
\end{description}
> En el capítulo que sigue veremos cómo variar el tamaño de los símbolos

produce:

Media muestral:

1
n−1

∑ni=1 (Xi − X¯n )2

Escritura de Texto Normal

I NSTITUTO T ECNOLÓGICO DE C OSTA R ICA
E SCUELA DE M ATEMÁTICA
MA-0441. P RIMER PARCIAL

3.4 Enumerado automático.

1
n−1

Varianza muestral:

Momentos muestrales:

Ejemplo 3.20

∑ni=1 (Xi − X¯n )2
1
n

∑ni=1 Xik

(Lista con enumerate e itemize)

Ejemplo con 4 niveles (máximo permitido). El código:
\begin{enumerate}
\item[\fbox{1.}] {\bf Procedimiento}{\em Aprendizaje}
{\bf comienzo} %Descriptor personalizado

\item[\fbox{2.}]
\begin{enumerate}
\item

Paso a.

\item

Paso b.

\begin{enumerate}
\item

Paso c.1

\item

Paso c.2

\begin{enumerate}
\item

Paso

c.2.1

\item

Paso

c.2.2

\end{enumerate}
\item

Paso c.3

\end{enumerate}
\item

Paso d.

\end{enumerate}
\item[\fbox{3.}] {\bf fin}
\end{enumerate}
% ITEMIZE
\begin{itemize}
\item

{\red Sugerencia 1}

\item

{\red Sugerencia 2}

\end{itemize}

produce:

1. Procedimiento Aprendizaje
2. comienzo
a) Paso a.
b) Paso b.
1) Paso c.1
2) Paso c.2
a0 Paso c.2.1

31

3.4 Enumerado automático.

b0 Paso c.2.2
3) Paso c.3
c) Paso d.
3. fin

32

Sugerencia 1
Sugerencia 2

Los símbolos que enumerate pone por defecto para enumerar una lista se pueden cambiar redefiniendo los comandos labelenumi, labelenumii, labelenumiii y labelenumiv.

El código:
\renewcommand{\labelenumi}{\Roman{enumi}.}
\renewcommand{\labelenumii}{\arabic{enumii}$)$ }
\renewcommand{\labelenumiii}{\alph{enumiii}$)$ }
\renewcommand{\labelenumiv}{$\bullet$ }
\begin{enumerate}
\item Primer nivel (en Romanos)
\begin{enumerate}
\item Segundo nivel (en numeración arábiga)
\begin{enumerate}
\item Tercer nivel (numeración alfabética)
\begin{enumerate}
\item Cuarto nivel (usamos {\tt bullet})
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}

produce:
I. Primer nivel (en Romanos)
1) Segundo nivel (en numeración arábiga)
a) Tercer nivel (numeración alfabética)
• Cuarto nivel (usamos bullet)

Nota: Si se va a utilizar el mismo sistema de numeración durante todo el documento, estas ins-

trucciones se pueden poner en el preámbulo.

Escritura de Texto Normal

Ejemplo 3.21

3.4 Enumerado automático.

Personalizar el entorno “enumerate”.
Se puede cambiar muchas cosas en el entorno “enumerate”, por ejemplo márgenes, espacio entre
items, color, etc. Todo esto se puede hacer con el paquete enumitem. La documentación del paquete la puede encontrar en http://www.ctan.org/pkg/enumitem.
Para usar este paquete, debemos poner en el preámbulo
\usepackage[shortlabels]{enumitem} % Versión 3.0 o +

Con este paquete, entre otras cosas, nos permite opciones del tipo \begin{enumerate}[opciones
]. Veamos un ejemplo.

Ejemplo 3.22

(Algunas opciones con el paquete “enumitem”)

El código:
\begin{enumerate}[label=\emph{\alph*})]
\item Uno
\item Dos
\end{enumerate}

% resume = continuación de la numeración anterior
"resume" continúa una lista pero solo localmente,\\
\begin{enumerate}[label=\emph{\alph*}),resume]
\item Tres
\item Cuatro
\end{enumerate}
Agregar un texto en negrita al item y correr margen izquierdo\\
\begin{enumerate}[label=\textbf{Idea (\emph{\alph*})}, leftmargin=2cm]
\item De nuevo Uno
\item Dos
\end{enumerate}

produce:

a) Uno
b) Dos
“resume” continúa una lista pero solo localmente,
c) Tres

33

3.4 Enumerado automático.

d) Cuatro

Agregar un texto en negrita al item y correr margen izquierdo:

Idea (a) De nuevo Uno

34

Idea (b) Dos

Ejemplo 3.23
El código:
produce:
% \usepackage[shortlabels]{enumitem}
% Etiqueta (a.) -> (a), (b),...
\begin{enumerate}[(a.)]
\item $11^2=121$
\item $(1+1)^2=1+2+1$
\item $12^2=144$
\item $(1+2)^2=1+4+4$
\end{enumerate}
Otra lista con A.1), A.2),...\\
\begin{enumerate}[font=\sffamily\bfseries,
label=A.\arabic*)]
\item $11^2=121$
\item $(1+1)^2=1+2+1$
\item $12^2=144$
\item $(1+2)^2=1+4+4$
\end{enumerate}

Escritura de Texto Normal

La opción shortlabels que cargamos con el paquete enumitem permite poner etiquetas dee manera simple.

3.4 Enumerado automático.

Etiquetas (a), (b),...

(a.) 112 = 121
(b.) (1 + 1)2 = 1 + 2 + 1
(c.) 122 = 144
(d.) (1 + 2)2 = 1 + 4 + 4
Otra lista con A.1), A.2),...

A.1) 112 = 121
A.2) (1 + 1)2 = 1 + 2 + 1
A.3) 122 = 144
A.4) (1 + 2)2 = 1 + 4 + 4

La opción resume (para continuar una lista) se puede usar “globalmente” con la opción series

Ejemplo 3.24

(Opción “resume” global)

Continuación de una lista en un ambiente minipage: El tipo de etiquetas se declara en las
opciones como series = nombre_etiquetas, luego en la lista que sigue se invoca en
las opciones con resume*=nombre_etiquetas. En este ejemplo usamos series = Aes
porque vamos a etiquetar con A.1, A.2,...
El código:
\begin{minipage}{7cm}
\begin{enumerate}[font=\sffamily\bfseries,label=A.\arabic*), series=Aes]
\item $11^2=121$
\item $(1+1)^2=1+2+1$
\item $12^2=144$
\item $(1+2)^2=1+4+4$
\end{enumerate}
\end{minipage} \hfill \begin{minipage}{7cm}
\begin{enumerate}[label=I.\arabic*),resume*=Aes]
\item $3^3 + 4^4 + 3^3 + 5^5 = 3435$
\item $2^4 = 4^2$
\item $2592=2^59^2$
\item $10^2+11^2+12^2=13^2+14^2$
\end{enumerate}
\end{minipage}

35

3.4 Enumerado automático.

produce:
A.1) 112 = 121

A.5) 33 + 44 + 33 + 55 = 3435

A.2) (1 + 1)2 = 1 + 2 + 1

A.6) 24 = 42

A.3) 122 = 144

A.7) 2592 = 25 92

A.4)

(1 + 2)2

36

A.8) 102 + 112 + 122 = 132 + 142

= 1+4+4

Enumeración por filas

a)

lı́m h(x)

b)

lı́m h(x)

e)

x→0

d)

x→0

lı́m h(x)

c)

lı́m h(x)

f)

x→0

x→0

lı́m h(x)

x→0

lı́m h(x)

x→0

El código completo es,
\documentclass{article}
\usepackage{tabularx}
% contador
\newcounter{lasfilas}
\renewcommand\thelasfilas{\alph{lasfilas}}
\newenvironment{enumfilas}[1]
{\setcounter{lasfilas}{0}
\par\noindent\tabularx{\linewidth}[t]
{*{#1}{>{\stepcounter{lasfilas}\makebox[1.8em][l]{\thelasfilas)\hfill}}X}} %
}{\endtabularx}
\begin{document}
\begin{enumfilas}{3}
$\lim\limits_{x \rightarrow 0} h(x)$ & $\lim\limits_{x \rightarrow 0} h(x)$ &
$\lim\limits_{x \rightarrow 0} h(x)$ \\[0.4cm]
$\lim\limits_{x \rightarrow 0} h(x)$ & $\lim\limits_{x \rightarrow 0} h(x)$ &
$\lim\limits_{x \rightarrow 0} h(x)$ \\[0.4cm]
\end{enumfilas}
\end{document}

3.4.1

Enumeración usando el paquete TikZ.
Podemos crear ‘bolas’ 3D con números para usar en un entorno enumerate. Algo como

1 xx

x
xx

xx

.
..
1

converge para x ∈ [e−e , e e ]

Escritura de Texto Normal

Hay varias opciones para hacer listas enumeradas en varias columnas, de tal manera que la enumeración transcurra por filas. Una opción es usar el paquete tabularx con un entorno especial
“enumfilas” [25].

3.4 Enumerado automático.

2 log(1 + 2 + 3) = log(1) + log(2) + log(3)

a c
a+b c+d
=
=⇒
=
b d
a−b c−d
Las bolas las creamos con el paquete TikZ y debemos definir un comando para llamar a estas
bolas. El tamaño de las bolas las controlamos con la opción scale. código: es
3

%En el preámbulo
\usepackage{tikz}
%Define un comando para bolas 3D numeradas y de color azul
\newcommand*{\itembolasazules}[1]{ % l
\footnotesize\protect\tikz[baseline=-3pt] %
\protect\node[scale=.7, circle, shade,
ball color=blue]{\color{white}\Large\bf#1};}

Ejemplo 3.25

(Listas con el paquete Tikz).

El código:
\documentclass{article}
\usepackage[total={12cm,21cm},top=2cm, left=2cm]{geometry}
\parindent=0mm
\usepackage{latexsym,amsmath,amssymb,amsfonts}
\usepackage[latin1]{inputenc} %
\usepackage[spanish]{babel}
%----- Paquete TiKz -----------------------\usepackage{tikz}
\usepackage{enumitem}
\newcommand*{\itembolasazules}[1]{ % bolas 3D
\footnotesize\protect\tikz[baseline=-3pt] %
\protect\node[scale=.7, circle, shade, ball
color=blue]{\color{white}\Large\bf#1};}
%--------------------------------------------\begin{document}
Listas enumeradas con bolas3D\\\\
\begin{enumerate}[label=\itembolasazules{\arabic*}]
\item Paso 1
\item Paso 2
\item Paso 3
\end{enumerate}
\end{document}

produce:

1 Paso 1
2 Paso 2
3 Paso 3

Descargar archivo

37

3.5 Título, contenido, secciones y bibliografía

3.5

Título, contenido, secciones y bibliografía
El código que sigue es el de una plantilla básica para un documento clase book. Para usar otras
facetas, se debe invocar los paquetes respectivos. Si tiene una distribución completa y actualizada
de TEX no tendrá problemas. Sino, debera descargar los paquetes (archivos .sty) y pegarlos en el
subdirectorio \tex\latex\base o también, bastaría con que estén presentes en la carpeta donde
está su archivo .tex

38

Descargar archivo

\documentclass{book}
% Dimensiones y márgenes--------------------------------------------\parindent=0mm
% Otros paquetes ----------------------------------------------------\usepackage{mathpazo} %fuente palatino
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{pstricks}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc} %
\usepackage[spanish]{babel} % Idioma español
\usepackage{latexsym,amsmath,amssymb,amsfonts,cancel}
\usepackage[shortlabels]{enumitem}
% Referencias - ligas
\usepackage[hyphens]{url}
\usepackage[breaklinks,colorlinks=true,linkcolor=red,
citecolor=red, urlcolor=blue]{hyperref}
%Comandos -----------------------------------------------------------\newcommand{\sen}{\mathop{\rm sen}\nolimits} %seno
\newcommand{\arcsen}{\mathop{\rm arcsen}\nolimits}
\newcommand{\arcsec}{\mathop{\rm arcsec}\nolimits}
\setcounter{chapter}{0}
\newtheorem{teo}{Teorema}[chapter] %entorno para teoremas
\newtheorem{ejemplo}{{\it Ejemplo}}[chapter] %entorno para ejemplos
\newtheorem{defi}{Definici\'on}[chapter] %entorno para definiciones
%---------------------------------------------------------------------\begin{document}
\title{\Huge Manual de \LaTeX\\
{\small \gray {\fontfamily{phv}\selectfont % gris y Helvetica
Instituto Tecnol\'ogico de Costa Rica\\
Escuela de Matem\'atica\\
Ense\~nanza de la Matem\'atica\\
}
}}
\author{Preparado por Prof. Walter Mora F. y Alexander Borb\'on A.}
\date{2013}
\maketitle %despliega el t\'itulo

Escritura de Texto Normal

\usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry}

3.5 Título, contenido, secciones y bibliografía

\tableofcontents
\chapter{\LaTeX}
\section{?`Qué es \LaTeX?}
...
\subsection{Preámbulo}
...
\subsubsection{Acerca del Título}
...
\section{Deficiones, teoremas y ejemplos}
%Definición
\begin{defi} $f$ es de clase $C^1[a,b]$ si ....
\end{defi}
...
%Teorema
\begin{teo} {\rm Si $f \in C^1[a,b]$ entonces....} %fuente roman normal
\end{teo}
...
%Ejemplo
\begin{ejemplo} Si $f(x)=\frac{1}{x-2}$ entonces $f \in C^1[-1,1]$.
\end{ejemplo}
...
% Bibliografía -------------------------------------------------------\addcontentsline{toc}{chapter}{Bibliografía} % agregar al Indice
\begin{thebibliography}{99}
\bibitem{Hahn} Hahn, J.``\LaTeX $\,$ for eveyone''. Prentice Hall,
New Jersey, 1993.
...
\end{thebibliography}
\end{document}

Título
Como se observa, el título se define con el comando \title, además se pueden definir el o los
autores con el comando \author y la fecha se puede definir con el comando \date, para que no
salga fecha se deja este comando en blanco. Por último para que aparezca el título en el documento
se debe poner el comando \maketitle.

Tabla de contenidos
LATEX realiza automáticamente la tabla de contenidos de un documento, tan solo se debe poner el
comando \tableofcontents en donde se quiera que aparezca.
Capítulos y Secciones
Para crear capítulos en un documento se utiliza el comando \chapter, las secciones del capítulo
se definen con el comando \section y estas secciones se pueden dividir en subsecciones y subsubsecciones con los comandos \subsection y \subsubsection

39

3.5 Título, contenido, secciones y bibliografía

Nota: Las secciones dependen del tipo de documento que se esté realizando; por ejemplo, un

artículo no posee capítulos, sólo secciones y subsecciones pero sí tiene un resumen (se usa el comando \abstract), un libro no tiene resumen pero sí tiene prefacio, éste se pone con el comando
\begin{preface}...\end{preface} .

40
La Bibliografía
En la plantilla que sigue se muestra de nuevo el ambiente para una bibliografía sencilla, es un
ambiente parecido a enumerate.
\addcontentsline{toc}{chapter}{Bibliografía}
\begin{thebibliography}{99}
\bibitem{Hahn} Hahn, J. {\it \LaTeX\, for eveyone}. Prentice Hall,
\end{thebibliography}

Referencias a la bibliografía: cite
En el texto uno puede hacer referencia a algún ítem de la bibliografía. Para hacer esto, le ponemos
una etiqueta al ítem: \bibitem{Hahn} hace que Hahn sea la referencia a este libro.
\begin{thebibliography}{99}
...
\bibitem{Hahn} Hahn, J.``\LaTeX \, for eveyone''.
Prentice Hall, New Jersey, 1993.
\end{thebibliography}

Entonces podemos hacer referencia a este libro en el texto con \cite[nota]{clave} o solamente
con \cite{clave}.
Ejemplo 3.26
El texto "En \cite[pág. 80]{Hahn} se pueden ver los aspectos..."
produce: “En [18, pág. 80] se pueden ver los aspectos relativos a ...”.

El uso del ambiente thebibliography se profundiza en la sección 8.1 donde también se muestra
el uso de BibTEX para la creación de bibliografías en distintos formatos.

Referencia a definiciones, teoremas, etc.
Algo similar podemos hacer en los ejemplos, teoremas, definiciones, etc. Para estos usamos una
etiqueta (label) para identificarlos. Por ejemplo, si ponemos
% El entorno "teo" fue definido en el preámbulo
\begin{teo}[Teorema del Valor Medio]\label{tvm}
....
\end{teo}

Escritura de Texto Normal

New Jersey, 1993.

3.5 Título, contenido, secciones y bibliografía

podemos hacer referencia a este teorema (presente en este texto) así: En el teorema \ref{tvm
}.... Esto produce:
En el teorema 7.4.1...
Para resaltar más texto usamos \hyperref[referencia]{texto \ref*{referencia}}.
Por ejemplo: En el teorema \hyperref[tvm]{teorema \ref*{tvm}} produce
En el teorema 7.4.1
Lo mismo podemos hacer en los ambientes table, figure, eqnarray, equation, etc.

Nota. El color de la liga se puede cambiar en las opciones del paquete hyperref,
\usepackage[colorlinks=true, linkcolor=red,
citecolor=red, urlcolor=blue]{hyperref}

3.5.1

Indice alfabético
Para generar un índice alfabético se debe cargar el paquete makeidx, para esto se escribe en
el preámbulo: \usepackage{makeidx} y se debe compilar tres veces en el orden: PDFLaTeX makeindex - PDFLaTeX;

Una plantilla básica para crear un índice alfabético sería

\documentclass{book}
...
\usepackage{makeidx}
\makeindex
...
\begin{document}
...
\index{Entrada para el Índice}
...
\printindex
\end{document}

La instrucción \makeindex se utiliza para inicializar el índice. Cada vez que se quiera agregar
una palabra al índice alfabético se utiliza el comando index (se coloca cerca de la palabra). En el
siguiente ejemplo se muestra el número de página en la que se puso el texto correspondiente.

41

3.5 Título, contenido, secciones y bibliografía

Ejemplo 3.27

(Indice alfabético).

Si se escribe:

se produce:

Página 1: \index{Manzana}

42

Página 6: \index{Naranja}
Página 10: \index{Banano}
Página 12: \index{Naranja}

Compilar con índice alfabético
Para compilar un documento que tenga un índice alfabético se debe compilar con PDFLaTeX makeindex - PDFLaTeX; es decir, primero compilar con PDFLaTeX , esto genera un archivo con
todas las entradas del índice, luego opción makeindex que genera un nuevo archivo con el índice
formateado correctamente y en orden alfabético y, por último nuevamente PDFLaTeX para que genere el documento con el índice correctamente. El comando \printindex al final del documento
ordena la salida final.
El comando\index tiene algunas opciones adicionales.
Ejemplo 3.28

(Indice alfabético).

El código:

produce:

Página 1: \index{Manzana|textbf}
Página 6: \index{Naranja|(}
Página 8: \index{Manzana!De agua}
Página 10: \index{Banano|see{Manzana}}
Página 12: \index{Naranja|)}
Página 13: \index{Manzana!Nacional}
Página 14: \index{Beta@$\beta$}
Página 14: \index{{Manzana!Americana}

De estos casos se puede observar que si se agrega el comando \textbf se logra que el número de
la página en el índice salga en negrita, también se puede lograr que salga en itálica con el comando
\textit.
Si se coloca |( se inicia un rango de páginas que termina cuando se ponga la misma palabra terminada por |), como ’la Naranja’ del ejemplo
.

Escritura de Texto Normal

Observe cómo LATEX acomoda automáticamente de manera alfabética las palabras e indica en las
páginas en las que aparecen. Dentro del documento se escribe el comando \printindex donde se
quiera que aparezca el índice alfabético.

3.5 Título, contenido, secciones y bibliografía

Para una palabra se puede poner un segundo nivel de palabras clave con el signo de admiración
como el que se hizo con las manzanas del ejemplo.
Se puede hacer una referencia cruzada desde una palabra a cualquier otra agregando el comando
see{Llave}, también existe el comando |seealso{Llave} (ver también). La palabra “see” y “see
also” saldrán en español si se ha cargado el paquete babel (ver sección 2.6)
También se puede utilizar el ’’ para ordenar alfabéticamente un signo o alguna palabra diferente,
por ejemplo, anteriormente se utilizó \index{Beta@$\beta$} que logra que el símbolo matemático β aparezca en el índice alfabético pero que se ordene alfabéticamente bajo el nombre de Beta.
Por último, es muy común que se quiera hacer que en el índice alfabético aparezca una letra antes
de las palabras (tal y como se hizo el índice alfabético de este libro), para lograrlo se debe hacer
un archivo aparte (que en nuestro caso lo llamamos myindex.ist), este archivo se puede hacer con
el Bloc de Notas de Windows o el Editor de Textos en Linux y se debe poner en la misma carpeta
donde está el archivo .tex que estamos editando. El archivo myindex.ist debe tener las siguientes
líneas:
%MakeIndex style file myindex.ist
heading_prefix "{\\bfseries " %Insert in front of letter
heading_suffix "\\hfil}\\nopagebreak\n" %Append after letter
headings_flag 1
%Turn on headings (uppercase)

Ahora se debe ir a las Opciones del editor que se esté utilizando y en el comando para compilar
makeindex se debe agregar la opción -s myindex.ist .
Por ejemplo, en el caso de TeXMaker quedaría como se observa en la figura que sigue,

Utilizando el último ejemplo ahora se obtiene

43

3.6 Modulación

44

Modulación
Para evitar la incomodidad de mantener archivos muy grandes, es conveniente modular el texto
separándolo en varios archivos sin preámbulo ni \begin{document}... \end{document}. Por
ejemplo, este texto tenía la siguiente plantilla
\documentclass{report}
\textheight =20cm
\textwidth=18cm
\topmargin=-2cm
...
\begin{document}
\input cap1.tex
\pagebreak
\input cap2.tex
\pagebreak
...
\end{document}

Cada archivo *.tex fue editado con el preámbulo hasta que estuviera afinado. Luego se recortó el
archivo.

3.7

(*) Más cosas sobre las fuentes.

Paquete textcomp
Hay algunos caracteres especiales que requieren el paquete textcomp. Para usar este paquete
agregamos en el preámbulo, \usepackage{textcomp}
Por ejemplo, el acento: ` se obtiene con el comando \textasciigrave, el apóstrofo: ' se obtiene
con el comando \textquotesingle y el símbolo de copyright: © se obtiene con \textcopyright
. La lista de símbolos se puede obtener en
http://home.online.no/~pjacklam/latex/textcomp.pdf

Escritura de Texto Normal

3.6

3.7 (*) Más cosas sobre las fuentes.

Tamaño global de fuentes.
La fuente default que usa LATEX es de tamaño 10pt (72pt = 1 pulgada). Este tamaño lo podemos
cambiar a 11pt o 12pt agregando esta opción, por ejemplo \documentclass[12pt]{article}.
Si por alguna razón queremos variar este tamaño, por ejemplo para adaptar un documento para
leer en un lector Kindle, para un libro de cuentos, poesía, tesis, etc., podemos usar la clase memoir
, así tendremos soporte para fuentes de tamaño 9pt, 10pt, 11pt, 12pt, 14pt, 17pt, 20pt,
25pt, 30pt, 36pt, 48pt y 60pt, además de muchas cosas adicionales de estilo. Esta clase se
usan de la manera usual,
\documentclass[letterpaper,12pt,extrafontsizes]{memoir}
\usepackage{latexsym,amsmath,amssymb,amsfonts}
\begin{document}
Después de haber definido $e^x$ para $x$ real cualquiera,
es preferible definir $a^x$ por la fórmula $a^x=e^{x\log a}$...
\end{document}
8pt

10pt

14pt

Después de haber definido ex para x real

Después de haber definido ex para x real cualquiera, es preferible definir ax por la fórmula ax =
ex log a

Después de haber definido ex para x real cualquiera, es preferible definir ax por la fórmula
ax = ex log a

cualquiera, es preferible definir

ax

por la

fórmula ax = ex log a

Otros tamaños de fuente.
El tamaño de la fuente se puede controlar usando el paquete anyfontsize. Debemos poner en el
preámbulo \usepackage{anyfontsize}
Luego, en general, podemos usar el comando \fontsize{t}{s} holgadamente para establecer el
tamaño de la fuente en t pt. Debería usarse s=1.2 × t para manejar bien el espacio entre líneas
(por ejemplo \fontsize{100}{120}).

Ejemplo 3.29
El código:
\documentclass{article}
\usepackage{fix-cm} % En algunos casos es necesario.
\usepackage{anyfontsize}
\begin{document}
Este es {\fontsize{50}{60}\selectfont LaTeX}
\end{document}

produce: Este es

LaTeX

45

3.7 (*) Más cosas sobre las fuentes.

3.7.1

Las fuentes y sus atributos
LATEX no usa las fuentes del sistema operativo, más bien usa las fuentes instaladas por default
en la distribución TEX. Otras fuentes especiales se pueden agregar de mane-ra automática usando
paquetes. Si una fuente está disponible, puede aplicar esta fuente a parte de un texto o de manera
global.

46

Una lista de fuentes disponibles en LATEX se puede encontrar en
“The LaTeX Font Catalogue” en http://www.tug.dk/FontCatalogue/

\fontencoding{}:

Es la manera de identificar los caracteres usando números. Por ejemplo, el
caracter ~ lo podemos obtener directamente del teclado (pues estamos usando el paquete
inputenc en la codificación latin1), pero lo podemos obtener también usando su codificación latin1: Este carácter se puede obtener con el comando \char126. El mismo código
nos da otro carácter en el caso de que cambiemos a la codificación OML, por ejemplo.

\fontfamily{}:

cmr

Nombre de la colección de fuentes. Familias comunes son

Computer Modern Roman (default)

cmss Computer Modern Sans
cmtt Computer Modern Typewriter
cmm

Computer Modern Math Italic

cmsy Computer Modern Math Symbols
cmex Computer Modern Math Extensions
ptm

Adobe Times

phv

Adobe Helvetica

pcr

Adobe Courier

\fontseries{}:

“Peso” de la fuente.

m

Medium

b

Bold

bx

Bold extended

sb

Semi-bold

c

Condensed

\fontshape{}:

Forma de la fuente.

n

Normal

it

Italic

Escritura de Texto Normal

Cualquier fuente en LATEX tiene cinco atributos:encoding, family, series, shape, size.
Ya hemos usado estos atributos para la fuente estándar. En un texto normal uno usa varios tipos de
fuentes por eso es conveniente conocer como se hace en LATEX estos cambios.

3.7 (*) Más cosas sobre las fuentes.

sl

Slanted (``oblicua'')

sc

Caps and small caps

\fontsize{tamaño}{baselineskip}: Tamaño de la fuente y separación vertical entre líneas en

47

un mismo párrafo (baselineskip).
Usualmente usamos instrucciones tales como
{\fontfamily{...}\selectfont{ texto}}
{\fontencoding{...}\fontfamily{...}\selectfont{ texto }}
{\fontencoding{...}\fontfamily{...} \fontseries{b}\selectfont{ texto }}

Ejemplo 3.30

Para usar la fuente Calligra, debemos poner en el preámbulo
\usepackage[T1]{fontenc}
\usepackage{calligra}

Luego podemos cambiar la fuente de una parte del texto. Por ejemplo, en la palabra ‘Había’
podemos cambiar la fuente y el tamaño para la ‘H’ solamente:
{\fontfamily{calligra}\fontsize{30}{1}
\selectfont{H}}\normalfont abía una vez ...

Esta instrucción produce:

H

abía una vez ...

Podemos aplicar el tipo de fuente a partes determinadas del documento y regresar después
a la fuente normal. Esto se hace usando el comando \normalfont. Por ejemplo,
Gauss publicó
{\fontfamily{hv}\selectfont{\blue Disquisitiones Arithmeticae}}
\normalfont tres años más tarde...

produce: Gauss publicó Disquisitiones Arithmeticae tres años más tarde...

Cambio global de fuente.
Para hacer un cambio global solo debe declarar el paquete correspondiente en el preámbulo del
documento. Por ejemplo

\usepackage{pslatex}

\usepackage{concrete}

\usepackage{bookman}

\usepackage{cmbright}

\usepackage{helvet}

\usepackage{fourier}

\usepackage{palatino}

\usepackage{mathptmx}

\usepackage{newcent}

\usepackage{mathpazo}

\usepackage{pxfonts}

\usepackage{concrete,eulervm}

\usepackage{txfonts}

\usepackage{pslatex,concrete}

Este documento usa el paquete mathpazo.

3.7 (*) Más cosas sobre las fuentes.

Ejemplo 3.31

Fuentes concrete y mathptmx
concrete

mathptmx

48

3.7.2

Usando las fuentes del sistema con XeLATEX.
LATEX no usa las fuentes del sistema. XeLATEX es una variante de TEX que puede usar las fuentes instaladas en el sistema operativo (si requiere un trabajo más profesional). Viene incluido en
MikTEX (2.8 en adelante) y en TEXLive 2010 en adelante.
Un documento XeLATEX lo editamos de la manera usual (la codificación debe ser UTF8) por ejemplo

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Lucida Bright} %fuente en el sistema
\begin{document}
Después de haber definido
dificultad

$e^x$

para

$x$

real cualquiera, no hay ninguna

para dar una definición de $a^x$

Un método es definir $a^x$

para cada $a>0$.

como el número $y$

claro que este método no sirve para $ a=1$

tal que

puesto

$\log y =x$;

que el logaritmo de base

$1$ no está definido. Otro modo es definir
$a^x$

por la fórmula:

$$a^x=e^{x\log a}$$
\end{document}

Para compilar se usa el comando xelatex (presente en Kile; en TeXMaker hay que configurarlo).
Si no se tiene el comando en el editor, abrimos una terminal y ejecutamos (en la carpeta correcta):
xelatex ArchivoTal.tex. Por ejemplo en Ubuntu sería,

Escritura de Texto Normal

Información adicional se puede obtener en [3] y [17].

3.7 (*) Más cosas sobre las fuentes.

49
El resultado es un texto con fuente Lucida Bright (presente en mi sistema).

Un manual de referencia se encuentra en http://tug.ctan.org/tex-archive/info/xetexref/
XeTeX-reference.pdf.

(*) El Paquete fancyvrb
Hay cosas que no podemos hacer con el entorno verbatim pero que en algunos contextos son
necesarios. Por ejemplo, usar verbatim para una nota al pide de página o usar símbolos matemáticos, color, etc.; dentro del ambiente verbatim. Estas cosas se pueden hacer con el paquete
fancyvrb: Ponemos en el preámbulo \usepackage{fancyvrb}
Con este paquete ahora ya podríamos usar verbatim en notas al pie de página. Se usa footnote
de la manera usual pero, en este caso, precedido por \VerbatimFootnotes. Por ejemplo,

El peor ejemplo de programación recursiva es la de la función factorial
\VerbatimFootnotes \footnote{

Se refiere al código

\begin{verbatim}
int factorial(int n){
if (n == 0) return 1;
return n * factorial(n-1);}
\end{verbatim}
}

aunque es un ejemplo muy claro.

(*) Entorno Verbatim del paquete fancyvrb
A veces es adecuado introducir texto en modo matemático en un ambiente verbatim así como
otros efectos. Para hacer esto, usamos el entorno Verbatim del paquete fancyvrb. Notar la mayúscula: Verbatim. El entorno sería
\begin{Verbatim}[opciones]
...
\end{Verbatim}

3.7 (*) Más cosas sobre las fuentes.

En el ejemplo que sigue, se usan varias opciones: ’frame=lines’ para poner segmentos de línea al
inicio y al final, ’xleftmargin’y ’xrightmargin’ para ajustar estos segmentos. ’commandchars’
se usa para indicar que \ se va usar para aplicar comandos LATEX en el entorno y catcode para
especificar los caracteres de código matemático que se van a permitir en este ambiente, en este
ejemplo caso: $, ˆ, \ y _.

50

Ejemplo 3.32
El código:
\begin{Verbatim}[xleftmargin=3.1cm,xrightmargin=4.5cm,resetmargins=true,
frame=lines,formatcom=\color{blue},fontfamily=ptm, commandchars=\\\{\},
codes={\catcode`$=3\catcode`^=7\catcode`_=8}] % fin de opts

0.000005

$y=x^2$
2.5$\times 10^{-11}$

\end{Verbatim}

produce:

x
0.000005

y = x2
2.5×10−11

Nota: Si usamos el ambiente Verbatim para escribir código Basic (como VBA, OOoBasic, etc.),

los comentarios usan el apóstrofe: ' . Este apóstrofe se introduce en el ambiente Verbatim con el
comando \textquotesingle del paquete textcomp.

Escritura de Texto Normal

$x$

3.7 (*) Más cosas sobre las fuentes.

51

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

4

52
Texto en modo matemático

Para obtener el texto matemático de este capítulo se necesitan los símbolos que por defecto carga LATEX y adicionalmente varios paquetes: amsmath,amssymb,amsfonts,latexsym,cancel.
También necesitamos cinco comandos especiales para sen, arcsen, etc. La plantilla que sigue
viene con todo lo que necesitamos para los ejemplos que siguen en todo este capítulo:

Plantilla para este capítulo
\documentclass{article} %o report o book
\usepackage[total={18cm,21cm},centering]{geometry}
%Paquetes adicionales de símbolos matemáticos
\usepackage{amsmath,amssymb,amsfonts,latexsym,cancel}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc} %Acentos desde el teclado
\usepackage[T1]{fontenc}
% Comandos personales - especiales
\newcommand{\sen}{\mathop{\rm sen}\nolimits} %seno
\newcommand{\arcsen}{\mathop{\rm arcsen}\nolimits}
\newcommand{\arcsec}{\mathop{\rm arcsec}\nolimits}
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\Z}{\mathbb{Z}}
\def\max{\mathop{\mbox{\rm máx}}} % máximo
\def\min{\mathop{\mbox{\rm mín}}} % mínimo
\begin{document}
La fórmula $\sen^2(x)=1-\cos^2(x)$ ...
\end{document}

Descargar archivo

Texto en modo matemático

Recordemos que frecuentemente el texto matemático va en el entorno $...$. También hay otros
entornos que no requieren estos símbolos de dólar. En este capítulo vamos a usar símbolos especiales (los símbolos son fuentes) que no están presentes en el conjunto de símbolos que por defecto
carga LATEX.
Por ejemplo, para escribir “sen(x) ∈ R” se requiere definir un comando \sen y tener acceso al
paquete que permite definir el comando \R para obtener R.

4.1 Potencias, subíndices y superíndices

Aquí suponemos que se tiene una distribución TeX completa y actualizada (digamos MiKTEX o
TEXLive).

4.1

Potencias, subíndices y superíndices
Expresión
xp
(22 )n
sen2 (x)
an
uN+1
j

ai

∑Nn=1 un

Código
x^p

Expresión
xn+1
n

22

(2^2)^n

\sen^2(x)

xsen(x)+cos(x)

Código
x^{n+1}

2^{2^n}

x^{\sen (x)+ \cos (x)}

a_n

an+1

a_{n+1}

u_{N+1}

uN+1

u_{_{N+1}}

f (x) dx

\int_a^b f(x)\, dx

ui j

u_{ij}

a_i^j
\sum_{n=1}^{N}u_n

Rb
a

Se pueden ajustar los subíndice y los superíndices de la siguiente manera
Normal: $S_{N_j}$ produce: SN j
Mejor: $S_{_{N_j}}$ produce: SN j

4.2

Tamaño natural
Como se ve en la tabla anterior, el texto matemático se ajusta al ancho del renglón. Para desplegarlo en tamaño natural se usa el comando \displaystyle. Si sólo se quiere que una parte del
texto matemático salga en tamaño natural se escribe \displaystyle{} y entre las llaves se pone
el texto.

Ejemplo 4.1
El código:
La suma parcial $N-$ésima $S_N$ se define con la igualdad
$\displaystyle S_N=\sum_{k=1}^{N} \; a_n$

produce:
N

La suma parcial N−ésima SN se define con la igualdad SN =

∑
k=1

an

53

4.3 Fracciones y expresiones de dos niveles

4.3

Fracciones y expresiones de dos niveles
Para hacer fracciones se pueden utilizar los comandos: \over, \frac{}{} o { \atop }. Veamos
también otras “fracciones” útiles.
Expresión
x+1
x−1

x+1
x−1
x+1
3

x−1

Código

54

{x+1 \over x-1}

\displaystyle \frac{x+1}{x-1}

{{x+1 \over 3} \over x-1}

\displaystyle{\left( 1+ {1 \over x} \right)^{n+1 \over n}}


 n+1
1 n
1+
x

\displaystyle \left( 1+ \frac{1}{x} \right)^\frac{n+1}{n}


n+1
1
n
1+
x
x+1
x−1
x+1
x−1

x+1
x−1

x+1
x−1
f

a→b
lı́m f (x)

\displaystyle{\left( 1+ {1 \over x} \right)}^{\displaystyle{n+1 \over n}}

{x+1 \atop x-1}

{x+1 \above 2pt x-1}

(2pt es el grosor)

{x+1 \brace x-1}

{x+1 \brack x-1}

\displaystyle{a \stackrel{f}{\rightarrow} b}
\displaystyle{\lim_{ x \rightarrow 0}} f(x)

x→0

 
a
b

∑

ai b j

\displaystyle{a \choose b}

\displaystyle{\sum_{\substack{0\min_{x\in A} \{ g(x)\} $$

produce:

máx{ f (x)} > mı́n{g(x)}
x∈A

x∈A

Los comandos \max y \min aparecen con acento pues así los definimos en el preámbulo pro-puesto
al inicio del capítulo.

LLaves horizontales
Se puede poner tanto una llave horizontal superior como una llave horizontal inferior y un texto
arriba o abajo de la llave, se usa \overbrace{}^{}, \underbrace{}_{}, etc.

Texto en modo matemático

\atop
\overline{A \cap B} = \overline{A}\cup \overline{B}

4.8 Acentos y “sombreros” en modo matemático

Ejemplo 4.8
El código:
\[ \overbrace{(x_i-1)}^{K_i}f(x)+\underbrace{(x_i-1)}_{K_i}g(x)
= K_i(f(x)+g(x)) \]

produce:

K

z }|i {
(xi − 1) f (x) + (xi − 1) g(x) = Ki ( f (x) + g(x))
| {z }
Ki

4.8

4.9

Acentos y “sombreros” en modo matemático
ı̂

$\hat{\imath}$

á

$\acute{a}$

p̄

$\bar{p}$

~p

$\vec{p}$

Vectores
Probablemente sea mejor usar un paquete para producir vectores: \usepackage{esvect}. Una
vez cargado el paquete podemos poner
#„
# „
#„
v $\vv{v}$
A $\vv{A}$
v × w $\vv{v \times w}$

4.10

Negritas en modo matemático
En una fórmula matemática, el comando \boldmath solo aplica negrita a las fuentes de texto. Para
poner en negrita los símbolos se debe usar \boldsymbol o \pmb.
También se podría usar el paquete bm. Con este paquete las negritas se ponen con el comando
\mat{.}

Otra opción es poner en negrita toda una expresión matemática usando
\hbox{\boldmath $texto $\unboldmath}

Ejemplo 4.9

(Negrita en modo matemático)

cos(x + 2π) = cos x

$\pmb{\cos(x+2\pi)=\cos x}$

2π
cos(x +2π
2π) = cos x

$\cos(x+\pmb{2\pi})=\cos x$

59

4.11 Espacio en modo matemático

4.11

Espacio en modo matemático
LATEX no deja espacios en modo matemático. Para dejar espacio en modo matemático se usan los
comandos \, \; \! \: tanto como \hspace{}
Ejemplo 4.10

(Espacio en modo matemático)

n ∈ N, x ∈ R

$n \in \N, x \in \R$

Mejor:

n ∈ N, x ∈ R

$n \in \N, \; \; x \in \R$

Normal:

R

f (x)dx

$\int f(x)dx$

f (x) dx

$\displaystyle{\int} f(x)\, dx$

Z

Mejor:

4.12

Centrado
Para centrar una fórmula se usa $$...$$ o todavía mejor: \[ ... \].
En las fórmulas centradas no es en general necesario utilizar \displaystyle para producir texto
en tamaño natural.
Ejemplo 4.11
El código:
\[ ab \leq \left( {a+b \over 2} \right)^2 \]

produce:


ab ≤

4.13

a+b
2

2

Entorno equation. Contadores
LATEX puede llevar un conteo automático de capítulos, secciones, etc. Podemos llevar también un
conteo automático de teoremas, ecuaciones, etc. Por ejemplo con el entorno equation (un entorno
para el modo matemático que no requiere $),
\begin{equation}...\end{equation}

podemos poner un número de ecuación a la ecuación actual. Podemos también cambiar ese número usando

Texto en modo matemático

Normal:

60

4.14 Arreglos

\setcounter{equation}{k}.

El efecto de este comando es sumar ( −k resta) k unidades al número de ecuación actual
Ejemplo 4.12

(Entorno equation)

61

%estamos en ecuación 4.1 (cap 4)
\begin{equation}
\log_{2}(xy)=\log_2x + \log_2y

log2 (xy) = log2 x + log2 y

(4.1)

log2 (ab ) = b log2 a

(4.3)

\end{equation}
%sumamos 2 y pasamos a ecuación 4.3
\setcounter{equation}{2}
\begin{equation}
\log_{2}(a^b)=b\log_2a
\end{equation}

Una vez establecido el contador, se puede usar el ambiente subequations para lograr una ‘subnumeración’:

Ejemplo 4.13

(subequations)

\begin{subequations}
\begin{equation}
\log_{2}(xy)=\log_2x + \log_2y
\end{equation}
\begin{equation}
\log_{2}(a^b)=b\log_{2}a
\end{equation}

log2 (xy) = log2 x + log2 y (4.4a)

log2 (ab ) = b log2 a

(4.4b)

\end{subequations}

4.14

Arreglos
Para editar una matriz se debe indicar:
Los delimitadores, digamos: \left[...\right]
Inicio del “array” y el número y alineación de las columnas (centrado (c), alineado a la
izquierda (l) o a la derecha (r)), digamos 3 columnas: \begin{array}{lcr}

4.14 Arreglos

Los delimitadores de columnas, para 3 columnas: & & & \\
“\\” indica el cambio de fila. Se puede usar \\[xcm] para crear espacio entre las filas.
Final del “array”: \end{array}

62

Nota: En la sección 4.15 se muestran otras formas de realizar matrices.
Ejemplo 4.14

(Entorno array)
produce:

El código:


\[
a

& a+b

& k-a

b

& b

& k-a-b

\\

\vdots

& \vdots

z

&

\\







& \vdots \\

z + z

& k-z

\end{array}
\right)
\]

Ejemplo 4.15

Hagamos algunos cambios: Agreguemos dos columnas vacías y cambiemos el alineamiento
El código:
\[
A = \left( \begin{array}{lcccl}
a

&

& a+b

&

& k-a

\\

b

&

& b

&

& k-a-b

\\

\vdots &

& \vdots

&

& \vdots \\

z

&

z + z

&

& k-z

&

\end{array}
\right)
\]

produce:




A=


a
b
..
.

a+b
b
..
.

k−a
k−a−b
..
.

z

z+z

k−z







Texto en modo matemático



A=


A = \left( \begin{array}{lcr}

a a+b
k−a
b
b
k−a−b
..
..
..
.
.
.
z z+z
k−z

4.14 Arreglos

Ejemplo 4.16

(Función a trozos).

El código:

63

\[
f(x)= \left\{

\begin{array}{lcl}
x^2

& \mbox{

si }

& x<0 \\

si }

& x>0

&
x-1

\\

&

& \mbox{

\end{array}
\right.
\]

produce:

f (x) =

 2
 x


x−1

si

x<0

si

x>0

Nota: \mbox se utiliza para escribir texto corriente dentro del modo matemático.

Ejemplo 4.17
A veces es conveniente anidar un array dentro de otro array,
El código:

$$
\left\{
\begin{array}{lclcl}
\cos x
& &

&=& 0

\sen x
& &

&\Longrightarrow & x=(2k+1)\,\frac{\pi}{2};\; k \in \Z\\

& &\\
&=& -1

&\Longrightarrow & x=(4k+3)\,\frac{\pi}{2};\; k \in \Z\\

& &\\

\cos(2x) &=&\frac{1}{2} &\Longrightarrow &\left\{
\begin{array}{lcr}
x

&=& \frac{\pi}{6}+k\pi;\; z \in \Z\\

& &\\
x

&=& -\frac{\pi}{6}+k\pi;\; z \in \Z\\

\end{array}
\right.\\
\end{array}
\right.
$$

produce:

4.15 Matrices


cos x









 sen x

=⇒ x = (2k + 1) π2 ; k ∈ Z

= 0

= −1 =⇒ x = (4k + 3) π2 ; k ∈ Z








cos(2x) =




1
2

=⇒


 x =


π
6

+ kπ; z ∈ Z

x = − π6 + kπ; z ∈ Z

El código:
$$
\begin{array}{rcl}
A\cup B \subseteq B &

&

x \in A \cup B

& x \in A \vee x \in B \\[0.15cm]

\\ \hline %linea horizontal

%Comentario que recorre tres columnas
\multicolumn{3}{l}{\mbox{Por hipótesis,\;} x\in A\implies x\in B} \\[0.15cm]
&\implies

& x \in B \vee x \in B

&\implies

& x \in B

\\
\\

&\therefore & x A \cup B \subseteq B \\
\end{array}
$$

produce:

A∪B ⊆ B
x ∈ A∪B

=⇒ x ∈ A ∨ x ∈ B

Por hipótesis, x ∈ A =⇒ x ∈ B
=⇒ x ∈ B ∨ x ∈ B
=⇒ x ∈ B
∴ A∪B ⊆ B

4.15

Matrices

Texto en modo matemático

Líneas horizontales y comentarios
Podemos aumentar o disminuir el espacio horizontal usando \\[xcm] donde x puede ser positivo
o negativo. También podemos agregar líneas horizontales con el comando\hline y recorrer una
fila o parte de una fila con el comando \multicolumn. Otras opciones para incluir en los arreglos
se puede ver en el capítulo 5, dedicado a “Tablas”. Por ejemplo,

&\implies

64

El entorno array es útil y versátil. Si solo queremos trabajar con matrices podemos usar los entornos smallmatrix, pmatrix, bmatrix, Bmatrix, vmatrix y Vmatrix. Estos entornos producen, respectivamente, ( ), [ ], , | | y || ||.
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

4.16 Alineamiento

El entorno smallmatrix
produce arreglos ajustados (sin delimitadores), para ser usadas en el tex
a
b
to normal, e.g. c d .
El código del párrafo anterior es,
El entorno ... e.g. $\bigl( \begin{smallmatrix}
a & b \\ c & d
\end{smallmatrix} \bigr)$.

Ejemplo 4.18

(Entorno para matrices)

El código:
\begin{pmatrix}
1

& 0
& 0
&
&
h_0 & 2(h_0+h_1) & h_1 &
&
0 & h_1
& 2(h_1+h_2) & h_2 &

\cdots 0 \\
\cdots 0 \\
\cdots 0 \\

& \ddots
0

& \ddots & \ddots &
\\
_
_
_
& 0 \cdots & h {n-3} & 2(h {n-3}+h {n-2}) & h_{n-2} \\

0

& 0

&

&

&

\cdots 1 \\

\end{pmatrix} \cdot\begin{pmatrix}
c_0\\
c_1\\
\vdots\\
c_{n-1}\\
c_n\\
\end{pmatrix}

produce:



1
0
0
h 2(h + h )
h
 0
0
1
1

h1
2(h1 + h2 )
h2
0

..
..
..

.
.
.


0
···
hn−3
2(hn−3 + hn−2 )
0
0

4.16



0 
c0
0
 
c1 


0 

 ·  ... 

 

 
 cn−1 
hn−2 
cn
··· 1
···
···
···

Alineamiento

Ambiente “eqnarray”
Se puede alinear una serie de pasos (o ecuaciones), en un razonamiento usando

\begin{eqnarray*}. . . \end{eqnarray*}

este comando construye una matriz de 3 columnas.
Si se quiere que cada uno de los pasos aparezca numerado se utiliza

65

4.16 Alineamiento

\begin{eqnarray}. . . \end{eqnarray}

Si se usa \begin{eqnarray} ... \end{eqnarray}, se puede evitar numerar una ecuación poniendo \nonumber al final de la fila (antes de \\).

66
Ejemplo 4.19

(Arreglos sin numeración. Espacio)

El código:

De acuerdo al lema de Euclides tenemos que

& =
& =

& \mbox{mcd}(r_1,r_2)
\\[0.2cm]
_
_
_
_
& \mbox{mcd}(r 1-r 2q 2,r 2)\\[0.2cm]

\end{eqnarray*}

produce:

De acuerdo al lema de Euclides tenemos que
mcd (a, b) = mcd(a − r0 q, r0 )
= mcd(r1 , r0 )
= mcd(r1 , r0 − r1 q2 )
= mcd(r1 , r2 )
= mcd(r1 − r2 q2 , r2 )

Ejemplo 4.20

(Sin numeración)

El código:
% Sin numeración >>
\begin{eqnarray*}
y=\sqrt[n]{x} &\Longrightarrow
&\Longrightarrow
& \Longrightarrow
\end{eqnarray*}

produce:

& y^n=x \\
& n\log \,y=\log \,x,\;\mbox{si}\;x,y>0\\
& \log \sqrt[n]{x}={1 \over n}\log \,x

Texto en modo matemático

\begin{eqnarray*} % Espacio entre filas aumentado \\[0.2cm]
\mbox{mcd}(a,b)
& = & \mbox{mcd}(a-r_0q,r_0)
\\[0.2cm]
_
_
& = & \mbox{mcd}(r 1,r 0)
\\[0.2cm]
_
_
_
_
& = & \mbox{mcd}(r 1,r 0-r 1q 2)\\[0.2cm]

4.16 Alineamiento

y=

√
n
x =⇒ yn = x
=⇒ n log y = log x; si x, y > 0
√
1
=⇒ log n x = log x
n

Ejemplo 4.21

67

(Con numeración)

El código:
% Con numeración >>
\begin{eqnarray}
y=\sqrt[n]{x}

&\Longrightarrow

&y^n=x \\

&\Longrightarrow

&n\log\,y=\log\,x;\;\mbox{si}\; x,y>0\\

&\Longrightarrow

&\log \sqrt[n]{x}={1 \over n}\log \,x

\end{eqnarray}

produce:

y=

√
n
x =⇒ yn = x

(4.5)

=⇒ n log y = log x, si x, y > 0
√
1
=⇒ log n x = log x
n

Ejemplo 4.22

(4.6)
(4.7)

(Numeración selectiva)

El código:
% Numeración selectiva >>
\begin{eqnarray}
y=\sqrt[n]{x}

= x

&\Longrightarrow

&y^n

&\Longrightarrow

&n\log \,y=\log\,x,

\nonumber\\[0.5cm]

&\Longrightarrow

&\log \sqrt[n]{x}={1 \over n}\log \,x

\;\mbox{si}\; x,y>0 \\[0.5cm]
\end{eqnarray}

produce:

y=

√
n
x =⇒ yn = x
=⇒ n log y = log x, si x, y > 0

(4.8)

√
1
=⇒ log n x = log x
n

(4.9)

4.16 Alineamiento

Entornos align y multline
El entorno ‘eqnarray ’ no se recomienda porque tiene algunos inconvenientes: Produce un espaciado irregular en los signos de igualdad y no hacen ningún intento para evitar la sobreimpresión
del cuerpo de la ecuación y número de la ecuación. Si usamos el paquete amsmath (como lo asumimos aquí) podemos acceder a los entornos “align ”y “ multline ”

68

El entorno ‘align’ es similar a ‘eqnarray ’ pero sin los problemas indicados, y también permite
ecuaciones numeradas o sin numerar (usando align* ).
En el entorno align :

El comando \intertext{texto} intercala texto entre filas mientras se mantiene las columnas alineadas.

Ejemplo 4.23
El código:
\begin{align*}
\intertext{Agrupamos,}
\frac{a+ay+ax+y}{x+y}

&=

\frac{ax+ay+x+y}{x+y}

&\mbox{Agrupar}\\

\intertext{sacamos el factor común,}
&=

\frac{a(x+y)+x+y}{x+y}

&\mbox{Factor común}\\

&=

\frac{(x+y)(a+1)}{x+y}

&\mbox{Simplificar}\\

&=

a+1

\end{align*}

produce:

Agrupamos,
a + ay + ax + y ax + ay + x + y
=
x+y
x+y

Agrupar

sacamos el factor común,
a(x + y) + x + y
x+y
(x + y)(a + 1)
=
x+y
= a+1
=

Factor común
Simplificar

Texto en modo matemático

establece una igualdad en una misma columnas mientras que & establece un cambio de
columna.
&=

4.17 Tablas de símbolos matemáticos frecuentes

Ejemplo 4.24
El código:

El código:
\begin{align*}
a &=
b + c - d\\
&\quad + e - f\\
&=

m

69

\begin{multline*}
a+b+c+d+e+f+t+x+y\\
+m+n+r+t+y
\end{multline*}

\end{align*}

produce:

produce:

a+b+c+d +e+ f +t +x+y

a = b+c−d

+m+n+r +t +y

+e− f
=m

4.17
4.17.1

Tablas de símbolos matemáticos frecuentes
Letras griegas
α \alpha
β \beta
γ \gamma
δ \delta
ε \epsilon
ε \varepsilon
ζ \zeta
η \eta
θ \theta
ϑ \vartheta
ι \iota

4.17.2

κ \kappa
λ \lambda
µ \mu
ν \nu
ξ \xi
oo
π \pi
ϖ \varpi
ρ \rho
ρ \varrho
σ \sigma

ς \varsigma
τ \tau
υ \upsilon
φ \phi
ϕ \varphi
χ \chi
ψ \psi
ω \omega
Γ \Gamma
∆ \Delta
Θ \Theta

Λ \Lambda
Ξ \Xi
Π \Pi
Σ \Sigma
ϒ \Upsilon
Φ \Phi
Ψ \Psi
Ω \Omega

/ \triangleleft
. \triangleright
o \wr

⊕ \oplus

Operadores binarios
± \pm
∓ \mp
\ \setminus
· \cdot
× \times
∗ \ast
? \star
 \diamond

◦ \circ
• \bullet
÷ \div
∩ \cap
∪ \cup
] \uplus
u \sqcap
t \sqcup

\bigcirc

a
\bigtriangleup
`

\bigtriangledown

∨ \vee
∧ \wedge

\ominus

⊗ \otimes
\oslash
\odot

† \dagger
‡ \ddagger
\amalg

4.17 Tablas de símbolos matemáticos frecuentes

4.17.3

Relaciones
≤ \leq
≥ \geq
 \succ
 \succeq
 \gg
 \ll
≺ \prec
 \preceq
⊂ \subset

_ \frown
a \dashv
| \mid
k \parallel
≡ \equiv
∼ \sim
' \simeq
 \asymp
≈ \approx

∼
= \cong
./ \bowtie
∝ \propto
|= \models
.
= \doteq
⊥ \perp
6 \neq
=
1 \Join

Negación de relaciones
En general, cualquier negación se puede hacer anteponiendo la instrucción \not a cualquier relación anterior, algunos ejemplos se muestran en la tabla siguiente.
6 \not\succeq
6 \not\supset
⊃
6 \not\supseteq
⊇
6 \not\sqsupseteq
w
6 \not=
=
6 \not\equiv
≡
6 \not\sim
∼
6 \not\simeq
'
6 \not\approx
≈
∼
6 \not\cong
=

6< \not<
6 \not\leq
≤
6 \not\prec
≺
6 \not\preceq

6 \not\subset
⊂
6 \not\subseteq
⊆
6 \not\sqsubseteq
v
6 \not>
>
6 \not\geq
≥
6 \not\succ


4.17.5

Otros símbolos
ℵ \aleph
~ \hbar
ı \imath
\jmath

` \ell
℘ \wp
ℜ \Re
ℑ \Im

4.17.6

∂ \partial
∞ \infty
0 \prime
0/ \emptyset
∇ \nabla
√
\surd

> \top
⊥ \bot

\ \natural
] \sharp
♣ \clubsuit
♦ \diamondsuit
♥ \heartsuit
♠ \spadesuit

Especiales
e \widetilde{A}
A
b \widehat{A}
A

4.17.7

k \|
∠ \angle
4 \triangle
\ \backslash
∀ \forall
∃ \exists
¬ \neg
[ \flat

→
−
v \overrightarrow{v}

Símbolos del paquete amssymb
El paquetes amssymb se carga si usamos el preámbulo propuesto al inicio del capítulo.

70

Texto en modo matemático

4.17.4

⊆ \subseteq
v \sqsubseteq
⊃ \supset
⊇ \supseteq
w \sqsupseteq
∈ \in
3 \ni
` \vdash
^ \smile

4.18 Cómo hacer nuevos Comandos.

R
Q
Z
I
∴
∵
5
=
6
>
1
&
'

\mathbb{R}
\mathbb{Q}
\mathbb{Z}
\mathbb{I}
\therefore
\because
\leqq
\geqq
\leqslant
\geqslant
\eqslantgtr
\gtrsim
\gtrapprox

m
≷
0
.
/
u
l
R
T
≪
≫
≶
Q

\gtrdot
\gtrless
\eqslantless
\lesssim
\lessapprox
\approxeq
\lessdot
\gtreqless
\gtreqqless
\lll
\ggg
\lessgtr
\lesseqgtr

S
+
:
;
$
,
∼
≈
v
w
j
k
b

\lesseqqgtr
\doteqdot
\risingdotseq
\fallingdotseq
\circeq
\triangleq
\thicksim
\thickapprox
\backsim
\backsimeq
\subseteqq
\supseteqq
\Subset

c
<
=
<
4
2
3
%
w
v
B
D

\Supset
\sqsubset
\sqsupset
\succcurlyeq
\preccurlyeq
\curlyeqprec
\curlyeqsucc
\precsim
\succsim
\precapprox
\succapprox
\vartriangleright
\trianglerighteq

Símbolos adicionales
Se puede encontrar una gran cantidad de símbolos adicionales (cerca de 164 páginas A4 indicando
sus correpondientes paquetes) en la dirección:
www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf

4.18

Cómo hacer nuevos Comandos.
Podemos abreviar el código de los comandos creando comandos propios. Para esto usamos
\newcommand{\nuevo_nombre}{\comando_original}
\newcommand{\nombre}[n]{\f{#1}...\h{#n}}.

n es el número de parámetros. Cada pa-

rámetro es recibido por un comando existente.
Las definiciones de los nuevos comandos se ponen en el preámbulo (para comodidad de otros
usuarios).
Una práctica muy recomendada es hacerse un archivo aparte con estas definiciones, este archivo
debe ir sin preámbulo ni \begin{document}...\end{document}. Si el archivo es “cmds.tex”,
éste se invoca en el preámbulo con \input{cmds.tex}. Este archivo puede estar en el directorio
de trabajo preferiblemente.
Vamos a ver algunos ejemplos.
Abreviaciones para \begin{center}... \end{center}
\newcommand{\bc}{\begin{center}}
\newcommand{\ec}{\end{center}}

Abreviación para \displaystyle
\newcommand{\ds}[1] {\displaystyle{#1}} %un parámetro

71

4.18 Cómo hacer nuevos Comandos.

Abreviación para \sii : ⇐⇒
\newcommand{\sii}{\Longleftrightarrow}

Comando para fracciones ’grandes’ $\gfrac{a}{b}$ =

a
b

72

Este comando usa un comando definido anteriormente, \ds
\newcommand{\gfrac}[2] \ds{\frac{#1}{#2}}
Comentario: En realidad ya tenemos el comando \dfrac{}{} que hace los mismo que nues-

#„ usando el paquete
Comando personalizado para la proyección ortogonal de #„
v sobre w
#„
v
esvect; $\proy{v}{w}$ = proy #„
w.
\newcommand{\proy}[2] \newcommand{\proy}[2]{\displaystyle\mbox{proy}_{_{\vv
{\blue #2}}}^{^{\vv{#1}}}}}

Un comando para hacer una arreglo 3 × 3:
\newcommand{\mllave}[3]{\left\{\begin{array}{lcl}
#1 \\
#2\\
#3\\
\end{array}\right.
}

Este comando se podría usar así:
$f(x) = \mllave{x^2 & \mbox{si} & x>0\\ } %
{2x+1 & \mbox{si} & x<0\\} %
{0

& \mbox{si} & x=0 }$

para produccir


x2





f (x) =
2x + 1





 0

si

x>0

si

x<0

si

x=0

Texto en modo matemático

tro \gfrac.

4.18 Cómo hacer nuevos Comandos.

Un comando para hacer referencias (usa el paquete hyperref) dentro del documento. Por
ejemplo, hay una sección con etiqueta \label{softwareadicional}, podemos hacer referencia a este apéndice así: La sección 14.9 ..., . Esta liga se produce con:
La

\wref{sección }{softwareadicional} ...

El comando sería,
\newcommand{\wref}[2]{\hyperref[#2]{#1 \ref*{#2}}}

Colores:
\newcommand{\colr}[1]{\red #1}
\newcommand{\colb}[1]{\blue #1}

Ejemplo 4.25

(Usando comandos personalizados).

Con los comandos definidos más arriba podemos abreviar el código.
El código:
%\usepackage{esvect,pstricks} %pstricks para color \blue, \red, ...
$\proy{v}{\blue w}\;=\;\dfrac{\vv{v} \cdot \colb{\vv{ w}} }{
||\colb{\vv{w}}||^2 } \,\colb{w}$

produce:

#„ #„
#„
v = v ·w w
proy w
#„
#„ 2
|| w||

Si se usa color, se debe usar llaves para delimitar el entorno donde este color tiene efecto,
por ejemplo {\blue ..txt...} sólo afectaría ’...txt...’.
Nota.

Ejemplo 4.26

(Comando para “minipage” y para “límite”).

\newcommand{\mpage}[2] {
\begin{minipage}[b]{\textwidth}
\begin{minipage}[b]{0.5 \textwidth}
#1
\end{minipage} \hfill \begin{minipage}[b]{0.5 \textwidth}
#2
\end{minipage}
\end{minipage}

}

\newcommand{\limite}[2] { \lim_{ #1 \rightarrow #2}}

73

4.18 Cómo hacer nuevos Comandos.

Así, el código:
\mpage{
\centering
\includegraphics{images/ML_fig13.pdf}
}{
\[ \limite{n}{ \infty }{ \arctan (n) } \]

74

}

produce: (compilando con PDFLATEX):

lı́m arctan(n)

n→∞

%Texto con fuente helvetica, uso: \fhv{texto}
\newcommand{\fhv}[1]{{\fontfamily{hv}\fontsize{9}{1}\selectfont{#1}}}
%Entorno enumerate, uso \be \item... \item... \ee
\newcommand{\be}{\begin{enumerate}}
\newcommand{\ee}{\end{enumerate}}

4.18.1

Comandos con opciones
Podemos agregar opciones a nuestros comandos dejando algunos valores por default. Esto lo podemos hacer con el paquete xargs: Ponemos \usepackage{xargs} en el preámbulo.
El código para un comando con n parámetros sería algo como,
newcommandx\nombre[n][opcion1 = o1, opcion2 = o2,...]{código latex}

Las opciones, si hubiera, se refieren al valor default de algunos o todos los parámetros.
Un ejemplo clásico es el de crear un comando para abreviar una sucesión: x0 , x1 , ...xn . En este
caso, es deseable que podamos tener un comando flexible que nos permita iniciar con subíndice 0
o con subíndice 1 y terminar con subíndice n o con subíndice k y cambiar xi por ui , etc.
La sucesión por defecto será x0 , x1 , ...xn .

Ejemplo 4.27

(Comando para sucesiones con opciones).

El nuevo comando \coord{}{}{} se definie así,
\newcommandx\coord[3][1=0, 3=n]{\left(#2_{#1},\ldots,#2_{#3}\right)}
\coord recibe tres argumentos, el primero y el tercero son opcionales y tienen valor default

0 y n respectivamente, por eso aparece [1=0, 3=n]. El parámetro #2 permite elegir x, u, etc.

Texto en modo matemático

Otros ejemplos son

4.18 Cómo hacer nuevos Comandos.

produce:

El código:
$\coord{x}$
$\coord[0]{y}$
$\coord{z}[m]$
$\coord[0]{t}[m]$

(x1 , . . . , xn )
(y0 , . . . , yn )
(z1 , . . . , zm )
(t0 , . . . ,tm )

Ejemplo 4.28

Podemos hacer más flexible nuestro comando ‘mpage’ de la siguiente manera
%\usepackage{xargs}
\newcommandx\mpage[4][1=0.45,2=0.45]{ %Default=45 % ancho página
\begin{minipage}{\textwidth}
\begin{minipage}[b]{#1\textwidth}
#3
\end{minipage} \hfill \begin{minipage}[b]{#2\textwidth}
#4
\end{minipage}
\end{minipage}
} %fin

de tal manera que lo podemos usar como \mpage[0.7][0.2]{...}{...} para columnas
con tamaños 0.7\textwidth la primera y 0.2\textwidth la segunda. También se puede
usar como \mpage{...}{...} usando los valores por defecto (ambas columnas de igual
tamaño).

“def” y argumentos separados por comas
Se pueden implementar comandos con argumentos separados por comas con \def. \def es una
primitiva TeX mientras que \newcommand es una extensión LaTeX de \def.
A veces es mejor usar \newcommand en vez de \def. Los beneficios más evidentes de \newcommand
sobre \def son:
• \newcommand verifica si el comando ya existe
• \newcommand permite definir un argumento opcional
\def no verifica de manera automática si el comando ya existe, si el comando ha sido definido, lo

sobreescribe... esto podría ser bueno en algunos casos.
Veamos un ejemplo de cómo podríamos usar \def. Digamos que queremos escribir un comando
que imprima la norma de un vector de tal manera que los argumentos se escriban separados por

75

4.18 Cómo hacer nuevos Comandos.

comas. Esto es fácil con \def. Podríamos escribir en el preámbulo,
\def\minorma(#1,#2,#3){\sqrt{#1^2+#2^2+#3^2}}

Así, podríamos escribir $\minorma(v_1,v_2,v_3)$ para obtener

76

q
v21 + v22 + v23

Se puede redefinir el comando, de tal manera que usemos llaves en vez de paréntesis:
\def\lanorma#1{\minormaprevia(#1)}
\def\minormaprevia(#1,#2,#3){\sqrt{#1^2+#2^2+#3^2}}

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

q
v21 + v22 + v23

Texto en modo matemático

Así, podríamos escribir (ahora sí, con llaves) $\lanorma{v_1,v_2,v_3}$ para obtener

77

5

Tablas y objetos flotantes

Las tablas se editan en forma similar a las matrices pero en las tablas se pueden poner líneas
verticales y horizontales. El modo matemático debe especificarse en una tabla.
Para agregar líneas verticales se ponen marcas como | o || en la parte que corresponde al
alineamiento de columnas.
Para agregar líneas horizontales, al final de cada fila se especifica
.

\hline:

.

\cline{i-j}:

Ejemplo 5.1

línea tan larga como la tabla
línea de columna i a columna j

(Usando “tabular”)

Ambiente tabular con tres columnas.
produce:
El código:
\begin{tabular}{|c|c|c|}

\hline

$p$ & $q$ & $p \rightarrow

q$ \\ \hline

0

& 0

& 1

\\

0

& 1

& 1

\\ \cline{1-2}

1

& 0

& 0

\\

1

& 1

& 1

\\ \hline

\end{tabular}

p
0
0
1
1

q
0
1
0
1

p→q
1
1
0
1

Usando el paquete “booktabs”
Para tener opciones adicionales en el entorno tabular se puede utilizar el paquete booktabs, se
escribe en el preámbulo:
\usepackage{booktabs}

5.1 Tablas de más de una página

De esta forma siguen funcionando los comandos usuales de tabular, es decir, el ejemplo anterior se puede escribir de la misma forma y se verá exactamente igual, pero se agregan algunos
comandos extras: \toprule, \midrule, \bottomrule. En particular, estos comandos crean un
espaciado adecuado en las filas.
Ejemplo 5.2

78

(Usando “booktabs”)

Usando los comandos adicionales de booktabs.
El código:

produce:

\begin{tabular}{llr}

\toprule

Nombre

Apellido

Edad

Julio

& Cortés

& 11

\\

Julio
Mario

Cortés
Ramírez

11
12

Mario

& Ramírez

& 12

\\ \bottomrule

\end{tabular}

5.1

Tablas de más de una página
Cuando se hace una tabla que es demasiado larga para que quepa en una sóla página se debe usar
el ambiente longtable en vez de tabular, éste se encarga de dividir la tabla entre páginas, para
esto se debe agregar el paquete longtable en el preámbulo: \usepackage{longtable}

Ejemplo 5.3

(Tablas largas)

El código:
%\usepackage{longtable,multirow,booktabs}
% opción [c] = centrada

\begin{longtable}[c]{llr}

\caption[Tabla grande]{Tabla grande} \label{ej1:longtable}\\ \toprule
Nombre & Apellido & Edad \\ \midrule
Julio

& Cortés

& 11

\\

Marco

& Villalta & 13
.
.
.

\\

Mario

& Ramírez

\\ \bottonrule

& 12

\end{longtable}

produce:
Tabla 5.1. Tabla grande

Nombre

Apellido

Julio

Cortés

Edad
11

Tablas y objetos flotantes

Nombre & Apellido & Edad \\ \midrule

5.1 Tablas de más de una página

Marco
Alejandro
Alberto
Pedro
Carlos
Daniel
Diego
Doryan
Eduardo
Mario

Villalta
González
Montalbán
Núñez
Montero
Hernández
Villalobos
Loría
Torres
Ramírez

13
15
13
12
10
11
14
15
17
12

79

Nota: La opción caption de este entorno puede entrar en conflictos con otros paquetes como el

paquete (del mismo nombre) caption (que veremos más adelante). Si usa este paquete, debería
usar el comando captionof{}{} de este último paquete en vez del comando caption del paquete
longtable.

El paquete longtable tiene comandos para definir el encabezado que se debe poner al continuar
la tabla en la siguiente página y el pie de la tabla al terminar en la anterior.
\endfirsthead:

Define el encabezado principal de la tabla.

\endhead:

Define el encabezado que tendrá la tabla en las siguientes páginas.

\endfoot:

Define el pie que tendrá la tabla en todas las páginas excepto la última.

\endlastfoot:

Define el pie que tendrá la tabla en la última página.
Descargar archivo

Ejemplo 5.4

(Tablas largas)

En este ejemplo usamos el paquete longtable junto con el paquete booktabs.
El código:
% En el preámbulo
%\usepackage{longtable,booktabs,multirow}
\begin{ longtable }[c]{llr}
\caption[Tabla de varias páginas con encabezado y pie]{Tabla de varias
páginas con encabezado y pie.}\\
\toprule Nombre & Apellido & Edad \\ \midrule
\endfirsthead
\multicolumn{3}{c} {{\tablename\ \thetable{} -- continua de la página
anterior}} \\
\toprule Nombre & Apellido & Edad \\ \midrule

5.2 Objetos flotantes: Entornos figure y table

\endhead
\midrule\multicolumn{3}{r}{{Continúa en la siguiente página...}}\\ \midrule
\endfoot

80

\bottomrule
\endlasthead
Julio

& Cortés

& 11

\\

Marco

& Villalta
.
.
.

& 13

\\

Mario

& Ramírez

& 12

produce:
Tabla 5.3. Tabla de varias páginas con encabezado y pie

5.2

Nombre

Apellido

Julio
Marco
Alejandro
Alberto
Pedro
Carlos
Daniel
Diego
Doryan
Eduardo
Fabián
Fabricio
Gabriel
Henry
Javier
Mauricio
Mario

Cortés
Villalta
González
Montalbán
Núñez
Montero
Hernández
Villalobos
Loría
Torres
Robles
Castro
Gutiérrez
Solano
Ruiz
Torrealba
Ramírez

Edad
11
13
15
13
12
10
11
14
15
17
12
13
11
13
11
13
12

Tablas y objetos flotantes

\end{ longtable }

Objetos flotantes: Entornos figure y table
Un objeto (gráfico o una tabla) debe aparecer en el lugar más cercano al texto que hace referencia
a él. Al ir haciendo cambios en el texto, los objetos pueden desplazarse de manera no apropiada.
LATEX resuelve (y a veces complica) este problema manipulando las figuras como objetos flotantes
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

5.2 Objetos flotantes: Entornos figure y table

en el documento.
LATEX nos ofrece dos comandos (ambientes) para indicarle nuestras preferencias sobre el desplazamiento del objeto.

81

\begin{figure}[h!]
....
\caption{...}\label{figure:nombre}
\end{figure}
\begin{table}[h!]
....
\caption{...}\label{table:nombre}
\end{table}

[h!] le indica a LATEX

que queremos la figura o la tabla, exactamente en ese lugar (h=here,
esto no es tan exacto, ya que LATEX en realidad lo acomoda lo más cerca posible de ese
lugar). Otras opciones son [t]=top,[b]=botton.
\caption{ texto} es la etiqueta de cada objeto (numerándolo automáticamente). Se pue-

de omitir.
(“etiqueta”) es la identificación del objeto. En el texto podemos hacer referencia a
la tabla o a la figura, poniendo

\label

"En la figura \ref{fig:nombre}..." o "En la tabla \ref{nombre}..."}

Si no vamos a hacer referencia, podemos omitir este comando.

Ejemplo 5.5

(Entorno table)

El código:

produce:

\begin{table}[h!]
\centering
\begin{tabular}{|c|c|c|}

\hline

$p$

& $q$

& $p\rightarrow q$\\\hline

0

& 0

& 1

\\

0

& 1

& 1

\\

1

& 0

& 0

\\

1

& 1

& 1

\\\hline

\end{tabular}
\caption{Tabla de verdad para
$p \rightarrow q$}
\end{table}

p
0
0
1
1

q
0
1
0
1

p→q
1
1
0
1

Tabla 5.5. Tabla de verdad para p → q

5.3 Fuentes en tabular.

Nota: Si va a poner una figura o una tabla en el ambiente minipage, debería usar el siguiente

formato
\begin{figure}[h!]

\begin{table}[h!]

\begin{minipage}

\begin{minipage}

...

...

\end{minipage}

\end{minipage}

\end{figure}

\end{table}

Fuentes en tabular.
A veces es conveniente cambiar la fuente en una ambiente tabular, por ejemplo si tenemos una tabla de números sería bueno cambiar a una fuente cmr10 para que todo quede en modo matemático
sin tener que hacer esto número por número,
Ejemplo 5.6

(Cambio de fuente)

El código:
{\fontfamily{cmr10}\selectfont{ %Fuente cmr10
\begin{tabular}{c|c}
$x$ & $x^2+3$ \\ \hline
2

& 7

\\

4

& 19

\\

\end{tabular}
}} %fontfamily

produce:

x
2
4

5.4

x2 + 3
7
19

Color en tablas.
Para poner color en las filas o las columnas de una tabla podríamos usar el paquete xcolor agregamos al preámbulo
\usepackage[x11names,table]{xcolor}

o \usepackage[x11names,table]{book}

La opción x11names habilita un conjunto de colores que podemos llamar por su nombre. La lista
completa la puede obtener en xcolor.pdf. Por ejemplo,

Tablas y objetos flotantes

5.3

82

5.4 Color en tablas.

{\color{RoyalBlue1} Texto}

Texto

{\color{LightSteelBlue1} Texto}

Texto

Conflictos.
Si hay conflictos (“clash”) con otros paquetes, como por ejemplo con Beamer, podríamos poner
la opción al inicio, en la clase de documento,
\documentclass[xcolor=table, x11names]{beamer} % obook

Para colorear una fila solo se agrega, al inicio de la fila,
\rowcolor{color}

Para colorear de manera alternada se agrega
\rowcolors[nfila]{color fila-impar}{color fila-par}

antes del inicio de la tabla.
Aquí, nfila es el número de fila de la primera fila en ser coloreada. Los colores de fila par e impar
se pueden dejar en blanco (no se pondrá color en esa fila).
Los comandos \columncolor y \cellcolor se usan para colorear las columnas y celdas, respectivamente.

Ejemplo 5.7
En este ejemplo, la fila inicial se colorea con el color LightBlue2 de la opción x11names
del paquete xcolor. Esto se hace agregando \rowcolor{LightBlue2} al inicio de la
primera fila.
También se colorean con un gris degradado a un 20 % (gray!20) las filas pares y las
impares se dejan con fondo blanco. Esto se hace agregando, antes del inicio de la tabla, la
instrucción {\rowcolors{1}{}{gray!20}.
El código:
\begin{table}[h!]
\centering
\rowcolors{1}{}{gray!20}
\begin{tabular}{ll}
\rowcolor{LightBlue2} $x_{n+1}$

& $|x_{n+1}-x_n|$\\ \hline

1.20499955540054

& 0.295000445\\

1.17678931926590

& 0.028210236\\

1.17650193990183

& 3.004$\times10^{-8}$\\

1.17650193990183

& 4.440$\times10^{-16}$\\ \hline

\end{tabular}

83

5.5 Rotación de texto en celdas.

\caption{Iteración de Newton para $x^2-\cos(x)-1=0$

con $x_0=1.5.$}

\end{table}

produce:

xn+1
1.20499955540054
1.17678931926590
1.17650193990183
1.17650193990183

|xn+1 − xn |
0.295000445
0.028210236
3.004×10−8
4.440×10−16

84

Tabla 5.6. Iteración de Newton para x2 − cos(x) − 1 = 0 con x0 = 1,5.

En este ejemplo se colorean con un 20 % gris dos celdas: Simplemente agregamos
\cellcolor[gray]{0.80} en las celdas que queremos.
El código:
\begin{tabular}{ll}
\rowcolor{LightBlue}

$x_{n+1}$ & $|x_{n+1}-x_n|$\\ \hline

\cellcolor[gray]{0.80} 1.20499955540054 &
1.17678931926590 &

0.028210236\\

1.17650196994274

&

0.000287349\\

1.17650193990183

&

\cellcolor[gray]{0.80}

0.295000445\\

3.004$\times10^{-8}$\\
1.17650193990183

&

4.440$\times10^{-16}$\\ \hline

\end{tabular}

produce:

xn+1
1.20499955540054
1.17678931926590
1.17650196994274
1.17650193990183
1.17650193990183

5.5

|xn+1 − xn |
0.295000445
0.028210236
0.000287349
3.004×10−8
4.440×10−16

Rotación de texto en celdas.
Para rotar una tabla completa o simplemente el texto en las celdas. se usa el entorno
\begin{sideways}...\end{sideways}

aplicado directamente a la tabla o a la(s) celda(s). Necesitamos agregar en el preámbulo

Tablas y objetos flotantes

Ejemplo 5.8

5.5 Rotación de texto en celdas.

\usepackage{rotating}

Ejemplo 5.9

85

El código:
\begin{sideways}
\begin{tabular}{lc}
$x_{n+1}$ &$|x_{n+1}-x_n|$\\ \hline
\cellcolor[gray]{0.80} 1.17

&

3.$\times10^{-8}$\\

1.17

&

4.$\times10^{-16}$\\ \hline

\end{tabular}
\end{sideways}

xn+1
1.17
1.17

|xn+1 − xn |
3.×10−8
4.×10−16

produce:

El código:
\begin{tabular}{lc}
$x_{n+1}$ &\begin{sideways}$|x_{n+1}-x_n|$\end{sideways}\\ \hline
\cellcolor[gray]{0.80} 1.17
1.173

&

3.$\times10^{-8}$\\

&

4.$\times10^{-16}$\\ \hline

\end{tabular}

xn+1
1.17
1.173

|xn+1 − xn |

produce:

3.×10−8
4.×10−16

Expresiones @{}.
En un ambiente tabular el separador de columnas se puede cambiar con una instrucción del tipo
@{txt}. Este comando elimina la separación automática entre columnas y la reemplaza con el
texto txt.

5.6 Unir celdas.

Ejemplo 5.10

En el código que sigue, r@{.}l sustituye la columna central por un punto,
produce:

El código:
\begin{tabular}{r@{.}l}
3

& 14159

2

& 7182818\\

0

\\

86

3.14159
2.7182818
0.577216

& 577216 \\

\end{tabular}

Unir celdas.
A veces es conveniente unir dos o más celdas para poner una leyenda un poco extensa. Para hacer
esto usamos
\multicolumn{columnas}{Alin}{texto}

: Número de columnas que abarcará la celda.
: Indica la alineación del texto: l = izquierda, c = center, r = derecha.

columnas
Alin

Ejemplo 5.11

(Unir celdas).

El código:

\begin{table}[h!]
\centering
\begin{tabular}{lll}
&\multicolumn{2}{c}{Estimación del error}\\
&\multicolumn{2}{c}{absoluto y relativo}\\
\rowcolor{LightBlue2} $x_n$ &$x_{n+1}$
& $|x_{n+1}-x_n|/|x_{n+1}|$\\ \hline
-3.090721649

& 2.990721649 &1.6717\\

-2.026511552

& 1.064210097 &0.525143859\\

-1.205340185

& 0.821171367 &0.681277682\\\hline

\end{tabular}
\caption{}
\end{table}

produce:

Tablas y objetos flotantes

5.6

5.6 Unir celdas.

xn
-3.090721649
-2.026511552
-1.205340185

Estimación del error
absoluto y relativo
xn+1
|xn+1 − xn |/|xn+1 |
2.990721649 1.6717
1.064210097 0.525143859
0.821171367 0.681277682
Tabla 5.7

Usando el paquete booktabs
Ejemplo 5.12

(Usando “booktabs”)

Observe cómo el espaciado mejora usando los comandos \midrule y \bottomrule del
paquete booktabs
El código:
% En el preámbulo
% \usepackage{booktabs}
\begin{table}[h!]
\centering
\begin{tabular}{lll}
&\multicolumn{2}{c}{Estimación del error}\\
&\multicolumn{2}{c}{absoluto y relativo}\\
\rowcolor{LightBlue2} $x_n$ &$x_{n+1}$
& $|x_{n+1}-x_n|/|x_{n+1}|$\\ \midrule
-3.090721649

& 2.990721649 &1.6717\\

-2.026511552

& 1.064210097 &0.525143859\\

-1.205340185

& 0.821171367 &0.681277682\\ \bottomrule

\end{tabular}
\caption{}
\end{table}

produce:

Estimación del error
absoluto y relativo
|xn+1 − xn |/|xn+1 |

xn

xn+1

-3.090721649
-2.026511552
-1.205340185

2.990721649
1.064210097
0.821171367
Tabla 5.8

1.6717
0.525143859
0.681277682

87

5.7 Espacio vertical en las filas.

5.7

Espacio vertical en las filas.
A veces el texto matemático queda muy pegado a alguno de los bordes de las celdas y necesitamos
hacer un poco de espacio hacia arriba, hacia abajo o variar el ancho de la celda. Como ya vimos
una solución es usar el paquete booktabs.
Para el caso de varias filas, se puede usar los argumentos opcionales del comando \\. El formato
es \\[longitud]. Se puede usar \smallskipamount, \medskipamount y \bigskipamount que
corresponden a los comandos de espacio vertical \smallskip, \medskip y \bigskip. Por supuesto, se puede usar una longitud en centímetros, etc.

Ejemplo 5.13
En este ejemplo tenemos una tabla problemática: El texto matemático está muy ajustado.
\begin{tabular}{l l l}\hline
$\dfrac{x}{x+1}$ & $\sqrt{x}$ & $x^{2^n}$\\ \hline
\end{tabular}

x
x+1

√
x

n

x2

Hay varias soluciones. Una solución es usar \\[xcm] para reducir el espacio de una fila en
blanco, arriba de la fila, y aumentar el espacio abajo.
El código:
\bc
\begin{tabular}{l l l}\hline
&

&

\\[-0.2cm]

% reducir

$\dfrac{x}{x+1}$ & $\sqrt{x}$ & $x^{2^n}$ \\[0.3cm]\hline % aumentar
\end{tabular}
\ec

produce:

x
x+1

√
x

n

x2

También se puede mover el texto en la fila con \raisebox (ver más adelante 5.8).

Tablas y objetos flotantes

También podemos usar una instrucción del tipo @{...}. En estas instrucciones también se puede
incluir comandos, por ejemplo para agregar espacio horizontal se usa @{\hspace{5cm}}. La instrucción @{\vrule height xpt depth ypt width zpt} agrega espacio vertical: height xpt,
espacio en el fondo: depth ypt y ancho: width zpt.. Aquí, la unidad de medida que usamos
1
es 1 pt = 72
pulgada. En el ejemplo que sigue se agega 15pt de espacio vertical y 10pt en
el fondo.

88

5.8 Ancho de las columnas

Otra solución puede ser usar el paquete booktabs cambiando, en este caso, \hline por
\toprule y \bottomrule. De esta manera la tabla se acomoda de manera natural.
El código:

89

% \usepackage{booktabs}
\begin{tabular}{l l l}\toprule
$\dfrac{x}{x+1}$ & $\sqrt{x}$ & $x^{2^n}$\\ \bottomrule
\end{tabular}

produce:

x
x+1

√
x

n

x2

Otra solución es crear espacio vertical y en el fondo, en la tercera columna, usando el operador @{...}.
\begin{tabular}{l l l@{\vrule height 15pt depth 10pt width 0pt}}\hline
$\displaystyle \frac{x}{x+1}$ \\
& $\sqrt{x}$
& $x^{2^n}$\\ \hline
\end{tabular}

x
x+1

5.8

√
x

n

x2

Ancho de las columnas
En general, el entorno tabular ajusta el ancho de las columnas de acuerdo a el ancho de lo que
contienen, esto hace que a veces se exceda el ancho de la página. Se puede controlar el ancho de
las columnas indicandole al entorno el tamaño de cada columna. Esto se hace con la instrucción
p{xcm} donde xcm es el ancho de la columna. Si tenemos texto, el cambio de renglón se debe
forzar con el comando \par (fin de párrafo).

Ejemplo 5.14

(Ancho de las columnas).

En este ejemplo definimos un ambiente tabular con dos columnas, la primera de 3cm y la
segunda de 10cm. Esto se hace con las intrucciones (de agregar “parráfo” p{xcm}) p{3cm}
y p{10cm} en las opciones de alineamiento.
Para hacer el cambio de renglón se usa el comando \par al final del renglón. Este comando
indica el final de un párrafo y por lo tanto, el final de la línea.
El código:

5.8 Ancho de las columnas

\begin{tabular}{|p{3cm}|p{10cm}|}\hline
\textit{Representación} & \textit{Notación} \\ \hline
$R_{4-4,2 }(O_{6})$ \par $R_{4}^{4-4,2 }(O_{6})$ &
Representación 3, en registro algebraico ($R^{4})$ en $\R$),
interpretación de la letra como incógnita (2), de la relación
entre volumen-altura-radio
del vaso unidad ($O_{6}):\; U = \pi 2r^{2}h$ \par

90

%Fin de párrafo

Representación 4, en registro algebraico ($R^{4})$ en el conjunto de
los números reales (4), interpretación de la letra como incógnita (2),
de la relación entre volumen-altura-radio del vaso unidad
($O_{6}): h = U/\pi 2r^{2}$. \\ \hline
Resumen

&

\item $R_{4-1,1 }(O_{8})$
\end{enumerate}

\\ \hline

\end{tabular}

produce:

Representación
R4−4,2 (O6 )
R4−4,2
(O6 )
4

Notación
Representación 3, en registro algebraico (R4 ) en R), interpretación de la letra como incógnita (2), de la relación entre volumenaltura-radio del vaso unidad (O6 ) : U = π2r2 h
Representación 4, en registro algebraico (R4 ) en el conjunto de
los números reales (4), interpretación ... del vaso unidad (O6 ) :
h = U/π2r2 .

Resumen
1. R4−4,2 (O6 )
2. R4−4,2
(O6 )
4
3. R4−1,1 (O8 )

El siguiente ejemplo es un poco más elaborado (usar \usepackage{graphicx}),

Ejemplo 5.15

(Texto e imágenes en columnas)

El código:
\begin{table}[h!]
\centering
\begin{tabular}{|p{6.5cm}|p{6.5cm}|}\hline
\begin{center}
\includegraphics[width=6.5cm]{images/Utilizacion4.pdf}

Tablas y objetos flotantes

\begin{enumerate}
\item $R_{4-4,2 }(O_{6})$
\item $R_{4}^{4-4,2 }(O_{6})$

5.8 Ancho de las columnas

\par\textbf{PROPOSICI\'{O}N I}
\par\textbf{Problema}
\end{center}
4. TOMAR la diferencia de varias cantidades sumadas,
o sustraídas ...

& %Cambio de columna

91

\begin{center}
\includegraphics[width=6.5cm]{images/Utilizacion5.pdf}
\par\textbf{REGLA I}
\par\textbf{\textit{Para las cantidades sumadas o sustraídas}}
\end{center}
Tomemos la diferencia de cada término de la cantidad
propuesta, y ...\\\hline
\end{tabular}
\caption{La tabla muestra el modelo:...}\label{ML:tabla_escalada2}
\end{table}

produce:

PROPOSICIÓN I
Problema
4. TOMAR la diferencia de varias cantidades sumadas, o sustraídas ...

REGLA I
Para las cantidades sumadas o
sustraídas
Tomemos la diferencia de cada término de
la cantidad propuesta, y ...

Alineamiento horizontal: \raisebox{}{}
Si las imágenes están en la primera columna es probable que éstas queden alineadas arriba de la
caja y el texto quede alineado en el fondo de su caja. Por ejemplo, en el código
\begin{tabular}{p{5cm}c}
Afirmaci\'{o}n: $\mu\leq9$\par
$H_{0}:\mu=9\left( \leq\right),\quad H_{1}:\mu>9$ %
& \includegraphics{images2011/cap6_fig20}
\end{tabular}

produce:

Aceptación

Rechazo

Afirmación: µ ≤ 9
H0 : µ = 9 (≤) , H1 : µ > 9
Podemos alinear horizontalmente texto y figuras de manera manual aplicando un desplazamiento

5.8 Ancho de las columnas

hacia arriba o hacia abajo del contenido de la celda con \raisebox{...}{...}. En el código
anterior, podríamos poner el texto en el ambiente tabular y la figura a la par, aplicando un desplazamiento hacia abajo (en este caso -0.3in es suficiente),
El código:

92

\begin{center}
\begin{tabular}{c} % Texto
Afirmaci\'{o}n$:\mu\leq9$\\
$H_{0}:\mu=9\left( \leq\right) ,\quad H_{1}:\mu>9$
\end{tabular}
% Bajamos el gráfico -0.3 pulgadas
\end{center}

produce:

Afirmación: µ ≤ 9
H0 : µ = 9 (≤) , H1 : µ > 9

Ejemplo 5.16

Aceptación

Rechazo

(Figuras en el margen izquierdo)

En este ejemplo el texto en la derecha no alinearía bien con la figura, una solución es bajar
un poco la figura.
El código:
\hspace*{-2.8cm}
\begin{tabular}{p{2cm}p{13cm}}
\raisebox{-0.7cm}{\includegraphics[width=2cm]{images/exersolido21.pdf}}
& Sólido $Q$
limitado por las superficies $y = 2 - 2 x^2;$ $y = 1 - x^2;
\;\; y + 2 z = 2;
\;\; x = 0$ y $z = 0;$
en el I octante.\\
\end{tabular}

produce: (compilado con PDFLaTeX):
Z

1

1
1

X

2

Y

Sólido Q limitado por las superficies y = 2 − 2x2 ; y = 1 − x2 ; y + 2z = 2; x = 0 y
z = 0; en el I octante.

Tablas y objetos flotantes

\raisebox{-0.3in}{\includegraphics{images2011/cap6_fig20}}

5.9 Modo matemático con tabularx

5.9

Modo matemático con tabularx
A veces es conveniente usar el ambiente tabular habilitado para texto matemático. Esto se puede
hacer con el paquete tabularx. Debemos poner en el preámbulo

93

\usepackage{tabularx}

Este paquete habilita el comando newcolumntype para definir columnas con contenido en modo
matemático.
Ejemplo 5.17

En este ejemplo se habilita el ambiente tabular para texto matemático. Observe que se usa
una línea ‘invisible’ de altura 1cm para crear espacio vertical en la columna donde el texto
matemático quedaría algo ajustado. También se hace espacio hacia abajo con -0.3cm. El
código:
%Las columnas D aceptan texto matemático centrado: |c|
\newcolumntype{D}{>{$\displaystyle}c<{$}}
%Las columnas M aceptan texto matemático ala izquierda: |l|
\newcolumntype{M}{>{$}l<{$}}
%Se usa 'tabular' normal.
\begin{tabular}{|D|D|D|D|M|D|M|r|}\hline
n

& -1 & 0 & 1 & 2 & 3 & 5 & 5 \\ \hline

a_n & 8 & 5 & 2 & 2 & 4 & n & n \\ \hline
r_n & 0 & 1 & 2 & 5 & 22 & 444 & 444 \\ \hline
s_n & 1 & 0 & 1 & 2 & 9 &7& 7\\ \hline
&
F

&

&

&

&

& & \\[-0.15cm] %reducir espacio

& 0 &-2 &\frac{n}{4}& \frac{n}{4} & n^2 & 2 & 2 \\[0.3cm] \hline

\end{tabular}

produce:

5.10

n
an
rn
sn

−1
8
0
1

0
5
1
0

1
2
2
1

2
2
5
2

3
4
22
9

5
n
444
7

F

0

−2

n
4

n
4

n2

2

5
n
444
7
2

Escalar una tabla
A veces tenemos tablas muy grandes. Las podemos escalar en un porcentaje y también usar unión
de celdas para lograr un efecto decente. El escalamiento lo podemos hacer con el comando \
scalebox{0.h}[0.v]{...}. Aquí, 0.h y 0.v es el porcentaje de escalamiento horizontal y vertical. \scalebox{0.h}{...} escala igual en cada dirección.

5.11 Personalizar las leyendas (“caption”)

Ejemplo 5.18

(Escalar una tabla).

El código que sigue escala un 80 % una tabla,

94

\begin{table}[h!] \label{ML:tabla_escalada}
\centering
\scalebox{0.8}{\begin{tabular}{cccccccccccccc}
Est.&P.16(a)&Pr.14&Pr.16(b)&Pr.1&Pr.9&Pr.5&Pr.4&Pr.15&Pr.3&Pr.13&Pr.11&Pr.7&Cal.
\\\hline
L

&

&

0 &

&

0 &

0 &

2 &

2 &

2

&

1 &

2

&

2

&

2 &54

&

0 &

&

2 &

2 &

0 &

1 &

1

&

0 &

2

&

0

&

2 &42

&

1 &

0

&

0 &

0 &

1 &

1 &

1

&

2 &

0

&

2

&

2 &38

&

1 &

2

&

2 &

3 &

4 &

5 &

6

&

7 &

8

& 10

\\ \hline
S

&

R

&

0

\\ \hline
Total& 0

& 14 &

\\ \hline
\multicolumn{12}{l}{Abreviaturas.Est.:Estudiante,Pr.:Pregunta,Cal.:Calificación}\\
\end{tabular}}
\caption{Resultados del cuestionario diagnóstico}
\end{table}

produce:
Est. P.16(a) Pr.14 Pr.16(b) Pr.1 Pr.9 Pr.5 Pr.4 Pr.15
L
0
0
0
2
2
2
S
0
2
2
0
1
1
R
0
1
0
0
0
1
1
1
Total
0
1
2
2
3
4
5
6
Abreviaturas. Est.: Estudiante, Pr.: Pregunta,Cal.: Calificación

Pr.3
1
0
2
7

Pr.13
2
2
0
8

Pr.11
2
0
2
10

Pr.7
2
2
2
14

Cal.
54
42
38

Tabla 5.9. Resultados del cuestionario diagnóstico

5.11

Personalizar las leyendas (“caption”)
Las leyendas de las tablas y las figuras se pueden personalizar con un par de paquetes, el paquete
caption y el paquete floatrow (que es una extesnión del paquete float).

Paquete “caption”
Con este paquete podemos personalizar las leyendas de las tablas y figuras. En este libro se usa
este paquete. Las opciones escogidas son: texto small y la etiqueta y la numeración en negrita
rematada por un punto. Para esto se agregó al preámbulo

Tablas y objetos flotantes

\\ \hline

\usepackage[small,bf,labelsep=period]{caption}

También este paquete habilita dos comandos para poner leyendas a las tablas y a las figuras: \
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

5.12 Tablas con TikZ y tcolorbox

captionof{table}{...} para tablas y \captionof{figure}{...} para figuras. Estos comandos

agregan leyendas a las tablas y a las figuras sin necesidad de que esté presente un entorno. Este
comando respeta los contadores de table y figure. Si se usa con el paquete lontable (al día de
hoy) se debe usar este último comando en vez del comando caption de lontable.
Ejemplo 5.19

(Usando el paquete “caption”)

Nótese que en este ejemplo se usa el entorno tabular con una leyenda pero sin usar un
entorno table o figure.
El código:
\begin{center}
\begin{tabular}{cll} % usa "booktabs" y "caption"
$i$ & $x_i$ & $y_i=f(x_i)$ \\ \midrule
1
2
3

& $x_0=0$ & $0$
\\
_
& $x 1=0.75$ & $-0.0409838$ \\
& $x_2=1.5$ & $1.31799$ \\ \bottomrule

\end{tabular}
\captionof{table}{Tabla usando {\tt "captionof\{table\}\{...\}"}}
\end{center}

produce:

i

xi

yi = f (xi )

1
2
3

x0 = 0
x1 = 0,75
x2 = 1,5

0
−0,0409838
1,31799

Tabla 5.10. Tabla usando “captionof{table}{...}”

Posición de las leyendas. Se puede variar la posición de las leyendas, arriba, abajo, al lado, etc. y aplicar otros
efectos. Para hacer esto puede, por ejemplo, ver la documentación de los paquetes floatarrow,
sidecap y threeparttable.

5.12

Tablas con TikZ y tcolorbox
En el capítulo 10 se describe cómo usar los paquetes Tikz y tcolorbox. Usando estos paquetes
podemos implementar tablas de apariencia agradable.

Tablas con tcolorbox
Por ejemplo, el código:
% \usepackage{array,tabularx}
% \usepackage[table, x11names]{xcolor}

95

5.12 Tablas con TikZ y tcolorbox

\newcolumntype{Y}{>{\raggedleft\arraybackslash}X} % Ver tabularx
%
\tcbset{enhanced,fonttitle=\bfseries\large,fontupper=\normalsize\sffamily,
colback=LightCyan1,colframe=DarkOrange4,colbacktitle=DarkOrange4,
coltitle=black,center title

96

}
% %-Tabla - Estilo beamer
\begin{tcolorbox}[tabularx={X||X||X},title= {\white Iteración}, beamer]
& $x_i$
& $y_i=f(x_i)$ \\\hline\hline

\end{tcolorbox}

produce:

Iteración
A
B
C

xi

yi = f (xi )

x0 = 0
x1 = 0,75
x2 = 1,5

0
−0,0409838
1,31799

Tablas con Tikz
Podemos usar el paquete TikZ para agregar sofistificación a nuestras tablas.

i

xi

yi = f (xi )

1

x0 = 0

0

2

x1 = 0,75

−0,0409838

3

x2 = 1,5

1,31799

Tabla 5.11. Tabla usando Tikz

La tabla anterior se generó con el código
\begin{dataTable}{cll} % requiere varios paquetes
{\white $i$} & {\white $x_i$} & {\white $y_i=f(x_i)$} \\ \midrule[0pt]
1 & $x_0=0$
& $0$
\\ \midrule
2 & $x_1=0.75$
3 & $x_2=1.5$

& $-0.0409838$ \\ \midrule
& $1.31799$

\\

\end{dataTable}
\captionof{table}{Tabla usando Tikz}

Para que el entorno dataTable esté habilitado, debemos agregar en el preámbulo (o en archivo
separado .tex) un entorno dataTable para generar tablas usando Tikz

Tablas y objetos flotantes

A & $x_0=0$
& $0$
\\\hline
_
B & $x 1=0.75$ & $-0.0409838$ \\\hline
C & $x_2=1.5$ & $1.31799$

5.12 Tablas con TikZ y tcolorbox

El código completo es,
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{amsmath,caption, array, pstricks, booktabs}
%---------------Entorno DataTable---------------------------------\usepackage{tikz}
\usetikzlibrary{calc,fit,shadows,arrows,positioning}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}
% Data Table
\newsavebox{\dataTableContent} % Caja
\newenvironment{dataTable}[1] % Inicio nuevo entorno
{%
\begin{lrbox}{\dataTableContent} %
\begin{tabular}{#1}} %
{%
\end{tabular}
\end{lrbox}
\begin{tikzpicture}
\node [inner xsep=0pt] (tbl){\usebox{\dataTableContent}};
\begin{pgfonlayer}{background}
% tabla
\draw[rounded corners=1pt,top color=gray!1,bottom color=gray!30,
draw=black](tbl.north east) rectangle(tbl.south west);
% línea superior
\draw[rounded corners=1pt,top color=gray!10!black,
bottom color=gray!50!black,draw=black] %
($(tbl.north west)$) rectangle
($(tbl.north east)-(0,1.5\baselineskip)$);
% línea inferior
\draw[rounded corners=0.25pt,fill=gray,draw=black] %
(tbl.south west) rectangle($(tbl.south east)+(0,0.05)$);
\end{pgfonlayer}
\end{tikzpicture}}
%---------------Entorno DataTable---------------------------------\begin{document}
% Usando el entorno
\begin{center}
\begin{dataTable}{cll} %
{\white $i$} & {\white $x_i$} & {\white $y_i=f(x_i)$} \\ \midrule[0pt]
1 & $x_0=0$
& $0$\\
\midrule
_
2 & $x 1=0.75$
& $-0.0409838$\\ \midrule
3 & $x_2=1.5$
\end{dataTable}

& $1.31799$\\

97

5.12 Tablas con TikZ y tcolorbox

\captionof{table}{Tabla usando Tikz}
\end{center}
\end{document}

98

Tablas y objetos flotantes

5.12 Tablas con TikZ y tcolorbox

99

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

6

Insertar gráficos y figuras

Introducción
Además de texto corriente y texto en modo matemático, podemos insertar figuras en los formatos
.pdf, .png, .jpg y .eps., o figuras nativas, generadas directamente con algún paquete LATEX
(Tiks, PSTricks, TeXDraw,...).
Otros formatos, como .gif, .tiff, etc., se pueden convertir a los formatos soportados con programas (libres) como Inkscape, Gimp, etc.

¿Cuál es el formato de imagen adecuado?
Los formatos .eps (Encapsulated PostScript) y .pdf son adecuados para las figuras usuales en matemáticas. Se ven bien en pantalla y son adecuados para la impresión. Para el manejo de imágenes
generales (capturas de pantalla, fotografía, etc.) es conveniente usar el formato .png o .jpg. Como
dijimos, los otros formatos (.gif, .wmf,... etc.) se pueden convertir a los formatos soportados
con programas, por ejemplo Gimp, Inkscape o usando el comando convert de imageMagik.
¿Cómo insertar las figuras?
Aquí vamos a describir la manera fácil de insertar figuras. Todo el manejo gráfico lo vamos a
hacer usando el paquete graphicx.
En lo que sigue, vamos a considerar las siguientes tareas,

1 Insertar figuras .eps (PostScript Encapsulado): Este es un formato de alta calidad y el de

mayor soporte en LATEX (aunque el formato .pdf ha ganado mucho terreno).
2 Insertar figuras .jpg, .png, .pdf, etc.
3 Insertar figuras cuando compilamos con PDFLaTeX
4 Convertir imágenes a otro formato con Software libre.
5 Extraer figuras de libros o de Internet.
6 Crear figuras nativas con Tikz, LaTeXDraw.

Insertar gráficos y figuras

6.1

100

6.2 Compilando con LaTeX. Figuras eps

6.2

Compilando con LaTeX. Figuras eps
Si compilamos con LaTeX, obtendrá un archivo .dvi el cual podrá ver con un visualizador para
este tipo de archivos ( Yap en Windows, Okular en Ubuntu, por ejemplo).
LATEX tiene un gran soporte para imágenes .eps En muchos programas podemos guardar (o convertir) nuestros gráficos en este formato: Inkscape, Mathematica, MatLab, QtOctave, WinPLot,
Geogebra, etc. Este formato es adecuado para gráficos simples y complejos, pero no es adecuado
para fotos, ‘pantallazos’, etc.

Convertir otras imágenes a formato .eps
Podemos convertir imágenes en formato .pdf, .png, .jpg, .gif, etc. a formato .eps; esto
se puede hacer, por ejemplo con Inkscape o con Gimp (ver apéndice 14.9); solo debe abrir los
archivos con alguno de estos programas (posiblemente editar algo adicional) y guardar como .eps

Incluir las figuras .eps
Para incluir las figuras .eps en su documento, se debe agregar el paquete graphicx en el preámbulo y los gráficos se incluyen con el comando \includegraphics{}.
\includegraphics[opciones]{ nombre y ruta de la imagen...}

Como es natural, los gráficos se deben escalar para que se acomoden al texto. El formato .eps
es un formato vectorial, es decir, las figuras en este formato están especificadas en coordenadas,
por lo tanto se pueden escalar si pérdida de calidad. El escalamiento se puede hacer especificando
el ancho width =xcm, y el alto height =xcm (juntos o ambos por separado) o especificando porcentaje de escalamiento: scale=x donde x ∈ [0, 1] es el porcentaje.

Ejemplo 6.1

En este ejemplo vamos a incluir el gráfico elipse.eps que está en la subcarpeta images
de la carpeta en la que está nuestro archivo .tex.
Descargar archivo

El código:

produce:

\documentclass{article} %Compilar -> LaTeX
\usepackage{graphicx}

Elipse.
Y

\begin{document}
\begin{center}
Elipse.\\ %Se escala a un ancho de 4cm
\includegraphics[width=4cm]{images/elipse.eps}\\
\end{center}
\end{document}

X

101

6.2 Compilando con LaTeX. Figuras eps

Ejemplo 6.2

(Gráfico en ambiente “figure”)

El código:

Descargar archivo

\documentclass{article} %Compilar -> LaTeX
\usepackage{graphicx}

102

\begin{document}
Consideremos ahora una rotación de ...
\begin{figure}[h!] % Ambiente 'figure'
\centering

% imagen sin escalar

\caption{Rotación de ángulo $\theta$.}\label{figura4}
\end{figure}
\end{document}

produce:

Consideremos ahora una rotación de ...
Y

Figura 6.1. Rotación de ángulo θ.

Podemos agregar una leyenda a la figura con el paquete caption sin necesidad de poner la figura
en un entorno flotante. El mismo efecto se logra con el código
\documentclass{article} %Compilar -> LaTeX
\usepackage{graphicx}
\usepackage{caption}
\begin{document}
Consideremos ahora una rotación de ...
\begin{center}
\includegraphics{images/figura4.eps}
\captionof{figure}{Rotación de ángulo $\theta$.}\label{figura4}
\end{center}
\end{document}

Insertar gráficos y figuras

\includegraphics{images/figura4.eps}

6.2 Compilando con LaTeX. Figuras eps

Ejemplo 6.3

Continuando con el ejemplo anterior, vamos a incluir el gráfico ubuntu, que está en la
subcarpeta images de la carpeta en la que está nuestro archivo .tex, con un par de opciones
más.
El código:
\documentclass {article} % Compilar -> LaTeX
\usepackage{graphicx}
\usepackage{caption}
\begin{document}
Logo centrado y escalado a {\tt 3cm}
\begin{center}
\includegraphics[width =3cm]{images/ubuntu.eps}
\end{center}
En la figura \ref{fig:ubuntu} se
muestra el logo de Ubuntu, centrado y
escalado.\\
\begin{center}
\includegraphics[scale=0.2]{images/ubuntu.eps}
\captionof{figure}{Logo de Ubuntu}\label{fig:
ubuntu}
\end{center}
\end{document}

produce:
Logo centrado y escalado 3cm

En la figura 6.2 se muestra el logo
de Ubuntu, centrado y escalado.

Figura 6.2. Logo de Ubuntu

Opciones adicionales

103

6.3 Compilando con PDFLATEX

Cuando compilamos con LaTeX el comando includegraphics tiene varias opciones,
Opción
\width=xcm
\height=xcm
\scale=x
\trim=lcm bcm rcm tcm

6.3

Compilando con PDFLATEX
Este libro fue compilado con PDFLaTeX usando la distribución TeXLive 2012. Usa todas las figuras
soportadas por PDFLATEX, es decir figuras .png, .pdf, .jpg. y .eps. En realidad, el formato
.eps no está soportado, pero esta versión hace la conversión de .eps a .pdf en el proceso de
compilación.

PDFLaTeX con distribuciones TexLive 2010 o superior.
Si su distribución TEX es TeXLive 2010 o superior entonces, si compila con PDFLaTeX puede
incluir gráficos en formato .png, .pdf, .jpg. y .eps. sin ningún problema. Se usa como antes
el comando \includegraphics{}
\includegraphics[opciones]{ ruta y nombre de la figura }

Como antes, las opciones para escalar la figura son width, height y scale. Para rotarla se usa
la opción angle y para ’recortarla’ (clip) se usa la opción clip. También se puede usar el comando sin ninguna opción.
PDFLaTeX,

con TeXLive 2010 o superior, soporta .png, .pdf, .jpg y si encuentra figuras .eps
hace la conversión .pdf

PDFLaTeX con otras distribuciones
PDFLaTeX, con MikTeX 2.9 o con TeXLive 2009, solamente soporta .png, .pdf, .jpg. Si fuera
necesario, se puede habilitar la conversión de .eps a .pdf. Ver más abajo.

Ejemplo 6.4
En este ejemplo vamos a incluir dos gráficos, uno en el ambiente figure y el otro centrado
y con una leyenda usando el paquete caption.
Estas figuras fueron implementadas primero en Wolfram Mathematica 8 y se guardaron en
formato .pdf y luego fueron editadas y modificadas con Inkscape. El texto matemático se
agregó con la extensión TexText de Inkscape.

104

Insertar gráficos y figuras

\clip

Escala la imagen especificando el ancho deseado y manteniendo
la proporción.
Escala la imagen especificando el alto deseado y manteniendo la
proporción.
Escala la imagen según una proporción: scale=0.5 indica escalar
la imagen a la mitad y scale=2 escala la imagen al doble.
Esta opción recortar la imagen: lcm a la izquierda, bcm en la parte
inferior, rcm a la derecha, y la tcm en la parte superior. l, b, r
y t son longitudes.
Para que la opcióm trim trabaje se debe establecer clip=true.

6.3 Compilando con PDFLATEX

Los gráficos están en una subcarpeta images de la carpeta en la que está nuestro archivo
.tex.

105

6.3 Compilando con PDFLATEX

Descargar archivo

El código:
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage[T1]{fontenc}

106

\begin{document} % > Compilar con PDFLaTeX
Consideremos ahora el paralelepípedo
\begin{figure}[h!] % Ambiente 'figure'

produce:

% imagen sin escalar

\includegraphics{images/figura3.pdf}
\caption{Un paralelepípedo}\label{figura3}
\end{figure}
Ahora consideremos el sólido $Q$...
\begin{center} % Escalada a 4cm de ancho
\includegraphics[width =5cm]{images/figura4.pdf}
\captionof{figure}{Sólido $Q$}
\label{figura3a}
\end{center}
\end{document}

Consideremos ahora ...

Figura 6.3. Un paralelepípedo

Ahora consideremos ...

Figura 6.4. Sólido Q

Insertar gráficos y figuras

\centering

6.3 Compilando con PDFLATEX

Ejemplo 6.5

(PDFLaTeX con distribuciones TexLive 2010 o superior).

En este ejemplo vamos a incluir la misma figura, pero en distintos formatos. Observe que,
como estamos usando la distribución Texlive2012 (o superior) podemos incluir figuras .eps
sin problema. En otras distribuciones habría que hacer algunos cambios para hacer esto.
El código:

Descargar archivo

\documentclass{article}
\usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry}
\usepackage{graphicx}
\begin{document} % Compilar con opción PDFLATEX con TeXLive2010 o superior.
\begin{tabular}{cccc}
Logo .pdf & Logo .jpeg & Logo .png & Logo .eps\\
\includegraphics[width =2cm]{images/ubuntu2.pdf} % ancho 2cm
& \includegraphics[scale=0.2]{images/ubuntu3.jpg} % Escalada 20 %
& \includegraphics[height =2cm]{images/ubuntu4.png} % altura 2cm
& \includegraphics[width =1.5cm]{images/ubuntu1.eps}\\ %Conversión a pdf
\end{tabular}
\end{document}

produce:

Logo .pdf
2

Logo .jpeg

Logo .png

Logo .eps

1

PDFLaTeX con MikTeX 2.9 o con TeXLive 2009 o menos.
Si su distribución TEX es MikTeX 2.9 (al 2013 es la versión más reciente) o TeXLive 2009 o menos,
entonces si compila con PDFLaTeX puede incluir gráficos en formato .png, .pdf, .jpg. sin ningún problema. Se usa el mismo código del ejemplo anterior (excepto para figuras .eps).

Nota: ¿Desea habilitar el paquete epstopdf en MikTeX 2.9? Si desea compilar con PDFLaTeX

y habilitar la faceta de conversión sobre la marcha de figuras .eps a .pdf con MikTeX 2.9
o TeXLive 2009, deberá agregar en el preámbulo \usepackage{epstopdf}. Pero también
debe habilitar la opción shell escape para que se puede ejecutar la conversión (llamando
a un programa externo). Para hacer esto se debe ir al menú de configuración del editor y en
la entrada PDFLaTeX deberá agregar -shell-escape de tal manera que quede
PdfLaTeX -synctex=1 -interaction=nonstopmode -shell-escape

luego debe reiniciar el editor (Recuerde que esto no es necesario en TeXLive 2010 o más).

107

6.3 Compilando con PDFLATEX

Ejemplo 6.6

(Compilando con PDFLaTeX. Opciones).

En este ejemplo se muestra una figura .pdf (que está en la misma carpeta que el archivo
.tex) y el efecto de aplicar las opciones de escalamiento, rotación y ’recorte’.

108

El código:
\begin{tabular}{|c|c|}\hline
\includegraphics{fig.pdf}
& \includegraphics[scale=0.8]{fig.pdf} \\ \hline
\includegraphics{fig1.pdf}
& \includegraphics[scale=0.8]{fig1.pdf}

\\ \hline

\includegraphics[width =0.2\textwidth]{fig.pdf}
\includegraphics[width =0.2\textwidth]{fig.pdf}
& \includegraphics[width =2cm, angle=-45]{fig.pdf} \\ \hline
\includegraphics[width =2cm,height =4cm]{fig.pdf}
& \includegraphics[trim=2cm 2cm 4cm 0cm,clip]{fig.pdf} \\ \hline
\includegraphics[width =2cm, height =4cm]{fig.pdf}
& \includegraphics[trim = 2cm 2cm 4cm 0cm, clip]{fig.pdf} \\ \hline
\end{tabular}

produce:

Insertar gráficos y figuras

& \includegraphics[angle=-45]{fig.pdf} \\ \hline

6.3 Compilando con PDFLATEX

\includegraphics{fig.pdf}

\includegraphics[scale=0.8]{fig.pdf}

109

\includegraphics[width =0.2\textwidth]{fig.pdf}

\includegraphics[angle=-45]{fig.pdf}

\includegraphics[width =2cm,height =4cm]{fig.pdf}

\includegraphics[trim=2cm 2cm 4cm 0cm,clip]{...

Para incluir figuras, sin reparar en la extensión, se debe poner en el preámbulo
\usepackage{graphicx}
\DeclareGraphicsExtensions {.pdf,.png,.jpg} % busca en este orden!

Ejemplo 6.7
En este ejemplo vamos a insertar las figuras geometria1.pdf, gauss.png,
y la figura coodesfericas.pdf.

lioville.jpg

El código:
\documentclass {article}
\usepackage{graphicx}
\DeclareGraphicsExtensions{.pdf,.png,.jpg} % No es necesario
% indicar extensión.
\begin{document} % Compilar PDFLaTeX
\begin{center}

6.4 De nuevo: Paquete float

\begin{tabular}{|c|c|}\hline
\includegraphics[width =4cm]{images/geometria}
&\includegraphics[width =4cm]{images/gauss}\\\hline
\includegraphics[width =4cm]{images/lioville}
&\includegraphics[width =4cm]{images/coodesfericas}\\\hline
\end{tabular}

110

\end{center}
\end{document}

produce:

Z

ϕ=π/4
X

6.4

Y

X

θ

Y

De nuevo: Paquete float
Es común tener problemas en la manera como LaTeX acomoda los gráficos. Una manera de tomar control sobre la ubicación de los gráficos es usar el paquete float; para esto, agregamos en
preámbulo,
\usepackage{float}

Ahora, en vez de digitar \begin{table}[h!] o \begin{figure}[h!], digitamos \begin{table
}[H] o \begin{figure}[H]: El gráfico o la tabla quedará donde está.

Insertar gráficos y figuras

Z

6.5 Paquete subfigure

6.5

Paquete subfigure
A veces tenemos varias figuras y nos encantaría poner una leyenda a cada una en un mismo
ambiente. Esto lo podemos hacer si usamos el paquete \usepackage{subfigure}. El siguiente
ejemplo ilustra su uso.

111

Ejemplo 6.8

El código::

\begin{figure}[h!]
\centering
\subfigure[Converge]{\includegraphics[scale=0.5]{images/newton6}}
\subfigure[Diverge]{\includegraphics[scale=0.5]{images/newton5}}
\subfigure[Ciclo]{\includegraphics[scale=0.5]{images/newton4}}
\caption{Iteración de Newton}
\end{figure}

produce:

x2

x3

-1

1

x2

x1

(a) Converge

0

x1

x0 x2

x3

x4

x0 = x5

x4

6

(b) Diverge

(c) Ciclo

Figura 6.5. Iteración de Newton

6.6

Los ambientes wrapfigure y floatflt
Otros ambientes flotantes muy útiles son wrapfigure y floatflt, para poderlos utilizar se deben
cargar en el preámbulo sus paquetes respectivos con las instrucciones
\usepackage{wrapfig} %Figuras al lado de texto
\usepackage[rflt]{floatflt} %Figuras flotantes entre el texto

wrapfigure
El ambiente wrapfigure permite incluir gráficos o texto en un recuadro al lado del documento,
LATEX se encarga de acomodar el texto del documento alrededor del recuadro introducido. Con
este ambiente se introdujo la foto de D. Knuth al inicio de este documento.
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

6.6 Los ambientes wrapfigure y floatflt

Ejemplo 6.9

El código:
\begin{wrapfigure}{r}{2.5cm}
\includegraphics{images/ML_fig11.pdf}

112

\end{wrapfigure}
Al incluir un recuadro con ...

produce:

El recuadro será introducido justo al lado del párrafo siguiente de la definición del ambiente.
La separación del recuadro con el texto está dado por la instrucción \columnsep del preámbulo.
En realidad este ambiente no es “flotante”, es decir, en este caso el recuadro se introduce justo
en el párrafo donde uno quiere, por lo tanto, es nuestra responsabilidad que el recuadro se “vea”
bien (que no quede cortado entre páginas o cosas de este estilo); se recomienda revisar todos los
gráficos o texto introducido con este comando al obtener la versión final del documento.
Este comando es frágil, por lo que no se puede utilizar dentro de otros ambientes, sin embargo, sí
se puede utilizar en párrafos con multicolumnas.
Por último, el ambiente puede presentar problemas cuando el texto alrededor del recuadro no lo
cubre por completo, en estos casos es mejor utilizar \parbox o minipage.
Note que la gran ventaja que tiene este ambiente (sobre \parbox, por ejemplo) es que no hay que
preocuparse por la cantidad de texto que hay en cada columna, LATEX se encarga de la distribución
de manera automática.

floatflt
El ambiente floatflt es muy similar a wrapfigure ya que permite la inserción de un objeto
flotante rodeado de texto; en este caso LATEX se encarga de acomodar el texto alrededor de él.
Para poder utilizar este ambiente se necesita incluir la librería, para esto, se coloca en el preámbulo
la instrucción
\usepackage[rflt]{floatflt}

El argumento opcional rflt indica que, por defecto, los gráficos se colocarán a la derecha del
texto, también se puede escribir lflt para la izquierda o vflt que indica que el gráfico saldrá a la

Insertar gráficos y figuras

Al incluir un recuadro con \wrapfigure se debe tomar algunas cosas
en cuenta: En la definición {r} significa que el recuadro se introducirá
a la derecha del texto, también se puede utilizar {l} para que sea
a la izquierda. El ambiente se debe iniciar entre párrafos, es decir,
es problemático escribir un ambiente wrapfigure en medio de un
párrafo.

6.6 Los ambientes wrapfigure y floatflt

derecha en páginas impares y a la izquierda en páginas pares.
Por ejemplo, el código:
\begin{floatingfigure}[r]{4.5cm}
\includegraphics{images/ML_fig12}

113

\captionof{figure}{Un poliedro}
\end{floatingfigure}
Este ambiente s\'olo funciona ...

produce:

Este ambiente sólo funciona si se pone antes de un párrafo, la figura aparecerá lo más cerca del lugar en donde se haya escrito,
esto quiere decir que LATEX primero intenta poner la figura en la
página actual, si no encuentra suficiente espacio vertical entonces
la coloca en la página siguiente.
El argumento [r] es un argumento opcional que hace que el gráfico salga a la derecha del texto (no importa lo que se haya puesto
al cargar la librería).
Figura 6.6. Un poliedro

Aunque el ambiente floatflt sí trabaja en páginas a doble columna se debe tener cuidado si el gráfico sobrepasa el ancho de la columna porque sino el gráfico
quedará encimado sobre la columna contigua. Tampoco se debe usar el ambiente muy cerca del
final de una sección, sino el gráfico quedará encimado.
en la sección siguiente.
Si se escribe el ambiente en el primer párrafo de una página es posible que el gráfico aparezca más
abajo, es decir, el ambiente no coloca figuras al inicio de la página y, en el peor de los casos, la
figura nunca aparecerá.

6.6 Los ambientes wrapfigure y floatflt

114

Insertar gráficos y figuras

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

7

115
Edición de gráficos y figuras

A los gráficos y las figuras se les puede hacer edición adicional usando software. En este capítulo
vamos a hacer edición adicional usando Inkscape. Este software libre admite figuras en muchos
formatos y podemos guardar en formatos como .eps, .pdf o .png (este último con el menú
Archivo-Exportar).
es un programa de gran utilidad cuando se trabaja con gráficos vectoriales. TeXText
es una extensión para Inkscape que nos permiten usar código LATEX dentro de Inkscape para
componer texto matemático para nuestras figuras y gráficos. El texto LaTeX es compilado usando
nuestra distribución TEX y la extensión permite usar paquetes y comandos propios.

Inkscape

7.1

Gráficos en formato vectorial
Los gráficos vectoriales usan objetos geométricos simples (puntos, líneas, curvas y polígonos)
para describir, a través de ecuaciones matemáticas, imágenes digitales. Producen figuras de gran
calidad y se pueden escalar sin pérdidas. En general son archivos con extensión .svg. Estas figurae .svg necesitan poca información para describir los gráficos, por ejemplo un segmento de recta
solo necesita las coordenadas del punto inicial y del punto final, el grosor (thickness) y el color
del borde y relleno.
Z
Z

X

Y
Y

X

Figura 7.1. Gráficos generadas con Wolfram Mathematica y guardadas en formato .pdf y luego editadas
con Inkscape

7.2 Inkscape

Los editores de gráficos vectoriales, como Inkscape, son programas que permiten componer y
editar imágenes en formato vectorial. Además de los archivos .svg, hay otros archivos que usan
el modelo vectorial (.ps, .eps,.pdf, .ai, etc.) y por tanto se pueden abrir y editar sus partes.
Para editar sus componentes primero debemos usar la opción “desagrupar”.
Además estos editores permiten “incrustar” otro tipo de imágenes usando la opción de “Importar”:
Puede importar formatos como .jpg, .png, .tiff y exporta en formato .png así como muchos
otros formatos basados en vectores.
En general se puede “copiar” una imagen en formato “bibmap” (mapa de bits) digamos de una
página en Internet y “pegar” en el entorno, también esta operación se puede hacer con la opción
importar e incrustar.

Inkscape
es un editor de gráficos vectoriales de código abierto, con capacidades similares a Illustrator. Es un ambiente ideal para editar los gráficos generados con programas que tengan la opción
de exportar en formatos .eps, .pdf, .svg o algún otro formato vectorial.
Inkscape

Figura 7.2. Editando un gráfico .pdf con Inkscape

Un manual básico para Inkscape
Un manual para Inkscape lo puede encontrar en la revista digital Matemática, Educación e Internet (http://www.tec-digital.itcr.ac.cr/revistamatematica/) en
http://www.tec-digital.itcr.ac.cr/revistamatematica/Secciones/Didactica_y_Software/
RevistaDigital_KVindas_V12_N2_2012/RevistaDigital_Inkscape_KVindas.pdf

Edición de gráficos y figuras

7.2

116

7.3 Extensión TexText para Inkscape

7.3

Extensión TexText para Inkscape
Una faceta adicional es la posibilidad de editar texto matemático LATEX en el mismo entorno. Para
hacer esto se puede usar la extensión TexText

117

Esta extensión requiere algunos programas adicionales: Una distribución TEX, pstoedit, etc. La
versión actual (marzo 2013) de Inkscape Inkscape 0.48.4 y se puede instalar en Linux, Windows
(XP, 7 y 8) y Mac (Leopard) (ver seccion 7.5).
Con Inkscape podemos abrir páginas individuales de libros en formato .pdf y tomar figuras y
editarlas y/o modificarlas. Hay que recordar que las figuras en formato .pdf y .eps (entre otros)
se pueden ’desagrupar’ y modificar (vienen en formato vectorial). Esto no se puede hacer con las
figuras en formatos .jpg, .png, etc. Pero la faceta principal para nuestros propósitos es que podemos agregar texto LATEX en Inkscape.

Agregando texto matemático con la extensión TeXtext
TeXText es una extensión de Inkscape. Una vez instalada (para Ubuntu ver apéndice 14.9 y para
Windows ver apéndice 14.10) se accede a ella con Herramientas-TeX text. Se puede usar para
agregar texto LaTeX.

Figura 7.3. Habilitar la extensión TeXText en el menú Extensiones

La figura que sigue fue elaborada con Inkscape, el texto matemático adicional se agregó con
la extensión TeXtext. En la opción Preamble file se puede agregar un archivo que indica los
paquetes y comandos que se desea usar.
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

7.3 Extensión TexText para Inkscape

118

Esta ventana permite código LaTeX básico porque no están habilitados paquetes adicionales. Si
la sintaxis está bien, hacemos clic en Aceptar y obtenemos el texto LaTeX. Este texto se puede
escalar y redimsensionar sin perder calidad.

v
de

Blanco
ión

is

ea

Lín

Figura 7.5. Resultado de una edición con TeXtext

7.3.1

Opciones
La ventana de edición Tex Text tiene dos opciones, la primera nos permite cargar un archivo de
texto .txt (el archivo lo ponemos en algún lugar del disco duro) con llamadas a paquetes y con
comandos personales y la segunda nos permite poner un factor de escala.

Edición de gráficos y figuras

Figura 7.4. Editando una figura con la extensión TeXText

7.3 Extensión TexText para Inkscape

119

Figura 7.6. TeXText con preámbulo y factor de escala

Un archivo para el preámbulo podría ser (lo llamamos inkscape_preambulo.txt)
% Archivo inkscape_preambulo.txt---------------------------------------\usepackage{amsmath,amssymb,amsfonts,latexsym,stmaryrd}
\usepackage[latin1]{inputenc}
\usepackage{pslatex}
\usepackage{bm}
\newcommand{\R}{\mathbb{R}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\I}{\mathbb{I}}
\newcommand{\F}{\mathbb{F}}
\newcommand{\gfrac}[2]{\displaystyle{\frac{#1}{#2}}}
\newcommand{\limite}[2]{\lim_{#1 \rightarrow #2}}
\newcommand{\ds}{\displaystyle}
\newcommand{\sen}{\mathop{\rm sen}\nolimits}
\newcommand{\senh}{\mathop{\rm senh}\nolimits}
\newcommand{\arcsen}{\mathop{\rm arcsen}\nolimits}
\newcommand{\arcsec}{\mathop{\rm arcsec}\nolimits}

7.4 Edición adicional de figuras con Inkscape

%-----------------------------------------------------------------------

compila un documento article. En el código de la extensión se puede ver que carga tres cosas: El texto LaTeX qué digitamos (latext_text), el archivo .txt con el preámbulo
(preamble_file) y un factor de escala.
TeXText

120

#Parte del código de la extensión TeXText.py
class PdfConverterBase(LatexConverterBase):
def convert(self, latex_text, preamble_file, scale_factor):
...
%s #inserta el preámbulo
\pagestyle{empty}
\begin{document}
\noindent
%s #inserta el código LaTeX
\end{document}
""" % (preamble, latex_text)
...

Como se observa, ya viene incluido por defecto \begin{document} y \end{document} por lo
que no se debe poner en el archiv .txt
Las fórmulas se pueden reeditar seleccionándolas y llamando nuevamente a la extensión TeXText
(siempre y cuando no se haya “desagrupado”).

7.4

Edición adicional de figuras con Inkscape
En general, implementamos gráficos y figuras en algún software ( Winplot, Geogebra, Mathematica, MatLab, wxmaxima, etc.) y guardamos en formato .eps o en formato .pdf. Luego los abrimos
con Inkscape y los editamos y mejoramos.
Para el siguiente ejemplo, que trata sobre el teorema del valor medio para derivadas, primero implementamos la gráfica, digamos en Mathematica o cualquier otro software que permita graficar.
Luego guardamos la figura como .eps o como .pdf, ambos formatos permiten abrir la figura con
Inkscape, ’desagruparla’ y mejorarla,

Edición de gráficos y figuras

\documentclass[landscape,a0]{article}

7.4 Edición adicional de figuras con Inkscape

121

Figura 7.7. Gráfico en Mathematica (guardar como .pdf)

Ahora seleccionamos la figura y aplicamos Crtl-U varias veces para desagrupar los componentes
de la figura, luego seleccionamos las partes que nos interesan y editamos.

Figura 7.8. Abrir con Inkscape y editar.

Ejemplo 7.1
La figura en este ejemplo fue implementada en Wolfram Mathematica y editada con
Inkscape y guardada en formato .pdf (este documento se compiló con PDFLaTeX)

7.4 Edición adicional de figuras con Inkscape

\begin{minipage}[b]{0.5\linewidth}
% En el preámbulo:
%\newtheorem{teo}{Teorema} está en el preámbulo
%\usepackage{pstricks, caption}

122

\begin{teo}[Teorema del valor Medio]\label{tvm}
Sea $f(x)$ continua en $[a,b]$ y derivable en $]a,b[,$
entonces $\exists\,\xi \in\,]a,b[$ tal que
$$f(a)-f(b)= f'({\red\xi})(b-a)$$.
\end{teo}

$a=2$ y $b=4 \;$
$\Rightarrow {\red \xi} = {2 \over 3}(3+\sqrt{3})$ .
\end{minipage} \hfill\begin{minipage}[b]{0.45\linewidth}
\includegraphics[scale=0.7]{images/ML_fig10} %.pdf
\captionof{figure}{{\small Teorema del valor medio}}
\label{Calculo:fig20}
\end{minipage}

produce:

Teorema 7.4.1 (Teorema del valor Medio). Sea f (x)
continua en [a, b] y derivable en ]a, b[, entonces ∃ ξ ∈
]a, b[ tal que
f (b) − f (a) = f 0 (ξ)(b − a)
a

En particular, siendo√f (x) = 6 − (x − 2)3 + x, a = 2 y
b = 4 ⇒ ξ = 32 (3 + 3) .

ξ b

Figura 7.9. Teorema del valor
medio

Abrir páginas de un libro .pdf
Podemos abrir un libro .pdf con Inkscape y seleccionar alguna página. Esto se hace de manera natural seleccionando el libro y aplicando “Abrir con” (Inkscape). Una vez hecho esto, la
página seleccionada la podemos editar aplicando la operación de “desagrupar” (Ctrl-U) varias
veces.
Advertencia: Al final, la página se debería guardar con otro nombre!

Edición de gráficos y figuras

En particular, siendo $f(x)=6-(x-2)^3+x$,

7.4 Edición adicional de figuras con Inkscape

123

Figura 7.10. Abrir una página de un libro en formato .pdf

Figura 7.11. Página del libro

7.4 Edición adicional de figuras con Inkscape

Recortando figuras de la pantalla
Entre las opciones que tenemos para recortar figuras en la pantalla están,
para Ubuntu: Shutter es un programa de captura de pantalla con muchas características. Se puede hacer una captura de pantalla de un área específica, ventana, pantalla
completa, o incluso de un sitio web y luego aplicar diferentes efectos a la misma. Al final,
exportamos la figura a .pdf u la guardamos en otro formato.

Shutter

124

Shutter

La selección en Shutter

Figura 7.12. Recortando con Shutter

(esta es la versión libre, se puede buscar en Google exactamente con este
nombre “FastStone 5.3”) para Windows: FastStone Capture es un programa de captura y
edición de pantallas, similar a Shutter. La versión actual es la 7.3 pero la versión 5.3 es libre
para uso personal y viene con la mayoría de facetas que nos interesan.
“FastStone 5.3”

FastStone 5.3

Herramienta de selección

Figura 7.13. Recortando con FastStone 5.3

Edición de gráficos y figuras

Recorte con la herramienta selección [Enter]

7.5 Instalación de la extensión TeXText

Errores relacionados con “BoundingBox’.
En la compilación, ya sea LaTeX o PDFLaTeX, a veces se observa el mensaje de error:
Error: Cannot determine size of graphic (no BoundingBox)

Esto sucede cuando una imagen no viene con las dimensiones (BoundingBox) de la caja.

125

La manera fácil de resolver este problema es abrir la imagen, digamos con Inkscape y guardar la
imagen de nuevo.
Si abrimos la imagen en Adobe Illustrador, por ejemplo, para aplicar las dimensiones correctas, se
debe ir a File-Document Setup y poner las dimensiones adecuadas para que la figura se ajuste a
la región.

Resolución de la imagen.
Los gráficos se ven bien en los formatos .eps o .pdf pero las imágenes (fotos, etc.) se ven mejor
en formato .png o .pdf. En general, la resolución mejora si las figuras originales son lo suficientemente grandes. Cuando se gana en resolución el tamaño del PDF aumenta.

7.5

Instalación de la extensión TeXText

7.5.1

Instalación en Ubuntu
1 Se supone que tenemos una distribución TEX (completa y actualizada) instalada.

2 Instalamos Inkscape. En los repositorios de Ubuntu hay una archivo .deb con la versión

soportada. Por ejemplo, a la fecha (Marzo, 2013) Ubuntu 12.10 instala Inkscape 0.48.3.1.
En general, solo necesita instalar Inkscape desde Synaptic o desde Centro de Software
(si tiene conexión a Internet). Si no tiene conexión a Internet deberá obtener el respectivo
archivo .deb y ejecutarlo.

3 Luego instalamos pstoedit y pdf2svg, por ejemplo desde Synaptic
4 Instalamos TeXText. Se descarga el comprimido textext-0.4.4.tar.gz desde http://
pav.iki.fi/software/textext/

y se descomprime, digamos en la carpeta ’Descargas’.

Desde la terminal nos vamos a la carpeta ’Descargas’ (con el comando ’change-directory’:
cd) y luego digitamos
sudo mv *.* /usr/share/inkscape/extensions

[Enter]

Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

7.5 Instalación de la extensión TeXText

126
7.5.2

Instalación en Windows
Esta instalación requiere varios pasos. Vamos a seguir la guía del profesor James Davis de Cornell
University. Observe que esta guía está hecha pensando en Inkscape 0.48. En el comprimido que
se da más adelante viene una versión de Inkscape que se podría instalar aunque la versión más
reciente de Inkscape no parece presentar problemas.

2 Necesitamos los programas y otros archivos: Inkscape-0.48.2-1-win32, Ghostscript, GsView,
Image Magic, etc. Las versiones de los programas pueden ser incopatibles con distintas ver-

siones de otros programas que vamos a necesitar, por eso, las versiones compatibles de todo
lo que se necesita está en un solo comprimido, en
http://people.orie.cornell.edu/jmd388/design/guides/textext.zip

3 Descomprimir textext.zip e instalar Inkscape-0.48.2-1-win32,

Ghostscript, GSview e
Todos estos archivos son ejecutables (.exe). La instalación procede con las
opciones default
Image Magic.

4 La instalación de Pstoedit requiere un cuidado adicional.

En la ventana Select Destination Location asegurarse de que la carpeta de instalación quede en Ghostgum: C:\Archivos de programa\Ghostgum\pstoedit
En la ventana “Select Components” seleccionar todos (marcar las casillas).

Figura 7.14. pstoedit debe quedar en la carpeta de Ghostgum

5 Después de instalar pstoedit, debemos editar las variables de entorno para que textext

pueda ejecutar pstoedit. Vamos al “Panel de Control” luego a “System and Security
- System”, aquí vamos a la opción “Advanced system settings” (en el lado izquierdo).

Edición de gráficos y figuras

1 Se supone que tenemos una distribución TEX (completa) instalada.

7.5 Instalación de la extensión TeXText

Presionamos “Environment Variables” y en la ventana que se abre, vamos a la subventana “System variables”, seleccionamos “Path” y presionamos Edit... y al final de la
línea de texto agregamos (precedido de un putno y coma ’;’),
;C:\Program Files\ghostgum\pstoedit

Cerramos todas las ventanas presinando “OK” o “Aceptar”.

Figura 7.15. Editar ’variables de entorno’ para agregar la ruta de pstoedit

6 Instalamos el ejecutable textext-0.4.4 que viene en el .zip.
7 Modificamos: Copiamos el archivo textext.py que viene en el .zip y lo pegamos (sobre-

escribiendo el archivo antiguo) en
C:\Program Files\Inkscape\share\extensions

Este archivo está preparado para Inkscape 0.48.
8 Descomprimir el site-package.zip en
C:\Program Files\Inkscape\python\Lib\site-packages

Deberá sobreescribir el contenido de la carpeta site-packages.

127

7.5 Instalación de la extensión TeXText

128

Edición de gráficos y figuras

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

8

129

Citas bibliográficas con BibTeX

La bibliografía es una de las partes más importantes de un documento, esta permite hacer referencia a trabajos realizados anteriormente por otros autores. LATEX ofrece dos formas de realizar
bibliografías en un trabajo: El entorno thebibliography y el uso de BibTEX.

8.1

Entorno thebibliography
Para utilizar el entorno thebibliography se deben poner las referencias entre los comandos \
Cada una de las entradas de
la bibliografía se pone con un comando \bibitem{llave}, la llave se utiliza para hacer la referencia dentro del texto.
begin{thebibliography}{99} . . . \end{thebibliography}.

Ejemplo 8.1

El texto:
\begin{thebibliography}{99}
\bibitem{Goossens} M. Goossens; F, Mittelbach; A. Samarin.
{\it The \LaTeX Companion}. Addison-Wesley. 1993.
\bibitem{Lamport} L. Lamport. {\it \LaTeX}. Addison-Wesley. 1996.
\end{thebibliography}

produce la bibliografía

8.2 BibTEX

Ejemplo 8.2

El texto:
En \cite{Goossens} y \cite{Lamport} se muestra como...

produce las referencias

8.2

BibTEX
La segunda opción para realizar bibliografías es utilizar BibTEX, para este caso lo que se realiza
es una “base de datos” de los libros en un archivo de texto aparte, este archivo se debe guardar
en la misma carpeta del documento con extensión .bib. Este archivo se puede realizar con el Bloc
de Notas en Windows o el Editor de Textos en Linux, en general funciona cualquier editor de
texto plano. En el documento, donde se quiere que aparezca la bibliografía, se deben poner las
instrucciones:
\bibliographystyle{ESTILO}
\bibliography{basededatos1[,basededatos2,...]}

El estilo define cómo se presentará la bibliografía, entre los estilos más populares están: plain, apalike, alpha, abbrv, unsrt. Sin embargo, hay revistas o instituciones que manejan su propio estilo,
en estos casos le brindan al usuario un archivo de estilo que se copia en la carpeta del documento.
Se pueden tener varias bases de datos de bibliografía separadas, por ejemplo, se puede tener una
para los libros de computación y otra para los libros de álgebra; si en algún momento se está escribiendo un artículo sobre álgebra computacional, es probable que se quiera hacer referencia a
libros de ambas bases de datos, entonces en el comando \bibliography se ponen ambas bases.
Una de las ventajas que tiene BibTEX es que, aunque la base de datos tenga muchas referencias,
en la bibliografía del documento sólo aparecen las referencias a las entradas que aparecen citadas
en el texto. Si se quiere que aparezca alguna entrada aunque no se cite en el texto se agrega la línea
\nocite{Llave} y si se quiere que todas las entradas se pongan aunque nunca se citen se debe
agregar la línea \nocite{*}.
Cada entrada en el archivo .bib debe tener la siguiente estructura:
@tipo{LLave,
propiedad1="valor1",
propiedad2="valor2",
...
}

Citas bibliográficas con BibTeX

Este entorno tiene la ventaja que las referencias se escriben directamente en el documento, las
desventajas son que si se tiene otro documento que hace la misma referencia entonces hay que
escribir la entrada en ambos documentos y sólo tiene un único formato para presentar la bibliografía, por ejemplo, si nos piden la bibliografía siguiendo las reglas de APA entonces utilizar el
entorno thebibliography no sería apropiado.

130

8.2 BibTEX

Donde el tipo se refiere al tipo de documento: artículo, libro, conferencia, etc. A conti-nuación se
presentan los tipos permitidos:
article

incollection

other

book

inproceedings

phdthesis

booklet

manual

proceedings

conference

mastersthesis

techreport

inbook

misc

unpublished

La llave es la que se utiliza dentro del texto para hacer las citas con la instrucción \cite{Llave}.
Las propiedades se refieren a los datos que se toman en las referencias: autor, título, editorial, año,
etc. Las propiedades permitidas se enuncian a continuación.
address

howpublished

number

abstract

institution

organization

author

ISBN

pages

booktitle

ISSN

publisher

chapter

journal

school

contents

key

series

copyright

keywords

title

crossref

language

url

edition

month

volume

editor

note

year

Las mismas entradas que se hicieron en la sección anterior, en BibTEX se pueden hacer en un
archivo LaTeX.bib con los siguientes datos.
@book{Goossens,
author="Michel Goossens and Frank Mittelbach and Alexander Samarin",
title="The \LaTeX Companion",
editor="Addison-Wesley",
year="1993"
}
@book{Lamport,
author="Leslie Lamport",
title="\LaTeX",
editor="Addison-Wesley",
year="1996"
}

En el texto se citaría igual que en el entorno thebibliography:
En \cite{Goossens} y \cite{Lamport} se muestra como...

Y la bibliografía se mostraría con:
\bibliographystyle{apalike}
\bibliography{LaTeX.bib}

En este caso se está utilizando el estilo del APA (American Psychological Association) para citar,
el resultado se muestra en la figura 8.1.

131

8.2 BibTEX

132

Figura 8.2. Bibliografía con el estilo Plain

Figura 8.3. Bibliografía con el estilo Alpha

En las figuras 8.2 y 8.3 se muestran los resultados utilizando como estilo plain y alpha.
Existen muchos otros estilos con los que se puede trabajar, si se está editando un libro esta opción
de cambiar de estilo es muy cómoda porque las revistas o las editoriales por lo general tienen su

Citas bibliográficas con BibTeX

Figura 8.1. Bibliografía con el estilo APA

8.3 JabRef

propio estilo y, con sólo cambiar el estilo de la bibliografía, ya el documento se adecúa.

8.3

JabRef
Existen algunos programas que facilitan la creación y el manejo de las bases de datos que utiliza
BibTEX, uno de estos programas es JabRef, entre sus principales características es que es un programa gratuito y que se puede utilizar tanto en Windows como en Linux.
Al abrir el programa se nos presenta una ventana sin nada más que el menú y las barras de herramientas, al hacer una nueva base de datos se nos abre la base en blanco, tal como se muestra en la
figura 8.4.

Figura 8.4. Pantalla principal de JabRef.

Para hacer una nueva entrada en la base de datos se utiliza el menú BibTeX->New Entry o el botón
de la barra de herramientas, a continuación sale una ventana con las opciones que hay para la
referencia, tal como se muestra en la figura 8.6
Ahora aparecerá una ventana donde se pueden ir llenando los campos de la entrada, en las lengüetas de arriba se puede ir pasando entre los campos requeridos, los opcionales, los de datos
generales, el abstract (resumen) y el review (revisión), la última es para ver la entrada de BibTEX
en modo texto. En general se llenan los campos de los que se disponga información. Esta ventana
se puede observar en la figura 8.5.
Si se abre una base de datos ya existente, aparecen las entradas arriba y la ficha bibliográfica al
lado abajo de la ventana, si se quiere editar alguna de las entradas existentes se debe utilizar en el
menú BibTeX->Edit Entry o presionar el botón
de la barra de herramientas.
Al guardar el archivo lo que hace el programa es guardarlo en modo texto con extensión .bib tal
como se vió en la sección 8.2

133

8.3 JabRef

134

Figura 8.6. Opciones para una nueva entrada en BibTEX.

Citas bibliográficas con BibTeX

Figura 8.5. Nuevo Artículo.

8.3 JabRef

135

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

9

136
Diseño Editorial

Es un hecho comprobado que una representación que funciona mejor es también percibida como
más bella. La sensación de belleza viene de la facilidad de uso, es decir, lo fácil de usar generalmente es placentero. Uno no quiere leer una página mal organizada en el que no haya una jerarquía
clara, queremos leer páginas placenteras que se vean claras y bien arregladas. Ahora podemos analizar si estamos comunicando de manera agradable y efectiva la información.
Nos gusta ver orden, esto crea una sensación de calma y seguridad. También les gusta ver contraste: Frecuentemente en una misma página contamos varias historias y esto puede suceder hasta en
un solo párrafo o una fórmula; el contraste ayuda al lector a ver la lógica y el flujo de las ideas
y a organizar la información y crea de paso un interés. Hay algunos principios que nos ayudan a
definir la manera en que vamos a organizar y presentar la información, de eso se trata este capítulo.

9.1

Bajar la carga cognitiva
La carga cognitiva está conformada por las demandas que se imponen a la memoria de trabajo durante una observación o aprendizaje. Aquí hay dos conceptos que nos interesan, la carga cognitiva
intrínseca y la carga cognitiva extrínseca.
Carga intrínseca: Está determinada “por la naturaleza del material y la experticia del aprendiz”
Carga extrínseca: La carga cognitiva extrínseca está asociada con procesos que no tienen relación directa con el aprendizaje del concepto mismo sino más bien con la lectura del material.

En principio no podemos hacer mucho en lo que respecta a la carga intrínseca pero sí podemos
hacer algo para reducir la carga cognitiva extrínseca. El diseño editorial que nos ocupa esta orientado a reducir la carga cognitiva extrínseca presentando la información de un modo acorde con el
modo en que los seres humanos percibimos el mundo.

Diseño Editorial

Cuando escribimos un documento LATEX no hay que preocuparse, en general, por el diseño del
documento, LATEX se encarga y aplica el diseño establecido según el “\documentclass”. Una vez
que tenemos resuelto el contenido tenemos que fijarnos en el estilo y en el diseño editorial.

9.1 Bajar la carga cognitiva

Las leyes Gestalt
Leyes de percepción Gestalt (‘forma’) tratan de explicar cómo el cerebro humano percibe e interpreta el mundo y forman parte del conglomerado básico de la teoría del diseño. Dos leyes nos
interesan en particular, la ley de proximidad y la ley de semejanza.
Ley de la proximidad: El principio de proximidad dicta que los objetos más cercanos (en tiempo

o espacio) se perciben como un grupo.
Por ejemplo, en la figura que sigue el arreglo de la izquierda no presenta una pertenencia clara, en
el centro se acentúa la pertenencia por filas y a la derecha la pertenencia por columnas.

Ahora veamos un ejemplo en el contexto de las matemáticas: El siguiente texto presenta ambigüedad en la pertenencia,


b2
b 2
−
+c
x+
2
4

"

=
=
=

 
 2 #
b
b
b2
+ 2(x)
+
+c
−
2
2
4


b2
b2
2
x + bx +
−
+c
4
4
x2 + bx + c
x2

Para mejorar la pertenencia horizontal creamos espacio,


b 2
b2
x+
−
+c
2
4

"
x2

=


=

=

 
 2 #
b
b
b2
+ 2(x)
+
−
+c
2
2
4

b2
x + bx +
4
2


−

b2
+c
4

x2 + bx + c

Ley de la la semejanza: El principio de semejanza dicta que los objetos que poseen caracterís-

ticas similares de forma, color, luminosidad o tamaño aparentan pertenencia.
En la figura de abajo, el grupo de cuadrados aparenta estar dividido en dos grupos: Los oscuros y

137

9.2 Amenidad: Los Cuatro Principios Básicos

los claros.

138
Proximidad versus semejanza: Las leyes gestalt pueden reafirmarse o balancearse si se combinan. En la figura que sigue, se tiene una combinación de la ley de semejanza versus la ley de
proximidad: Los cuadrados tiene una relación hacia las líneas (horizontales) más que a las columnas (verticales), en el segundo esquema esta relación se reafirma con color (ley de semejanza), sin
embargo, en el tercer esquema a pesar de que la relación de proximidad no ha cambiado las columnas operan con más fuerza que las líneas, es decir la similaridad actúa por encima de la proximidad.

4a2 x + 3bm − 4ab − 3max = (4a2 x − 4ab) + (3mb − 3max)

Diseño Editorial

Como un ejemplo, en el siguiente texto se usa lo que se llama un ‘código cromático’ (provocar
impacto visual mediante la manipulación del color), que permite al lector tener una clara distinción de los tipos de elementos sin ni siquiera pensar en ello.

= 4a(ax − b) + 3m(b − ax)
= 4a(ax − b) − 3m(ax − b)
= (4a − 3m)(ax − b)

9.2

Amenidad: Los Cuatro Principios Básicos

9.2.1

Proximidad.
El propósito básico de la proximidad es organizar. La idea es agrupar varios items relacionados de
tal manera que se visualicen como una sola unidad. Tal vez, el ejemplo más sencillo es una tarjeta
de presentación. En la figura 9.1-(a), se muestra una tarjeta con varios elementos sin agrupar, en
la parte (b) se muestra con los elementos agrupados según su proximidad.
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

9.2 Amenidad: Los Cuatro Principios Básicos

(506)-4453454

Comunidad Bribri

Editorial Suwoh
Comunidad Bribri

Editorial Suwoh
159-40, Talamanca

159-40, Talamanca
Limón, Costa Rica.
(506)-4453454

Limón, Costa Rica.

(a)

139

(b)

Figura 9.1

9.2.2

Alineamiento.
El propósito del alineamiento es unificar y organizar cada página. Nada se debe colocar de manera
arbitraria, los elementos deben tener conexión visual con los otros elementos.

Alineamiento correcto,

Alineamiento incorrecto,
Por ejemplo, para construir una tabla parcial en base
b = 2 módulo 13, calculamos las potencias de 2
módulo 13.
2 ≡ 21 (mod 13), 11 ≡ 27 (mod 13),
4 ≡ 22 (mod 13), 9 ≡ 28 (mod 13),
8 ≡ 23 (mod 13), 5 ≡ 29 (mod 13),
3 ≡ 24 (mod 13), 10 ≡ 210 (mod 13),
6 ≡ 25 (mod 13), 7 ≡ 211 (mod 13),
12 ≡ 26 (mod 13), 1 ≡ 212 (mod 13).
Luego, ponemos la información en una tabla,
a
Ind2 (a)

9.2.3

1
12

2
1

3
4

4 ...
2 ...

Por ejemplo, para construir una tabla parcial en base
b = 2 módulo 13, calculamos las potencias de 2
módulo 13.
2
4
8
3
6
12

≡
≡
≡
≡
≡
≡

21 (mod 13),
22 (mod 13),
23 (mod 13),
24 (mod 13),
25 (mod 13),
26 (mod 13),

11
9
5
10
7
1

≡
≡
≡
≡
≡
≡

27 (mod 13),
28 (mod 13),
29 (mod 13),
210 (mod 13),
211 (mod 13),
212 (mod 13).

Luego, ponemos la información en una tabla,
a
Ind2 (a)

1
12

2
1

3
4

4 ...
2 ...

Repetición.
La repetición es una poderosa manera de ser consistente. El propósito de la repetición es unificar
y agregar interés visual. Los elementos repetitivos pueden ser fuentes en negrita, líneas delgadas,
viñetas, encabezados, márgenes, color, fuentes, etc.

9.2.4

Contraste.
El propósito del contraste es crear interés en la página y, al mismo tiempo, ayudar en la organización. El contraste puede ser creado de varias maneras: Fuentes grandes con fuentes pequeñas,
color, elementos horizontales o verticales, etc.
1. Divisibilidad por 9 : 9 divide a a si y sólo
si 9 divide la suma de sus dígitos, es decir,
9|a ⇐⇒ 9 |∑ni=0 ai

1. Divisibilidad por 9 : 9 divide a a si y sólo
si 9 divide la suma de sus dígitos, es decir,
9|a ⇐⇒ 9 |∑ni=0 ai

2. Divisibilidad por 3 : 3 divide a a si y sólo
si 3 divide la suma de sus dígitos.

2. Divisibilidad por 3 : 3 divide a a si y sólo
si 3 divide la suma de sus dígitos.

3. Divisibilidad por 2 y por 5 : tanto 2 como
5 dividen a a si y sólo si dividen a0 .

3. Divisibilidad por 2 y por 5 : tanto 2 como 5 dividen a a si y sólo si dividen a0 .

9.3 Legibilidad: Cómo escoger las fuentes.

9.3

Legibilidad: Cómo escoger las fuentes.

Cuando se trata de seleccionar tipos de letras para un folleto o un libro, una regla general que se
menciona es la siguiente,
1

Utilice un tipo de letra serif simple, fácilmente reconocido para el cuerpo del trabajo (Times,
Times New Roman, Palatino,...).

2

Divida el texto con títulos y subtítulos en tipo de letra sans serif (puede ser Arial o helvetica,
aunque hay otras).

LATEX no usa las fuentes del sistema sino que tiene sus propias fuentes. Las fuente default de
LATEX es Computer Modern, tal vez por esto sea una fuente usada en exceso. Para optimizar la
calidad de impresión y también de visualización en pantalla (vía PDF), es adecuado forzar LATEX
para que use fuentes “postscript” (que vienen con las distribuciones actuales, por ejemplo MikTeX 2.x o TeXLive 2012). Esto se puede hacer, por ejemplo, usando algún paquete. Por ejemplo,
el paquete pslatex o la familia de fuentes PSNFSS. En la documentación de cada paquete se
encuentran algunos detalles adicionales relacionados con la codificación u otra consideraciones.
Algunos ejemplos son,

El paquete pslatex: La fuente default es “Times”.
Agregamos en el preámbulo \usepackage{pslatex}
El paquete mathpazo: La fuente default es “Palatino”.
Agregamos en el preámbulo \usepackage{mathpazo}

140

Diseño Editorial

Los cuatro principios básicos de los que hablamos anteriormente
son una guía para la amenidad. Ahora nos interesa la legibilidad.
La legibilidad nos debe guiar en la selección de tipo de letra. Hay
tres tipos de letra que podemos usar: Serif (letras con serifas o
‘remates’, como Times o Palatino), sans serif (letras sin serifas ‘remates’ como Helvetica o Arial) y decorativa. El texto
serif se considera el más fácil de leer en los textos impresos y
cansa menos la vista cuando se trata de grandes bloques, pues está
diseñado para ayudar al lector a identificar y discriminar entre las
letras específicas, por eso se usa en cuerpo del texto. Proporciona
efecto de tranquilidad, modifica el significado del texto y añade
connotaciones específicas a lo expresado.
El texto sans serif es el segundo tipo más leíble de texto
y por lo general se utiliza para los títulos y subtítulos de las
secciones y se aplica también a textos con fuente muy pequeña
(manuales de artefactos electrónicos, medicinas, etc.) También
es un texto adecuado para textos cortos en pantalla. Este tipo
de fuente crea el efecto de modernidad, sobriedad, alegría y
seguridad. Hay que tomar en cuenta que diferentes tipografías
atraen audiencias diferentes, tanto de manera subliminal como
abiertamente (piense en una tipografía para niños).

9.4 Color

¿Qué significa “tomar un número natural al azar”?. Los naturales son un conjunto infinito, así que no tiene sentido decir que vamos a tomar un número al azar. Lo que si podemos
es tomar un número de manera aleatoria en un conjunto finito {1, 2, ..., n} y luego (atendiendo a la noción frecuencista de
probabilidad) ver que pasa si n se hace grande (i.e. n −→ ∞).

El paquete mathptmx: La fuente default es “Times”.
Agregamos en el preámbulo \usepackage{mathptmx}
¿Qué significa “tomar un número natural al azar”?. Los naturales son un conjunto infinito, así que no tiene sentido decir que vamos a tomar un número al azar. Lo que si podemos
es tomar un número de manera aleatoria en un conjunto finito {1, 2, ..., n} y luego (atendiendo a la noción frecuencista de
probabilidad) ver que pasa si n se hace grande (i.e. n −→ ∞).

El paquete bookman: La fuente default es “Bookman”.
Agregamos en el preámbulo \usepackage{bookman}
¿Qué significa “tomar un número natural al azar”?.
Los naturales son un conjunto infinito, así que no tiene sentido decir que vamos a tomar un número al
azar. Lo que si podemos es tomar un número de manera aleatoria en un conjunto finito {1, 2, ..., n} y luego (atendiendo a la noción frecuencista de probabilidad) ver que pasa si n se hace grande (i.e. n −→ ∞).

El paquete newcent: La fuente default es ‘New Century Schoolbook’.
Agregamos en el preámbulo \usepackage{newcent}
¿Qué significa “tomar un número natural al azar”?.
Los naturales son un conjunto infinito, así que no tiene sentido decir que vamos a tomar un número al
azar. Lo que si podemos es tomar un número de manera aleatoria en un conjunto finito {1, 2, ..., n} y luego (atendiendo a la noción frecuencista de probabilidad) ver que pasa si n se hace grande (i.e. n −→ ∞).

9.4

Color
Esta podría ser la parte más difícil del diseño. El color es una parte inseparable de nuestras vidas
y es una parte de todo lo que percibimos. El color tiene un fuerte impacto en nuestras emociones
y sentimientos y se puede considerar como un elemento de diseño que se puede utilizar para crear

141

9.4 Color

ambientes de aprendizaje mejorados.
Si vamos a usar color, lo mejor es seguir un “esquema de color”. En principio usamos un esquema
de color simple: Fondo blanco con letras negras. Esquemas más avanzados involucran la combinación de varios colores. En internet podemos obtener esquemas ya hechos, como el de la figura
(9.2).

142

Figura 9.2. Esquema generado con “Color Scheme designer”

Podemos también crear esquemas personalizados basados en varios esquemas, por ejemplo
Esquema acromático: Utiliza sólo el negro, el blanco, y los grises.

2

Esquema análogo: Utiliza cualquiera de tres tonos consecutivos o cualquiera de sus tintes y
matices del círculo cromático.

3

Esquema complementario: Usa los opuestos directos del círculo cromático.

4

Esquema complementario dividido: Consta de un tono y los dos tonos a ambos lados de su
complemento.

Hay algunos sitios en Internet con esquemas de color ya hechos, como “Color Schemer Studio”, y
también hay aplicaciones “online”, que nos permiten crear esquemas, como ‘Colors on the Web’
(http://www.colorsontheweb.com) o ‘Color Scheme designer’ (http://colorschemedesigner.
com/)

Figura 9.3. Color Scheme Studio

Cuando agregamos color a una imagen, es usual observar la codificación del color (tres números)
en varios modelos de color. Aquí son de interés dos modelos: RGB (acrónimo de red, green y
blue) y CMYK (acrónimo de Cyan, Magenta, Yellow y Key). RGB es la elección si el material se
va visualizar en pantalla y CMYK es la elección si es para impresión.

Diseño Editorial

1

9.5 Editar un PDF con Inkscape

9.5

Editar un PDF con Inkscape
Después de generar una archivo PDF, se puede agregar detalles de diseño (color, figuras, imágenes, retoques, etc.) abriendo cada página del archivo PDF en Inkscape. Hay otro tipo de software,
como Adobe Pro Extended, PitStop, etc., que permite agregar ligas, corrección de errores menores, agregar anotaciones, agregar video (por ejemplo video flash), etc.
El primer problema es el de las fuentes, Inkscape no puede acceder a las fuentes del documento
y lo que hace es una sustitución de fuentes; esto significa que cuando Inkscape importa un PDF,
lee los nombres de las fuentes presentes en el documento (eso si se puede hacer) y sustituye estos
nombres con los nombres (lo más parecido que encuentre) de las fuentes instaladas en su sistema
(ver ’Inkscape: PDF import’).
Por ejemplo, si el PDF usa la fuente “TimesNewRomanPSMT” y lo más cercano que tenemos a
este nombre es “Times New Roman”, entonces esta será la fuente que se usará.
En general esta sustitución mejora si instalamos algunas fuentes adicionales en el sistema; pero
esto no es perfecto. En todo caso se pueden instalar las extensiones TeXtext y Replace Font.
En la figura que sigue se muestra un PDF generado con PDFLATEX y cómo lo levanta Inkscape.
Se usó el paquete de fuentes mathpazo porque las fuentes PazoMath.ttf son fuentes TrueType y
están instaladas en el sistema que usamos e Inkscape las reconoce bien. Este paquete cambia la
fuente default a Adobe Palatino y usa las fuentes mathpazo para las matemáticas (no todo, pero
bastante). Si faltan algunos símbolos, se pueden reeditar con la extensión TeXtext. El documento
fue generado con el preámbulo
\documentclass[xcolor=pdftex, x11names,table]{book}
\usepackage{amsmath,amssymb,amsfonts,latexsym,stmaryrd}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{mathpazo}
\begin{document}
....

Figura 9.4. PDF original con fuentes MathPazo.ttf

Figura 9.5. PDF en Inkscape.

Utilizando otros paquetes de fuentes los resultados más bien pueden ser desalentadores. En todo

143

9.5 Editar un PDF con Inkscape

caso, una vez que hemos decidido levantar el PDF con Inkscape, es conveniente dividirlo en páginas individuales y editar y guardar cada página individual, luego se vuelven a unir; todo esto se
hace con Pdfsam.

Otra solución: Convertir a ’contornos’ (outlines).
Otra opción que obvia el problema de las fuentes es convertir el texto en contornos (las fuentes
pasan a ser objetos vectoriales (con borde y relleno) y conservan una buena calidad). Una manera
de hacer esto es convertir nuestro archivo .pdf (si tiene un DVI puede convertirlo a .pdf desde el
editor) y convertirlo al formato .svg y así lo podemos editar con Inkscape sin ningún problema.
En general, el archivo resultante es de muy buena calidad y de tamaño similar al PDF original.

144

La conversión es fácil en Linux y también es fácil en Windows (XP, 7 y 8).

Diseño Editorial

Figura 9.6. Fuentes de un PDF convertidas en ’contornos’, abierto con Inkscape

Para hacer esto, seguimos los siguientes pasos.

Ubuntu

1 En Ubuntu solo necesita instalar el programa pdf2svg (posiblemente lo tenga instalado ya),

luego desde una terminal se debe ir a la carpeta donde está el archivo ORIGEN.tex y aplicar
la instrucción (la parte %d es necesaria),

pdf2svg ORIGEN.pdf SALIDA %d.svg all

Después de un momento aparecen cada una de las páginas SALIDA1.svg, SALIDA2.svg,
etc. en formato .svg y ya las puede editar con Inkscape
 Para convertir una sola página, digamos la página n, la instrucción sería,
pdf2svg ORIGEN.pdf SALIDA.svg n

9.5 Editar un PDF con Inkscape

145
Figura 9.7

También puede usar el comando
gs -o SALIDA.pdf -dNoOutputFonts -sDEVICE=pdfwrite ORIGEN.pdf

y luego editarlo con Inkscape (las o la página seleccionada).

Windows

2

En Windows (XP, 7, 8 o 10) necesita instalar algunos programas (...pero son programas que
de por sí necesita para instalar Inkscape y usar la extensión textex). Deberá instalar
(a) Ghostscript

(b) GhostView

(c) Pstoedit

(d) ImageMagick

Todos estos archivos los puede obtener (junto con Inkscape para Windows y lo necesario
para la extensión texttex) en un comprimido, en la página del profesor James M. Davis
de Cornell University.
Una vez instalados los programas, abre el archivo .pdf con gsview. En este programa
selecciona Edit - Convert to Vector Format y luego, en la ventana que emerge (PS to
Edit), selecciona el formato svg y habilita las casillas Draw text... y Map to..., tal y
como se muestra en la figura que sigue. Luego presiona OK y, en la siguiente ventana, le
pone el nombre al archivo de salida.

Figura 9.8

9.5 Editar un PDF con Inkscape

En las figuras que siguen se muestra un PDF original de prueba y el archivo SVG, tal y como se
ve en Inkscape.

146

Figura 9.10. Archivo SVG en Inkscape.

En general, puede convertir todo el documento en un documento PDF pero con sus fuentes como
“contornos” (outlines), usando Ghostscript 9.15 o una versión más reciente. Luego puede abrir
una o varias páginas con Inkscape y editar. Para hacer esto puede usar la siguiente instrucción en
la terminal
gs -o

SALIDA.pdf -dNoOutputFonts -sDEVICE=pdfwrite

ORIGEN.pdf

Diseño Editorial

Figura 9.9. PDF original

9.5 Editar un PDF con Inkscape

147

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

10

148
Entornos y cajas

\begin{nombre_entorno}[opciones]
...texto...
\end{nombre_entorno}

Podemos definir un entorno estándar, por ejemplo con el paquete amsthm, o podemos implementar
entornos más elaborados agregando cajas a estos entornos. Por ejemplo, un entorno para teoremas
se vería así,
Teorema 10.1 (Cúbicas − Raíces reales).

La ecuación
x3 − bx + a = 0
tiene raíces reales si

a2 b3
−
≥ 0.
4 27

Las cajas de los ejemplos que usamos en este libro fueron hechas con los paquetes Tikz y tcolorbox.
En realidad el segundo paquete usa el primero, pero se requieren varias librerías adicionales. Este
capítulo ofrece una pequeña introducción a los paquetes TikZ, tcolorbox y xparse. El objetivo
es implementar entornos y cajas con diseño para estos entornos.
Nota: Para este capítulo necesitamos la distribución TeX completa y actualizada al 2014. Esto es

necesario porque las facetas que vamos a utilizar no están presentes en la versiones anteriores de
estos paquetes ni sus librerías.

10.1

Entornos simples
Para definir un entorno estándar para teoremas, definiciones, ejemplos, etc., podemos usar el paquete amsmath. Para definir un entorno usamos el comando

Entornos y cajas

Un entorno es un ambiente del tipo

10.1 Entornos simples

\newtheorem{nombre_entorno}{Encabezado}[opcional].

Solo debemos poner en el preámbulo
\usepackage{amsmath}
\newtheorem{unadefi}{Definición}[chapter] % Formato 3.1, 3.2
\newtheorem{unteo}{Teorema}[section] % Formato 3.1.1, 3.1.2
\newtheorem{unejem}{{Ejemplo}}[section]

Ya hora podemos usar los entornos,
El código:
\begin{unadefi}
Sean $a,b$ enteros con $b \not = 0.$ Decimos que $b$ divide a $a$
si existe un entero $c$ tal que $a=bc.$
\end{unadefi}
\begin{unteo}
Si $a,b \es \Z,\;$ y si $a|b\;$ y $\;b|a$ entonces $\;|a|=|b|$
\end{unteo}

produce:

Definición 10.1. Sean a, b enteros con b 6= 0. Decimos que b divide a a si existe un entero c tal
que a = bc. Si b divide a a escribimos b|a
Teorema 10.1.1. Si a, b ∈ Z, y si a|b y b|a entonces |a| = |b|

Personalización.
Podemos hacer algunos ajustes a los entornos anteriores con el comando newtheoremstyle. Hay
varias opciones (dejar vacías las llavaes indica que usamos el valor por defecto del entorno).
\usepackage{amsthm}
\newtheoremstyle{estiloB} % nombre del estilo
{} % espacio por encima del teorema.
{} % espacio por debajo del teorema.
{} % fuente para el cuerpo del entorno
{} % sangría
{.} % puntuacion entre la cabeza y cuerpo
{} % espacio después de encabezado
{} % Especifique manualmente el encabezado

Por ejemplo, podemos personalizar entornos para definición y teorema: Color azul en negrita para
el encabezado y numeración en rojo y dejar una línea antes del cuerpo. Algunas cosas las podemos controlar manualmente con la última opción del comando \newtheoremstyle. Aquí podemos
usar los comandos \thmnumber y \thmnote para controlar el color, fuente, etc., del contador del

149

10.1 Entornos simples

teorema y de la descripción. La numeración la podemos poner en rojo agregando \thmnumber
{\color{rojoF} #2}. El color de la descripción del teorema (si hubiera) la controlamos con
\thmnote. Por supuesto, podemos definir un estilo para cada entorno.

Ejemplo 10.1

150

(Entornos con el paquete amsthm)

El código:

Descargar archivo

\documentclass{book}
\usepackage{amsthm,amsmath,amssymb,amsfonts,xcolor}
\definecolor{azulF}{rgb}{.0,.0,.3} % Azul
\definecolor{rojoF}{RGB}{212,0,0} % Rojo
\newcommand{\Z}{\mathbb{Z}} % \Z
% Estilo B
\newtheoremstyle{estiloB}{}{}{}{} %
{\color{azulF}\bfseries} % fuente del encabezado
{.}

% puntuación

{\newline} % espacio después del encabezado
{\thmname{#1}~\thmnumber{\color{rojoF} #2}\thmnote{~\color{azulF}(#3)}}
% %-\theoremstyle{estiloB}
\newtheorem{unadefiB}{Definición}[chapter]
\newtheorem{unteoB}{Teorema}[section]
% %-% Estilo C
\newtheoremstyle{estiloC}{}{}{}{} %
{\color{rojoF}\bfseries} %
{.}{\newline}{} %
%-\swapnumbers % Intercambiar número-teorema
\theoremstyle{estiloC}
\newtheorem{unteoC}{Teorema}
%-\begin{document}
\begin{unadefiB}[Divisibilidad]\label{divisibilidad}
Sean $a,b$ enteros con $b \not = 0.$ Decimos que $b$ divide a $a$
si existe un entero $c$ tal que $a=bc.$
\end{unadefiB}
\begin{unteoB}
Si $a,b \in \Z,\;$ y si $a|b\;$ y $\;b|a$ entonces $\;|a|=|b|$
\end{unteoB}
\begin{unteoC}

Entornos y cajas

\usepackage[utf8]{inputenc}

10.2 Entornos con xparse

Si $a,b \in \Z,\;$ y si $a|b\;$ y $\;b|a$ entonces $\;|a|=|b|$
\end{unteoC}
\end{document}

151

produce:

Definición 10.1 (Divisibilidad).
Sean a, b enteros con b 6= 0. Decimos que b divide a a si existe un entero c tal que a = bc.
Teorema 10.1.1.
Si a, b ∈ Z, y si a|b y b|a entonces |a| = |b|
1 Teorema.
Si a, b ∈ Z, y si a|b y b|a entonces |a| = |b|

10.2

Entornos con xparse
Como ya dijimos, un entorno es un ambiente del tipo
\begin{entorno}[opciones]
código
\end{entorno}

Para generar un entorno con cajas, como el que sigue
Teorema 10.2 (Integral Gaussiana)

Z ∞

2

e−x dx =

√
π

−∞

debemos definir un nuevo entorno, en este caso un entorno llamado teorema, y escribir
\begin{teorema}[ (Integral Gaussiana)]
$$\int_{-\infty}^\infty \! e^{-x^2}\,dx
\;=\; \sqrt{\pi}$$
\end{teorema}

La definición de un nuevo entorno se puede hacer mediante el comando \newenvironment. Pero
en general es mejor usar el paquete xparse. Para generar el entorno “teorema” que vimos antes,
se requiere una combinación de los paquetes xparse, tcolorbox y TikZ.
Empecemos usando el paquete xparse. Para usar este paquete, agregamos al preámbulo

10.2 Entornos con xparse

\usepackage{xparse}

Este paquete proporciona una interfaz de usuario fácil para especificar argumentos opcionales
para entornos (en varios órdenes) incluyendo comandos y macros. Para ello se define el entorno utilizando \NewDocumentEnvironment, mientras que para macros regulares se utiliza \
NewDocumentCommand. El primero tiene la siguiente sintaxis:

152

\NewDocumentEnvironment{nombre}{argumentos}{Inicio entorno}{Fin del entorno}

Los “argumentos” son una secuencia de especificaciones para el entorno que pueden entremezclar
argumentos opcionales y obligatorios, según sea necesario, por ejemplo tenemos
un argumento obligatorio (el argumento va entre { })

+m:
o:

un argumento obligatorio que acepta párrafos (el argumento va entre { })

un argumento opcional (el argumento va entre [])

O{default}:

un argumento opcional similar a o, pero devuelve default si no se da el
argumento (el argumento va entre [])

Ejemplo 10.2

(Implementando un entorno)

Para definir un entorno para una “definición” con contadores en rojo, una descripción
y contenido como argumentos opcionales: usaríamos O{}O{}, de esta manera, si no hay
argumento, el default es “nada”. Además algo de espacio antes y después del entorno,
ponemos en el preámbulo
% En el preámbulo
\usepackage{xparse,pstricks}
\newcounter{midefi}[chapter] % Contador 1.1, 1.2,... en rojo
\renewcommand{\themidefi}{{\red\thechapter.\arabic{midefi}}}
\NewDocumentEnvironment{midefinicion}{O{}O{}}{ %2 argumentos opcionales
%Inicio del entorno
\bigskip
\begin{minipage}{\textwidth}
% Definición - número - descripción (opcional)
\textbf{Definición \;\themidefi \;{\small\sffamily #1}}
}{ % Parámetro #2: Contenido del entorno
#2
\end{minipage}
\bigskip
}

Luego podemos usar el entorno en el cuerpo del documento, el código:

Entornos y cajas

m:

10.2 Entornos con xparse

\documentclass{book}
\usepackage{amsthm,amsmath,amssymb,amsfonts,pstricks}
\usepackage[latin1]{inputenc}
\newcommand{\Z}{\mathbb{Z}}
\usepackage{xparse}
\newcounter{midefi}[chapter] % Contador 1.1, 1.2,... en rojo
\renewcommand{\themidefi}{{\red\thechapter.\arabic{midefi}}}
\NewDocumentEnvironment{midefinicion}{O{}O{}}{ %2 argumentos opcionales
%Inicio del entorno
\bigskip
\begin{minipage}{\textwidth}
% Definición - número - descripción (opcional)
\textbf{Definición \;\themidefi \;{\small\sffamily #1}}
}{ % Parámetro #2: Contenido del entorno
#2
\end{minipage}
\bigskip
}%
\begin{document}
\begin{midefinicion}[(Principio de inducción).]
Si $P$ es una fórmula en la artimética de Peano, entonces
$$(P(0) \land (\forall n)(P(n) \to P(n+1)) \to (\forall n)(P(n))$$
En particular, $P$ puede ser la fórmula $(m < n)\to Q(m)$ y a este
caso
algunas personas le llaman "Inducción fuerte".
\end{midefinicion}
\end{document}

produce:

Definición 10.0 (Principio de inducción).
Si P es una fórmula en la artimética de Peano, entonces
(P(0) ∧ (∀n)(P(n) → P(n + 1)) → (∀n)(P(n))
En particular, P puede ser la fórmula (m < n) → Q(m) y a este caso algunas personas le
llaman “Inducción fuerte”.

Comandos con opciones con xparse
Podemos usar \NewDocumentCommand para crear comandos con (o sin) opciones de una manera
natural. La sintaxis es

153

10.3 Crear figuras nativas con TikZ

\NewDocumentCommand{\nombre}{}{código} %Sin parámetros
\NewDocumentCommand{\nombre}{parámetros}{código}

Por ejemplo, veamos el código de un comando para simplificar el ambiente minipage,

154

% %- En el preámbulo ---------------------------------------------------\usepackage{xparse}
\NewDocumentCommand{\mimpage}{ O{0.45} +m O{0.45} +m }{ %
\begin{minipage}{#1\textwidth}
#2
\hfill \begin{minipage}{#3\textwidth}
#4
\end{minipage} %
}

Ahora ya podemos usar el entorno como\\
\mimpage{...texto 1...}{...texto... }
\mimpage[0.3]{...texto 1...}{...texto...}
\mimpage{...texto 1...}[0.4]{...texto... }
\mimpage[0.3]{E...texto 1...}[0.4]{...texto... }

10.3

Entornos y cajas

\end{minipage} %

Crear figuras nativas con TikZ
Como decíamos antes, las cajas para los entornos las haremos con los paquetes xparse, TikZ y
tcolorbox. El orden lógico requiere seguir con el paquete TikZ.
El ambiente picture de LaTeX es un ambiente especial para insertar figuras implementados con
comandos relativamente simples. Las figuras generadas en el ambiente picture de LaTeX quedan insertadas de manera automática en el documento. Programar los gráficos permite tener un
control absoluto y preciso sobre todos los detalles, realizar gráficos sencillos es también muy rápido. Por otra parte, hay nuevo lenguaje que aprender, no tiene una interfaz gráfica y el código (por
más sencillo que sea) no permite ver inmediatamente como se verá finalmente el gráfico. Existen
varios editores que permiten hacer figuras y generan el código LaTeX, listo para introducirlo en
nuestro documento.
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

10.3 Crear figuras nativas con TikZ

Paquete Tikz
Este es un paquete para crear gráficos para documentos LATEX usando un ambiente ‘tikzpicture’
y comandos especiales para dibujar líneas, curvas, rectángulos, etc. Muy adecuado para trabajar
con presentaciones Beamer.

155

La documentacón la puede ver en
http://mirrors.ucr.ac.cr/CTAN/graphics/pgf/base/doc/pgfmanual.pdf

Si desea hacer un documento PDF, tenga en cuenta que los gráficos permanecen si compila con
PDFLaTeX (se puede usar con Beamer) no así con dvi,→pdf.
Para usar el paquete se debe poner en el preámbulo
\usepackage{tikz}

La versatilidad de este paquete le permite crear gráficos hasta en el mismo texto usando el comando
\tikz. Por ejemplo, podemos crear un círculo anaranjado como este:
con el código
...como este:\tikz \fill[orange] (1ex,1ex) circle (1ex); con...

Aquí el “;” es necesario.
Para crear figuras complejas podemos usar el ambiente “tikzpicture” . Este ambiente crea una
caja rectangular invisible con una coordenada inferior izquierda ajustada al dibujo. Por defecto la
unidad de medida es el centímetro.
\begin{tikzpicture}[opciones]
comandos tikz...
\end{tikzpicture}

10.3.1

Comando draw
El comando draw[opciones] se usa para dibujar segmentos usando coordenadas.
El código:

produce:

\begin{tikzpicture}
\draw (0,0) -- (2,2); % segmento
\end{tikzpicture}

Entre las opciones que tenemos para draw están: Grosor con [line width=xcm] o con thin,
thick ultra tick color, punteados con [dashed] o [doted]
El código:

produce:

10.3 Crear figuras nativas con TikZ

\begin{tikzpicture} % ejes
\draw[thin, blue] (0,2) -- (0,0) -- (2,0);
% segmento
\draw[line width =0.051cm, red, dashed]

156

(-1,-1) -- (1.5,1.5);
\end{tikzpicture}

Representación gráfica de una función con TikZ
Para realizar el gráfico de una función usamos el comando plot. La variable x se escribe en el
código como \x y el dominio [a, b] se especifica con la opción domain=a:b del comando draw.
Para poner etiquetas se usa node[].

\draw[domain = -2:2] plot (\x,{3*\x+1})node[right] {$y = 3x+1$};

Ejemplo 10.3

El código:
\begin{tikzpicture}[scale=0.8] % Escalamiento de la figura 80 %
\draw (-1,0) -- (4,0) node[right] {$x$}; % Ejes
\draw (0,-1) -- (0, 2) node[left] {$y$};
% Dominio: domain = a:b
\draw[smooth, domain = 0:2, color=red] plot (\x,\x)node[right] {$y = x$
};
%\x r indica que x se mide en radianes
\draw[smooth, domain = -2:2, color=blue] plot (\x,{sin(2*\x r)+1})
node[right] {$y = \sin(2*x)+1$};
\draw[smooth, domain = -1:1, color=black] plot (\x,{exp(\x)}) node[right
] {$y = e^x$};
\end{tikzpicture}

produce:

y

y = ex
y=x

y = sin(2 ∗xx) + 1

Rectángulos y círculos con draw
Podemos usar draw y sus opciones para dibujar rectángulos y círculos.

Entornos y cajas

Por ejemplo, para realizar el gráfico de la función y = 3x + 1 con x ∈ [−2, 2]; se debería poner en
el código

10.3 Crear figuras nativas con TikZ

produce:

El código:
\begin{tikzpicture} % ejes
\draw[thin] (0,2) -- (0,0) -- (2,0);
% rectángulo borde negro, relleno rojo, esquina (0,0)

157

\draw[black, fill=red] (0,0) rectangle(1,1);
% círculo verde, centro =(1.5,.5) y radio 0.5cm
\draw[green, fill=green] (1.5,0.5) circle [radius
=0.5];
\end{tikzpicture}

10.3.2

Nodos
Para agregar texto (u otros objetos) a las figuras TikZ usamos nodos. Los nodos usualmente son
rectángulos o círculos (u otra figura) con algo en su interior. Existen variadas opciones para su
posicionamiento. En general, esperamos algo como
node[opciones]...{texto}

Por ejemplo, el código:
\begin{tikzpicture}[xscale=0.8] % Escalamiento 80 %
% Segmento de 0 a 1
\draw[-][draw=red, thick] (0,0) -- (.5,0);
\draw[-][draw=green, thick] (.5,0) -- (1,0);
% Texto debajo ("below") del segmento
\draw [thick] (0,-.1) node[below]{$a=0$}

-- (0,0.1);

\draw [thick] (0.5,-.1) node[below]{$m=\frac{a+b}{2}$} -- (0.5,0.1);
\draw [thick] (1,-.1) node[below]{$b=1$}

-- (1,0.1);

\end{tikzpicture}

produce:

a=0

m=

a+b
2

b=1

Posicionar nodos usando “anclas”
Cuando posicionamos un nodo en alguna coordenada, el nodo es centrado en esta coordenada por defecto, es decir tiene “anclaje” en su centro. Hay otras maneras de posicionar los nodos. Por ejemplo, usando
“anclas” (“anchors”). Cuando declaramos la opción anchor= punto
cardinal, el punto de anclaje (la coordenada) se mueve al punto cardinal.
Por ejemplo, podemos poner un nodo en el punto (1,1) y otro nodo con un texto en este mismo
punto pero anclado en el sur, es decir, la coordenada (1,1) quedará en el sur de la caja del nodo.

10.3 Crear figuras nativas con TikZ

El código:

\tikzset{ % Lista de opciones de nodo
% opción draw = color borde
% opacity = porcentaje transparencia

158

% opción fill = color relleno
opciones/.style={ %
draw= red!50!black!50,
top color = white,
bottom color = red!50!black!20,
fill opacity = 0.6,

\begin{center}
\begin{tikzpicture}
\draw[draw= yellow!30,fill=yellow!30] (0,0) rectangle(2,2);
\node[draw=black,rectangle, anchor=center] at (1,1) {$\bullet$};
\node[opciones, anchor=south east] at (1,1) {ancla en el sur-este};
\node[opciones, anchor=north west] at (1,1) {ancla en el norte-oeste};
\end{tikzpicture}
\captionof{figure}{Nodos rectangular con anclaje en el sureste y noroeste}
\end{center}

produce:

ancla en el sur-este

•

ancla en el norte-oeste

Figura 10.1. Nodos rectangular con anclaje en el sureste y noroeste

También podemos anclar un nodo en alguna posición respecto a la página actual,

Usando librerías
Hay librerías TikZ especiales para hacer muchas cosas. Más adelante vamos a usar algunas de
estas librerías. Por ahora, vamos a usar una par de librerías de ejemplo.

Ejemplo 10.4

(Usando las librerías “matrix” y “backgrounds”)

Vamos a usar las librerías matriz y backgrounds para colorear submatrices y entradas en
una matriz M.
El código:

Entornos y cajas

rectangle, font=\small\bf\sffamily}
}

10.3 Crear figuras nativas con TikZ

\documentclass{book}
\usepackage{amsthm,amsmath,amssymb,amsfonts,pstricks,xparse}
\usepackage[latin1]{inputenc}
\newcommand{\Z}{\mathbb{Z}}

159

\usepackage{tikz}
\usetikzlibrary{matrix,backgrounds}
\pgfdeclarelayer{wfondo}
\pgfsetlayers{wfondo,background,main}
\NewDocumentCommand{\iluminar}{O{blue!40} m m}{ % rectángulo
\draw[#1, fill=#1] (#2.north west) rectangle(#3.south east);}

\begin{document}
\begin{center}
\raisebox{1cm}{$M\;=\;$}
\begin{tikzpicture}
\matrix (m)[matrix of math nodes,left delimiter=(,right delimiter=)]
{
1 & 2 & -1 & 2\\
0 & 1 & 3 & 2\\
0 & 0 & 1 & 0\\
0 & 3 & 0 & 5\\
}; % punto y coma!
% Iluminar de submatriz y elementos
\begin{pgfonlayer}{wfondo}
% Iluminar submatriz desde m_{2,2} hasta m_{4,4}
\iluminar[green!30]{m-2-2}{m-4-4}
%Iluminar elementos de una lista
\foreach \element in {m-4-1,m-3-2,m-2-3,m-1-4}{
\iluminar[violet!30]{\element}{\element} }
% Ilumnar elemento m_{1,1}
\iluminar[gray!30]{m-1-1}{m-1-1}
\end{pgfonlayer}
,\end{tikzpicture}
\end{center}
\end{document}

produce:





1 2 −1 2


 0 1 3 2 


M = 

0
0
1
0


0 3 0 5

10.3 Crear figuras nativas con TikZ

10.3.3

Nodos y flechas.
A veces es buena idea usar flechas para relacionar objetos en una página. Usando el paquete tikz
y la librería arrows podemos crear un marcador para llevar una flecha de un nodo con un objeto,
identificado con algún nombre, hasta otro nodo con otro objeto, identificado con otro nombre. El
poceso puede involucrar varios nodos, por supuesto. El comando que creamos es \marcar. Tiene tres argumenos, \marcar{color}{identificador}{objeto}. Este comando marca objetos,
luego con un entorno tikzpicture creamos la flecha, con ángulo de salida outer y ángulo de
llegada in

160

Por ejemplo: ax2 + bx + c = a(x − x1 )(x − x2 ), se obtiene con el código (completo)

\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{arrows}
%\marcar{color}{identificador}{objeto}
\newcommand{\marcar}[3]{ %
\tikz[overlay,remember picture,baseline=-2pt] \node[circle,#1,draw,
text=black, inner sep=1pt] (#2) { #3};}
\begin{document}
Por ejemplo:\;\;\;
\marcar{red}{nodo1}{$a$} $x^2 + bx + c \;=\;$
\marcar{red}{nodo2}{$a$} $(x-x_1)(x-x_2)$.
%--Flechas--------------------------------------------\begin{tikzpicture}[overlay, remember picture]
%

color

ángulos

\draw[arrows=->,red] (nodo1) to [out=50, in=90](nodo2);
\end{tikzpicture}
%------------------------------------------------------\end{document}

Ejemplo 10.5
En este ejemplo vamos a “pintar” entradas i j de una matriz con un comando \pintar,
y también vamos a agregar nodos y flechas para comentar alguna entrada de la matriz
marcandolas con el comando \tikznode. Este ejemplo requiere usar \usetikzlibrary{
babel} para eliminar conflictos con el paquete babel. Un ejemplo más detallado lo puede
encontrar en [29]

Entornos y cajas

\documentclass{article}

10.3 Crear figuras nativas con TikZ



a11
a21
..
.



A=


a12
a22
..
.

am1 am2

a13 · · · a1n
a23 · · · a2n
..
..
. ···
.
am3 · · · amn



Fila 1, Columna 1





Fila m, Columna n

El código completo es
\documentclass{article}
\usepackage{tikz,amsmath,colortbl}
% % -----------------------------------\usetikzlibrary{babel} %--Necesario para evitar conflicos con babel-%\pintar
\newcommand\pintar{\cellcolor{clight2}}
% marcador \tikznode
\definecolor{clight2}{RGB}{212, 237, 244} %
\newcommand\tikznode[3][] %
{\tikz[remember picture,baseline=(#2.base)]
\node[minimum size=0pt,inner sep=0pt,#1](#2){#3}; %
}
\tikzset{>=stealth}
% % -----------------------------------\begin{document}
\[ A=\left[
\begin{array}{rrrrr}
\pintar \tikznode{pp1}{$a_{11}$} & a_{12} & a_{13} & \cdots & a_{1n} \\
a_{21} & a_{22} & a_{23} & \cdots & a_{2n} \\
\vdots & \vdots & \vdots & \cdots & \vdots \\
a_{m1} & a_{m2} & a_{m3} & \cdots & \pintar \tikznode{pc1}{$a_{mn}$}
\end{array}
\right] \]

\begin{tikzpicture}[remember picture,overlay,cyan,rounded corners]
\draw[<-, shorten < =1pt] (pp1)
-- +(0.6,0) % Línea a la derecha
|- +(6,0.4) % Segmento curvo para la flecha
coordinate (pp) % Recordar posición
node[right] {Fila $1$, Columna $1$};
\draw[<-,shorten <= 2pt] (pc1)
-- +(0,-0.5) % Línea abajo
coordinate (pc1') % Recordar posición
-- (pc1'-|pp) %

161

10.4 Cajas con el paquete tcolorbox

node[right] {Fila $m$, Columna $n$};
\end{tikzpicture}
\end{document}

162
10.4

Cajas con el paquete tcolorbox

Para usar este paquete debemos tener actualizada la distribución TeX. Vamos a usar la versión 3.05
de mayo del 2014.

También puede instalar la última versión del paquete manualmente: Descargar el comprimido .zip en
http://www.ctan.org/pkg/tcolorbox

Con MikTeX, descomprime y pega el contenido de este comprimido en “.../tex/latex/”
de tal manera que quede “C:/Program Files/ ... /tex/latex/tcolorbox”.
En Ubuntu descomprime y pega el contenido de este comprimido en “.../tex/latex/” de
tal manera que quede “/usr/share/doc/texlive-doc/latex/tcolorbox”. Esto se podría hacer como superusuario desde una terminal.

Para cargar el paquete (y eventualmente algunas librerías que se usan en este libro) se agrega en el
preámbulo
\usepackage{tikz,tkz-tab} %
\usetikzlibrary{matrix,arrows, positioning,shadows,shadings,backgrounds,
calc, shapes, tikzmark}
\usepackage{tcolorbox, empheq} %
\tcbuselibrary{skins,breakable,listings,theorems}

Cajas básicas con “tcolorbox”
Una caja básica usa el ambiente tcolorbox
\begin{tcolorbox}[opciones]
código...
\end{tcolorbox}

Entornos y cajas

Con el paquete tcolorbox podemos crear entornos con cajas. Una de las facetas más útiles es la
posibilidad de controlar automáticamente la división de las cajas cuando se pasa de una página a
otra o cuando la caja se extiende entre varias páginas.

10.4 Cajas con el paquete tcolorbox

Por ejemplo, el código:

\begin{tcolorbox}[colback=gray!5!white, % Color del fondo
colframe=black!75!white, % Color borde
title=Identidades en teoría de números]
Identidades:
\begin{minipage}{7cm}
\begin{enumerate}[font=\sffamily\bfseries,label=I.\arabic*), series=Is]
\item $11^2=121$
\item $(1+1)^2=1+2+1$
\item $12^2=144$
\item $(1+2)^2=1+4+4$
\end{enumerate}
\end{minipage} \hfill \begin{minipage}{7cm}
\begin{enumerate}[label=I.\arabic*),resume*=Is]
\item $3^3 + 4^4 + 3^3 + 5^5 = 3435$
\item $2^4 = 4^2$
\item $2592=2^59^2$
\item $10^2+11^2+12^2=13^2+14^2$
\end{enumerate}
\end{minipage}
\end{tcolorbox} %

produce:

Identidades en teoría de números
Identidades:
I.1) 112 = 121

I.5) 33 + 44 + 33 + 55 = 3435

I.2) (1 + 1)2 = 1 + 2 + 1

I.6) 24 = 42

I.3) 122 = 144

I.7) 2592 = 25 92

I.4) (1 + 2)2 = 1 + 4 + 4

I.8) 102 + 112 + 122 = 132 + 142

Opciones para títulos de caja
El paquete tcolorbox describe en su documentación, entre cientos de cosas, varias opciones para
implementar el título de una caja (sección 7.2 de la documentación), Los dos ejemplos que siguen
son “entornos” y deben usar el comando \newtcolorbox, por eso el código está al final de esta
sección.

163

10.4 Cajas con el paquete tcolorbox

Identidades
I.5) 33 + 44 + 33 + 55 = 3435

I.2) (1 + 1)2 = 1 + 2 + 1

I.6) 24 = 42

I.3) 122 = 144

I.7) 2592 = 25 92

I.4) (1 + 2)2 = 1 + 4 + 4

I.8) 102 + 112 + 122 = 132 + 142

I.1) 112 = 121

I.5) 33 + 44 + 33 + 55 = 3435

I.2) (1 + 1)2 = 1 + 2 + 1

I.6) 24 = 42

I.3) 122 = 144

I.7) 2592 = 25 92

I.4) (1 + 2)2 = 1 + 4 + 4

I.8) 102 + 112 + 122 = 132 + 142
Identidades

Cajas con “tcbox”
crea una caja ajustada al ancho de su contenido. Se puede usar la mayoría de las opciones
de las cajas tcolorbox. La sintaxis es
tcbox

\tcbox[opciones]{ contenido }

Las opciones se pueden declarar, en el preámbulo
o antes del cógigo, usando
\tcbset{NombreOpciones/.style={ op1,op2,...,opn}}

de tal manera que en el código solo usemos
\tcbox[NombreOpciones]{ contenido }

y aún así, podemos agregar más opciones usando comas.

Ejemplo 10.6

(Cajas “tcbox” en el texto)

se pue usar en texto corriente, pero hay que ajustar la caja con varias opciones: La
opción |tcbox raise base| centra la caja con el texto, la opción nobeforeafter elimina el
espacio antes y después de la caja mientras que la opción extrude by=x expande la caja hacia arriba y hacia abajo o la contrae si x < 0; en este caso, la usamos para “adelgazar” la caja.
\tcbox

El código:

164

Entornos y cajas

I.1) 112 = 121

10.4 Cajas con el paquete tcolorbox

El discriminante del polinomio $ax^2+bx+c\;$ es
\tcbox[tcbox raise base, nobeforeafter,
extrude by=-2mm]{\( \Delta = b^2 - 4ac \)}\\

165

produce:

El discriminante del polinomio

ax2 + bx + c

es

∆=

b2 − 4ac

Por supuesto, en vez de estar escribiendo estas opciones, se pueden declarar antes (en el
preámbulo)
\tcbset{opteqA/.style={ %
tcbox

raise base,

nobeforeafter,
extrude by=-2mm,
colback=red!50!black!20,
colframe=red!50!black!20}}

De esta manera escribimos \tcbox[opteqA]{\( \Delta = b^2 - 4ac \)} para obtener
∆ = b2 − 4ac

Ejemplo 10.7

(Cajas “tcboxmath” para ecuaciones)

se pue usar en ambientes de ecuaciones para resaltar partes de una ecuación.
Cómo antes, primero indicamos las opciones.
\tcboxmath

El código:
%\newcommand{\dpr}[2]{\dfrac{\partial #1}{\partial #2}}
\tcbset{opteqB/.style={ % opteqB = Opciones habilitadas
nobeforeafter,
extrude by=-2mm,
colback=red!50!black!20,
colframe=red!50!black!20}}
\begin{eqnarray} %
z_t & = & \tcboxmath[opteqB]{\dpr{z}{x}}x'(t)
+\tcboxmath[opteqB]{\dpr{z}{y}}y'(t)
\end{eqnarray} %
\tcbset{opteqC/.style={ % opteqC = Opciones habilitadas
skin=beamer,
extrude by=-2mm,
nobeforeafter,
colback=blue!60!green!10!white,

10.4 Cajas con el paquete tcolorbox

colframe=LightBlue4!50!black}}
\begin{eqnarray} %
z_x & = & \tcboxmath[opteqC]{\dpr{z}{u}}u_x
+\tcboxmath[opteqC]{\dpr{z}{v}}v_x

166

\end{eqnarray} %

produce:

∂z
∂x

x0 (t) +

zx =

∂z
∂u

ux +

Ejemplo 10.8

∂z
∂y

∂z
∂v

y0 (t)

(10.1)

(10.2)

vx

(Cajas para arreglos)

Aquí tenemos dos opciones: Usar directamente \tcolorbox y crear una caja que contenga
el arreglo o, usar el paquete empheq y hacer una caja más ajustada.
Primera opción: Usar \tcolorbox. El código:
\tcbset{opteqC/.style={skin=beamer,colback=red!10!white}}
\begin{tcolorbox}[opteqC]
\begin{eqnarray}
A &=& \dfrac{\partial u}{\partial x} + \lambda a \\[0.5cm]
B &=& \dfrac{\partial u}{\partial z}
+ \dfrac{\partial^2 u}{\partial x} b + \gamma \\[0.5cm]
CD &=&\dfrac{\partial f}{\partial x} c
+ \dfrac{\partial f}{\partial z}
E &=& d\Gamma(x) d + \Xi(y)
\end{eqnarray}
\end{tcolorbox}

produce:

\\[0.5cm]

Entornos y cajas

=

zt

10.4 Cajas con el paquete tcolorbox

A =

∂u
+ λa
∂x

(10.3)

B =

∂u ∂2 u
+
b+γ
∂z
∂x

(10.4)

∂f
∂f
c+
∂x
∂z

(10.5)

CD =

E = dΓ(x)d + Ξ(y)

(10.6)

Ahora usamos la segunda opción: El paquete empheq. Lo que hacemos es declarar la
características de una caja y el entorno empheq acepta como opción esta caja.
Para declarar la nueva caja usamos el comando \newtcbox que es una macro (opera como
\newcommad) para definir una (new) caja \tcbox.
El código:
%\usepackage{empheq}
\newtcbox{\cajaD}[1][]{nobeforeafter,math upper,tcbox raise base,
enhanced,frame hidden,boxrule=0pt,
interior style={ top color = white,
bottom color = LightBlue4!50,
middle color=LightBlue4!10}
%fuzzy halo=1pt with green
#1} %
\begin{empheq}[box=\cajaD]{align}
A &= \dfrac{\partial u}{\partial x} + \lambda a \\[0.4cm]
B &= \dfrac{\partial u}{\partial z}
+ \dfrac{\partial^2 u}{\partial x} b
C &=\dfrac{\partial f}{\partial x} c
E &= d\Gamma(x) d + \Xi(y)
\end{empheq}

produce:

\\[0.4cm]
\\[0.4cm]

167

10.5 Capas (overlays)

A=

∂u
+ λa
∂x

(10.7)

B=

∂u ∂2 u
+
b
∂z
∂x

(10.8)

C=

∂f
c
∂x

(10.9)

E = dΓ(x)d + Ξ(y)

(10.10)

Capas (overlays)
Cuando hacemos una caja con el ambiente tcolorbox, es conveniente agregar capas (overlays).
Las capas contienen figuras y/o gráficos con código TikZ en nuestro caso, para agregar nodos y
usar el comando draw.
En presencia de capas, el código se ejecuta después de que el marco y el interior de la caja se
dibujan y antes de dibujar el texto del contenido.

Capas sin quiebre.
Si las cajas no tiene quiebres de página, la sintaxis sería algo como
% Definición de estilo "cajaE"
\tcbset{cajaE/.style={ opt1,opt2,...,optn,

Entornos y cajas

10.5

168

overlay = { ...código Tikz... }
}
}
\begin{tcolorbox}[cajaE]
contenido de la caja
\end{tcolorbox}

Capas con quiebre.
Existe la opción breakable que permite que las cajas se “quiebren” en los cambios de página (de
una página a otra o en varias páginas, para cajas muy grandes). En presencia de esta opción, necesitamos que “el encabezado” de la caja se quede arriba y, en la(s) nueva(s) página(s), aparezca solo
la capa definida para el cuerpo (middle) y en la última página, el diseño de la parte final (last).
También está la opción de decidir qué hacer si la caja no se quiebra y qué hacer si se quiebra, por
eso la opción overlay unbroken = {...}
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

10.5 Capas (overlays)

Si hemos declarado la caja breakable, tenemos las opciones,
.

overlay unbroken = {...}:

.

overlay first = {...}:

.

overlay middle = {...}:

.

overlay last = {...}:

Capa en caso de que no haya quiebre.

Capa “superior” en caso de cambio de página.
Capa “media” en caso de cambio de página.

Capa “final” en caso de cambio de página.

Caja simple con capas y opción “breakable”
La sintaxis para una caja simple con capas y la opción “breakable”, sería algo como
% Definir el estilo cajaE
\tcbset{cajaE/.style={ opt1,opt2,...,optn,
overlay unbroken = { objetos gráficos },
overlay first = {objetos gráficos parte superior},
overlay middle = {objetos gráficos parte media},
overlay last = {objetos gráficos parte final}
}
}
\begin{tcolorbox}[cajaE]
contenido de la caja
\end{tcolorbox}

Caja con capas para entornos, con opción “breakable”
Para crear entornos con capas para ejemplos, listas de ejercicios (que pueden ser cajas muy grandes), teoremas, definiciones, lemas, etc., la sintaxis es algo más detallada, porque hay que tomar
en cuanta los cambios de página,
\newtcolorbox{nombreA}[num][]{ opt1,opt2,...,optn,
overlay unbroken = { objetos gráficos },
overlay first = {objetos gráficos parte superior},
overlay middle = {objetos gráficos parte media},
overlay last = {objetos gráficos parte final}
}%
% Entorno
\NewDocumentEnvironment{entorno}{...}{ %
\begin{nombreA}...
...
}{\end{nombreA}}

Implementación de cajas simples con capas
Para implementar una caja simple, primero definimos, por supuesto, una caja.
El código:

169

10.5 Capas (overlays)

\tcbset{CajaSimple/.style={colback=yellow!2}}
Guía.
\begin{tcolorbox}[CajaSimple]
\begin{enumerate}

170

\item Abra un nuevo archivo en GeoGebra.
\item Oculte los ejes, para esto elija el menú Vista y desmarque
la opción Ejes.
\item Elija la herramienta Polígono y construya el triángulo ABC.
\item Utilice la herramienta Punto Medio o Centro para construir
los puntos D, E y F que corresponden a los puntos medios de
los lados a, b y c en ese orden.
\end{tcolorbox}

produce:

Guía.
1. Abra un nuevo archivo en GeoGebra.
2. Oculte los ejes, para esto elija el menú Vista y desmarque la opción Ejes.
3. Elija la herramienta Polígono y construya el triángulo ABC.
4. Utilice la herramienta Punto Medio o Centro para construir los puntos D, E y F que
corresponden a los puntos medios de los lados a, b y c en ese orden.

Bien, ahora le agregamos capas: Las capas aquí se haremos con comandos TikZ.

Nodo

draw[...]

Nodos

draw[...]
Nodo

Entornos y cajas

\end{enumerate}

10.5 Capas (overlays)

El código sería algo como (la lista numerada se hace con un comando),
\tcbset{CajaconCapas/.style={ opt1,opt2,...,
enhanced, % habilitar código TikZ
breakable,
overlay unbroken = { draw[... ; % borde izquierdo
draw[... ; % borde superior
node[... ; % imagen
node[... ; % texto "Guía"
},
overlay first ={draw[... ; % borde izquierdo
draw[... ; % borde superior
node[... ; % imagen
node[... ; % texto "Guía"
},
overlay middle = {draw[... ; % borde izquierdo },
overlay last={draw[... ; % borde izquierdo}
}}
\begin{tcolorbox}[CajaconCapas]
contenido de la caja
\end{tcolorbox}

La lista enumerada se hace con un comando que usa TikZ. El resto de código lo vamos a poner en
tcbset{...}

El código:
\tcbset{CajaconCapas/.style={ %
colback=yellow!2, % Color de fondo
enlarge top by=1cm, % Espacio arriba (por la imagen)
enhanced,

% Habilitar código TikZ

breakable,

% habilitado el quiebre de caja

boxrule=0pt,

% sin borde (0pt)

top=7mm, % espacio vertical del borde al texto = 7mm
drop fuzzy shadow, % sombra
overlay unbroken = {
% Barra vertical
% xshift = corrimiento horizontal
% yshift = corrimiento vertical
\draw[color=red!80!yellow,line width =3pt]
([xshift=2pt] frame.north west)--([xshift=2pt] frame.south west);
% Barra horizontal
\draw[color=red!80!yellow,line width =1pt]
( frame.north west)--(frame.north east);
% Caja de imagen
\node[rectangle] at ([xshift=1cm,yshift=0.45cm]frame.north west)

171

10.5 Capas (overlays)

{\includegraphics[scale=0.06]{imagesInkscape/caracol}};
% Caja de descripción
% minimum width = tamaño mínimo del rectángulo
\node[rectangle, draw=DeepSkyBlue1, fill=DeepSkyBlue1,
font=\LARGE\bfseries, text=white, rounded corners=8pt,minimum width =3cm
,

172

inner sep=1mm,anchor=north west] at
([xshift=4cm,yshift=0.3cm]frame.north west){ Guía};
},
overlay first = { % capa superior
% Barra vertical
\draw[color=red!80!yellow,line width =3pt]
% Barra horizontal
\draw[color=red!80!yellow,line width =1pt]
( frame.north west)--(frame.north east);
% Caja de imagen
\node[rectangle] at ([xshift=1cm,yshift=0.45cm]frame.north west)
{\includegraphics[scale=0.06]{imagesInkscape/caracol}};
% Caja de descripción
% minimum width = tamaño mínimo del rectángulo
\node[rectangle, draw=DeepSkyBlue1, fill=DeepSkyBlue1,
font=\LARGE\bfseries, text=white, rounded corners=8pt,minimum width =3cm
,
inner sep=1mm,anchor=north west] at
([xshift=4cm,yshift=0.3cm]frame.north west){ Guía};
}, %First
% Lo que permanece ante cambio de páginas
overlay middle = { % Barra vertical
\draw[color=red!80!yellow,line width =3pt]
([xshift=2pt] frame.north west)--([xshift=2pt] frame.south west);
},
% Permanece la barra vertical
overlay last={\draw[color=red!50!black!50,line width =3pt]
([xshift=3pt] frame.north west)--([xshift=2pt] frame.south west);
}
}}
% Usando el entorno
\begin{tcolorbox}[CajaconCapas]
\begin{enumerate}
\item[\ptocel{1}] Abra un nuevo archivo en GeoGebra.\\
\item[\ptocel{2}] Oculte los ejes, para esto elija el menú ...
\item[\ptocel{3}] Elija la herramienta Polígono y construya ...
\item[\ptocel{4}] Utilice la herramienta Punto Medio o Centro ...
\end{enumerate}
\end{tcolorbox}

Entornos y cajas

([xshift=2pt] frame.north west)--([xshift=2pt] frame.south west);

10.5 Capas (overlays)

produce:

Guía
1

Abra un nuevo archivo en GeoGebra.

2

Oculte los ejes, para esto elija el menú ...

3

Elija la herramienta Polígono y construya ...

4

Utilice la herramienta Punto Medio o Centro ...

Implementación de cajas con capas para entornos
Para crear en un entorno con caja (del tipo tcolorbox) se usa el comando
\newtcolorbox[opciones inicio]{nombre}[num][default]{opciones}

En este ejemplo, vamos a implementar un entorno para teorema (es una situación idéntica hacer un
entorno para definiciones, ejemplos, corolarios, etc.). El entorno tiene nombre Teorema, y tendrá
tres parámetros: Contenido, contador y etiqueta (label). Este entorno se usaría así:
\begin{entorno}
...
\end{entorno}
% Descripción
\begin{entorno}[(Descripción)]
...
\end{entorno}
% Descripción + referencia
\begin{entorno}[(Descripción)][referencia]
...
\end{entorno}
% Referencia
\begin{entorno}[][etiqueta] % etiqueta NO usa "\label"
...
\end{entorno}

La sintaxis que debemos usar, todo en el prámbulo, sería algo como:
% En el {\it preámbulo}\\
\newcounter{tcbteorema}[chapter] % Contador
\renewcommand{\thetcbteorema}{\thechapter.\arabic{tcbteo}} % Formato 1.1,1.2,
% Caja de entorno

173

10.5 Capas (overlays)

\newtcolorbox{cajaTeorema}[3][]{opt1,opt2,...optn,
enhanced, % habilitar código TikZ
breakable,
overlay unbroken = { objetos gráficos },
overlay first = {objetos gráficos parte superior},
overlay middle = {objetos gráficos parte media},

174

overlay last = {objetos gráficos parte final}
#1
}
% Entorno #1=Descripción, #2=label, #3=contenido
\NewDocumentEnvironment{teorema}{O{} O{} O{}}{ %
#3}{\end{wwteorema}\bigskip }

El entorno que vamos a implementar es:

draw[...]

draw[...]
Nodo

La implementación es como sigue,
El código:
% % Entorno teorema
% %- En el {\it preámbulo
}\\---------------------------------------------------------\definecolor{colordominanteD}{RGB}{74,0,148}
\newcounter{tcbteorema}[chapter] % Contador
\renewcommand{\thetcbteorema}{\thechapter.\arabic{tcbteo}} %Formato 1.1,1.2,..
% Estilo "nodoTeorema" para nodos
\tikzset{nodoTeorema/.style={ %
rectangle, top color=gray!5, bottom color=gray!5,
inner sep=1mm,anchor=west,font=\small\bf\sffamily}
}
% Caja de entorno
\newtcolorbox{cajaTeorema}[3][]{ %
% Opciones generales
arc=0mm,breakable,enhanced,colback=gray!5,boxrule=0pt,top=7mm,

Entornos y cajas

\bigskip\begin{wwteorema}{#1}{#2} %

10.5 Capas (overlays)

drop fuzzy shadow, fontupper=\normalsize,
% label
step and label={tcbteo}{#3},
overlay unbroken= { %
% Borde superior grueso.
% "--+(0pt,3pt)" significa: 3pt hacia arriba desde la posición anterior
\draw[colordominanteD,line width =2.5cm]
([xshift=1.25cm, yshift=0cm]frame.north west)--+(0pt,3pt);
% Borde superior 1
\draw[color=colordominanteD,line width =0.2pt]
(frame.north west)--([xshift=0pt]frame.north east);
% Caja Teorema-contador
\node[nodoTeorema](tituloteo)
at ([xshift=0.2cm, yshift=-4mm]frame.north west)
{\textbf{\color{colordominanteD} Teorema \thetcbteo \;#2}};
},
overlay first = {
% Borde superior grueso
\draw[colordominanteD,line width =2.5cm]
([xshift=1.25cm, yshift=0cm]frame.north west)--+(0pt,3pt);
% Borde superior 1
\draw[color=colordominanteD,line width =0.2pt]
(frame.north west)--([xshift=0pt]frame.north east);
% Caja Teorema-contador
\node[nodoTeorema](tituloteo)
at ([xshift=0.2cm, yshift=-4mm]frame.north west)
{\textbf{\color{colordominanteD} Teorema \thetcbteo \;#2}};
}, %First
% Nada que mantener en los cambios de página
overlay middle = { },
overlay last = { }
#1}
%- Uso \begin{teorema}... o \begin{teorema}[de tal] o \begin{teorema}[][ref]
\NewDocumentEnvironment{ejteorema}{O{} O{} O{}}{
\bigskip\begin{cajaTeorema}{#1}{#2} %
#3
}{\end{cajaTeorema}\bigskip }

Ahora ya podemos usar este entorno en el cuerpo del documento,
El código:
\begin{teorema}[ (Método de Inducción sobre $\R$)]
Supongamos que tenemos $A \subset \mathbb{R}$ con las siguientes propiedades,
\begin{enumerate}[(a)] %\usepackage[shortlabels]{enumitem}
\item $0 \in A.$
\item Si $x \in A$ entonces $x+1 \in A$.

175

10.5 Capas (overlays)

\item Si $x \in A$ entonces $-x \in A$.
\item Si $x,y \in A$ y $y\neq 0$ entonces $\dfrac{x}{y} \in A$
\item $A$ satisface el axioma del extremo superior
\end{enumerate}

176

Entonces, $A=\R$
\end{teorema}

produce:

Supongamos que tenemos A ⊂ R con las siguientes propiedades,
(a) 0 ∈ A.
(b) Si x ∈ A entonces x + 1 ∈ A.
(c) Si x ∈ A entonces −x ∈ A.
(d) Si x, y ∈ A y y 6= 0 entonces

x
∈A
y

(e) A satisface el axioma del extremo superior
Entonces, A = R

Variación: Un entorno para lemas
El entorno \newtcolorbox permite una versión compacta en la que se pueden definir los contadores en el campo de opciones. En el código que sigue también se muestra cómo hacer que el texto
aparezca a continuación de “Lema x.y texto...” sin salto de línea.
% %- En el {\it preámbulo}\\
--------------------------------------------------------\newtcolorbox[auto counter,number within=section]{cajalema}[2][]{
arc=0mm,breakable,enhanced,colback=gray!5,boxrule=0pt, top=1mm, left=3pt,
%"Lema..."+texto del cuerpo
fontupper={\small\bf\sffamily {\color{red}Lema \thetcbcounter \;#2}
}~\normalfont,
overlay unbroken={ % Barra vertical
\draw[color=gray,line width =3pt]
([xshift=2pt] frame.north west)--([xshift=2pt] frame.south west);
},
overlay first = { % Barra vertical
\draw[color=gray,line width =3pt] ([xshift=2pt]
frame.north west)--([xshift=2pt] frame.south west);
},
% Mantener borde en cambio de página

Entornos y cajas

Teorema 10.3 (Método de Inducción sobre R)

10.5 Capas (overlays)

overlay middle ={\draw[color=gray,line width =3pt]
([xshift=2pt] frame.north west)--([xshift=2pt] frame.south west);
},
overlay last ={\draw[color=gray,line width =3pt] ([xshift=2pt]
frame.north west)--([xshift=2pt] frame.south west);
}
#1}
%\NewDocumentEnvironment{lema}{O{} O{}}{
\smallskip\begin{cajalema}{#1} %
#2
}{\end{cajalema}\smallskip }

Ahora podemos usar este entorno,
El código:
\begin{lema}[ (Equivalencia$-$Axioma de Elección). ]
El producto cartesiano de una familia de conjuntos no vacíos es no vacío
\end{lema}

produce:
Lema 10.5.1 (Equivalencia−Axioma de Elección).

El producto cartesiano de una familia de

conjuntos no vacíos es no vacío

Otros diseños de entornos
Como inidcabamos más arriba, en la documentación del paquete tcolorbox aparecen varios modelos de cajas para entornos. Ahora que conocemos el comando \newtcolorbox ya podemos
entender el código de estas cajas.

El código:
% % \usepackage{varwidth}
% % Definición del entorno "miEjemplo"--------------------------------------\newtcolorbox{miEjemplo}[2][]{ %
enhanced,skin=enhancedlast jigsaw,
attach boxed title to top left={xshift=-4mm,yshift=-0.5mm},
fonttitle=\bfseries\sffamily,varwidth boxed title=0.7\linewidth,
colbacktitle=blue!45!white,colframe=red!50!black,
interior style={top color=blue!10!white,bottom color=red!10!white},
boxed title style={empty,arc=0pt,outer arc=0pt,boxrule=0pt},
underlay boxed title={
\fill[blue!45!white] (title.north west) -- (title.north east)
-- +(\tcboxedtitleheight-1mm,-\tcboxedtitleheight+1mm)

177

10.5 Capas (overlays)

-- ([xshift=4mm,yshift=0.5mm]frame.north east) -- +(0mm,-1mm)
-- (title.south west) -- cycle;
\fill[blue!45!white!50!black] ([yshift=-0.5mm]frame.north west)
-- +(-0.4,0) -- +(0,-0.3) -- cycle;
\fill[blue!45!white!50!black] ([yshift=-0.5mm]frame.north east)
-- +(0,-0.3) -- +(0.4,0) -- cycle; },

178

title={#2},#1}
% %-Usando el entorno "cajamiEjemplo"----------------------------------------% \newcommand{\sen}{{\rm sen}}
% \newcommand{\Co}{\mathbb{C}}
\begin{miEjemplo}{Ejemplo}
$$\frac{p(x, \sen x, \cos x)}{q(x, \sen x, \cos x)}$$
con $p, q \in \Co[X,Y,Z]$ con $q\neq 0.$ Por ejemplo, no podemos
usar $q=y^2+Z^2-1$ pues $\sen^2x+\cos^2x-1=0.$
\end{miEjemplo}

produce:
Ejemplo
El campo K = C(x, sen x, cos x) es el conjunto de fracciones

p(x, sen x, cos x)
q(x, sen x, cos x)
con p, q ∈ C[X,Y, Z] con q 6= 0. Por ejemplo, no podemos usar q = y2 + Z 2 − 1 pues

sen2 x + cos2 x − 1 = 0.

El código:
% \usepackage{varwidth}
% % - Definiendo el entorno "cajaInterludio"------------------------------\newtcolorbox{cajaInterludio}[2][]{ %
skin=enhancedlast jigsaw,interior hidden,
boxsep=0pt,top=0pt,colframe=red,coltitle=red!50!black,
fonttitle=\bfseries\sffamily,
attach boxed title to bottom center,
boxed title style={empty,boxrule=0.5mm},
varwidthboxed title=0.5\linewidth,
underlay boxed title={
\draw[white,line width =0.5mm]
([xshift=0.3mm-\tcboxedtitleheight*2,yshift=0.3mm]title.north west)
--([xshift=-0.3mm+\tcboxedtitleheight*2,yshift=0.3mm]title.north east);
\path[draw=red,top color=white,bottom color=red!50!white,line width =0.5mm]
([xshift=0.25mm-\tcboxedtitleheight*2,yshift=0.25mm]title.north west)
cos +(\tcboxedtitleheight,-\tcboxedtitleheight/2)

Entornos y cajas

El campo $K=\Co(x, \sen x, \cos x)$ es el conjunto de fracciones

10.6 Cajas con “newenvironment”

sin +(\tcboxedtitleheight,-\tcboxedtitleheight/2)
-- ([xshift=0.25mm,yshift=0.25mm]title.south west)
-- ([yshift=0.25mm]title.south east)
cos +(\tcboxedtitleheight,\tcboxedtitleheight/2)
sin +(\tcboxedtitleheight,\tcboxedtitleheight/2); },
title={#2},#1}
% %-Usando el entorno "cajaInterludio
"----------------------------------------\begin{cajaInterludio}{Interludio}
Como una curiosidad adicional, las funciones continuas tienen primitiva...
...
\end{cajaInterludio}

produce:
Como una curiosidad adicional, las funciones continuas tienen primitiva... pero la mayoría de
funciones continuas no tienen derivada en ningún punto!. Raro?. Esto es una consecuencia
del “Teorema de Categoría de Baire”. Desde el punto de vista de este teorema, los conjuntos
“flacos” son los conjuntos “nunca densos” (su complemento es denso). Los conjuntos que
son unión contable de este tipo de conjuntos se llama “magro” o de “primera categoría”. Los
conjuntos de segunda categoría son los que no son de primera categoría, son los conjuntos
“gordos”, como R . Resulta que las funciones continuas que son derivables al menos en
un punto es un conjunto de “primera categoría”, es decir, las funciones diferenciables
son excesivamente atípicas en general ([1, Sección 8.2]), algo como lo que pasa con los
familiares números racionales y los irracionales en R . Como consecuencia, las primitivas
son funciones bastante raras.
Interludio

10.6

Cajas con “newenvironment”
En las secciones anteriores implementamos entornos con xparse porque son más robustos y
más naturales para el manejo de opciones. Sin emebargo, también podemos usar el comando \
newenvironment para crear entornos con cajas.
La sintexis de \newenvironment es
\newenvironment{nombre}[número]{código que abre}{código que cierra}

Hay que hacer la observación de que algunos comandos LATEX son “frágiles” y podrían no funcionar en este tipo de entornos en principio, excepto que uno haga una ajuste (usando el comando\
DeclareRobustCommand).
Primero vamos a ver dos ejemplos de entorno, luego vamos a mostrar el código. Por simplicidad
vamos a poner todo el código de la caja en los campos correspondientes al “código que abre” y el

179

10.6 Cajas con “newenvironment”

“código que cierra”. Estos entornos vienen con dos tipos de contador, uno asociado al capítulo (o
la sección si se prefiere) y el otro con un contador simple.
Para asociar un contador con el capítulo se usa el código
\newcounter{contaCaja} % contador

180

\setcounter{contaCaja}{1} % contador en 1
\def\thecontaCaja{\thechapter.\arabic{contaCaja}} % Contador con # cápitulo

Los entornos se invocan con el código

Cuando ...
\end{otraCaja}
\bigskip
\begin{otraCajaB}{Comentario}
Cuando ...
\end{otraCajaB}

y se obtiene

Comentario 10.1
Comentario Cuando Q(x) tiene n raíces simples α1 , α2 , · · · , αn y grado P  1. Si
mcd(Q, Q0 ) = 1 entonces todas las raíces de Q son simples.
Comentario 1
Comentario Cuando Q(x) tiene n raíces simples α1 , α2 , · · · , αn y grado P  1. Si

Entornos y cajas

\begin{otraCaja}{Comentario}

10.6 Cajas con “newenvironment”

mcd(Q, Q0 ) = 1 entonces todas las raíces de Q son simples.
El código completo es

Descargar archivo

181
\documentclass{article}
\usepackage[text={15cm,25cm},centering]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{tcolorbox}
\tcbuselibrary{breakable,skins}
% %-\newcounter{contaCaja} % contador
\setcounter{contaCaja}{1} % contador en 1
\def\thecontaCaja{\thesection-\arabic{contaCaja}} % Contador con # sección
\newenvironment{otraCaja}[1]{
\bigskip
\begin{tcolorbox}[ %
blank,breakable,parbox=false,top=5pt,left=5pt,bottom=5pt, right=5pt,
overlay unbroken = { %
\draw[black,line width =0.5pt] ($(interior.north west)+( 0pt,-5pt)$) |($(interior.north) +( 0pt, 4pt)$) -|
($(interior.north east)+( 0pt,-5pt)$);
\node[black,fill=white] at ($(interior.north west)+(40pt, 4pt)$)
{\sffamily\bfseries #1 \thecontaCaja};
\draw[black, line width =0.5pt]
($(interior.south east)+( 0pt,10pt)$) |($(interior.south) +( 0pt, 0pt)$) -|
($(interior.south west)+( 0pt,10pt)$);
},
overlay first={
\draw[black,line width =0.5pt] ($(interior.north west)+( 0pt,-5pt)$) |($(interior.north) +( 0pt, 4pt)$) -|
($(interior.north east)+( 0pt,-5pt)$);
\node [black,fill=white] at ($(interior.north west)+(40pt, 4pt)$)
{\sffamily\bfseries #1 \thecontaCaja};
},
overlay last={
\draw[black,line width =0.5pt] ($(interior.south east)+( 0pt,10pt)$) |($(interior.south) +( 0pt, 0pt)$) -|
($(interior.south west)+( 0pt,10pt)$);}
] %tcolorbox
}{ %
\end{tcolorbox}
\bigskip
}
%--

10.6 Cajas con “newenvironment”

\newcounter{contaCajaB} % contador
\setcounter{contaCajaB}{1} % contador en 1
\newenvironment{otraCajaB}[1]{
\bigskip
\begin{tcolorbox}[
blank,breakable,parbox=false,top=6mm,left=5pt,bottom=5pt, right=5pt,

182

overlay unbroken = { %
\draw[draw=blue!15!white,line width =6mm]
($(interior.north west)+( 0pt,0pt)$) |($(interior.north) +( 0pt, 0pt)$) -|
($(interior.north east)+( 0pt,0pt)$);
\node [black,fill=white] at ($(interior.north west)+(40pt, 4pt)$)
\draw[draw=blue!15!white, line width =0.2mm]
($(interior.south east)+( 0pt,10pt)$) |($(interior.south) +( 0pt, 0pt)$) -|
($(interior.south west)+( 0pt,10pt)$);
},
overlay first={
\draw[draw=blue!15!white,line width =6mm]
($(interior.north west)+( 0pt,0pt)$) |($(interior.north) +( 0pt, 0pt)$) -|
($(interior.north east)+( 0pt,0pt)$);
\node [black,fill=white] at ($(interior.north west)+(40pt, 4pt)$)
{\sffamily\bfseries #1 \thecontaCajaB};
},
overlay last={
\draw[draw=blue!15!white,line width =0.5pt]
($(interior.south east)+( 0pt,10pt)$) |($(interior.south) +( 0pt, 0pt)$) -|
($(interior.south west)+( 0pt,10pt)$);}
] %tcolorbox
}{
\end{tcolorbox}
\bigskip
}
% %-\begin{document}
\section{Cajas}
\begin{otraCaja}{Comentario}
Cuando ...
\end{otraCaja}
\bigskip
\begin{otraCajaB}{Comentario}
Cuando ...
\end{otraCajaB}

Entornos y cajas

{\sffamily\bfseries #1 \thecontaCajaB};

10.6 Cajas con “newenvironment”

\end{document}

183

10.6 Cajas con “newenvironment”

184

Entornos y cajas

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

11

185
Personalizar el Documento

En lo que sigue vamos a ver trozos completos de código para lograr efectos atractivos y profesionales en los libros. Cómo el código se vuelve extenso, en la sección 11.9 se hacen versiones
encapsuladas (en un archivo de diseño)

Figura 11.1. Libros con diseño

11.1

Entornos
Como vimos en el capítulo 10, podemos implementar entornos estándar y entornos con cajas. Por
ejemplo,
Definición 11.1 − Diferencial

Sea y = f (x) derivable. El diferencial dx es cualquier número real no nulo y el diferencial
de y es
dy = f 0 (x)dx
dx

Ahora vamos a ocuparnos de personalizar otros aspectos del documento.

11.2 Personalizar secciones

11.2

Personalizar secciones
Para personalizar títulos, secciones, etc. se puede usar el paquete titlesec (http://www.ctan.
org/pkg/). En la documentación se pueden algumos ejemplos de cómo personalizar el encabeza-

do de lso capítulos y las secciones.

186

Para usar este paquete es usual poner en el preámbulo
\documentclass{book}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[latin1]{inputenc}
\usepackage{titlesec}
\titleformat{\section}...

Personalizar el Documento

\titleformat{\chapter}...
\begin{document}
...
\end{document}

Por ejemplo, podemos generar el siguiente estilo de libro,

Figura 11.2. Libro con diseño usando titlesec

Para esto usamos el siguiente código,

Descargar archivo

11.2 Personalizar secciones

\documentclass{book}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[latin1]{inputenc}
% %-\usepackage{titlesec}
\titleformat{\section}[frame]{\normalfont} %
{\filright\footnotesize\enspace SECCIÓN \thesection\enspace} %
{8pt}{\Large\bfseries\filcenter} %
%\titleformat{\chapter}[display]{\normalfont\Large\filcenter\sffamily} %
{\titlerule[1pt] %\vspace{1pt} %
\titlerule
%\vspace{1pc} %
\LARGE\MakeUppercase{\chaptertitlename} \thechapter}
{1pc}
{\titlerule
%\vspace{1pc} %
\Huge}
% %-\begin{document}
\chapter{Pensamiento de Kant}
...
\section{?`Qué dice Kant?}
...
\end{document}

El formato de las secciones no es rígido, en el camino podemos cambiar el formato de las secciones. Podemos agregar por ejemplo
...
\begin{document}
\chapter{Pensamiento de Kant}
...
\section{?`Qué dice Kant?}
...
% % Nuevo formato de sección
\titleformat{\section}{\titlerule %\vspace{.8ex}\normalfont\itshape}
{\thesection.}{.5em}{} %
\section{Lo que sigue}
...

para obtener

187

11.2 Personalizar secciones

188

Figura 11.3

Secciones usando TikZ
Se puede combinar el paquete titlesec con el paquete TikZ para personalizar las secciones. Por
ejemplo, el estilo que se muestra en la figura que sigue ([22])

se obtiene con el código

Descargar archivo

\documentclass{book}
\usepackage[text={10cm,25cm},centering]{geometry}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[latin1]{inputenc}
%
\usepackage{titlesec}
\usepackage{tikz}\usetikzlibrary{shapes.misc}
\newcommand\titlebar{ %
\tikz[baseline,trim left=3.1cm,trim right=3cm] {
\fill [cyan!25] (2.5cm,-1ex) rectangle(\textwidth+3.1cm,2.5ex);
\node [
fill=cyan!60!white,
anchor= base east,
rounded rectangle,

Personalizar el Documento

Figura 11.4. Diseño se secciones con titlesec y TikZ

11.2 Personalizar secciones

minimum height =3.5ex] at (3cm,0) {
\textbf{\arabic{chapter}.\thesection.}
};
}%
}

189

\titleformat{\section}{\large}{\titlebar}{0.1cm}{}
\renewcommand*{\thesection}{\arabic{section}}
% %-\begin{document}
\chapter{Usando titlesec}
\section{Sección 1}
...
\section{Sección 2}
...
\end{document}

Otro ejemplo es el estilo que se muestra en la figura que sigue ([23]),

Figura 11.5. Diseño se secciones con titlesec y TikZ

se obtiene con el código
\documentclass{book}
\usepackage[text={10cm,25cm},centering]{geometry}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[latin1]{inputenc}
%

Descargar archivo

11.2 Personalizar secciones

\usepackage[explicit]{titlesec}
\usepackage{tikz}
\usetikzlibrary{shapes.misc,arrows}
%defining subsection titles
\newcommand\titlebar{ %
\tikz[baseline,trim left=0cm,trim right=3cm] {

190

\node [
text = red!70!green,
anchor= base east,
minimum height =3.5ex] (a) at (3cm,0) {
\textbf{\arabic{chapter}.\thesection}
};
\draw[color=red!70!blue, thick,rounded corners=1ex] (a.east)
|- (\textwidth+1cm,-0.75ex);
}%
}
\titleformat{\section}{\large\sf}{\titlebar}{0.25cm}{ %
\textcolor{blue!60!green}{#1}}
\titlespacing*{\section}{-2cm}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
\renewcommand*{\thesection}{\arabic{section}}
%defining subsection titles
\newcommand\subtitlebar{ %
\tikz[baseline,trim left=0cm,trim right=3cm] {
\node [
text = red!70!green,
anchor= base east,
minimum height =3.5ex] (b) at (3cm,0) {
\textbf{\arabic{chapter}.\arabic{section}.\thesubsection}
};
\path[fill=red!70!blue] (b.east) circle (.5ex);
\draw[color=red!70!blue, thick,rounded corners=1ex] (b.east)
|- (\textwidth+0.8cm,-0.75ex);
}%
}
\titleformat{\subsection}{\normalfont\sf}{\subtitlebar}{0.2cm}{ %
\textcolor{blue!60!green}{#1}}
\titlespacing*{\subsection}{-1.8cm}{3.5ex plus 1ex minus .2ex} %
{2.3ex plus .2ex}
\renewcommand*{\thesubsection}{\arabic{subsection}}
% %-\begin{document}
\chapter{Usando titlesec}
\section{Sección 1}
...

Personalizar el Documento

\path[fill=red!70!blue] (a.east) circle (.5ex);

11.2 Personalizar secciones

\section{Sección 2}
...
\end{document}

Otros diseños
Otros diseños de secciones se pueden encontrar en el sitio de Vincent Zoonekynd http://zoonek.
free.fr/LaTeX/LaTeX_samples_section/0.html

El estilo de este libro
El estilo que se usa en este libro no usa el paquete titlesec, más bien usa el código LaTeX estándar. Un ejemplo completo con este estilo de sección sería
Descargar archivo

\documentclass{book}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[latin1]{inputenc}
\usepackage{xcolor}
\definecolor{azulF}{rgb}{.0,.0,.3}
\definecolor{verdeF}{RGB}{5,92,8}
\makeatletter % define el estilo de las secciones de este libro
\renewcommand{\@seccntformat}[1]{\llap{\textcolor{verdeF}{
\csname the#1\endcsname}\hspace{1em}}}
\renewcommand{\section}{\@startsection{section}{1}{\z@}
{-4ex \@plus -1ex \@minus -.4ex}
{1ex \@plus.2ex }
{\color{azulF}\normalfont\huge\sffamily\bfseries}}
\renewcommand{\subsection}{\@startsection {subsection}{2}{\z@}
{-3ex \@plus -0.1ex \@minus -.4ex}
{0.5ex \@plus.2ex }
{\normalfont\sffamily\bfseries}}
\renewcommand{\subsubsection}{\@startsection {subsubsection}{3}{\z@}
{-2ex \@plus -0.1ex \@minus -.2ex}
{0.2ex \@plus.2ex }
{\normalfont\small\sffamily\bfseries}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}
{-2ex \@plus-.2ex \@minus .2ex}
{0.1ex}
{\normalfont\small\sffamily\bfseries}}
\makeatother
% %-\begin{document}
\chapter{Pensamiento de Kant}
...
\section{?`Qué dice Kant?}
...

191

11.3 Personalizar capítulos

\section{Lo que sigue}
...
\end{document}

11.3

192

Personalizar capítulos
Si se trata de personalizar los encabezados de los capítulos de manera sencilla, una buena opción
es el paquete FncyChap (versión 1.34, http://www.ctan.org/tex-archive/macros/latex/
contrib/fncychap).

% Estilos: Sonny, Lenny, Glenn, Conny, Rejne, Bjarne, Bjornstrup
\usepackage[Bjornstrup]{fncychap}

Un ejemplo se presenta en la figura que sigue,

Figura 11.6. Diseño se capítulos con FncyChap

se obtiene con el código
\documentclass{book}

Descargar archivo

Personalizar el Documento

Para usar este paquete, solo debemos ver la documentación y elegir el estilo que nos gusta, luego
solo agregamos en el preámbulo

\usepackage[text={15cm,25cm},centering]{geometry}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[latin1]{inputenc}
\usepackage{epigraph}
%
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

11.3 Personalizar capítulos

\usepackage[Bjornstrup]{fncychap}
\begin{document}
\chapter{Divisibilidad }

193

\epigraph{La mente intuitiva es un regalo sagrado...
}{Albert Einstein.\\1879$-$1955}
\chapter{Otro Capítulo}
\end{document}

Otros diseños
En Internet se pueden encontrar diseños de encabezados de capítulos, por ejemplo en el sitio de
Vincent Zoonekynd (http://zoonek.free.fr/LaTeX/LaTeX_samples_chapter/0.html). Por
ejemplo, el diseño que se muestra en la figura que sigue

Figura 11.7. Diseño se capítulos con FncyChap

se obtiene con el código

Descargar archivo

\documentclass{book}
\usepackage[text={15cm,25cm},centering]{geometry}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[latin1]{inputenc}
% Diseño de encabezado de capítulo--\makeatletter
\def\thickhrulefill{\leavevmode \leaders \hrule height 1ex \hfill \kern \z@}
\def\@makechapterhead#1{ %
\reset@font
\parindent \z@
%\vspace*{10\p@} %
\hbox{ %
\vbox{\hsize=2cm

11.3 Personalizar capítulos

\begin{tabular}{c}
\scshape \strut \@chapapp{} \\
\fbox{ %
\vrule depth 10em width 0pt %
\vrule height 0pt depth 0pt width 1ex %
{\LARGE \bfseries \strut \thechapter} %

194

\vrule height 0pt depth 0pt width 1ex %
}
\end{tabular} %
}%
\vbox{ %
\advance\hsize by -2cm
\vskip 6pt %
\hspace{1em} %
\Huge \bfseries #1
}%
}%
\vskip 100\p@
}
\def\@makeschapterhead#1{ %
\reset@font
\parindent \z@
%\vspace*{10\p@} %
\hbox{ %
\vbox{\hsize=2cm
\begin{tabular}{c}
\scshape \strut \vphantom{\@chapapp{}} \hphantom{\@chapapp{}} \\
\fbox{ %
\vrule depth 10em width 0pt %
\vrule height 0pt depth 0pt width 1ex %
{\LARGE \bfseries \strut \hphantom{\thechapter}} %
\vrule height 0pt depth 0pt width 1ex %
}
\end{tabular} %
}%
\vbox{ %
\advance\hsize by -2cm
\hrule\par
\vskip 6pt %
\hspace{1em} %
\Huge \bfseries #1
}%
}%
\vskip 100\p@
}
%--

Personalizar el Documento

\hrule\par

11.4 Personalizar páginas de título

\begin{document}
\chapter{Divisibilidad}
\end{document}

195

El estilo de este libro
En el código que sigue se muestra un ejemplo completo con el estilo de los encabezados de capítulo de este libro.
Descargar archivo

\documentclass{book}
\usepackage[text={15cm,25cm},centering]{geometry}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[latin1]{inputenc}
\usepackage{epigraph}
\usepackage{xcolor}
\definecolor{verdep}{RGB}{166,206,58}
%-\usepackage{titlesec}
\newcommand{\hsp}{\hspace{15pt}}
\titleformat{\chapter}[hang]{\huge\bfseries}{{
\fontsize{6em}{6em}\selectfont
\thechapter}\hsp\textcolor{verdep} %
{\vrule height 4em width 2pt}\hsp}{0pt}{\huge\bfseries}
% %-\begin{document}
\chapter{Primeros pasos}
\chapter{Otro Capítulo}
\end{document}

11.4

Personalizar páginas de título
Como antes, hay varios sitios en Internet donde se puede obtener código para personalizar las páginas de título. Por ejemplo en el sitio de Vincent Zoonekynd (http://zoonek.free.fr/LaTeX/
LaTeX_samples_title/0.html) se pueden ver varios diseños y también se puede visitar el sitio
http://www.latextemplates.com/cat/title-pages.

11.4 Personalizar páginas de título

Por ejemplo, el diseño que se muestra en la figura que sigue

196

se obtiene con el código

Descargar archivo

\documentclass{book}
\usepackage[text={15cm,25cm},centering]{geometry}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[latin1]{inputenc}
% Diseño de página de título.
\makeatletter
\def\thickhrulefill{\leavevmode \leaders \hrule height 1pt\hfill \kern \z@}
\renewcommand{\maketitle}{\begin{titlepage} %
\let\footnotesize\small
\let\footnoterule\relax
\parindent \z@
\reset@font
\null
\vskip 10\p@
\hbox{\mbox{\hspace{3em}} %
\vrule depth 0.6\textheight %
\mbox{\hspace{2em}}
\vbox{
\vskip 40\p@

Personalizar el Documento

Figura 11.8

11.5 Tablas de contenido

\begin{flushleft}
\Large \@author \par
\end{flushleft}
\vskip 80\p@
\begin{flushleft}

197

\huge \bfseries \@title \par
\end{flushleft}
\vfill
}}
\null
\end{titlepage} %
\setcounter{footnote}{0} %
}
\makeatother
%
%-\author{Vincent Zoonekynd\\Leslie Lamport }
\title{Los estilos}
\date{2008}
%-\begin{document}
\maketitle
\end{document}

11.5

Tablas de contenido
Si queremos tablas de contenido “sofisticadas”, podemos usar varios paquetes: titletoc, TiKZ,
framed, etc. A continuación se muestran algunas tablas de contenidos (tomadas de [26] y [27]).
El código se puede descargar como un comprimido con cuatro archivos .tex completos.
Descargar archivo

11.6 Encabezados de página

198

Encabezados de página
Se puede usar el paquete fancyhdr para personalizar los encabezados de página y los pie de
página; para cargarlo se pone en el prembulo \usepackage{fancyhdr}. Por ejemplo, podemos
poner cabeceras en helvética (como en la figura que sigue),

Figura 11.9. Cabecera en helvética y con línea

Figura 11.10. Cabecera en helvética y sin línea

El código que se usó para generar estas cabeceras es el siguiente,
\documentclass{book}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{helvet}
% Fuente helvética
\newcommand{\helv}{\fontfamily{phv}\fontsize{9}{11}\selectfont}
% %-\usepackage{fancyhdr}
% Usar el estilo definido

Descargar archivo

Personalizar el Documento

11.6

11.6 Encabezados de página

\pagestyle{fancy}
% Definir las marcas: capítulo.sección ------\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{} % borra cabecera y pie actuales
% El número de página
\fancyhead[LE,RO]{\helv\thepage} %L=Left, R=right, O=Odd (impar),E=Even págs pares
% "Marcas" a la derecha e izquierda del encabezado
\fancyhead[LO]{\helv\rightmark}
\fancyhead[RE]{\helv\leftmark}
\renewcommand{\headrulewidth}{0pt} % Sin raya. Con raya?: cambiar {0} por {0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % espacio para la raya
\fancypagestyle{plain}{ %
\fancyhead{} % elimina cabeceras y raya en páginas "plain"
\renewcommand{\headrulewidth}{0pt}}
\begin{document}
\chapter{Cabeceras con el paquete fancyhdr}
\newpage
\section{Eliminar la línea}
\renewcommand{\headrulewidth}{0pt}
\newpage
\section{Dejar la línea con grosor {\tt 0.5pt}}
\renewcommand{\headrulewidth}{0.5pt} % grosor 0.5pt
\addtolength{\headheight}{0.5pt} % espacio para la raya
\end{document}

Usando este mismo paquete también se podría incluir una figura en todas las cabeceras, digamos
a la derecha, con el código,
% % ...
\usepackage{fancyhdr}
\usepackage{graphicx}
...
\rhead{\setlength{\unitlength}{1mm}
\begin{picture}(0,0)
% Figura
\put(-10,2){\includegraphics[width =10mm]{images/ubuntu.png}}
% Texto
\put(-92,5){
\parbox[t]{90mm}{
\begin{flushright}
\begin{scriptsize}
\textsf{Ubuntu}
\end{scriptsize}
\end{flushright}
}}
\end{picture}} %

199

11.6 Encabezados de página

\begin{document}
...

200

\fancyhf{} %
\fancyfoot[LE,RO]{\tikz[baseline={(0,0)},anchor=center]
\node[draw,inner sep=0pt,
outer sep=0pt,label={[xshift=-.13cm,yshift=0.1cm]center:
%\footnotesize\thepage}]
{\includegraphics{nombre_figura}};} %

Un logo centrado en el pie de página se obtiene poniendo \fancyfoot[C] en vez de \fancyfoot
[LE,RO].

Más opciones para los encabezados
Hay una gran variedad de posibilidades para los encabezados combinando varios paquetes. Por
ejemplo, puede visitar [28]

Encabezados de este libro
Los encabezados de este libro usan los paquetes fancyhdr, TikZ, tikzpagenodes y textpos. El
código es (ver la sección 11.9 para tener el código completo)

\documentclass{book}
% ... El código completo está más adelante: sección 11.9
% ... Ver sección "Plantillas LaTeX"
% ...
% ...
\usepackage{fancyhdr}
% Números de página en rectángulos y capítulo. Posicionar los nodos
\usepackage[absolute]{textpos}
\setlength{\TPHorizModule}{10mm} %
\setlength{\TPVertModule}{10mm} %
\textblockorigin{0mm}{0mm} % Origen: esquina superior izquierda
%...

Personalizar el Documento

Figuras (logos) en el pie de página
Una manera fácil de agregar figuras en el pie de página es usando el comando fancyfoot y el
paquete TikZ. Podríamos agregar el siguiente código en el preámbulo

11.6 Encabezados de página

%-------------------------------------------------------------------------% Decoración de cabeceras
% Texto en secciones
\renewcommand{\sectionmark}[1]{\markright{\sffamily\normalsize\thesection
\hspace{5pt}#1}{}}
\fancyhf{}
% Páginas con la seción a la izquierda y en rectángulo con bordes difusos
\usepackage{tikzpagenodes}
\usetikzlibrary{decorations.pathmorphing,calc,shadows.blur,shadings}
\pgfmathsetseed{1}
\pgfdeclaredecoration{irregular fractal line}{init}
{
\state{init}[width =\pgfdecoratedinputsegmentremainingdistance]
{
\pgfpathlineto{\pgfpoint{random*\pgfdecoratedinputsegmentremainingdistance{ %
(random*\pgfdecorationsegmentamplitude-0.02) %
*\pgfdecoratedinputsegmentremainingdistance}}
\pgfpathlineto{ %
\pgfpoint{\pgfdecoratedinputsegmentremainingdistance}{0pt}}}}
\tikzset{
paper/.style={draw=black!10, blur shadow, shade=bilinear interpolation,
lower left=black!20, upper left=black!15, upper right=white,
lower right=black!10},
irregular border/.style={decoration={irregular fractal line, amplitude
=0.2},
decorate,
},
ragged border/.style={ decoration={random steps, segment length=7mm,
amplitude=2mm}, decorate,
}
}
%L=Left, Odd Even - Decoración en encabezado
\fancyhead[LO,LE]{\rightmark {\color{grisF}
\href{http://www.tec-digital.itcr.ac.cr/revistamatematica/}{\sffamily
\normalsize \;(http://www.tec-digital.itcr.ac.cr/revistamatematica/).}}
\begin{textblock}{1}(0,0)
\begin{tikzpicture}[remember picture,overlay]
\fill[verdep,opacity=0.7]
decorate[irregular border]{decorate{decorate{ %
decorate{decorate[ragged border]{
($(current page header area.south east-|current page.east) %
- (0, random*5mm)$) -- ($(current page header area.south west- %
|current page.west) - (0, random*5mm)$)
}}}}}
-- (current page.north west) -- (current page.north east) -- cycle;

201

11.7 Insertar una portada

\end{tikzpicture}
\end{textblock}
} % Fin decoración cabeceras
%...

202
11.7

Insertar una portada
Aunque podríamos hacer una portada usando
el paquete TikZ, parece más sencillo hacer
una portada, por ejemplo con Inkscape,
guardarla en formato .pdf y luego insertarla
usando el paquete pdfpages.

\documentclass{book}
%Insertar páginas pdf
\usepackage{pdfpages}
\begin{document}
% Insertar Portada.pdf
\includepdf[pages=-]{images/Portada}
% ...

11.8

Figura 11.11. Portada en Inkscape

Listas de ejercicios con solución
Hay varios paquetes para hacer listas de ejercicios, por ejemplo los paquetes answers, ans,
exercise, ExSol, exsheets y probsoln.
La documentación de estos paquetes se puede obtener en http://www.ctan.org/. En esta
sección solo vamos a describir dos paquetes: answers y ans.

11.8.1

Paquete answers
Para hacer listas de ejercicios con solución se puede usar el paquete answers (hay un paquete para
exámenes en CTAN-exam), para cargarlo se pone en el preámbulo \usepackage{answers}. El
paquete requiere crear entornos y crear, abrir y cerrar archivos externos (en la carpeta de trabajo)
con las preguntas y las soluciones de los ejercicios (archivos ans1, ans2, etc).

Personalizar el Documento

Hay que recordar que las fuentes es mejor, a
la hora de guardar en formato .pdf, convertirlas a “contornos” (en el menú Trayecto
- Objeto a trayecto) para que no haya
sustitución de fuentes. También se puede
exportar la portada como un archivo .png
En este libro, se editó la portada con Inkscape y se insertó con el código

11.8 Listas de ejercicios con solución

En el código que sigue se muestra un ejemplo.

Ejemplo 11.1

Descargar archivo

(Paquete answers)

\documentclass[12pt]{article}
\usepackage{amsmath,amssymb,amsfonts,latexsym}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[shortlabels]{enumitem}
%answers------------------------------------\usepackage{answers}
\newtheorem{ejer}{}[section] %\begin{ejer}...Ejercicio... \end{ejer}
\Newassociation{sol}{Solution}{ans} %\begin{sol}...\end{sol}
%-------------------------------------------\newcommand{\sen}{\mathop{\rm sen}\nolimits}
\newcommand{\R}{\mathbb{R}}
\newcommand{\Z}{\mathbb{Z}}
%--------------------------------------------\begin{document}
\chapter{...}
\section{...}
%\Opensolutionfile{ans}[ans1] % Abrir primera lista de ejercicios
\section{Ejercicios} %Inicio lista #1
\begin{ejer}\rm Resolver $|\cos(\theta)|=1$ con $\theta \in\, \R.$ %roman
\begin{sol}
$|\cos(\theta)|=1 \Longrightarrow \theta=k\pi, \; k \in\, \Z$
\end{sol}
\end{ejer}
%- Ejercicio sin solución
\begin{ejer} \rm Resolver
\begin{enumerate}[a.)]
\item $|2\sen(\theta)\cos(\theta)|=1$ con $\theta \in\, \R^+$
\item $|2\sen(\theta)\cos(\theta)|=1$ con $\theta \in\, \R$
\end{enumerate}
\end{ejer}
\Closesolutionfile{ans} % Cerrar primera lista de ejercicios
\Opensolutionfile{ans}[ans2] % Segunda lista de ejercicios
\section{Ejercicios} %Inicio lista #2
\begin{ejer}\rm Resolver $|\tan(\theta)|=1$ con $\theta \in\, \R.$ %roman
\begin{sol}
{\bf Sugerencia:} Mmmmmm
\end{sol}
\end{ejer}
%----------------------\begin{ejer} Resolver $|\sec(\theta)|=1$ con $\theta \in\, \R^+$
\begin{sol}
$|\sec(\theta)|=1 \Longrightarrow....$
\end{sol}
\end{ejer}

203

11.8 Listas de ejercicios con solución

\Closesolutionfile{ans} % Cerrar segunda lista de ejercicios
%Imprimir las soluciones
\section*{Soluciones del capítulo 1}
\input{ans1} % soluciones de la primera lista de ejercicios
\input{ans2} % soluciones de la segunda lista de ejercicios
\end{document}

204

La salida sería:

\ejersol{ ..pregunta..}{... respuesta (opcional)...}

La definición sería
%\usepackage{wers}
\newcommand{\ejersol}[2]{ %
\begin{ejer}
#1\scantokens{\begin{solu}#2\end{solu}}
\end{ejer}}

Personalizar el Documento

Personalización del paquete
Para el caso de libros de texto, podemos simplificar el mecanismo para crear estas listas de
ejercicios con entornos y comandos sin tener que estar explícitamente creando y abriendo
archivos ans. Por ejemplo, podríamos definir un comando

11.8 Listas de ejercicios con solución

de tal manera que el código de las listas de ejercicios sea algo como
Descargar archivo

\begin{document}

205

\chapter{...}
\section{...}
% lista de ejercicios de la sección
\begin{ejercicios}
\ejersol{ pregunta 1\\ }{ respuesta1 }
\ejersol{ pregunta 2\\ }{ sugerencia }
\ejersol{ pregunta 3\\ }{ } %sin respuesta
\end{ejercicios}
...
% Final del documento
% Imprimir soluciones
\soluciones
\solucionesCap{1}
\solucionesCap{5}

Una descripción de la manera de hacer esto la puede encontrar en
http://www.tec-digital.itcr.ac.cr/revistamatematica/Secciones/Matematica_
Algoritmos_Programacion/RevistaDigital_WMora_V14_N1_2013/RevistaDigital_
walter_V14_n1_2013.pdf

11.8.2

Paquete “ans”
El paquete ans ofrece una manera aparentemente más sencilla de crear listas de ejercicios,
siempre y cuando se respeten las reglas del paquete!. Por ejemplo, el paquete requiere usar \par
para cambiar de párrafo y se debe dejar un renglón al final para indicar que la respuesta ya finalizó.
La apariencia del código para las listas de ejercicios con este paquete sería algo como
Descargar archivo

\documentclass{book}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsfonts,latexsym,cancel,stmaryrd,amsthm}
%--------------------------------------------------------------------% Puede poner el archivo "ans.sty" en su carpeta de trabajo
\usepackage{ans} % > Debe haber al menos un ejercicio por cada sección
% > Use \exer: si usted NO va a contestar la pregunta
% > Use \exera: si usted va a contestar la pregunta
% > \subanswer ...(seguido de \exera). Use \par
%

para cambiar de párrafo y dejar un renglón al final,

11.9 Plantillas LaTeX para libros

%

éste se usa para delimitar la respuesta.

% > Subproblemas: puede usar \exer y \subexer o
%

\exera y \subexera

% > \exer\annot{hard}
\makeanswers
\artsec

206

\makesolutions
%--------------------------------------------------------------------\begin{document}
\chapter{I}
\section{Lista de ejercicios con solución }

\exercises
\exera Determine la ecuación canónica de la parábola $y=2x^2-4x+1.$
\answer $2x^2-4x+1=y \;\Rightarrow\; 2(x-1)^2= y+1 \;
\Rightarrow\;(x-1)^2=\frac{1}{2}(y+1).$

\exera Determine la ecuaci\'{o}n can\'{o}nica de las siguientes parábolas,
\subexera $-9\,y^2 - 8\,x - 3=0$\\
\subanswer $y^2=-\frac{8}{9}(x+\frac{3}{8})$
% Se debe dejar un renglón para indicar el final de la respuesta
\subexera $y^2+2 y-4 x=7$\\
\subanswer $(y + 1)^2 = 4 (x + 2)$
%\subexera $x^2+2 x-2 y+5=0$\\
\subanswer$(x + 1)^2 = 2 (y - 2)$
%\exer Determine la ecuación canónica de la parábola $y=4x^2-5x+1.$
\eexer
%--Fin de la lista de ejerciciosde esta sección
...

11.9

Plantillas LaTeX para libros
Para evitar el exceso de código en el preámbulo lo mejor es poner todo este código en un archivo
aparte e invocarlo con el comando \input o implementar un archivo de estilo .sty
En general trendríamos que iniciar el documento con
\documentclass{book}

Personalizar el Documento

%--Inicio de la lista de ejercicios

11.9 Plantillas LaTeX para libros

\input{Archivo_Diseno_Libro.tex}
...
\begin{document}
...
\end{document}

207

Para tal efecto hemos preparado cinco plantillas. Cada plantilla viene con un archivo de código
para el preámbulo Archivo_Diseno_Libro... y un manual .tex que puede servir de plantilla
para un archivo .tex o usar simplemente como referencia.

Advertencia.

Las siguientes plantillas usan la versión 2014 (o superior) del paquete tcolorbox (entre
otros paquetes recientes), por lo tanto debe actualizar los paquetes de sus distribución TeX
o instalar manualmente este paquete (ver la sección 10.4 del capítulo 10).

La plantilla de este libro.
La plantilla para este libro viene con un código relativamente simple, es algo como
Descargar archivo

\documentclass[11pt,fleqn,x11names,table]{book}
% Dimensiones y márgenes.
\usepackage[text={15cm,25cm},centering,headsep=20pt,top=0.8in,
bottom = 0.8in,letterpaper,showframe=false]{geometry}
%-- Paquetes y código de diseño---------------------------------------\input{Archivo_Diseno_Libro_LaTeX_RevistaMatematica_ITCR}
%---------------------------------------------------------------------\usepackage{pdfpages} %Insertar páginas pdf
% %-\begin{document}
% Insertar Portada.pdf
\includepdf[pages=-]{images/Portada}
\pagestyle{empty}
\titulo{ % Autor (\fnte es un comando para un tipo de fuente especial)
\huge\bfseries\color{wcolornotas} Alexánder Borbón A., Walter Mora F.}{ %
%pre-título
\color{verdeF}Edición de Textos Científicos
}{ %
%Título principal
{\fontsize{80}{1} \selectfont La\TeX{}}
}{ %
%Adicional
Composición, Diseño Editorial, Gráficos,\\

11.9 Plantillas LaTeX para libros

Inkscape, Tikz y Presentaciones Beamer
}
\chapter{...}

208
Plantilla A
Una idea general de esta plantilla se presenta en la figura que sigue,
Descargar archivo

Una idea general de esta plantilla se presenta en la figura que sigue,
Descargar archivo

Plantilla C
Una idea general de esta plantilla se presenta en la figura que sigue,
Descargar archivo

Personalizar el Documento

Plantilla B

11.9 Plantillas LaTeX para libros

209

Plantilla D
Una idea general de esta plantilla se presenta en la figura que sigue,
Descargar archivo

11.9.1

Otras Plantillas (templates) LATEX
Otras plantillas (’Templates’) LaTeX se puden obtener en Internet.
1 LaTeX Templates (http://www.latextemplates.com/) es un sitio con varias plantillas. Por

ejemplo,
Tareas (Assignments)
Hojas de vida (Curricula Vitae)
Presentaciones (Presentations)
Títulos (Title Pages)

Libros (Books)
Ensayos (Essays)
Reportes de Laboratorio
Tesis (Theses)

Calendarios (Calendars)
Laboratorios
Cartas (Letters)
etc.

2 LaTeX for Humans (http://latexforhumans.wordpress.com/). Entre otras cosas, en este sitio

hay muchas plantillas de tesis gratuitas. En particular, se pueden encontrar plantillas de
tesis de universidades Europeas y americanas.
3 \howTEX (http://www.howtotex.com/). Este es un sitio con muchas plantillas LATEXde propó-

sito general.
Por suspuesto, las búsquedas en Internet sobre alguna plantilla en particular seguramente nos dará
muchos resultados.

11.10 Libro con algoritmos y programas

11.10
11.10.1

Libro con algoritmos y programas
Paquete algorithm2e (versión 5.0, 2013)
Este es un paquete adecuado para describir claramente algoritmos de programación. Debemos
poner en el preámbulo

210

\usepackage[ruled,vlined,lined,linesnumbered,algochapter,spanish]{algorithm2e}

Los comandos más frecuentes son

\eIf{ condición }{ código}{ else ... código }
\For{ condición }{ código }
\While{ condición }{ código }
\Repeat{ condición ("Until") }{ código }
\; se usa para el cambio de línea.

En los siguientes ejemplos se muestra cómo usar If, For, While, etc.
El código:

% Nuevo en la versión 5.0 (2013)
% Incompatible con versiones antiguas
\begin{algorithm}[H] % H = forzar está posición
\caption{Máximo común divisor}\label{ML:Algorithm1}
\SetAlgoLined
\KwData{$a,\, b \in N.$}
\KwResult{MCD$(a,b)$}
\LinesNumbered
\SetAlgoVlined
$c = |a|,\; d = |b|$\;
\While{$d\neq 0$}{
$r = $rem$(c,d)$\;
$c = d$\;
$d = r$\;
}
\Return MCD$(a,b)=|c|$\;
\end{algorithm}

produce:

Personalizar el Documento

\If{ condición }{ código }

11.10 Libro con algoritmos y programas

Algoritmo 11.1: Máximo común divisor
Data: a, b ∈ N.
Result: MCD(a, b)
1 c = |a|, d = |b|;
2 while d 6= 0 do
3
r = rem(c, d);
4
c = d;
5
d = r;
6

return MCD(a, b) = |c|;

El código:
% Nuevo en la versión 5.0 (2013)
% Incompatible con versiones antiguas
\begin{algorithm}[H]
\caption{Inverso Multiplicativo mod $m$.}
\SetAlgoLined
\KwData{$a\in Z_m$}
\KwResult{$a^{-1}\mbox{mod}\;m,$ si existe.}
\LinesNumbered
\SetAlgoVlined
Calcular $x,t$ tal que $xa+tm=\mbox{\rm MCD}(a,m)$\;
\eIf{\rm MCD$(a,m)>1$}{$a^{-1}\; \mbox{mod}\; m$ no existe}{
\Return $\mbox{rem}\,(x,m).$}
\end{algorithm}

produce:

Algoritmo 11.2: Inverso Multiplicativo mod m.
Data: a ∈ Zm
Result: a−1 mod m, si existe.
1 Calcular x,t tal que xa + tm = MCD(a, m);
2 if MCD(a, m) > 1 then
3
a−1 mod m no existe
4 else
5
return rem (x, m).
El código:
% Nuevo en la versión 5.0 (2013)
% Incompatible con versiones antiguas
\begin{algorithm}[H]
\caption{Criba de Eratóstenes} \label{CribaEraostenes}
\SetAlgoLined
\KwData{$n \in\, N$}

211

11.10 Libro con algoritmos y programas

\KwResult{Primos entre $2$ y $n$}
\LinesNumbered
max$=\left[\;\frac{(n-3)}{2}\;\right]$\;
boolean esPrimo$[i],\;\;\; i=1,2,...,max$\;
\SetAlgoVlined
\For{$j=1,2,...,max$ }{ esPrimo$[j]=$True\;}

212

$i=0$\;
\While{$(2i+3)(2i+3) \leq n$}{
$k=i+1$\;
\If{\rm esPrimo$[i]$}{
\While{$(2k+1)(2i+3) \leq n$}
{
$k=k+1$\;
}}
$i=i+1$\;

}

Imprimir\;
\For{$j=1,2,...,max$ }{
\If{\rm esPrimo$[j]=$True}{Imprima $j$ } }
\end{algorithm}

produce:

Algoritmo 11.3: Criba de Eratóstenes
Data: n ∈ N
Result:h Primosi entre 2 y n
(n−3)
1 max=
;
2
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

boolean esPrimo[i], i = 1, 2, ..., max;
for j = 1, 2, ..., max do
esPrimo[ j] =True;
i = 0;
while (2i + 3)(2i + 3) ≤ n do
k = i + 1;
if esPrimo[i] then
while (2k + 1)(2i + 3) ≤ n do
esPrimo[((2k + 1)(2i + 3) − 3)/2] =False;
k = k + 1;
i = i + 1;
Imprimir;
for j = 1, 2, ..., max do
if esPrimo[ j] =True then
Imprima j

Personalizar el Documento

esPrimo$[((2k+1)(2i+3)-3)/2]=$False\;

11.11 Color para el código

11.11

Color para el código
Para agregar jerarquía al código se debe usar identación y color. Hay varios paquetes para agregar
color al código, por ejemplo minted, verbments y listings. Los paquetes minted y verbments
usan programas externos ( Python y Pygments) y requiere instalar estos programas. Listings no
requiere nada adicional. En este libro se usa listings (y un poco de minted).
Con estos paquetes se elige el lenguaje (C++, java, latex, etc.) y permiten también, entre
otras opciones, usar código LATEX para generar texto matemático para documentar el código.

11.11.1

Paquete Listings
Este paquete para resaltar código viene incluido en TeXLive y en MikTex y no necesita una
instalación adicional. Para usarlo debemos agregar en el preámbulo,
\usepackage{listings}

El entorno es como sigue,
\begin{lstlisting}[opciones]
... código...
\end{lstlisting}

También se puede usar un comando muy útil para incluir código en el texto. El comando es
\lstinline y se usa como el comando \verb.
Las opciones se pueden declarar en el preámbulo, como se puede ver en el ejemplo que sigue,

Ejemplo 11.2

(Usando Listings).

En este código se muestra como usar el paquete listings

Descargar archivo

\documentclass[12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{xcolor, pstricks}
%-----------------------------------------------------------\usepackage{listings} %
\lstset{ %
language=Pascal, % lenguaje
basicstyle=\bfseries\ttfamily,
keywordstyle=\color{blue},
commentstyle=\color{brown},
backgroundcolor=\color{gray!90},
showstringspaces=false
}
%----------------------------------------------------------\begin{document}

213

11.11 Color para el código

Usamos la instrucción \lstinline|for i:= maxint to 0 do|.\\
\begin{lstlisting}

for i:= maxint to 0 do

214

begin{
do nothing
}
end;
Write('Case insensitive');
Write('Pascal keywords');

\end{document}

produce:

Usamos la instrucción for i:= maxint to 0 do.
for i:= maxint to 0 do
begin{
do nothing
}
end;
Write('Case insensitive');
Write('Pascal keywords');

En este libro usamos listings con el paquete beramono (para las fuentes) con las opciones,
\lstset{ %
language={[LaTeX]TeX}, % lenguaje
basicstyle=\bfseries\ttfamily,
keywordstyle=\color{blue},
commentstyle=\color{brown},
backgroundcolor=\color{gray!15},
showstringspaces=false,
flexiblecolumns=true,
stringstyle=\ttfamily\color{blue},
extendedchars=true,
emph={rm,bf,it,sf}, %...
literate= %
*{$}{{{\color{red}\$}}}1 % produce $ en rojo
{$$}{{{\color{red}\$\$}}}1
% No dejar renglones en blanco

Personalizar el Documento

\end{lstlisting}

11.11 Color para el código

}%

11.11.2

Paquete minted

Instalar minted en Ubuntu
Para usar este paquete en Ubuntu debemos hacer algunos cosas previamente.

Instalar Pygmets: Se ejecuta en una terminal el código
sudo sudo apt-get install python-pygments
minted.sty ya está presente en las distribuciones TeXLive y MikTeX. Si no lo tiene lo puede

descargar aquí. Ver el apéndice 14.5.
Habilitar shell-scape: En la configuración de su editor debe buscar la opción PdfLaTeX
(o LaTeX) y agregar -shell-escape de tal manera que quede
PdfLaTeX -synctex=1 -interaction=nonstopmode --shell-escape ' %source'
Por ejemplo, en TeXMaker se vería así,

Instalar en Windows
Para usar este paquete en Windows debemos hacer algunos cosas previamente (estas intrucciones
siguen funcionando en Windows 10, instalar otra versión de Python requiere otros ajustes).

Instalar Python 2.7.2 desde http://www.python.org/. Se ejecuta python-2.7.2.msi
Descargar y ejecutar distribute_setup.py en http://python-distribute.org/
distribute_setup.py

215

11.11 Color para el código

Editar Variables de Entorno: Ir al ’Panel de Control’, luego navegar las ventanas en
este orden: System and Security, System, Advanced Systems Settings y finalmente
Advanced, en esta última ventana presiona EnvironmentVariables. En esta ventana va
a la subventana System variables, selecciona Path y presiona el botón Edit. Al final
de la línea pone un ’punto y coma’ (;) y agrega ;C:\Python27\Scripts y cierra todas las
ventanas presionando OK.

En la terminal se ejecuta el siguiente código (uno a la vez, con Enter),
easy_install pip
pip install pygments

Personalizar el Documento

Abrir una terminal (en Windows XP, Vista, 7 y 8 se puede buscar como cmd desde la campo
de búsqueda en el botón Inicio o el ícono de búsqueda en Windows 8)

216

11.11 Color para el código

217

Habilitar shell-scape: En la configuración de su editor debe buscar la opción PdfLaTeX
(o LaTeX) y agregar -shell-escape de tal manera que quede
PdfLaTeX -synctex=1 -interaction=nonstopmode -shell-escape ' %source'
ya está presente en las distribuciones TeXLive y MikTeX. Si no lo tiene lo
puede descargar aquí. Ver el apéndice 14.5.

minted.sty

Una vez completada la instalación, se debe poner en el preámbulo \usepackage{minted}. Adicionalmente se puede cambiar el estilo (que es el que define el esquema de color). Por ejemplo,
en este libro usamos el estilo vs. Para cambiar el tema default y usar este tema, se pone en el
preámbulo \usemintedstyle{vs}.
El entorno es el siguiente,
\begin{minted}[opciones]{lenguaje}
...
código
....
\end{minted}

La opción mathescape permite introducir código LaTeX solo después del símbolo de comentario
del lenguaje que se está usando.
En el ejemplo que sigue, el lenguaje que se declara es python. La opción mathescape permite
aplicar texto en modo matemático en el entorno y debe ir precedido por el símbolo de comentario
del lenguaje. El paquete minted usa la librería Pygments así que si quiere saber más de minted
hay que ver la documentación del paquete minted y la documentación de Pygments.
En el ejemplo que sigue se muestran otras opciones.

Ejemplo 11.3

(Usando minted).

El texto:
\documentclass{article}

Descargar archivo

11.11 Color para el código

\usepackage{amsmath}
\usepackage[latin1]{inputenc}
\usepackage{minted} % minted requiere Python, Pygments
% y habilitar 'shell escape'
\usemintedstyle{vs} % Estilo vs

218

\begin{document}
\begin{minted}[mathescape, frame=lines, fontseries=b,
rulecolor=\color{gray}]{python}

def sum_from_one_to(n):
r = range(1, n + 1)
return sum(r)
\end{minted}
\end{document}

produce:
# Suma de los primeros naturales,
n

# Returns

∑i

i=1

def sum_from_one_to(n):
r = range(1, n + 1)
return sum(r)

11.11.3

Paquete verbments
La instalación sigue los mismos pasos que la instalación de minted. Este paquete es parecido
a minted pues está basado también en Pygments, así que las opciones serán familiares. Tiene la
ventaja de que el código se divide si queda entre dos páginas y se puede poner el tema directamente
en las opciones. También las opciones se pueden declarar al inicio del documento. Para usar el
paquete debemos poner en el preámbulo \usepackage{verbments}. El entorno sería algo como,
\begin{pyglist}[language=java,caption={Nombre del programa},otras opts]
... codigo
\end{pyglist}

Cuando se usan muchas opciones, como en el ejemplo que sigue, es mejor declararlas antes con
los comandos fvset y plset.
Nota: Igual que minted, puede agregar texto en modo matemático. El texto matemático debe de

ir precedido por el símbolo usado para los comentarios, en el caso de Java sería // $ ....$).

Personalizar el Documento

# Suma de los primeros naturales,
# Returns $\displaystyle\sum_{i=1}^{n}i$

11.11 Color para el código

Debe agregar la opción mathescape=true.
Nota: Este paquete viene con la versión

TeXLive más reciente. Si tiene una versión anterior, debe obtener la versión del archivo verbments.sty del 2011 o la más reciente. El archivo verbments.sty se puede obtener en http://texcatalogue.sarovar.org/entries/

verbments.html

Ejemplo 11.4

(Usando verbments).

Este ejemplo supone que se va a usar el lenguaje java. El código:
\documentclass{article}
\usepackage{verbments} %Requiere Python, Pygments y Habilitar 'shell escape'
\definecolor{verbmentsbgcolor}{rgb}{0.9764, 0.9764, 0.9762}
\definecolor{verbmentscaptionbgcolor}{rgb}{0.1647, 0.4980, 1}
\begin{document}
%opciones verbments---------------------------------------------------------\fvset{frame=bottomline,framerule=0.01cm}
\plset{language=java,texcl=true,style=vs, %
listingnamefont=\sffamily\bfseries\color{white}, %
bgcolor=verbmentsbgcolor,captionfont=\sffamily\color{white}, %
captionbgcolor=verbmentscaptionbgcolor, listingname=\textbf{Programa}}
%Entorno ------------------------------------------------------------------\begin{pyglist}[caption={Imprimir.java}]
import javax.swing.*;
import java.awt.*;
public class app_prg1 extends JApplet
{ public void init(){}
public void paint ( Graphics g ){
g.drawString(" 3 +46 = "+(3+46),30, 30 );}
}
\end{pyglist}
\end{document}

produce:
Programa 11.1: Imprimir.java
import javax.swing.*;
import java.awt.*;
public class app_prg1 extends JApplet
{ public void init(){}
public void paint ( Graphics g ){
g.drawString(" 3 +46 = "+(3+46),30, 30 );}
}

219

11.12 LaTeX, R y Knitr

11.12

LaTeX, R y Knitr
El paquete knitr permite combinar código R y figuras en documentos LaTeX. Estos documentos
son archivos .Rnw.

220

El proceso de “tejer” (weaving) un archivo .Rnw, implica la ejecución de código R insertado en el
documento LaTeX. El paquete knitr se puede usar integrado con RStudio.
extrae código R en el documento de entrada, lo evalúa y escribe los resultados en el
documento de salida. Hay dos tipos de código R que podemos insertar en un documento LaTeX,
trozos (chunks) de código (como párrafos separados) y código R en línea.

Knitr

Personalizar el Documento

Instalar el paquete Knitr
El código LaTeX y los trozos (“chunks”) de código R insertados, se editan en un archivo .Rnw. Hay
que indicarle a RStudio que use knitr para correr e incluir (“weaving”) estos archivos. Debemos
ir al menú Tools - Global Options - Swave y elegir en la pestaña Weave Rnw files using
la opción knitr.

Luego instalamos el paquete knitr de la manera usual: Tools-install Packages.

Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

11.12 LaTeX, R y Knitr

221

Editar
Para editar en RStudio, se abre un archivo nuevo “R Sweave” (o un archivo .Rnw) y los trozos de
código R se insertan entre las líneas

<< opciones >>=
... código R
@

Por ejemplo, si instalamos el paquete ggplot2, podemos compilar el código

% Abrir en RStudio y guardar como nombre.Rnw
\documentclass{book}
\usepackage[english,spanish, es-tabla]{babel}
\usepackage[latin1]{inputenc}
\begin{document}
\chapter{Knitr}
\section{plot}
Un gráfico
% Insertar código R
<<>>=
library(ggplot2)
qplot(speed,dist,data=cars)+geom_smooth()
@
\end{document}

y obtenemos

11.12 LaTeX, R y Knitr

222

También podemos agregar opciones al gráfico del ejemplo anterior,
<>=
library(ggplot2)
qplot(speed,dist,data=cars)+geom_smooth()
@

Las opciones permitidas se pueden ver en http://yihui.name/knitr/options/.

Variables y código R en el texto.
El siguiente código muestra cómo se combina el código LaTeX y el código R en otro nivel.
El comando \Sexpr ejecuta código R en el texto, en este caso una operación con una variable
definida previamente (delta).
Descargar archivo

% Abrir en RStudio y guardar como nombre.Rnw
\documentclass{book}
\usepackage[english,spanish, es-tabla]{babel}
\usepackage[latin1]{inputenc}
\begin{document}
\section{Variables}
$\delta$ es una variable, en principio $\delta=4.$\\
<>=
delta=4
@
\bigskip
El cuadrado de $\delta$ es \Sexpr{delta^2},
al menos hoy \Sexpr{format(Sys.Date(), format=" %A, %e %B % Y")}!

Personalizar el Documento

Figura 11.12. LaTeX y R en RStudio con Knitr

11.12 LaTeX, R y Knitr

\end{document}

223

Incluir tablas con xtable y stargazer
stargazer es un paquete R que crea código LaTeX para tablas de regresión correctamente
formateadas, así como cuadros estadísticos de resumen.

% Abrir en RStudio y guardar como nombre.Rnw
% Instalar los paquetes xtable y stargazer
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage[latin1]{inputenc}
\begin{document}
\section{Incluir tablas}
<>=
#install.packages("xtable")
library(xtable)
d<-data.frame(tail=c(12,11,32,0),legs=c(4,4,4,2),height =c(31,35,62,68))
d
xtable(d)
@
<>=
#install.packages("stargazer")
library(stargazer)
stargazer(d)
@
\end{document}

11.12 LaTeX, R y Knitr

224

Al agregar el archivo de diseño en el preámbulo hay que tener el cuidado de que el nombre no
tenga guiones bajos.
\documentclass{book}
\usepackage[margin=1in]{geometry}
\input{RevistaMatematicaITCREstiloLibroLaTeXB.tex} % sin guiones bajos...
%\usepackage[english,spanish, es-tabla]{babel}
%\usepackage[latin1]{inputenc}
\begin{document}

Personalizar el Documento

Archivos de diseño
Al compilar un archivo .Rnw se produce también un archivo .tex. Para agregar diseño al
documento .tex se puede usar este último archivo, agregar el paquete de diseño, y compilar en
un editor dedicado (Texmaker, Kile, etc.).

11.12 LaTeX, R y Knitr

225

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

12

Presentaciones con Beamer

Introducción
“ Beamer” es una clase LaTeX (\documentclass{beamer}) que se usa para generar transparencias
para presentaciones (al estilo Power Point). Se compila con LaTeX+dvips o PDFLaTeX y se usa
código LaTeX estándar.
La versión actual (diciembre 2013) es Beamer 3.33. Beamer viene incluido en TeXLive y en
MikTeX. Si tiene una instalación completa, puede usar Beamer sin problemas. La documentación
la puede encontrar en ‘The Beamer Class’.
Un documento Beamer consiste de una sucesión de marcos (frames). En el caso más simple, un
marco solo contiene una transparencia. Un ejemplo de transparencia (usando el tema personalizado) se ve en la figura 12.1.

Figura 12.1. Transparencia Beamer.

Presentaciones con Beamer

12.1

226

12.2 Un documento Beamer

12.2

Un documento Beamer
La estructura general de un posible documento Beamer podría ser,
\documentclass{beamer}
\usepackage{amsmath,amssymb,amsfonts,latexsym,stmaryrd}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
% Conversión eps to pdf, requiere habilitar shell-escape.
% Texlive 2010 o superior No lo necesita
%\usepackage{epstopdf}
%\DeclareGraphicsExtensions{.pdf,.png,.jpg}
\usefonttheme{professionalfonts} % fuentes de LaTeX
\usetheme{Warsaw}

% Tema escogido en este ejemplo

\setbeamercovered{transparent} % Velos
\newtheorem{teo}{Teorema}
\newtheorem{ejemplo}{Ejemplo}
\newtheorem{defi}{Definición}
\newtheorem{coro}{Corolario}
\newtheorem{prueba}{Prueba}
\begin{document}
\title{Factorización en $Z_p[x]$ y en $Z[x].$\\}
\subtitle{Parte I}
\author{{\bf Prof. Walter Mora F.}\\
{Escuela de Matemática, ITCR}\\
{http://www.tec-digital.itcr.ac.cr/revistamatematica/}\\
\vspace*{0.5cm}}
\date{Junio 2007}
\frame{\titlepage}
\section{ Primera sección}
\begin{frame}{Título de este marco}
% texto
\end{frame}
\begin{frame}{Título de este marco}
% texto
\end{frame}
\end{document}

Compilar
Un documento Beamer se puede compilar directamente con PDFLaTeX o con LaTeX-dvips

227

12.2 Un documento Beamer

.

Si instaló la distribución TeXLive 2009 o menos o MiktEx2.9 o menos y si compila con
PDFLaTeX, no habrá problemas con las figuras en formatos .pdf, .jpg, .png.
Si necesita usar figuras .eps podría agregar el paquete epstopdf y habilitar shell
Ver apéndice 14.11.

escape.
.

Si instaló la distribución TeXLive 2010 o superior, y si compila con PDFLaTeX, no
habrá problemas con las figuras en formatos .pdf, .jpg, .png,.eps.

228

En ambos casos podría, si le parece conveniente, declarar las extensiones para incluir
figuras sin hacer referencia a la extensión.
\DeclareGraphicsExtensions{.pdf,.png,.jpg}

Si compila con LaTeX puede usar figuras .eps (hay paquetes que permiten habilitar
otros formatos como .svg, etc.)

La primera transparencia del código anterior se muestra en la figura 12.2

Figura 12.2. Transparencia Beamer. Tema Warsaw
Beamer

carga (por default) el paquete ‘graphicx’ para el soporte de gráficos.

La lista parcial de temas que viene con Beamer es
\usetheme{Bergen}

\usetheme{Hannover}

\usetheme{Boadilla}

\usetheme{Luebeck}

\usetheme{Warsaw}

\usetheme{AnnArbor}

Los temas de la versión actual (Beamer 3.26 al 2013) se pueden ver en la documentación
del paquete,

Presentaciones con Beamer

.

12.3 Marcos (frames)

http://www.tex.ac.uk/tex-archive/macros/latex/contrib/beamer/doc/
beameruserguide.pdf

En Internet hay otros tantos temas Beamer disponibles, usualmente temas de particulares o
instituciones pero de distribución libre. Los temas se pueden personalizar (ver [16]).

12.3

Marcos (frames)
El uso más común de un marco (frame) es poner una lista de items

Ejemplo 12.1
\begin{frame}
\frametitle{Campo Galois $GF(p^r)$}
\framesubtitle{Resumen}
\begin{enumerate}
\item Todo dominio integral

{\em finito} es un campo\\

\item Si $F$ es un campo con $q$ elementos, y $a$
es un elemento no nulo de $F$, entonces $a^{q-1}=1$\\
\item Si $F$ es un campo con $q$ elementos, entonces cualquier
$a \in \, F$

satisface la ecuación $x^q-x=0$\\

\end{enumerate}
\end{frame}

Figura 12.3. Marco Beamer. Tema Warsaw

229

12.4 Velos (overlays)

12.4

Velos (overlays)
En una presentación puede ser deseable que los ítems vayan apareciendo uno a al vez, mientras
los otros permanecen con un velo (formalmente “una capa”). Esto se puede lograr agregando la
opción [<+->] a los entornos enumerate o itemize. Un ejemplo se muestra en la figura 12.4.

230

Ejemplo 12.2
\begin{frame}
\frametitle{Campo Galois $GF(p^r)$}
\framesubtitle{Resumen}
\begin{enumerate}[<+->]

% <- Nueva opción

nulo de $F$.

Si $n$ es el orden de $a$, entonces $n|(q-1)$.

\item Sea $p$ primo y $m(x)$ un polinomio irreducible de grado
$r$ en $Z_p[x]$.
Entonces la clase residual $Z_p[x]/\equiv_{m(x)}$ es un campo
con $p^r$ elementos que contiene $Z_p$ y una raíz de $m(x)$.
\item Sea $F$ un campo con $q$ elementos.
Entonces $q=p^r$ con $p$ primo y $r \in \, N$
\end{enumerate}
\end{frame}

velos

Figura 12.4. Marco Beamer con dos “velos”.

Opciones  y \uncover

Presentaciones con Beamer

\item Sea $F$ un campo con $q$ elementos y $a$ un elemento no

En vez de usar la opción [<+->] en el entorno enumerate (o itemize), se puede agregar un
comportamiento un poco más dinámico usando las opciones  y \uncover{texto}.
Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

12.4 Velos (overlays)

Con estas opciones podemos controlar la secuencia en la que se presentan distintas líneas en una
transparencia.

indica que este ítem se presenta en la i−ésima transparencia. En la práctica se
puede ver como la misma transparencia con un velo menos.
\item

\uncover{texto}

indica que este texto se presenta en la i−ésima transparencia

Por ejemplo, en la siguiente transparencia, se quiere mostrar inicialmente una ecuación y la solución, ambos ítems se marcan con <1->. Después se muestra el procedimiento, que corresponde a
los ítems <2->,<3->,<4->

Ejemplo 12.3
\begin{frame}{Ejemplo}
\begin{enumerate}
\item<1-> $x^4-x=0$

%

<1->

%

<1->

\item<2-> $x(x^3-1)=0$
\item<3-> $x =0 \;$ o $\;x^3-1=0$
\item<4-> $x =0 \;$ o $\;x=\sqrt[3]{1}$
\item<1-> $\Longrightarrow x=0,\; x=1$
\end{enumerate}
\end{frame}

Figura 12.5. Marco Beamer con overlays.

Un ejemplo del comando \uncover se presenta más adelante, en la sección 12.9.

231

12.4 Velos (overlays)

Opción 
Esta opción se usa igual que en los casos anteriores. Lo nuevo es que la nueva transparencia
descubre en color rojo el nuevo ítem.

232

Ejemplo 12.4
\begin{frame}{Ejemplo}
\begin{enumerate}
\item<1-|alert@1> $x^4-x=0$

% <-

\item<2-|alert@2> $x(x^3-1)=0$
\item<3-|alert@3> $x =0 \;$ o $\;x^3-1=0$
\item<1-|alert@1> $\Longrightarrow x=0,\; x=1$

% <-

\end{enumerate}
\end{frame}

Nota: Si solo queremos el efecto de ‘alerta’ en cada ítem, podemos poner
\begin{frame}{Ejemplo}
\begin{enumerate}[<+-| alert@+>]

% <- opción

\item $x^4-x=0$
\item $x(x^3-1)=0$
\item $x =0 \;$ o $\;x^3-1=0$
\item $x =0 \;$ o $\;x=\sqrt[3]{1}$
\item $\Longrightarrow x=0,\; x=1$
\end{enumerate}
\end{frame}

Figura 12.6. Marco Beamer con opciones 

Presentaciones con Beamer

\item<4-|alert@4> $x =0 \;$ o $\;x=\sqrt[3]{1}$

12.5 Comando pause

12.5

Comando pause
Para crear un velo, se puede usar \pause. Si solo se usa una vez, se cubre la parte del marco que
está después de \pause y se puede usar varias veces en el marco si queremos fragmentar los velos
(ver el ejemplo 12.5)

233
12.6

Entornos para teoremas, definición, etc.
Ya habíamos puesto en el preámbulo nuestras definiciones para los entornos de Teorema,
Definición, etc. Estos entornos se usan igual que enumerate

Ejemplo 12.5
\begin{frame}{Campo Galois $GF(p^r)$}
\begin{teo}

%definido en el preámbulo

Sea $F$ un campo y $P(x)$ mónico en $F[x],$ grado $P(x)\geq 1$.
...
\end{teo}
\pause

% <---- PAUSA

\begin{ejemplo}

% Entorno definido en el preámbulo

Sea $P(x)=x^3-2 \in\,Q[x]$. $P(x)$ es irreducible. Aunque tiene una
raíz en $R,$ a saber $2^{1/3}$, $R$ no es un campo de escisión para $P.$
\end{ejemplo}
\end{frame}

Figura 12.7. Entornos Teorema y Ejemplo.

12.7 Blocks.

Nota: Beamer tiene su propio entorno para ejemplos, teoremas, definiciones, etc.

El idioma se puede cambiar en el archivo (el paquete babel podría presentar choques con Beamer)
...\tex\latex\beamer\base\beamerbasetheorems.sty

12.7

234

Blocks.

Ejemplo 12.6
\begin{frame}{Nodos igualmente espaciados}
\begin{block}{Diferencias hacia adelante}
\begin{eqnarray*}
\Delta^0 y_k&:=&y_k,\\
...
\end{eqnarray*}
\end{block}
\end{frame}

Figura 12.8. Block.

Presentaciones con Beamer

La numeración y la etiqueta de los entornos teorema, definición, etc., son adecuados para
notas de clase, libros o artículos, es decir, en contextos donde el público puede acceder al material
escrito porque la numeración de teoremas es algo complicado de recordar (recuerden el sufrido
libro de Jean Dieudonne, “Foundations of Modern Analysis”). En una presentación es mejor
indicar las cosas con nombre fáciles de recordar, como “Teorema de Rolle”, etc. El entorno Block
es solo un caja sin etiqueta de entorno y sin numeración; la ventaja es que nos permite poner
nombres arbitrarios a las cajas. Veamos un ejemplo,

12.8 Opción fragile

12.8

Opción fragile
Se debe usar la opción fragile en un marco que contiene verbatim, algorithm2e, etc. Un
ejemplo típico, es presentar el código de un programa (ver figura 12.9),

235

Ejemplo 12.7
\begin{frame}[fragile]
\frametitle{Ejemplo Java}
\begin{verbatim}
import javax.swing.*;
import java.awt.*;
public class app_prg1 extends JApplet
{public void init(){}
public void paint ( Graphics g )
{g.drawString(" 3 +46 = "+(3+46),30, 30 );}
}
\end{verbatim}
\end{frame}

Figura 12.9. Opción fragile.

12.9
12.9.1

Entornos para código de programas
Entorno semiverbatim
A veces es adecuado mostrar el código de un programa en bloques de una manera no necesariamente lineal. Para esto usamos recubrimientos y un ambiente semiverbatim.
\alert{texto}

para poner el texto en rojo.

12.9 Entornos para código de programas

\uncover{...}

para controlar la secuencia de recubrimientos dentro del entorno

semiverbatim

para mostrar texto en la transparencia i pero fuera del entorno
semiverbatim. Se podrían usar los siguientes comandos,

\visible{texto}

236

Ejemplo 12.8
\begin{frame}[fragile] % "fragile" es obligatorio
\frametitle{Un algoritmo para buscar números primos}
\uncover<1->{\alert<0>{int main (void)}}
\uncover<1->{\alert<0>{\{}}
\uncover<1->{\alert<1>{ \alert<4>{std::}vector is_prime(100,true)}}
\uncover<1->{\alert<1>{ for (int i = 2; i < 100; i++)}}
\uncover<2->{\alert<2>{ if (is_prime[i]))}}
\uncover<2->{\alert<0>{ \{}}
\uncover<3->{\alert<3>{ \alert<4>{std::}cout << i << " ";}}
\uncover<3->{\alert<3>{ for (int j = 1; j < 100;}}
\uncover<3->{\alert<3>{ is_prime [j] = false, j+=i);}}
\uncover<2->{\alert<0>{ \}}}
\uncover<1->{\alert<0>{ return 0;}}
\uncover<1->{\alert<0>{\}}}
\end{semiverbatim}
\visible<4->{Notar el uso de \alert{\texttt{std::}}.}
\end{frame}

Figura 12.10. semiverbatim

Presentaciones con Beamer

\begin{semiverbatim}

12.9 Entornos para código de programas

12.9.2

Iluminar código de lenguajes de programación.
Para agregar color de manera automática al código de un lenguaje de programación se puede usar
los paquetes minted, verbments o listings. Los dos primeros, posiblemente los más eficientes,
necesitan instalar programas externos. listings se puede usar directamente.
Los detalles de la instalación de minted y verbments ( Windows-Ubuntu) los puede ver en la
sección respectiva.
Los tres entornos se pueden usar con Beamer. Por ejemplo, para usar minted ponemos en el
preámbulo \usepackage{minted}. En Windows podría usar \usepackage{lstlisting}.
Ejemplo 12.9
\begin{frame}[fragile]{Programación java}

% fragile

\begin{minted}[frame=lines, rulecolor=\color{gray}]{java}
import javax.swing.*;
import java.awt.*;
public class app_prg1 extends JApplet
{ public void init(){}
public void paint ( Graphics g ){
g.drawString(" 3 +46 = "+(3+46),30, 30 );}
}
\end{minted}
\end{frame}

Figura 12.11. Paquete minted en Beamer

237

12.10 Beamer y el paquete algorithm2e

12.10

Beamer y el paquete algorithm2e
En esta sección vamos a ver un ejemplo en el que se usa el paquete algorithm2e (ver sección
11.10.1) en un entorno frame. Para este ejemplo, se puso en el preámbulo

238
%En el preámbulo
\usepackage[ruled,vlined,lined,linesnumbered,algosection,spanish]{algorithm2e}

Observe que necesitamos la opción fragile para frame y la opción [H] para algorithm.

\begin{frame}[fragile]
\begin{algorithm}[H] % <- necesario
\SetAlgoLined
\KwData{$(x_0,y_0),...,(x_m,y_m)$}
\KwResult{Coeficientes $\alpha_0,\alpha_1,...,\alpha_m$
en la base $\{X^{(0)},...,X^{(n)}\}$. }
\LinesNumbered
$a_0=y_0$\;
$s=\alpha_j-\alpha_0$\;
$f=x_j-x_0$\;
\SetAlgoVlined
...
\Return $\alpha_j=s/f$ \;
\end{algorithm}
\end{frame}

Figura 12.12. Beamer con algorithm2e

Presentaciones con Beamer

Ejemplo 12.10

12.11 Gráficos

12.11

Gráficos
La inclusión de gráficos se hace de la misma manera que un documento LaTeX usual (ver capítulo
7). Como dijimos antes,
1 Si instaló la distribución TeXLive 2009 o menos o MiktEx2.9 o menos y si compila con
PDFLaTeX,

no habrá problemas con las figuras en formatos .pdf, .jpg, .png. Si necesita
usar figuras .eps podría agregar el paquete epstopdf y habilitar shell escape. Ver 14.11.

2 Si instaló la distribución TeXLive 2010 o superior, y si compila con PDFLaTeX, no habrá

problemas con las figuras en formatos .pdf, .jpg, .png,.eps. En ambos casos podría,
si le parece conveniente, declarar las extensiones para incluir figuras sin hacer referencia a
la extensión.
\DeclareGraphicsExtensions{.pdf,.png,.jpg}

3 Si compila con LaTeX puede usar figuras .eps (hay paquetes que permiten habilitar otros

formatos como .svg, etc.)

Ejemplo 12.11
% Requiere paquetes graphicx y caption
\begin{frame}{Superficie $S$ y proyección}
\centering
\includegraphics{images/B_fig12.pdf} %compilando PDFLaTeX
\captionof{figure}{Superficie $S$}\label{Beamer:fig12}
\end{frame}

Figura 12.13. Incluir un gráfico

239

12.12 Ligas y botones.

12.12

Ligas y botones.
Digamos que queremos poner un botón para ir a la transparencia j desde la transparencia i y,
además, poner un botón en la transparencia j de retorno.
Para esto usamos ligas simples o botones: \beamergotobutton y \beamerreturnbutton.

240

Cada marco debe tener una identificación de marco y un marco destino.
\hyperlink{identificación del marco}{botón + texto}
\hypertarget<2>{identificación del destino}{}

\begin{frame}{MARCO 1}
\hyperlink{MARCO1}{\beamergotobutton{Ir a Marco 2}}
\hypertarget<2>{MARCO2}{}
\end{frame}
\begin{frame}{MARCO 2}
\hyperlink{MARCO2}{\beamerreturnbutton{Regresar a Marco 1}}
\hypertarget<2>{MARCO1}{}
\end{frame}

Figura 12.14. Ligas

También se puede incorporar ligas sin botones,

\begin{frame}{MARCO 3}
\hyperlink{MARCO3}{$>$ Ir a Marco 4}
\hypertarget<2>{MARCO4}{$<$}
\end{frame}
\begin{frame}{MARCO 4}
\hyperlink{MARCO4}{Regresar a Marco 3}
\hypertarget<2>{MARCO3}{}
\end{frame}

Presentaciones con Beamer

Ejemplo 12.12

12.13 Efectos de Transición. Color

12.13

Efectos de Transición. Color
Un efecto de transición de una transparencia A a una transparencia B, se puede lograr poniendo el
comando respectivo en cualquier parte de la transparencia B. El efecto se logra ver solo a pantalla
completa.

Otros efectos
.

\transblindshorizontal

.

\transblindsvertical<2,3>

.

\transboxin

.

\transboxout

.

\transglitter<2-3>[direction=90]

.

Se pueden incluir películas, animaciones, etc. con \usepackage{multimedia}, etc.

En el ejemplo que sigue, además de poner un efecto de transición vamos a crear una entorno
tabular con las filas con color azul, específicamente ZurichBlue. Necesitamos hacer dos cosas
en el preámbulo para que todo esto funcione,
.

\documentclass[xcolor=pdftex,table]{beamer}.
Beamer

.

La opción “table” le informa a
que el paquete colortbl debe ser cargado para poder usar la opción \rowcolors

\definecolor{ZurichBlue}{rgb}{.255,.41,.884}.Con

esto definimos lo que será
nuestro ZurichBlue. En el código que sigue, el color se pone en distintos porcentajes.

Ejemplo 12.13
%\documentclass[xcolor=pdftex,table]{beamer}
%\definecolor{ZurichBlue}{rgb}{.255,.41,.884}
\begin{frame}
\transdissolve

% <--- Efecto de transición

\begin{center}
\rowcolors{1}{ZurichBlue!20}{ZurichBlue!5} %Porcentaje de color
\begin{tabular}{|l|l|c|}\hline
Enteros

&long & de $-2^{63 }$ a $2^{63}-1$\\\hline

...
\end{tabular}
\end{center}
\end{frame}

241

12.14 Ligas a Documentos Externos

242

12.14

Ligas a Documentos Externos
Para hacer ligas a documentos externos podemos usar el comando
\href{http://...}{ texto}

Ejemplo 12.14

El código:
\parbox{3cm}{
\href{http://www.tec-digital.itcr.ac.cr/revistamatematica/cursos-linea/
3D-Web/exersolido21.html}{
\includegraphics[width =3cm]{images/exersolido21}}
}\parbox{12cm}{Sólido $Q_{14}$ limitado por las
superficies $y=2-2x^2;$ $y=1-x^2;\;\;y+2z=2;\;\;x=0$ y $z=0;$ en el
I octante.}\\

produce: (puede hacer clic sobre el gráfico)
Z

1

1
1

2

Y

Sólido Q14 limitado por las superficies y = 2 − 2x2
y = 1 − x2 ; y + 2z = 2; x = 0 y z = 0; en el I octante.

X

Liga a un documento en el disco duro, por ejemplo

Presentaciones con Beamer

Figura 12.15. Transición y Color

12.15 Animaciones

El código del programa está aquí
El código del programa está
\href{file://C:/MiJava/programa1.java}{\underline{aquí}}

Otras ligas:
Prof. Walter Mora F. (wmora2@gmail.com)
En la revista digital Matemática, Educación e Internet encontrará el Manual de LaTeX, en
la liga “Libros”
Prof. Walter Mora F.
{\href{mailto:wmora2@gmail.com}{(wmora2@gmail.com)}\\
En la revista digital Matemática, Educación e Internet
encontrará \href{http://www.tec-digital.itcr.ac.cr/revistamatematica/
}{\underline{el Manual de LaTeX},} en la liga ``Libros''\\

12.15

Animaciones
Se puede preparar una animación simplemente desplegando una secuencia de gráficos, por ejemplo

\begin{frame}
\frametitle{Mi animación}
\begin{figure}[t]
\centering
\includegraphics<1>[scale=0.2]{images/picture_1.pdf}
\includegraphics<2>[scale=0.2]{images/picture_2.pdf}
\includegraphics<3>[scale=0.2]{images/picture_3.pdf}
\includegraphics<4->[scale=0.2]{images/picture_4.pdf}
\end{figure}
\end{frame}

12.16

Multicolumnas.
Las cajas que se realizan en una diapositiva con beamer (teoremas, definiciones, bloques) se pueden acomodar en varias columnas, esto usualmente no se utiliza mucho en presentaciones pero sí
se utiliza bastante si lo que se quieren hacer son posters o panfletos (tal como se muestra en el
capítulo 13).
Para realizar multicolumnas con beamer se utilizan los entornos columns y column, lo mejor
es definir el tamaño de las columnas de acuerdo al ancho del documento, observe el siguiente
ejemplo.

243

12.16 Multicolumnas.

Ejemplo 12.15
\begin{frame}{Multicolumnas}
\begin{columns}[t]
\begin{column}{.48\linewidth}
\begin{block}{Bloque 1}

244

Bloque de la primera columna
\end{block}
\end{column}
\begin{column}{.48\linewidth}
\begin{block}{Bloque 2}
Bloque en la segunda columna

\begin{block}{Bloque 3}
Bloque en la segunda columna
\end{block}
\end{column}
\end{columns}
\end{frame}

Figura 12.16. Multicolumnas.

En este caso se hicieron dos columnas dentro del ambiente columns, el ancho de cada una de
ellas se definió como .48\linewidth que es un poquito menos que el ancho de la página, esto se
hace para dejar un espacio pequeño entre las columnas y la diapositiva. Si se hacen tres columnas
y se quiere que todas tengan el mismo ancho se puede utilizar .3\linewidth para cada una de
ellas.

Presentaciones con Beamer

\end{block}

12.17 Color y otros ajustes

12.17

Color y otros ajustes
Aunque los temas ya tienen un buen diseño de color, podría ser que uno quiera personalizar algunas cosas sin tocar el código fuente del tema. En el siguiente código se muestra como
hacer cambios en el color y el idioma. Los colores que se muestran son solo para efectos de ilustrar.

245
\documentclass[12pt]{beamer}
\usepackage[latin1]{inputenc}
\usetheme{Warsaw}
%-- Cambios en el idioma ------\uselanguage{spanish}
\languagepath{spanish}
\deftranslation[to=spanish]{Theorem}{Teorema}
\deftranslation[to=spanish]{theorem}{Teorema}
\deftranslation[to=spanish]{Example}{Ejemplo}
\deftranslation[to=spanish]{example}{Ejemplo}
%...
%-------------------------------%-- Cambios en el color ------% Define el color:
\definecolor{miazul}{rgb}{0.137,0.466,0.741}
% Lo aplica al fg="foreground"
\setbeamercolor{structure}{fg=miazul}
% Define el color:
\definecolor{mivioleta}{RGB}{216,203,230}
% Lo aplica al bg="background"
\setbeamercolor{background canvas}{bg=mivioleta}
% Otras opciones....
% Color de fuente
\setbeamercolor{normal text}{fg=white}
% Background de los entornos teorema, defi, etc.
\setbeamercolor{block body}{fg=black,bg=blue!40}
%-------------------------------\begin{document}
%...
\begin{frame}{Series alternadas}
% ...
\end{frame}
%...
\end{document}

12.17 Color y otros ajustes

246

Presentaciones con Beamer

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

13
13.1

247
Posters y Trípticos (Brochures)

Introducción
Con LATEX es posible realizar posters y trípticos (panfletos o brochures).
Para realizar los posters se puede utilizar la clase “ Beamer” esta es una clase de LaTeX que se
usa para generar transparencias para presentaciones al estilo Power Point (ver el capítulo 12). Para
hacer los posters se utiliza el paquete beamerposter, un ejemplo se puede ver en la figura 13.1.

Figura 13.1. Ejemplo de poster con beamer.

Para los panfletos (brochures) también se puede utilizar la clase beamer o la clase leaflet que es
especializada para ello, en el libro se va a explicar la creación de panfletos con ambas clases.
Un ejemplo de brochure utilizando beamer se puede observar en la figura 13.2(a), otro ejemplo
utilizando leaflet se puede observar en la figura 13.2(b).

13.2 Posters

248

(b) Panfleto con leaflet

Figura 13.2. Panfletos (brochures o trípticos)

13.2

Posters
Existen distintas clases para realizar posters en LATEX, entres las más comunes están a0poster,
sciposter y beamer.
En el libro se mostrará la forma en que se puede realizar un poster utilizando la clase beamer
con el paquete beamerposter. Se mostrará sólo la utilización de esta clase ya que se considera
bastante sencilla de implementar y con un acabado final muy bueno.
La estructura general de un posible documento de LATEXpara producir un poster con Beamer podría
ser,
Descargar archivo

\documentclass{beamer}
\usepackage[orientation=portrait,size=a0,scale=1.4,debug]{beamerposter}
\mode {
\usetheme{Warsaw}
}

Posters y Trípticos (Brochures)

(a) Panfleto con beamer

13.2 Posters

\usefonttheme[onlymath]{serif}
\boldmath
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{amsmath,amsthm, amssymb, latexsym}
\title[Posters]{\VERYHuge Haciendo un poster en \LaTeX}
\author[Alex]{\huge Alexander Borbón Alpízar}
\institute[ITCR]{\Large Instituto Tecnológico de Costa Rica}
\date{Enero-Febrero, 2013}
\begin{document}
\begin{frame}[plain]{}
\maketitle
\vfill
\begin{block}{\large Fontsizes}
\bc
{\tiny tiny}\par
{\scriptsize scriptsize}\par
{\footnotesize footnotesize}\par
{\normalsize normalsize}\par
{\large large}\par
{\Large Large}\par
{\LARGE LARGE}\par
{\veryHuge veryHuge}\par
{\VeryHuge VeryHuge}\par
{\VERYHuge VERYHuge}\par
\end{block}
\vfill
\begin{columns}[t]
\begin{column}{.48\linewidth}
\begin{block}{Introducción}
En este artículo...
\end{block}
\end{column}
\begin{column}{.48\linewidth}
\begin{block}{Sección 2}
\begin{itemize}
\item item 1 y $\int f(x) dx$
\item item 2
\end{itemize}
\end{block}
\begin{block}{Sección 3}
\begin{itemize}
\item item 1
\item item 2

249

13.2 Posters

\end{itemize}
$\int f(x) dx$
\end{block}
\end{column}
\end{columns}

250

\end{frame}
\end{document}

Lo cual, al compilarlo con PDFLaTeX produce un poster sencillo, dicho poster se muestra en la
13.3.

Como se puede notar el tipo de documento es beamer, pero en este caso se utiliza el paquete
beamerposter para extenderlo de forma tal que permita trabajar con un tamaño de página
grande. Dentro de las opciones del paquete se utilizaron:
.

orientation: Esta se refiere a la orientación de la hoja, puede recibir portrait o lands-

cape ya sea si la página se quiere vertical u horizontal.
.

size:

Se refiere al tamaño de la hoja, para posters los más comunes son a0, a1 y a2,
sin embargo también se puede utilizar a3 y a4. en la siguiente tabla se muestran las
medidas para estos tamaños:

Posters y Trípticos (Brochures)

Figura 13.3. Poster sencillo. Tema Warsaw

13.2 Posters

Tamaño
a0
a1
a2
a3
a4
.

Dimensiones
84.1cm x 118.9cm
59.4cm x 84.1cm
42cm x 59.4cm
29.7cm x 42cm
21cm x 29.7cm

escale:

Es la escala a la cual se presentarán los elementos en el poster, el tamaño
normal es 1, entre mayor sea el número los elementos saldrán más grandes.

Posteriormente se indica que se debe utilizar el tema Warsaw en modo presentación.
\mode {
\usetheme{Warsaw}
}

Tal como se vió en el capítulo 12 sobre beamer, con sólo cambiar el tema se puede obtener
una nueva combinación de colores, esta es una gran ventaja ya que se pueden obtener posters
muy distintos sólo cambiando el tema. En Internet se pueden conseguir temas exclusivos
para posters. Recuerde además que los temas se pueden personalizar y se pueden crear
temas propios.
Las líneas
\usefonttheme[onlymath]{serif}
\boldmath

le dan formato al texto matemático poniéndole como fuente serif en negrita.
Lo siguiente es definir el título, autor, institución y fecha para que beamer realice automáticamente el título del poster
\title[Posters]{\VERYHuge Haciendo un poster en \LaTeX}
\author[Alex]{\huge Alexander Borbón Alpízar}
\institute[ITCR]{\Large Instituto Tecnológico de Costa Rica}
\date{Enero-Febrero, 2013}

Los datos opcionales (que se dan entre corchetes) usualmente se utilizan para otros lugares
en el poster, por lo general en la zona de abajo.
En algunos temas de beamer, sobre todo los que están pensados para beamerposter el título
sale automáticamente en el frame, si esto no ocurre se debe poner el comando maketitle.
En el cuerpo del documento lo que se hace es un sólo frame (una sola diapositiva), en esta
se hará todo el poster.
\begin{frame}[plain]{}
...
\end{frame}

251

13.2 Posters

La opción plain se utiliza para que no salga la barra de arriba ni la de abajo que usualmente
aparece en las diapositivas.
Para acomodar el poster se utilizan los bloques y las multicolumnas de beamer (tal como
se vieron en las secciones 12.7 y 12.16). Las imágenes se agregan de la forma usual.
El fondo del poster se puede cambiar con alguno de los comandos

252

\beamertemplateshadingbackground{color1}{color2}
\beamersetaveragebackground{color}
\beamertemplatesolidbackgroundcolor{color}

Así en el siguiente ejemplo se agregó el comando
\beamertemplateshadingbackground{brown!70}{yellow!10} en el preámbulo, además

se agregó el logo del TEC con los comandos

\vspace*{-10cm}
\begin{center}
\includegraphics[scale=2]{LogoTECMemorias}
\end{center}

esto justo después de hacer el título con \maketitle. El resultado se puede observar en la
figura 13.4.

Figura 13.4. Fondo de color e imagen.

Posters y Trípticos (Brochures)

Donde \beamertemplateshadingbackground realiza un degradado desde el color1 hasta
el color2. Los otros dos comandos sirven para poner un color sólido de fondo.

13.3 Trípticos (Panfleots o Brochures)

13.3

Trípticos (Panfleots o Brochures)
Los trípticos (panfletos o brochures) se pueden realizar utilizando la clase beamer o la clase
leaflet, esta última es una clase especializada para este tipo de documentos.

13.3.1

253

Trípticos con beamer
Para realizar un tríptico con beamer se debe crear una presentación con dos diapositivas, cada una
de ellas del tamaño del papel que se quiera y se divide cada página en tres columnas.
Se debe tomar en cuenta que el orden en que aparecerán las páginas en las hojas al doblar el
panfleto es el que se muestra en la figura 13.5.

5

6

1

2

3

4

Figura 13.5. Orden de las páginas en un panfleto.

Al utilizar beamer este ordenamiento de las páginas no es automático sino que se debe realizar de
forma manual.
El código: mínimo necesario para realizar un panfleto con beamer es:

Descargar archivo

\documentclass[11pt]{beamer}
\usetheme{Warsaw}
\setbeamertemplate{navigation symbols}{}
\usepackage{geometry}
\geometry{landscape,letterpaper}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{frame}[fragile]{}
\begin{columns}[t]
\begin{column}{0.33\textwidth}
Texto de la página 5

Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

13.3 Trípticos (Panfleots o Brochures)

\end{column}
\begin{column}{0.33\textwidth}
Texto de la página 6

254

\end{column}
\begin{column}{0.33\textwidth}
\includegraphics[scale=0.5]{LogoCIEMAC}

\end{column}
\end{columns}
\end{frame}
\begin{frame}[fragile]{}
\begin{columns}[t]
\begin{column}{0.33\textwidth}
Texto de la página 2
\end{column}
\begin{column}{0.33\textwidth}
\begin{block}{Bloque 1}
Texto del bloque
\end{block}
\end{column}
\begin{column}{0.33\textwidth}
Texto de la página 4
\end{column}
\end{columns}
\end{frame}
\end{document}

El resultado de este código: se puede observar en la imagen 13.6.

Posters y Trípticos (Brochures)

Texto de la página 1

13.3 Trípticos (Panfleots o Brochures)

255

Figura 13.6. Panfleto con código: mínimo.

Como se nota la clase que se utiliza es beamer con el tema Warsaw, de igual forma con
sólo cambiar el tema ya se obtendría un estilo distinto para las cajas y los colores.
Para definir el tamaño y el formato de la página se puede utilizar el paquete geometry, en
este caso se definió el tamaño carta con una orientación horizontal.
\usepackage{geometry}
\geometry{landscape,letterpaper}

Para eliminar la barra de navegación que beamer coloca por defecto en la esquina inferior
derecha se puede utilizar el código:
\setbeamertemplate{navigation symbols}{}

Si se quisiera poner un fondo con un degradado bonito se puede hacer con el código:
\beamertemplateshadingbackground{brown!70}{yellow!10}

También es posible poner una imagen como fondo, para esto, si se quiere colocar la imagen
Fondo.pdf se puede utilizar el código:

13.3 Trípticos (Panfleots o Brochures)

\usebackgroundtemplate{
\includegraphics[width =\paperwidth , height =\paperheight ,
keepaspectratio]{Fondo}
}

En cada columna se pueden colocar bloques, texto, imágenes, etc. En general cualquier
elemento que se puede utilizar en una presentación con beamer. En el ejemplo se puso un
bloque en la página 3 del brochure y una imagen en la primera página.

256

Se debe recordar que al utilizar el paquete inputenc se debe verificar si el documento está
en la codificación utf8 ó latin1 (ISO-8859-1).

Trípticos con leaflet
La clase leaflet es una clase especializada para realizar panfletos, en el caso de leaflet la segunda
página aparece al revés para imprimir directamente en una impresora que imprima por ambos
lados de la página. Esta distribución se puede observar en la figura 13.7.

6

1

3

2

5

4

Figura 13.7. Orden de las páginas en un panfleto con leaflet.

Sin embargo, si no se quiere que la segunda página aparezca de esta forma se debe colocar la
opción notumble.
El código: mínimo para realizar un panfleto con leaflet es:
\documentclass[10pt, notumble, letterpaper]{leaflet}
\usepackage[utf8]{inputenc}
\pagestyle{empty}
\title{$7^\circ$ Congreso Internacional sobre Enseñanza de la
Matemática Asistida por Computadora}
\author{Instituto Tecnológico de Costa Rica}
\date{16-18, Noviembre, 2011 }
\CutLine*{1} % linea punteada sin tijeras
\CutLine*{3} % linea punteada sin tijeras
\CutLine*{4} % linea punteada sin tijeras
\CutLine{6} % linea punteada con tijeras

Posters y Trípticos (Brochures)

13.3.2

13.3 Trípticos (Panfleots o Brochures)

\begin{document}
\maketitle
\thispagestyle{empty}
\section{Sección 1}
Texto en la sección 1
\newpage
\section{Sección 2}
Texto en la sección 2
\newpage
\section{Sección 3}
Texto en la sección 3
\newpage
\section{Sección 4}
Texto en la sección 4
\newpage
\section{Sección 5}
Texto en la sección 5
\newpage
\section{Sección 6}
Texto en la sección 6
\section{Sección 7}
Texto en la sección 7
\end{document}

El resultado al compilar este código: es el panfleto sencillo que se muestra en la figura 13.8.

257

13.3 Trípticos (Panfleots o Brochures)

258

Como se puede notar en elcódigo: y el resultado, usar leaflet tiene la ventaja que las seis
páginas del panfleto se acomodan automáticamente, en el código: simplemente se escribe
de manera contínua utilizando título, secciones, subsecciones, etc., en el momento que se
acabe una página se continúa automáticamente en la página siguiente y si se quiere pasar de
página de forma manual se puede utilizar el comando \newpage.
La clase leaflet hace diferencia entre las dos páginas grandes del panfleto y las páginas
pequeñas dentro de las grandes. En la figura 13.7 se notan que se tienen dos páginas grandes,
en la primera página grande están las páginas pequeñas uno, cinco y seis, mientras que en
la segunda página grande están las páginas pequeñas dos, tres y cuatro.
Así, por ejemplo el código:
\CutLine*{1} % linea punteada sin tijeras
\CutLine*{3} % linea punteada sin tijeras
\CutLine*{4} % linea punteada sin tijeras
\CutLine{6} % linea punteada con tijeras

Lo que hace es trazar las líneas punteadas que separan las páginas pequeñas, el comando

Posters y Trípticos (Brochures)

Figura 13.8. Panfleto mínimo con leaflet.

13.3 Trípticos (Panfleots o Brochures)

\CutLine*

hace una línea punteada sin tijeras y \CutLine hace una línea punteada con

tijeras.
En este caso se hicieron líneas punteadas sin tijeras en las páginas pequeñas 1, 3 y 4, y una
línea punteada con tijeras en la página pequeña 6.
La clase leaflet tiene el comando \AddToBackground que permite agregar elementos tales
como imágenes o marcas de agua en el fondo de las páginas grandes y las páginas pequeñas.
Todos los elementos que se agreguen en el fondo con este comando se deben definir en el
preámbulo del documento.
Para agregar un elemento en una página pequeña se utiliza \AddToBackground{pagina} y
si es en una página grande se usa \AddToBackground*{pagina}
Para poder usar colores para la marca de agua (y en el caso de usar tablas de colores) se
puede agregar en el preámbulo el paquete xcolor

\usepackage[dvipsnames,usenames, x11names, table]{xcolor}
\definecolor{LIGHTGRAY}{gray}{.95}

Ahora, por ejemplo, si se quiere agregar la imagen LogoCIEMAC.pdf en la página pequeña
1 se puede utilizar el código:
\AddToBackground{1}{ % Fondo de la página pequeña 1
\put(10,450){\includegraphics[scale=0.5]{LogoCIEMAC}}}

El comando \put(10,450) indica el lugar de la página pequeña 1 donde se pondrá la
imagen, la posición (0, 0) es en la esquina inferior izquierda de la página y las unidades
están en pixeles.
Esta imagen se utilizará como el título del panfleto, para hacer que haya espacio para esta
imagen se puede definir el título como \title{\vspace*{5cm}}. Si se quiere colorear el
fondo de una de las páginas pequeñas se puede utilizar el código:
\AddToBackground{6}{ % Fondo de la página pequeña 6
\put(0,0){\textcolor{Cyan!50}{\rule{\paperwidth }{\paperheight }}}}

Este coloca en la página pequeña 6 un rectángulo del tamaño de la página completa (con
\rule{\paperwidth }{\paperheight }) de color Cyan degradado en un 50 %.
Con este comando también se pueden poner rectángulos pequeños o líneas de colores cambiando el ancho y el alto de la regla, por ejemplo, para una línea se puede utilizar \rule{\
paperwidth }{3}

También se puede poner un texto como marca de agua de alguna de las páginas, por
ejemplo, para agregar el texto CIEMAC al fondo de la página grande 2 se puede utilizar el
código:

259

13.3 Trípticos (Panfleots o Brochures)

\AddToBackground*{2}{ % Fondo de la página grande 2
\put(\LenToUnit{.5\paperwidth },\LenToUnit{.5\paperheight }){
\makebox(0,0)[c]{
\resizebox{.9\paperwidth }{!}{\rotatebox{35.26}{
\textsf{\textbf{\textcolor{LIGHTGRAY}{CIEMAC}}}}}}}}

260

El comando \LenToUnit convierte la unidad dada a pixeles. \makebox crea una caja (en
principio de tamaño 0x0), \resizebox le cambia el tamaño a la caja para hacerla un poco
más pequeña que el tamaño total de la página, \rotatebox rota la caja (en este caso 35.26
grados). Por último la palabra CIEMAC se puso en serif, negrita y con color gris claro (color
que se definió en el preámbulo).

\AddToBackground*{1}{ % Fondo de la página grande 1
\put(0,\LenToUnit{.5\paperheight }){
\makebox(0,0)[c]{
\resizebox{.9\paperwidth }{!}{\rotatebox{20}{
\includegraphics[scale=1.5]{IconoCIEMACTransparente}}}}}}
\AddToBackground*{2}{ % Fondo de la página grande 2
\put(130,100){
\makebox(0,0)[c]{
\resizebox{.4\paperwidth }{!}{\rotatebox{30}{
\includegraphics[scale=1]{IconoCIEMACTransparente}}}}}}

El resultado de agregar todos estos elementos se puede ver en la figura 13.9.

Figura 13.9. Agregando imágenes de fondo con leaflet.

Posters y Trípticos (Brochures)

Para terminar, se pueden agregar algunas imágenes rotadas al fondo de las páginas grandes
1 y 2.

13.3 Trípticos (Panfleots o Brochures)

261

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

14

262
Documentos en Internet

14.1

LaTeX2HTLM Translator
‘LaTeX2HTLM Translator’ es un conjunto de scripts en PERL. LaTeX2HTLM convierte un
documento LATEX (un archivo *.tex) en un do-cumento adecuado para la internet. LaTeX2HTML
fue creado por Nikos Drakos y Ross Moore

La manera fácil
La conversión de un archivo LATEX a HTML es sencilla en Ubuntu: En el archivo .tex que desea
convertir, debe agregar en el preámbulo
\usepackage{html,makeidx}

y luego abrir una terminal, ir a la carpeta donde está el archivo .tex, digamos que se llama
y ejecutar,

ARCHIVO.tex,

latex2html ARCHIVO.tex

Esto genera una subcarpeta ARCHIVO con las imágenes y las páginas web (nodei.html). Eso es
todo.

La manera difícil
Para correr LaTeX2HTLM Translator bajo Windows XP (no hemos hecho pruebas en Windows
7), se necesitan algunos programas: Perl, GhostScript y Netpbm (biblioteca de conversión de

Documentos en Internet

En este capítulo hay tres secciones principales: Traducir un archivo LATEX directamente a HTML
con “LaTeX2HTLM Translator”, usar PDFScreen para desplegar un PDF en modo ‘presentación
en pantalla’ y usar el visor Google Drive para visualizar documentos en Internet.

14.2 Otra Opción: PDFScreen

imágenes).
La mejor recomendación es: Si quiere traducir LaTeX a HTML con “LaTeX2HTLM Translator”, instale Ubuntu como huésped de Windows con Wubi (ver apéndice A) o en una ventana
usando VirtualBox (necesitará el cd de instalación de Ubuntu), es fácil y le ahorrará mucho trabajo.
Si quiere probar en Window, pues deberá armarse de paciencia. Puede seguir las instrucciones en
la página de Jon Starkweather.

14.2

Otra Opción: PDFScreen
Hay otras opciones para poner texto matemático en Internet. Tal vez ya Ud. lo haya visto en
Google books o en Scribd (ipaper). Bueno, aquí no vamos a hacer algo tan sofisticado, pero si
algo parecido y muy eficiente.
Los navegadores tienen el plugin de Adobe Reader (sino, es fácil de instalar). Podemos convertir
el texto LATEX en un PDF en modo ‘presentación en pantalla’, de tal manera que las páginas se
carguen una a una. Existe un paquete muy eficiente que hace esto: PdfScreen,

Para empezar, se podría agregar al preámbulo

\usepackage[spanish,screen,panelright,gray,paneltoc]{pdfscreen}
%Parámetros adicionales
%\emblema{images/logo.png}

% logo de la presentación.

\overlayempty

% sin imagen de fondo

\backgroundcolor{white}

% color de fondo: blanco

\divname{Escuela de matemática} % nombre de la Institución
\margins{.75in}{.75in}{.75in}{.75in} % márgenes
\screensize{6in}{9in}

% ancho y largo sugeridos

\DeclareGraphicsExtensions{.pdf,.png,.jpg}

Descargar archivo

263

14.3 Servicio de visores de PDF en Internet

Como es natural, se compila usando PDFLaTeX (se usa el paquete epstopdf para incluir cualquier
tipo de imágenes como vimos en el capítulo 6). Algunas opciones del paquete son,

264

Opción
\screen
\panelright
\panelleft
\nopanel
\color
\paneltoc

versión para pantalla
panel de navegación a la derecha
panel de navegación a la izquierda
sin panel de navegación
esquema de color: bluelace, blue, gray, orange, palegreen y chocolate
índice de contenidos en el panel

%botón de búsqueda
\Acrobatmenu{AcroSrch:Query}{\addButton{\buttonwidth }{\@Panelgobackname}}\\\pfill
\Acrobatmenu{FullScreen}{\addButton{\buttonwidth }{\@Panelfullscreenname}}\\\pfill
%botón
\Acrobatmenu{SaveAs}{\addButton{\buttonwidth }{\@Panelclosename}}\\\pfill

La instrución \Acrobatmenu{AcroSrch:Query}... agrega un botón para desplegar el menú de
búsqueda en el PDF.
La instrución Acrobatmenu{SaveAs}... agrega un botón para desplegar el menú de Guardar
como en el PDF.
Un manual del paquete se puede ver en http://www.ctan.org/tex-archive/help/Catalogue/
entries/pdfscreen.html

14.3

Servicio de visores de PDF en Internet
Los PDF se pueden subir (upload) y desplegar de manera eficiente en sitios Web que incrustan y
despliegan los documentos. También estos sitios ofrecen visores para ver los documentos con su
aplicación en nuestro sitio Web.
El PDF que sigue (puede hacer clic en la figura para ir a Internet) fue incrustado en una página
Web usando el visor de Google Drive (debe tener una cuenta gmail.com)

Documentos en Internet

Configuración adicional
Podemos modificar el archivo pdfscreen.sty. Este archivo está en la subcarpeta /usr/share/
texmf-texlive/tex/latex/base en Ubuntu y en C:/Archivosdeprograma/miktex2.x/tex/
latex/base en Windows. Aquí se puede redefinir los colores y agregar botones al menú, por
ejemplo podemos agregar en la línea 624,

14.3 Servicio de visores de PDF en Internet

265

También podemos incrustar un PDF en alguna página web en nuestro sitio (puede ser un sitio
gratuito como https://sites.google.com/?hl=es).
Vamos a poner un PDF en internet usando el visor de Google docs. Vamos a suponer que el
PDF está en Google Drive, pero igual podría estar en otro sitio en la nube, solo necesitamos su
dirección en Internet.
Los pasos son,
1 Subimos el archivo a Google Drive (debe tener una cuenta gmail). Lo compartimos

(posiblemente para todo público) y obtenemos el enlace, por ejemplo
https://drive.google.com/open?id=0B8cLkDxqGuKLRHFNNW0wMkhxLWM

Aquí lo que nos interesa es el identificador: 0B8cLkDxqGuKLRHFNNW0wMkhxLWM. Esto lo
vamos a agregar en el código html, en el siguiente paso.

2 Ahora, en nuestra página en “GoogleSites” (o donde podamos acceder), editamos en el

lugar que nos interesa y usamos la opción “html”, para insertar el código


14.4 Expresiones LaTeX en páginas Web

Luego guardamos. Eso es todo.

14.4

Expresiones LaTeX en páginas Web
Para editar código LaTex directamente en una página Web (archivo .html) podría usar MathJax.
En la documentación se explica muy bien las adaptaciones que se deben hacer. Por ejemplo, una
página simple (.html) podría ser

266




MathJax TeX Test Page



When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$



Este archivo se edita en el bloc de notas (o en Gedit) y se guarda con extensión .html. Luego se
sube a un servidor (podría ser en la nube).

Documentos en Internet

MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});


Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

14.4 Expresiones LaTeX en páginas Web

267

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

268

Bibliografía
[1] S. Abbot. “Understanding Analysis”. Springer. 2000.

pracjourn/2005-4/mertz/mertz.pdf

[3] J. Bezos. “Tipografía”. http://www.tex-tipografia.com/archive/tipos.pdf
[4] N. Drakos, R. Moore. “The LaTeX2HTML Translator”. En http://cbl.leeds.ac.
uk/

[5] F. Hernández. “Elementos de Infografía para la Enseñanza Matemática”. Revista
digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/). Vol.
11, No 1. Agosto-Diciembre 2010.
[6] Gilles Bertrand. “Preparing a presentation (Beamer)”. En http://www.rennes.
enst-bretagne.fr/~gbertran/

[7] G. Grätzer. The New Standard LATEX. Personal TEXInc. California. 1998.
[8] I. Strizver. “Type rules! : the designer’s guide to professional typography”. John
Wiley & Sons, Second edition. 2006.
[9] Keith Reckdahl. “Using Imported Graphics in LATEX2”. ftp://ftp.tex.ac.uk/
tex-archive/info/epslatex.pdf

[10] KiJoo Kim. “Beamer v3.0 Guide”. En http://faq.ktug.or.kr/wiki/uploads/
[11] Hahn, J. LATEX for everyone. Prentice Hall, New Jersey, 1993.
[12] L. Lamport. “LATEX”. Addison-Wesley. 1996.
[13] M. Goossens; F, Mittelbach; A. Samarin. “The LATEX Companion”. Addison-Wesley.
1993.
[14] R. Willians. “Non-Designer’s Design Books”. Third Edition. Peachpit Press. 2008.
[15] L. Seidel. “LaTeXtoHTML”. En http://apolo.us.es/CervanTeX/
[16] Till Tantau. User Guide to the Beamer Class, Version 3.07 En http://
latex-Beamer.sourceforge.net, 2007.
[17] The

LaTeX

Font

Catalogue.

En

http://www.tug.dk/FontCatalogue/

utopia-md/

[18] Hahn, J. “LATEX for eveyone”. Prentice Hall, New Jersey, 1993.

BIBLIOGRAFÍA

[2] Andrew Mertz y William Slough. “Beamer by Example”. En http://www.tug.org/

BIBLIOGRAFÍA

[19] James M. Davis. “Installing Inkscape with TeXtext on Windows 7”. http:
//people.orie.cornell.edu/jmd388/design/guides/textext.pdf. Consultada el 3 de Enero 2013.
[20] “TexText”. http://pav.iki.fi/software/textext/. Consultada el 3 de Enero
2013.
[21] Joseph Wright. “From \newcommand to \NewDocumentCommand with xparse”.
https://www.tug.org/TUGboat/tb31-3/tb99wright.pdf. Consultada el 10 de
Enero 2014.
[22] TeX Stack Exchange. “How to place a shaded box around a section label and name”.
http://tex.stackexchange.com/questions/34288/. Consultada el 23 de Mayo
2014.
[23] TeX Stack Exchange. “How to make section like this”. http://tex.
stackexchange.com/questions/147344/. Consultada el 23 de Mayo 2014.
[24] TeX Stack Exchange. “Customizing chapter style with tikz”. http://tex.
stackexchange.com/questions/160320/.
[25] TeX Stack Exchange. “How I do I make enumerated lists in columns”. http://tex.
stackexchange.com/questions/303912/

[26] TeX Stack Exchange. “Pretty Table of Contents”. http://tex.stackexchange.
com/questions/35825/. Consultada el 11 de junio 2014.
[27] TeX Stack Exchange. “How to customize the table of contents using TikZ?”. http:
//tex.stackexchange.com/questions/19796/. Consultada el 11 de junio 2014.
[28] TeX Stack Exchange. “Alternatives to the horizontal line in fancyhdr”. http://tex.
stackexchange.com/questions/113937. Consultada el 11 de junio 2014.
[29] TeX
Stack
draw”.

Exchange.

“Problem

with

babel

and

tikz

using

http://tex.stackexchange.com/questions/166772/

problem-with-babel-and-tikz-using-draw.

Consultada en abril, 2017.

269

Apéndice
Agregar nuevos paquetes
Para usar un paquete, en general podemos poner el archivo .sty en la misma carpeta de nuestro
archivo .tex. Eso sería suficiente.
Hay otros paquetes que requieren poner sus componentes en la carpeta ...tex/latex/ o en la
carpeta ...tex/latex/base
En Ubuntu la dirección depende de la versión, podría ser /usr/share/texmf/tex/latex/base
o también /usr/share/texlive/texmf-dist/tex/latex/base
En Windows la dirección es C:/Program Files/MikTeX2.9/tex/latex/
En general, copiamos el paquete en estas direcciones y refrescamos la distribución. Aquí
indicamos cómo hacer esto en Ubuntu y en Windows.

TeXLive - Ubuntu.

El archivo se pega en la subcarpeta base (o en el lugar que indique la documentación del
paquete). Abrimos una terminal y nos vamos a al carpeta donde se descargó el archivo y lo
pegamos en la subcarpeta base si es el caso,
sudo cp -a boiboites1.sty /usr/share//tex/latex/base

luego actualizamos el TeXLive,
sudo texhash

MikTeX - Windows.

Hay que pegar el archivo en C:/Program Files/MikTeX2.9/tex/latex/base (o en el
lugar que indique la documentación del paquete) y luego debemos actualizar y refrescar la
base de datos para que los cambios tengan efecto. Para esto debemos seguir los siguientes
pasos,

Levantar las opciones de MiKTeX: Inicio-MiKTeX2.x-Maintenance(Admin)-Settings

BIBLIOGRAFÍA

14.5

270

14.6 Instalar una distribución y un editor

Hacer clic primero sobre el botón Refresh FNBD y luego sobre el botón Update

271

Formats

14.6
14.6.1

Instalar una distribución y un editor
Distribuciones TEX
Hay varias distribuciones TEX por ejemplo: TeXLive (Windows, Linux, Mac), MacTeX (Mac OS
X) y MiKTEX (Windows). Las pruebas de este libro se hicieron con MiKTeX2.9 (Windows XP, 7
y 8) y con TeXLive 2012 ( Ubuntu 14.04). Asumimos que el lector tiene la distribución respectiva
completa a mano.
Obtener e Instalar MiKTEX

Para obtener MiKTEX 2.9 se puede ir directamente al sitio web http://miktex.org/2.
y descargamos “MiKTeX 2.9 Net Installer”, esta opción descarga el ejecutable
setup-2.9.3959.exe. Con este ejecutable se establece una conexión a Internet para primero descargar y luego instalar MiKTEX completo (hay una guía de instalación en http://docs.miktex.
org/2.9/manual/installing.html). Los pasos básicos son:
9/setup

1

Ejecute setup-2.9.3959.exe y siga las instrucciones. En algún momento deberá elegir
la opción ’Download MiKTeX’. Tenga en cuenta que esto puede tardar bastante tiempo
(dependiendo de la velocidad de la conexión).

Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

14.7 Un Editor

2

Ejecute de nuevo setup-2.9.3959.exe y elija la opción ’Install MiKTeX’. Ahora se instalará MiKTEX desde la carpeta de descarga que eligió en el paso anterior.

Obtener e Instalar TEXLive

14.7

Un Editor
Después de la instalación de la distribución TeX instalamos un editor. Hay varios editores:
Texmaker, Texstudio, Winshell, Kile, etc. Los editores buscan la instalación TEX/LATEX de manera
automática. Luego se pueden configurar algunas cosas adicionales.

Ubuntu: Hay varios editores: TeXMaker, TeXMakerX, Kile, etc.

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
TeXMaker: Se instala con el ’ Gestor de paquetes Synaptic’.
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

Configuración adicional
Aunque la instalación procede de manera automática, hay un par de cosas que podemos configurar.
Diccionario en español:

Vamos a Opciones-Configurar TexMaker-Editor y cambiamos a

/usr/share/myspell/dicts/es-CR.dic

272

BIBLIOGRAFÍA

En el apéndice al final del libro, se indica cómo instalar Ubuntu conviviendo con Windows.
Ubuntu 64 bits es recomendable para trabajar con tareas que requieren mucho trabajo gráfico o
mucho cálculo (sin hablar de Mac), si no es este el caso, Ubuntu 32 bits es adecuado para el uso
doméstico usual.1
En Ubuntu, TEXLive se puede instalar con el ’ Gestor de paquetes Synaptic’. Se debe buscar
la opción texlive-full, marcar y luego aplicar (también se puede instalar desde el ’Centro de
Software de Ubuntu’, buscando tex live).

14.7 Un Editor

Búsqueda inversa (código←→visor): Esta opción es muy útil para pasar del PDF, generado con

LATEX (DVI→PDF o PDFLATEX), al código TEX y viceversa de tal manera que nos ubiquemos
en el lugar actual del documento (funciona si usamos el visor default) Evince). Vamos
a Opciones-Configurar TexMaker-Comandos. Modificamos la opción PdfLaTeX y digitamos

273
pdflatex -synctex=1 -interaction=nonstopmode %.tex

(solo agregamos -synctex=1). La búsqueda inversa se activa en el PDF con el botón
derecho del ratón y luego haciendo clic.

Nota: A la fecha, esta faceta funciona bien con TeXMaker 2.1, asegúrese de instalar esta

versión o una versión superior. La versión actual (2013) ya trae esta faceta habilitada.

Visor PDF externo: TeXMaker usa por defecto el visor Evince. Si queremos ver el documento

en Adobe Reader como opción alternativa desde Evince, vamos a Opciones-Configurar
TexMaker-VisorPDF-External Viewer y digitamos /usr/bin/acroread" %.pdf.

Visor Okular: Un visor, para archivos PDF y DVI, más competente es Okular. Suponiendo
que ya lo instalamos, vamos a Opciones-Configurar TexMaker-Comandos y modificamos la
opción Visor DVI y digitamos okular --unique "file: %.dvi#src:@ %.tex"

Un manual muy instructivo y completo para
//www.xm1math.net/texmaker/doc.html.

TeXMaker

se encuentra en http:

TeXStudio: Es una derivación de TeXMaker con muchas facetas adicionales muy útiles. En

particular el visor PDF es mejor (usa el visor de TeXworks) pero es un poco más lento para compilar. Se configura igual que TeXMaker en lo que tienen en común. Se descarga en
http://texmakerx.sourceforge.net/.

Kile: Se instala con el ’ Gestor de paquetes Synaptic’. Para configurar facetas adiconales de Kile

se puede ir a http://kile.sourceforge.net/Documentation/html/index.html.

14.7 Un Editor

274

Windows: Hay varios editores: TeXMaker, Texstudio, WinShell, etc.

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
TeXMaker: El instalador se descarga en http://www.xm1math.net/texmaker/. La configuración adicional es la misma que la que se mencionó para Ubuntu excepto el visor DVI pues en
Windows se usa Yap.
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
La búsqueda inversa viene habilitada en la versión actual (2013). En otro caso, desde el DVI
(en Windows) se requiere configurar el YAP. Abrimos el YAP desde TexMaker con la tecla F3,
luego vamos a View-Opciones-Inverse DVI Search y pulsamos el botón New. En Name: digitamos
texmaker (el nombre del editor para referencia), en la cejilla que sigue usamos el botón de navegación para indicar el ejecutable (C:\wrefProgramFiles\texmaker\texmaker.exe) y en la tercera
cejilla digitamos "%f" "%l". Pulsamos el botón Aplicar y luego Aceptar. Para hacer búsqueda
inversa usando PDFLaTeX se debe usar SumatraPDF-TeX (ver más abajo).
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Texstudio: Es una derivación de TeXMaker con varias facetas adicionales muy útiles. Se descarga
en http://texmakerx.sourceforge.net/.
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
WinShell: El instalador se descarga en http://www.winshell.org/.

Configuración adicional
Aunque la instalación procede de manera automática, hay un par de cosas que podemos configurar.

Diccionario en español:

El diccionario se debe descargar en http://wiki.services.
openoffice.org/wiki/Dictionaries. El contenido el comprimido se debe pegar en
C:/Archivosdeprograma/WinShell/Dictionaries (puede ser Spanish Mex), luego vamos a Opciones-Idioma... en la cejilla Corrector ortográfico: cambiamos a es_MX.
Búsqueda inversa:

Esta opción es muy útil para pasar del PDF, generado con LATEX

BIBLIOGRAFÍA

Figura 14.1. Editor Kile en Ubuntu

14.7 Un Editor

275

Figura 14.2. Editor WinShell para Windows

(DVI→PDF) o PDFLATEX, al código TEX y viceversa de tal manera que nos ubiquemos
en el lugar actual del documento. La búsqueda inversa viene habilitada en la versión actual
(2013). En otro caso, en Windows esto se puede hacer con el visor SumatraPDF-TeX que se
descarga en http://william.famille-blum.org/software/sumatra/index.html (no
funciona con Adobe Reader). No se instala, solo se pega en C:/Archivos de programa.
Ahora hay que configurar ambos programas,
.

vamos a
Opciones-Lamadas a programas.... En la cejilla
Programa: seleccionamos PDFView y en la cejilla Archivo-exe: usamos
el botón Examinar para poner la dirección del archivo SumatraPDF-TeX.exe
(C:/Archivos de programa/Su
matraPDF-TeX.exe). Eso es todo, luego reiniciamos WinShell.

.

Vamos a C:/Archivos de programa y ejecutamos SumatraPDF-TeX.exe, luego
vamos a Configuración-Opciones y en la cejilla que está al final seleccionamos
"C:\ProgramFiles\winShell\WinShell.exe" ... y pulsamos el botón Aceptar y
cerramos.

En

WinShell

Para hacer búsqueda inversa desde el DVI se requiere configurar el YAP. Abrimos el YAP
desde WinShell con la tecla F7, luego vamos a View-Opciones-Inverse DVI Search y pulsamos el botón New. En Name: digitamos winshell (el nombre del editor para referencia), en
la cejilla que sigue usamos el botón de navegación para indicarla dirección del ejecutable
(C:\Archivos de programa\winShell\WinShell.exe) y en la tercera cejilla digitamos
-c "%f" -l %l. Pulsamos el botón Aplicar y luego Aceptar.

14.8 Editores WYSIWYM para TEX

14.8

Editores WYSIWYM para TEX
“WYSIWYM” es un acrónimo que significa “lo que ves es lo que quieres decir” (What You See
Is What You Mean). Hay algunos editores WYSIWYM gratuitos para generar documentos LATEX,
pdfLATEX, etc. Por ejemplo, LyX y GNU TeXmacs. Poseen un editor de ecuaciones y una manera
de editar documentos relativamente sencilla, pero se debe estudiar el manual (y los videos) antes
de aventurarse a usarlos. De los dos, posiblemente el más eficiente y avanzado sea GNU TeXmacs.

276

BIBLIOGRAFÍA

Figura 14.3. Editor GNU TeXmacs con una sesión con Maxima.

Figura 14.4. Editor LyX

14.9 Software adicional

14.9

Software adicional
Software adicional (Ubuntu)

———————————————————————Además de la edición de texto, es usual trabajar con gráficos, imágenes y también con diseño
editorial (en los archivos PDF generados con LATEX). Para hacer esto vamos a usar Inkscape,
Gimp y otros programas. Si tenemos una conexión a Internet, los programas se pueden instalar
con el Centro de Software de Ubuntu o con el Gestor de paquetes Synaptic, por ejemplo.

1

Fuentes de Microsoft:

2

Shutter

3

PdfSam

4

Adobe Reader:

5

Okular

6

Gimp:

7

Inkscape.

277

Buscar ‘ttf-mscorefonts’ en ’ Centro de Software de Ubuntu’ e
instalar. Fuentes adicionales se instalan desde Centro de Software de Ubuntu-Tipografías
(para recortar y editar capturas de pantalla): Se instala con Synaptic
(para unir, separar o combinar pdfs): Se instalan con Synaptic
Se instalan con Synaptic

(visualizador adicional): Se instala con Synaptic

Es muy eficiente para edición de gráficos y también para recortar imágenes (por
ejemplo de un PDF) con alta calidad. Se instalan con Synaptic
En Synaptic, marcar Inkscape, pstoedit y pdf2svg y luego aplicar.

También vamos a usar las extensiones,
.

TeXtext:

Se usa para introducir texto LATEX en la edición de gráficos
e imágenes. Se descarga el comprimido textext-0.4.4.tar.gz desde
http://pav.iki.fi/software/textext/ y se descomprime, digamos en la
carpeta ’Descargas’.
Desde la terminal nos vamos a la carpeta ’Descargas’ (con el comando ’changedirectory’: cd) y luego digitamos
sudo mv *.* /usr/share/inkscape/extensions [Enter]

.

Replace Font:

Se usa para reemplazar una fuente por otra fuente. Se descarga el comprimido replace_font0.x.zip desde http://code.google.com/p/

Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

14.10 Extensión TeXtext en Windows

inkscape-replace-font/downloads/list

y se descomprime, digamos en la

carpeta ’Descargas’.
Desde la terminal nos vamos a la carpeta ’Descargas’ (con el comando ’changedirectory’: cd) y luego digitamos,
sudo mv *.* /usr/share/inkscape/extensions

278

[Enter]

Software adicional (Windows)2

Pdfsam:

Descargar desde http://www.pdfsam.org/?page_id=32

FastStone V5.3:
Gimp:

Descargar desde http://www.gimp.org/

Inkscape:

14.10

Descargar desde http://www.portablefreeware.com/?id=775

Descargar desde http://inkscape.org/download/?lang=es.

Extensión TeXtext en Windows
Esta instalación requiere varios pasos. Vamos a seguir la guía del profesor James Davis de Cornell
University. Observe que esta guía está hecha pensando en Inkscape 0.48. En vez de instalar la más
reciente versión de Inkscape, instalar la que viene en el comprimido que se da más adelante.
1

Primero necesitamos los programas y otros archivos: Inkscape-0.48.2-1-win32, Ghostscript,
y Pstoedit. Las versiones de los programas pueden ser incopatibles
con distintas versiones de otros programas que vamos a necesitar, por eso, las versiones
compatibles de todo lo que se necesita está en un solo comprimido, en
GsView, Image Magic

http://people.orie.cornell.edu/jmd388/design/guides/textext.zip

2

Descomprimir textext.zip e instalar Inkscape-0.48.2-1-win32, Ghostscript, GSview
e Image Magic. Todos estos archivos son ejecutables (.exe). La instalación procede con
las opciones default

BIBLIOGRAFÍA

——————————————————————
Además de la edición de texto, es usual trabajar con gráficos, imágenes y también con diseño
editorial (en los archivos PDF generados con LATEX). Para hacer esto vamos a usar Inkscape,
Gimp y otros programas. Inkscape requiere la instalación previa de Ghostscript, Gsview y
Pstoedit. Adicionalmente podemos descargar la extensión TeXtext de Inkscape para editar texto
LATEX en esta aplicación.
También tres programas muy útiles son PdfSam (para extraer, unir o dividir páginas en un archivo
pdf), FastStone V5.3 (útlima versión libre, se usa para recortar y editar capturas de pantalla) y
Gimp para edición de fotos e imágenes generales. Descargar e instalar en este orden:

14.10 Extensión TeXtext en Windows

3

Instalar Pstoedit.
En la ventana Select Destination Location asegurarse de que la carpeta de instalación quede en Ghostgum: C:\Archivos de programa\Ghostgum\pstoedit
En la ventana “Select Components” seleccionar todos (marcar las casillas).

279

Figura 14.5. pstoedit debe quedar en la carpeta de Ghostgum

4

Después de instalar pstoedit, debemos editar las variables de entorno para que
textext pueda ejecutar pstoedit. Vamos al “Panel de Control” luego a “System and
Security - System”, aquí vamos a la opción “Advanced system settings” (en el lado
izquierdo). Presionamos “Environment Variables” y en la ventana que se abre, vamos a
la subventana “System variables”, seleccionamos “Path” y presionamos Edit... y al
final de la línea de texto agregamos (precedido de un putno y coma ’;’),
;C:\Program Files\ghostgum\pstoedit

Cerramos todas las ventanas presinando “OK” o “Aceptar”.
5

Instalamos el ejecutable textext-0.4.4 que viene en el .zip.

6

Modificamos: Copiamos el archivo textext.py que viene en el .zip y lo pegamos (sobreescribiendo el archivo antiguo) en
C:\Program Files\Inkscape\share\extensions

Este archivo está preparado para Inkscape 0.48.
7

Descomprimir el site-package.zip en
C:\Program Files\Inkscape\python\Lib\site-packages

Deberá sobreescribir el contenido de la carpeta site-packages.

Ahora hacemos una prueba para saber si TeXText funciona.

Edición de Textos Científicos con LaTeX. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2017 Revista digital Matemática, Educación e Internet (http://tecdigital.tec.ac.cr/revistamatematica/)

14.11 Habilitar “shell escape”

280

Figura 14.7. Inkscape y textext funcionando en una Tablet Acer Iconia con Windows 8.

14.11

Habilitar “shell escape”
Habilitar shell-scape: En la configuración de su editor debe buscar la opción PdfLaTeX (o
y agregar -shell-escape de tal manera que quede

LaTeX)

PdfLaTeX -synctex=1 -interaction=nonstopmode -shell-escape ' %source'

BIBLIOGRAFÍA

Figura 14.6. Editar ’variables de entorno’ para agrgar la ruta de pstoedit

14.11 Habilitar “shell escape”

Por ejemplo, en TeXMaker se vería así,

281

Versión actual y comprimido con los ejemplos de este libro:
https://tecdigital.tec.ac.cr/revistamatematica/Libros/

Esta versión: Marzo, 2017.

Índice alfabético
ñ, 15
˜, 19
“, 15
PDF
Archivo, 122
a0, 248
a0poster, 245
a1, 248
a2, 248
a3, 248
a4, 248
\above, 53
\abstract, 39
Acentos, 15
Modo matemático, 58
\Acrobatmenu, 261
\acute, 58
\addButton, 261
\addcontentsline, 39
AddToBackground*\AddToBackground*, 256,
257
AddToBackground\AddToBackground, 256
\addtolength, 196
Adobe Courier, 46
Adobe Helvetica, 46
Adobe Illustrador, 122
Adobe Pro Extended, 140
Adobe Reader, 260, 270, 272, 274
Adobe Times, 46
\aleph, 69
\alert, 232, 233
Alineamiento, 64, 136
Alineamiento horizontal, 90
\alph, 32
\alpha, 68, 235
\amalg, 68
Amenidad, 135, 137
amsmath

ÍNDICE ALFABÉTICO

\, 19
\\, 21
’, 15
”, 15
@, 87
#, 19
$, 19
%, 19
&, 19
á, 15
é, 15
í, 15
ó, 15
ú, 15
´, 15
¡, 15
¿, 15
LATEX, 245
ˆ, 19
_, 19
©, 44
', 44
+, 85
$$, 3, 9, 9, 28, 48, 56, 57, 59, 59, 62, 119
$, 3, 9, 9, 10, 12, 28, 30, 48, 49, 51, 51, 52, 57–
59, 119, 153, 226–231, 235, 236, 238,
239
&, 61, 62, 64–68, 238
&=, 67, 68
\, 59, 69
\,, 59
\:, 59
\;, 59
\[, 56, 58, 59, 61, 62
\\, 61, 62, 64–68
\], 56, 58, 59, 61, 62
\{...\}, 57
^, 3, 12, 52, 153, 208, 209, 215
_, 52, 52–56, 58, 60, 64, 72, 83, 231

282

ÍNDICE ALFABÉTICO

Delimitadores, 56
\angle, 69
\appendix, 201
\approx, 69
\approxeq, 70
\arabic, 32, 37
\arcsen, 51
Arreglos, 60
article, 16
article.cls, 17
\ast, 68
\asymp, 69
\atop, 53, 55, 57
\author, 39, 39, 224
author\author, 247, 248, 254
\backgroundcolor,

260

70
\backsimeq, 70
\backslash, 69
\bar, 58
Barras horizontales, 56
Beamer, 1, 152, 223, 224, 224, 225, 231, 244,
245, 250
Alert, 229
algorithm2e, 235
Animaciones, 240
Blocks, 231
Botones, 237
Código de programas, 232
Color, 238
Efectos de transición, 238
Entornos, 230
Figuras, 225, 236
fragile, 232, 235
frame, 223, 235
Gráficos, 236
Ligas, 237, 237
Ligas documentos externos, 239
Marcos(frames), 226
minted, 234
Multicolumnas, 240
Pause, 230
semiverbatim, 232
Temas, 225, 226
Transparencias, 237
Velos(overlays), 227
beamer, 245, 247, 248, 250, 252, 253

\backsim,

bloques, 249
multicolumnas, 249
navigation symbols, 252
\beamergotobutton, 237
beamerposter, 244, 245, 247, 248
escale, 248
orientation, 247
size, 248
\beamerreturnbutton, 237
beamertemplateshadingbackground\beamertemplateshadingbackg
252
\because, 70

283

\begin

algorithm, 207–209, 235
align, 67
align*, 67, 68
array, 56, 60, 61, 62
block, 231
Bmatrix, 63
bmatrix, 63
center, 21, 21, 22, 24, 28, 72, 89, 97, 238
column*, 241
columns, 241
document, 3, 9, 12, 14, 39, 41, 43–45, 48,
51, 70, 97, 100, 102, 107, 140, 196,
201, 214, 216, 224
ejemplo, 230
enumerate, 30–32, 37, 73, 227–229
eqnarray, 65, 65–67
eqnarray*, 64, 65, 66, 231
equation, 59, 60
ex, 201
figure, 24, 79, 80, 81, 102, 108, 119, 236,
240
floatingfigure, 110
flushright, 197
frame, 224, 226–232, 233–238, 240, 241
itemize, 30, 31
longtable, 77, 79
minipage, 23, 24, 28, 73, 74, 81, 119
minted, 214, 215, 234
multicols, 22, 23
multline, 67
multline*, 68
pgfonlayer, 97
picture, 197
pmatrix, 63, 64

ÍNDICE ALFABÉTICO

284

ÍNDICE ALFABÉTICO

preface, 39
\bigcirc, 68
\Biggl, 56
pyglist, 215, 216
\biggl, 56
scriptsize, 197
\Biggr, 56
semiverbatim, 233
\biggr, 56
sideways, 83, 84
\Bigl, 56
smallmatrix, 63, 64
\bigl, 56
sol, 201
\Bigr, 56
subequation, 60
\bigr, 56
table, 79, 80, 81, 83, 85, 89, 92, 107
tabular, 73, 76, 77, 80, 81, 83–89, 91, 92, \bigtriangledown, 68
\bigtriangleup, 68
107, 238
\binom, 28, 231
tabularx, 97
Bloc de notas, 42
teo, 119
\blue, 47, 72
teorema, 230
Bold, 46
thebibliography, 39, 40, 126
Bold extended, 46
tikzpicture, 97, 152, 153
\boldmath, 58
Verbatim, 49
boldmath\boldmath, 247, 248
verbatim, 26, 232
\boldsymbol, 54, 58
Vmatrix, 63
book.cls,
17
vmatrix, 63
\bot, 69
wrapfigure, 109
\bottomrule, 77
begin\begin
\bottonrule, 77, 79, 86
block, 247, 251
BoundingBox
column, 247, 251
Errores, 122
columns, 247, 251
\bowtie, 69
document, 247, 251, 254
Brochures, 244, 250
frame, 247, 249, 251
brochures, 253
itemize, 247
\bullet, 32, 68
\beta, 68
\buttonwidth, 261
\bf, 20, 21, 30, 31, 36
BIB
C++, 210
Archivo, 127
Código cromático, 135
\bibitem, 126, 126
Cabeceras, 195
\sbibitem, 39, 40
Cajas, 22
Bibliografía, 37, 40, 126, 127
Cajas de color, 27
\bibliography, 127, 128
\cal, 30
\bibliographystyle, 127, 128
\cup, 30
abbrv, 127
\cap, 30, 57, 68
alpha, 127
Caps and small caps, 46
apalike, 127
\caption, 24, 80, 80, 83, 89, 92, 119
plain, 127
\captionof{figure}, 102, 108, 110, 207–209,
unsrt, 127
236
BibTEX, 40, 126, 127, 127, 128, 130
Caracteres especiales, 19
APA, 128
Carga cognitiva, 133
Base de datos, 127, 130
Carga cognitiva extrínseca, 133, 134
Propiedades, 128
Carga cognitiva intrínseca, 133
\catcode, 49
Tipos, 127

ÍNDICE ALFABÉTICO

29, 54, 68, 72
\cdots, 54, 55, 64
\cellcolor, 83, 84
\centering, 73, 83, 85, 89, 92, 108, 236, 240
Centrado
Modo matemático, 59
Centrar texto, 21
\chapter, 39, 39, 196
\char, 45
\chi, 68
\choose, 53
\circ, 68
circ\circ, 254
\circeq, 70
Citas bibliográficas, 126
\cite, 40, 126, 128, 128
\cline, 76, 76
\Closesolutionfile, 201
\clubsuit, 69
\cmidrule, 86
CMYK, 27, 139
Color, 27, 138, 139
\color, 27, 36, 49, 97
LightSteelBlue1, 82
red, 72, 73
RoyalBlue1, 82
white, 36
Color Schemer Designer, 139
Color Schemer Studio, 139
Columnas, 22
\columnsep, 109
Comillas, 15
Compilar, 8, 9, 10, 11
LATEX, 8, 9, 9–11
PDFLATEX, 8, 9, 9, 10
TeXMaker, 10
xelatex, 48
Computer Modern Math Extensions, 46
Computer Modern Math Italic, 46
Computer Modern Math Symbols, 46
Computer Modern Roman, 46
Computer Modern Sans, 46
Computer Modern Typewriter, 46
Condensed, 46
\cong, 69
\const, 97
Contadores automáticos, 59
\cdot,

Ecuaciones, 59
Teoremas, 59
Contenido, 37
Contraste, 136
\coord, 74
\cos, 52, 58, 62
Cuerpo del documento, 8, 12, 12
\cup, 57, 68
\curlyeqprec, 70
\curlyeqsucc, 70
CutLine*\CutLine*, 254–256
CutLine\CutLine, 254–256
\cyan, 29

285

68
\dashv, 69
\date, 39, 39, 224
date\date, 247, 248, 254
\ddagger, 68
\ddots, 55, 64
\dagger,

\DeclareGraphicsExtensions,

107,

225,

236, 260
\def
\max,

51
\min, 51
27, 216, 238
definecolor\definecolor, 256
Definiciones, 40
Delimitadores, 55
\Delta, 30, 68, 231
\delta, 68
\diamond, 68
\diamondsuit, 69
Diseño editorial, 133, 133
\displaystyle, 52, 52–55, 57, 59, 72, 87, 88,
92, 215
Distribuciones, 3, 4
\div, 68
\divname, 260
\documentclass, 2, 133
article, 9, 12, 12, 14, 44, 45, 48, 51, 97, 100,
102, 107, 214, 216
beamer, 223, 224, 238
book, 2, 3, 41, 140, 196, 201
memoir, 44
report, 39, 44
documentclass\documentclass
beamer, 247, 251
\definecolor,

ÍNDICE ALFABÉTICO

Editar, 8, 9
Editor de textos, 42
Editores, 3, 4
Efectos especiales, 21
\eIf, 207, 208
Ejemplos, 40
\ell, 69
\em, 20, 30, 31
\emptyset, 30, 69
\end

algorithm, 207–209, 235
align, 67
align*, 67, 68
array, 56, 61, 61, 62
block, 231
Bmatrix, 63
bmatrix, 63
center, 21, 21, 22, 24, 28, 72, 89, 97, 238
column*, 241
columns, 241
document, 3, 9, 12, 14, 39, 41, 43–45, 48,
51, 70, 97, 100, 102, 107, 196, 201,
216, 224
ejemplo, 230
enumerate, 30–32, 37, 73, 227–229
eqnarray, 65, 65–67
eqnarray*, 64, 65, 66, 231
equation, 59, 60
ex, 201
figure, 24, 79, 80, 81, 102, 108, 119, 236,
240
floatingfigure, 110
flushright, 197

frame, 224, 226–232, 233–238, 240, 241
itemize, 30, 31
longtable, 77, 79
minipage, 23, 24, 28, 73, 74, 81, 119
minted, 214, 215, 234
multicols, 22, 23
multline, 67
multline*, 68
pgfonlayer, 97
picture, 197
pmatrix, 63, 64
preface, 39
pyglist, 215, 216
scriptsize, 197
semiverbatim, 233
sideways, 83, 84
smallmatrix, 63, 64
sol, 201
subequation, 60
table, 79, 80, 81, 83, 85, 89, 92, 107
tabular, 73, 76, 77, 80, 81, 83–89, 91, 92,
107, 238
tabularx, 97
teo, 119
teorema, 230
thebibliography, 39, 40, 126
tikzpicture, 97, 152, 153
Verbatim, 49
verbatim, 26, 232
Vmatrix, 63
vmatrix, 63
wrapfigure, 109
end\end
block, 247, 251
column, 247, 251
columns, 247, 251
document, 247, 251, 254
frame, 247, 249, 251
itemize, 247
Enfático, 20
\ensuremath, 97
Enumerado, 29
Tikz, 36
enumerate, 29, 32, 36, 39
EPS
Archivo, 99, 100, 122
Convertir, 100

286

ÍNDICE ALFABÉTICO

leaflet, 254
\doteq, 69
\doteqdot, 70
\dotfill, 25, 25
\dots, 231
\down, 97
\downarrow, 97
\draw, 97, 153
DVI
Archivo, 9, 9–11, 100, 270–272
Imprimir, 9
Visor, 8, 271
Visualizador, 100
DVI→PDF, 152, 270, 272

ÍNDICE ALFABÉTICO

68
epstopdf, 260
eqnarray, 40
\eqslantgtr, 70
\eqslantless, 70
equation, 40
\equiv, 69
Error de sintaxis, 10
Español, 16
Espacio
Modo matemático, 59
Espacio horizontal, 21
Espacio vertical, 21
Esquemas de color, 139
Acromático, 139
Análogo, 139
Complementario, 139
Complementario dividido, 139
\eta, 68
Evince, 270
\exists, 69, 119
Expresiones de dos niveles, 53

\epsilon,

\fallingdotseq,

70

\fancyhead,
\fancyhf,

196
196

\fancypagestyle,

196

FastStone, 121, 275
\fbox, 22, 22, 30, 31
\fboxsep, 28
\fcolorbox, 27, 28
Figuras, 1, 99
Insertar, 99
figure, 40
\fill

orange, 152
\flat, 69
floatflt, 108, 109, 110
\fontencoding, 45, 46
\fontfamily, 45, 46, 47, 73, 81, 83, 196
cmex, 46
cmm, 46
cmr, 46
cmss, 46
cmsy, 46
cmtt, 46
pcr, 46
phv, 46

ptm, 46
Fonts, 20
\fontseries,

46, 46

b, 46
bx, 46
c, 46
m, 46
sb, 46
\fontshape,

287
46

it, 46
n, 46
sc, 46
sl, 46
45, 46, 73, 196
\footnote, 26, 49
\footnotesize, 20, 36
footnotesize\footnotesize, 247
\For, 207, 209
\forall, 69
Formatos, 99
\frac, 10, 53, 62, 67, 72, 87, 88, 92, 209
Fracciones, 53
\frame, 224
frame\frame, 247
\framebox, 22, 25
\framesubtitle, 226, 227
\frametitle, 226, 227, 232, 233, 240
\frown, 69
Fuentes, 8, 19, 20
Adobe Palatino, 140
Arial, 137
Atributos, 45
Bookman, 138
Como escoger, 137
Computer Modern, 137
Decorativa, 137
encoding, 45
family, 45
Helvética, 195
Helvetica, 137
mathpazo, 140
New Century Schoolbook, 138
Palatino, 137
Problemas, 140
Sans serif, 137
series, 45
Serif, 137
\fontsize,

ÍNDICE ALFABÉTICO

shape, 45
size, 45
tabular, 81
Tamaños, 19, 20, 44
Times, 137, 138
Times New Roman, 137, 140
TimesNewRomanPSMT, 140
Tipos, 19, 20
TrueType, 140
\fvset, 215, 216

58
\hbar, 69
\hbox, 58
\hat,

\headheight,

13, 196

13
69
\helv, 196
\hfill, 23, 25, 25, 26, 73, 74, 119
\hline, 76, 76, 80, 81, 83–85, 87–89, 92, 238

\headsep,

\heartsuit,

239, 240
\hrulefill, 13, 25, 25
\hspace, 21, 22, 29, 59, 91
HTML, 259
\Huge, 20
\huge, 20
huge\huge, 248
\hyperlink, 237
\hypertarget, 237
Idioma, 15
\If, 207, 209
\iiint, 54
\iint, 54
\Im, 69
Imagen
Resolución, 122
\imagetop, 91, 92
\imath, 58, 69
\in, 57, 59, 62, 69, 119, 207–209, 226, 230
\includegraphics, 24, 73, 89, 91, 92, 100,
100, 102, 106–110, 119, 197, 236,
239, 240
angle, 106
clip, 102
graphicx, 99
height, 102, 106
scale, 100, 102, 106, 119
trim, 102, 106
width, 100, 102, 106, 107
includegraphics\includegraphics, 249, 251,
253, 256, 257
index, 41
\index, 39, 41, 41–42
see, 42
seealso, 42
textbf, 42
textit, 42
Indice alfabético, 40–42
\infty, 28, 69
Inglés, 15
Inkscape, 1, 100, 114, 118, 122, 140, 140, 141,
274, 275
Edición de figuras, 112, 117
TeXText, 114, 275
Inkscape., 275
\input, 44, 70, 201
inputenc, 45, 253

288

ÍNDICE ALFABÉTICO

68
\gamma, 68
Geogebra, 100
geometry, 252
geometry\geometry, 251, 252
\geq, 56, 69
\geqq, 70
\geqslant, 70
\gfrac, 72
\gg, 69
\ggg, 70
GhostScript, 259, 275
GIF
Archivo, 99, 100
Gimp, 100, 274, 275
Gimp:, 274
Google, 121
books, 260
Gráficos, 1, 8, 99
Escalar, 100
Gsview, 275
\gtrapprox, 70
\gtrdot, 70
\gtreqless, 70
\gtreqqless, 70
\gtrless, 70
\gtrsim, 70

\Gamma,

\href,

ÍNDICE ALFABÉTICO

latin1, 16, 45
utf8, 16, 47
Instalar
Distribución, 268
Editor, 268
institute\institute, 247, 248
\int, 52, 54, 55, 59
int\int, 247
Integrales, 54
Internet, 139, 260
\intertext, 67
\iota, 68
\it, 20
Itálica, 20
Italic, 46
\item, 29, 30–32, 37, 226–229
label, 37
\itembolasazules, 37
JabRef, 130
Java, 210, 216
\jmath, 69
\Join, 69
JPG
Archivo, 99, 100, 103
68
Kile, 4, 11, 48, 269, 270
Kindle, 44
Knuth, D., 2
\KwData, 207, 208, 235
\KwResult, 207, 208, 235

\kappa,

Líneas, 25
\label, 40, 80, 80, 89, 92, 102, 119, 207, 209,
236
\Lambda, 68
\lambda, 68
Lamport, L., 2
\Large, 20, 36
\large, 20, 97
LARGE\LARGE, 247
Large\Large, 247
large\large, 247, 248
LATEX, 1, 2, 2–4, 6, 8, 12, 15, 16, 19, 21,
23, 29, 39, 41, 44, 45, 47, 51, 59,
99, 100, 102, 108–110, 114, 122, 126,
133, 137, 151, 152, 210, 223, 244, 259,
260, 270, 272, 274, 275

Convertir, 6
Internet, 259
A
LTEX-dvips, 223, 225, 236
LaTeX2HTML, 259
LaTeX2HTML Translator, 259, 259, 260
LaTeXDraw, 99
latin1, 253
\ldots, 55, 73
Leaflet, 253, 255
leaflet, 245, 250
\left, 53, 55, 56, 56, 57, 59–62, 209
\leftmark, 196
\Leftrightarrow, 72
Legibilidad, 137
Lenguajes de Programación
Código, 210
LenToUnit\LenToUnit, 257
\leq, 59, 69, 209
\leqq, 70
\leqslant, 70
\lessapprox, 70
\lessdot, 70
\lesseqgtr, 70
\lesseqqgtr, 70
\lessgtr, 70
\lesssim, 70
Letras griegas, 68
Leyes Gestalt, 134, 135
Ley de la semejanza, 134
Ley de proximidad, 134
\lim, 53, 73
\limits, 54
\LinesNumbered, 207–209
\linesnumbered, 235
\linewidth, 119
Linux, 4, 42, 130, 268
Editor de textos, 127
Listas de ejercicios, 199
listings, 210
\ll, 69
Llaves, 56, 57
Horizontales, 56, 57
\lll, 70
\ln, 56
\log, 48, 60, 65, 66
\Longleftrightarrow, 30
\Longrightarrow, 62, 65, 66, 72, 228, 229

289

ÍNDICE ALFABÉTICO

\longtable,

77
Los cuatro principios básicos, 135

\N,

55, 59, 207
29, 69
\natural, 69

\nabla,

\newcommandx*
\coord, 73

74
\newpage, 13, 196
newpage\newpage, 254
\newtheorem, 39
Corolario, 224
Definicion, 224
Ejemplo, 224
ex, 201
Prueba, 224
teo, 119
Teorema, 224
\ni, 69
\nocite, 127
\mpage,

290

ÍNDICE ALFABÉTICO

Márgenes, 8
Mac, 4, 268, 269
MacTEX, 4, 268
makebox\makebox, 257
makeindex, 41
\makeindex, 39, 41
\maketitle, 39, 39
maketitle\maketitle, 249, 254
\marginnote, 29
\margins, 260
\markboth, 196
\markright, 13, 196
\mathbb, 70
Mathematica, 100
\mathtop, 51
MatLab, 100
Matrices, 60, 61, 63
\max, 57
\mbox, 51, 56, 62, 62, 65–67, 72, 208, 209
Medium, 46
Microsoft
Fuentes, 274
\mid, 69
\midrule, 77, 79, 86
MiKTEX, 17
MikTEX, 4, 47, 51, 137, 223, 267–269
Instalar, 268
\min, 57
minipage, 28, 109
minted, 210, 215
python, 215
mode\mode
babel, 247
\models, 69
Modo matemático, 51
Modulación, 43
\mp, 68
\mpage, 73, 74
\mu, 68
multicols, 23
\multicolumn, 85, 86, 92

69
Negrita, 20
Modo matemático, 58
\neq, 53–55, 69, 207
Netpbm, 259
\Newassociation, 201
\newcolumntype, 92
\newcommand, 70
\arcsec, 39
\arcsen, 39, 51
\bc, 72
\be, 73
\bt, 73
\colr, 73
\ds, 72
\ec, 72
\ee, 73
\et, 73
\fhv, 73
\gfrac, 72
\helv, 196
\imp, 72
\itembolasazules, 36
\limite, 73
\mpage, 73
\proy, 72
\sen, 39, 51
\sii, 72
\sumauk, 72
\wvec, 72
\wvecb, 72
\newcommand*, 97
\neg,

ÍNDICE ALFABÉTICO

\node,

36, 97
\nonumber, 65, 66
Normal, 46
\normalfont, 47
\normalsize, 20, 97
normalsize\normalsize, 247

53, 55, 59, 65, 66, 119
\overbrace, 57, 58
\overlayempty, 260
\overline, 30, 57
\overrightarrow, 69, 72
\overset, 53, 54
\over,

\not

<, 69
=, 69
>, 69
69
\cong, 69
\equiv, 69
\geq, 69
\leq, 69
\prec, 69
\preceq, 69
\sim, 69
\simeq, 69
\approx,

69
\sqsupseteq, 69
\subset, 69
\subseteq, 69
\succ, 69
\succeq, 69
\supset, 69
\supseteq, 69
Notas al pie de página, 26
notumble, 253
\nu, 68
Nuevos comandos, 70
Numeración, 8
\sqsubseteq,

Objetos flotantes, 76, 79
\oddsidemargin, 12, 13, 39
\odot, 68
\oint, 54
Okular, 100, 270, 274
\Omega, 68
\omega, 68
\ominus, 68
OML, 45
OOoBasic, 49
\Opensolutionfile, 201
Operadores binarios, 68
\oplus, 68
\oslash, 68
\otimes, 68

Página
Ancho, 8
Largo, 8
Párrafo, 21
\pagebreak, 44
\pagestyle, 196
empty, 13
fancy, 196
myheadings, 13
pagestyle\pagestyle, 254
Panfleto, 254
Panfletos, 244, 250, 253
paperheight\paperheight, 253, 256, 257
paperwidth\paperwidth, 253, 256, 257
\par, 89
\parallel, 69
\parbox, 24, 25, 109, 197, 239
\parindent, 13, 39
\parskip, 13
\partial, 69
Paso de línea, 21
\pause, 230, 230
PDF
Archivo, 9, 9, 99, 100, 103, 118, 122, 137,
140, 141, 152, 259–261, 272, 274, 275
Archivos, 27
Editor, 140
Visor, 8, 270
\pdfdeclarelayer, 97
PDFLATEX, 8, 9, 99, 103, 118, 122, 140, 152,
223, 224, 247, 260, 270–272
PDFLaTeX, 41
PDFsam, 141, 274, 275
PDFScreen, 259, 260
pdfscreen.sty, 261
\pdfsetlayers, 97
Perl, 259
\perp, 69
\pfill, 261
\Phi, 68
\phi, 68

291

ÍNDICE ALFABÉTICO

QtOctave, 100
\quad, 68
\R,

30, 51, 59
Raíces, 54
\raisebox{}{},

90
30, 69
Recortar figuras, 121
\Re,

\red,

119
\ref, 40, 80, 102
Referencias bibliográficas, 39
Relaciones, 69
Negación, 69
\renewcommand

17
\appendixname, 17
\baselinestretch, 13
\bibname, 17
\chaptermark, 196
\chaptername, 17
\contentsname, 17
\figurename, 17
\footrulewidth, 196
\headrulewidth, 196
\labelenumi, 32
\labelenumii, 32
\labelenumiii, 32
\labelenumiv, 32
\partname, 17
\refname, 17
\sectionmark, 196
\tablename, 17
\Repeat, 207
Repetición, 136
Replace Font, 140, 274
report.cls, 17
resizebox\resizebox, 257
\Return, 207–209, 235
RGB, 27, 139
\rhead, 197
\rho, 68
\right, 53, 55, 56, 56, 57, 59–62, 209
\Rightarrow, 119
\rightarrow, 53, 73, 76, 80
\rightmark, 196
\risingdotseq, 70
\rm, 20, 51, 72, 201, 208, 209
Roman, 20
\Roman, 32
rotatebox\rotatebox, 257
\rowcolor, 83, 85, 86
LightBlue2, 82
\rowcolors, 82, 83, 86, 97, 238
\rule, 25, 26, 88, 92
rule\rule, 256

292

\abstractname,

ÍNDICE ALFABÉTICO

68
\pi, 58, 62, 68
picture, 151
PitStop, 140
\plot, 153
\plset, 215, 216
\pm, 68
\pmb, 54, 58
PNG
Archivo, 99, 100, 103, 122
Posters, 244, 245
PostScript, 137
Potencias, 52
Preámbulo, 8, 12, 12–14, 17, 28, 40, 43, 44, 46,
70, 73, 81, 83, 106, 107, 109, 119, 137,
138, 140, 152, 207, 215, 235, 238, 259,
260
\prec, 69
\precapprox, 70
\preccurlyeq, 70
\preceq, 69
\precsim, 70
\prime, 69
\printindex, 39, 41
\prod, 53, 54
\propto, 69
\protect, 36
Proximidad, 135
\proy, 72
\Psi, 68
\psi, 68
Pstoedit, 274, 275
PStricks, 99
\put, 197
put\put, 256, 257
pyglist
java, 215, 216
Pygments, 214, 215
python, 214
\Pi,

ÍNDICE ALFABÉTICO

Símbolos, 8
Sombreros
Modo matemático, 58
Adicionales, 70
\spadesuit, 69
amssymb, 69
\sqcap, 68
Especiales, 69
\sqcup, 68
Otros, 69
\sqrt, 9, 55, 65, 66, 87, 88, 119, 228, 229
Símbolos matemáticos, 68
\sqsubset, 70
Sans Serif, 20
\sqsubseteq, 69
\sc, 20, 39
\sqsupset, 70
\scalebox, 92, 92
\sqsupseteq, 69
sciposter, 245
\stackrel, 53
\screensize, 260
\star, 68
Scribd (ipaper), 260
Subíndices, 52
\scriptsize, 20
\subfigure, 108
scriptsize\scripsize, 247
Subrayado, 20
Secciones, 37
Subsecciones
Personalizar, 183
Personalizar, 183
\section, 39, 39, 201
\subsection, 39, 39
\selectfont, 45–47, 73, 81, 83, 196
\Subset, 70
Semi-bold, 46
\subset, 22, 69
\sen, 51, 52
\subseteq, 30, 69
\setbeamercovered, 224
setbeamertemplate\setbeamertemplate, 251, \subseteqq, 70
\substack, 53
252
\subsubsection, 39, 39
\setcounter, 39, 60, 60, 201
\subtitle, 224
\setlength, 197
\succ, 69
\columnsep, 23
\succapprox, 70
\SetAlgoLined, 207, 208
\succcurlyeq, 70
\SetLine, 235
\succeq, 69
\setmainfont, 48
\succsim, 70
\setminus, 68
\sum, 52, 53, 56, 72, 215, 231
\SetVLine, 235
SumatraPDF-TeX, 271, 272
\SetAlgoVlined, 207–209
\sumauk, 72
\sf, 20
Superíndices, 52
\sharp, 69
\Supset, 70
Shutter, 121, 274
\supset, 69
sideways, 84
\supseteq, 69
\Sigma, 68
\supseteqq, 70
\sigma, 68
\surd, 69
\sim, 69
\simeq, 69
Título, 37
\sl, 20
Tablas, 76
Slanted, 20, 46
Ancho de columnas, 88
\small, 20, 29, 39
Color, 81
Small Caps, 20
Escalar, 92
\smile, 69
Espaciado, 87
Software adicional, 274
Modo matemático, 92
Rotar texto, 83
Software libre, 99

293

ÍNDICE ALFABÉTICO

Tikz, 95
table, 40

294

ÍNDICE ALFABÉTICO

Figuras nativas, 151
Tablas, 95
\tikz, 36, 152
\tableofcontents, 39, 39
tikzpicture, 152
tabular, 238
\times, 49, 68, 83, 84
Tamaño Natural, 52
\tiny, 20
\tau, 68
tiny\tiny, 247
Teoremas, 40
\title, 39, 39, 224
TEX
title\title, 247, 248, 254, 256
Archivo, 9, 9, 259
\titlepage
, 224
TEX, 2, 2–4, 9, 45, 47, 268–270, 272
todonotes, 29
Distribuciones, 268
\top, 69
TeXDraw, 99
TEXLive, 4, 47, 51, 137, 215, 216, 223, 267–269 \topmargin, 12, 13, 39, 44, 51
\toprule, 77, 79, 86
Instalar, 269
Trípticos, 244, 250, 253
TeXMaker, 3, 4, 10, 11, 48, 269–271
\transblindshorizontal, 238
Opciones, 42
\transblindsvertical, 238
TeXMakerX, 269
\transboxin, 238
TeXStudio, 270
\transboxout, 238
TeXstudio, 4, 269, 271
\transdissolve, 238
\textbf, 20, 89, 97
\transglitter, 238
textbf\textbf, 257
Transparencias, 223, 244
\textcolor, 97
Tres puntos consecutivos, 55
textcolor\textcolor, 256, 257
\triangle, 69
textcomp, 49
\triangleleft, 68
TeXText, 140, 274
\triangleq, 70
\textheight, 12, 12, 39, 44, 51
\triangleright, 68
\textit, 20, 89
\trianglerighteq, 70
Texto en contornos, 141
\tt, 20, 102, 196, 238
Texto matemático, 9, 19, 210, 260
Typewriter, 20
Texto normal, 19
\textquotesingle, 49
Ubuntu, 4, 6, 17, 48, 100, 121, 259–261, 267–
\textsf, 197
269, 271
textsf\textsf, 257
Centro de software, 274
\textt, 20
Synaptic, 269, 270, 274
\textwidth, 12, 12, 23, 24, 39, 44, 51, 73, 74, \unboldmath, 58
97, 106
\uncover, 227, 228, 233
textwidth\textwidth, 251
\underbrace, 57, 58
TeXworks, 270
\underline, 20, 240
\thepage, 196
Unir celdas, 85
\therefore, 70
\unitlength, 197
\thesection, 196
\up, 97
\Theta, 68
\uparrow, 97
\theta, 68
\uplus, 68
\thickapprox, 70
\Upsilon, 68
\thicksim, 70
\upsilon, 68
thispagestyle\thispagestyle, 254
usebackgroundtemplate\usebackgroundtemplate,
253
Tikz, 1, 36, 95, 99, 152, 153

ÍNDICE ALFABÉTICO

\usefonttheme,

224

usefonttheme\usefonttheme, 247, 248
\usemintedstyle, 214
\usepackage

algorithm2e, 207, 235
amsfonts, 9, 12, 13, 14, 39, 51, 97, 140,
201, 224
amsmath, 3, 9, 12, 13, 14, 39, 51, 67, 97,
140, 201, 224
amssymb, 9, 12, 13, 14, 39, 51, 97, 140,
201, 224
answers, 199, 201
anyfontsize, 45, 45
babel, 16, 16, 51, 196, 201
bookman, 47, 138
calligra, 46
cancel, 39, 51
cmbright, 47
colortbl, 97
concrete, 47
enumitem, 36
epstopdf, 107, 225, 236, 260
eulervm, 47
fancyhdr, 195, 196
fancyvrb, 48, 48
fix-cm, 45
float, 107
floatflt, 108
fontenc, 3, 15, 39, 46, 51, 140, 196, 201,
224
fourier, 47
geometry, 14, 14
graphicx, 9, 12, 13, 14, 39, 100, 100, 102,
107
helvet, 47, 196
html, 259
inputenc, 12, 13, 14, 15, 16, 48, 51, 97, 140,
196, 201, 224
latexsym, 9, 12, 13, 14, 39, 51, 97, 140,
201, 224
lstlisting, 234
makeidx, 39, 41, 259
makeidx, 41
marginnote, 29
mathpazo, 47, 137, 140
mathptmx, 47, 138
minted, 214, 234

multicol, 22, 22
multimedia, 238
newcent, 47, 138
palatino, 47
pdfscreen, 260
color, 261
panelleft, 261
paneltoc, 261
screen, 261
pslatex, 47, 137
pstricks, 28
black, 29
blue, 29
cyan, 29
darkgray, 29
gray, 29
green, 29
lightgray, 29
magenta, 29
red, 29
white, 29
yellow, 29
pxfonts, 47
rotating, 84
stmaryrd, 97, 140, 224
subfigure, 108
tabularx, 92, 97
textcomp, 44
tikz, 36, 97
txfonts, 47
verbments, 215, 216
wrapfig, 108
xargs, 73
xcolor, 27, 81, 140
xltxtra, 48
usepackage\usepackage
amsmath, 247
amssymb, 247
amsthm, 247
babel, 247
beamerposter, 247
geometry, 251, 252
inputenc, 247, 251, 254
latexsym, 247
xcolor, 256
\usetheme, 224
usetheme\usetheme, 247

295

ÍNDICE ALFABÉTICO

Warsaw, 248
\usetikzlibrary,

97

utf8, 253
68
68
\varpi, 68
\varrho, 68
\varsigma, 68
\vartheta, 68

\varepsilon,
\varphi,

70

VBA, 49
\vdash, 69
\vdots, 55, 61, 64
\vec, 29, 58, 72
\vee, 68
Ver
Resultado, 8
\verb, 196
\verb, 19
Verbatim
codes, 49
commandchars, 49
fontfamily, 49
formatcom, 49
frame, 49
resetmargins, 49
xleftmargin, 49
xrightmargin, 49
\VerbatimFootnotes, 49
verbments, 215
Texto matemático, 215
verbments.sty, 216
VERYHuge\VERYHuge, 247, 248
VeryHuge\VeryHuge, 247
veryHuge\veryHuge, 247
VirtualBox, 260
\visible, 233
\vrule, 87
\vspace*, 224
\vspace, 22, 22
vspace*\vspace*, 256
\vv, 58
30, 68
\While, 207, 207, 209
\widehat, 69
\widetilde, 69

\wedge,

\x,

153
XeLATEX, 47
\Xi, 68
\xi, 68, 119
Yap, 100, 271, 272
\Z,

62
\zeta, 68

296

ÍNDICE ALFABÉTICO

\vartriangleright,

Windows, 4, 42, 100, 121, 130, 259–261, 267–
269, 271, 272
Bloc de notas, 127
Software adicional, 274, 275
Winplot, 100
Winshell, 4, 11, 269, 271, 272
\wp, 69
\wr, 68
wrapfigure, 108, 109
Writer, 6
Writer2LaTeX, 6
Wubi, 260
\wveb, 72
\wvec, 72



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 307
Page Mode                       : UseOutlines
Author                          : 
Title                           : 
Subject                         : 
Creator                         : LaTeX with hyperref package
Producer                        : pdfTeX-1.40.17
Create Date                     : 2017:05:13 09:35:17-06:00
Modify Date                     : 2017:05:13 09:35:17-06:00
Trapped                         : False
PTEX Fullbanner                 : This is MiKTeX-pdfTeX 2.9.6100 (1.40.17)
EXIF Metadata provided by EXIF.tools

Navigation menu