Creative Writing > Essays">
Edición de Textos Científicos Con LaTeX: Composición, Gráficos y Presentaciones Beamer
Edición de Textos Científicos Con LaTeX: Composición, Gráficos y Presentaciones Beamer
Edición de Textos Científicos Con LaTeX: Composición, Gráficos y Presentaciones Beamer
LATEX
Composición, Gráficos y Presentaciones
Beamer
Derechos Reservados ©
Primera Edición.
Revista digital, Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/), 2009.
Correo Electrónico: revistadigitalmatematica@gmail.com
Escuela de Matemática
Instituto Tecnológico de Costa Rica
Apdo. 159-7050, Cartago
Teléfono (506)25502225
Fax (506)25502493
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 Matemáticas, Educación e Internet es una publicación electrónica. El material publicado en ella expresan la
opinión de sus autores y no necesariamente la del Instituto Tecnológico de Costa Rica.
Para este material en particular, se autoriza la reproducción total o parcial de los contenidos siempre y cuando se cite la fuente.
Contenido
Prefacio viii
2 Creando un documento 8
2.1 Preámbulo y cuerpo 8
2.1.1 Otros comandos para el preámbulo 9
iii
iv CONTENIDO
4 Tablas 60
4.1 Los ambientes figure y table 68
4.2 Los ambientes wrapfigure y floatflt 70
4.2.1 wrapfigure 71
4.2.2 floatflt 72
Este texto cubre aspectos básicos e intermedios sobre composición tipográfica LATEX .
También se desarrollan tópicos que tienen que ver con paquetes especiales. Algunas veces
la descripción se hace “por ejemplos”, dada la bastedad del tema. Los temas que se han in-
cluido 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. En esta nueva edición se
incluye un capítulo sobre BibTeX, otro sobre diseño básico de libros y una sección sobre
opciones cómodas para poner documentos LATEX en Internet. Este texto se ha usado en
algunos cursos en el Instituto Tecnológico de Costa Rica y lo usan frecuentemente los
asistentes, en la revista digital.
W. MORA, A. BORBÓN.
Cartago, Costa Rica. 2009.
1 LATEX: PRIMEROS PASOS
“TEX is intended for the creation of beautiful books - and especially for books that
contain a lot of mathematic”.
Donald Knuth
documento1 .
EJEMPLO 1.1 LATEX formatea las páginas de acuerdo a la clase de documento especificado
por \documentclass{ }, por ejemplo, \documentclass{book}.
Un documento LATEX puede tener texto ordinario junto con texto en modo matemático.
Los comandos vienen precedidos por el símbolo “\” (backslash). Un ejemplo de código
LATEX es el siguiente:
\documentclass{book}
\usepackage{latexsym}
\begin{document}
$0^0$ es una expresi\’on 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\’ormulas se puedan expresar de manera sencilla,
sin recurrir a casos especiales, por ejemplo
$$e^x=\sum_{n=0}^{\infty}\frac{x^n}{n!}$$
Este código, una vez compilado, produce una página con el texto:
1 Además de LaTeX, existe otra opción, llamada ConTeXt. Este conjunto de macros TeX es menos famosa pero
tal vez es más sencilla de usar y ofrece más posibilidades de edición TeX
3
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 y LaTeX sobre un
sistema operativo. Una vez que instalamos TeX usando alguna distribución, es conveniente
tener un editor no solo para editar de manera cómodo el texto, también para tener acceso
de manera sencilla a las tareas usuales de una sesión LaTeX: editar, compilar, visualizar,
imprimir o convertir a PDF.
1.2.1 Distribuciones
Hay otras distribuciones de TEX: TeXLive (Windows, Linux, Mac) y MacTeX (Mac OS
X). Las distribuciones Linux (como Ubuntu) vienen con TeXLive y los editores Kile y LyX.
Se puede optar por el sistema básico (‘Installing a basic MiKTeX system’) o por el sistema
completo (‘Installing the complete MiKTeX system: MiKTeX 2.x Net Installer’).
Con el sistema completo, podemos indicar a MiKTeX (en el proceso de
instalación, por ejemplo) la dirección en disco del conjunto de paquetes.
Ambos sistemas vienen con un archivo “setup.exe” que se encarga de la
instalación.
Si tiene una carpeta con todos los paquetes, puede indicarle a MiKTeX esta ubicación con:
Las pruebas de este libro se hicieron con MiKTeX2.7 y asumimos que el lector tiene el
sistema completo a mano.
Un Editor
Después de la instalación de la distribución TeX instalamos un editor. Para Linux hay va-
rios editores Kile, LyX, TeXMaker, etc. Para Mac está TeXMaker. En Windows se pueden
utilizar alguno de los editores siguientes:
• TeXMaker: http://www.xm1math.net/texmaker/
• WinShell: http://www.winshell.org/
• LEd: http://www.latexeditor.org/
• WinEdit: http://www.winedt.com (shareware; 30 días de prueba; no vence, pero
despliega una molesta ventana)
\documentclass{article}
\textheight=20cm
\textwidth=18cm
\topmargin=-2cm
Preámbulo
\oddsidemargin=-1cm
\parindent=0mm
\usepackage{amsmath,amssymb,amsfonts,latexsym,cancel}
\usepackage[dvips]{graphicx}
\begin{document}
...
\end{document}
• Compilamos: En el menú del editor está la opción LaTeX para compilar. Esto nos
permite detectar, por ejemplo, errores en los comandos o en la lógica de una fórmula.
• Ver el archivo DVI: Una vez que hemos compilado, usamos la opción DVI para
ver el documento (esto hace que un visualizador ejecute el programa “dvips” para
ver el documento en pantalla).
En ambos, la compilación
se hace con la opción
LaTeX. Esto generá una
información de salida. Si
la compilación encuentra
algún error se indicará con
un mensaje corto en rojo,
por ejemplo
archivo.tex(89):
Error: ! Missing $
inserted.
En este ejemplo, esto nos
indica que falta el símbolo
“$” en la línea 89.
Plantilla básica
\documentclass{article}
\textheight=20cm
\textwidth=18cm
\topmargin=-2cm
\oddsidemargin=-1cm
\parindent=0mm
\usepackage{amsmath,amssymb,amsfonts,latexsym,cancel}
\usepackage[dvips]{graphicx}
\begin{document}
Texto normal + texto en modo matem\’atico
\end{document}
• \documentclass{article}: Es la clase de documento, article se refiere al
archivo article.cls y se utiliza para hacer artículos. En vez de “article” se
puede utilizar “report” o “book” para un reporte o un libro.
• \textheight=21cm: Establece el largo del texto en cada página. El default es 19
cm.
• \textwidth=17cm: Establece el ancho del texto en cada página (en este caso, de 17
cm). El default es 14 cm.
• \topmargin=-1cm: Establece el margen superior. El default es de 3 cm, en este caso
la instrucción sube el margen 1 cm hacia arriba.
• \oddsidemargin=0cm: Establece el margen izquierdo de la hoja. 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.
2.1.4 Idioma
El idioma oficial que utiliza LATEX es el inglés, sin embargo, utilizando algunas instruc-
ciones se puede lograr que soporte otros idiomas, en particular, veremos cómo hacer para
que soporte el español. Por ejemplo, LATEX normalmente no acepta tildes, ni la “ñ”, tam-
poco 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.
\’a á ?‘ ¿
\’e é !‘ ¡
\’{\i} í ‘‘ . ’’ “.”
\’o ó ‘ . ’ ‘.’
\’u ú \~n ñ
se tendrá un soporte completo para el español, ahora sólo las comillas se tendrán que seguir
poniendo mediante la instrucción dada en la tabla.
Otro problema que tiene LATEX con el idioma es que los títulos de las secciones están en
inglés. Por lo tanto, en un libro no saldría Capítulo 1 sino Chapter 1.
Existen dos formas sencillas de solucionar este problema. La forma más simple y recomen-
dada es poner en el preámbulo del documento la instrucción
\usepackage[spanish]{babel}
11
que carga la opción en español de la librería babel; esta librería también tiene soporte para
otros idiomas como alemán, francés, italiano, etc.
Tópico A veces el paquete babel tiene conflictos con algún otro paquete que queremos usar. Por
adicional eso tenemos que tener en cuenta una segunda opción: Si el documento es de tipo article,
podemos poner en el preámbulo
\renewcommand{\contentsname}{Contenido}
\renewcommand{\partname}{Parte}
\renewcommand{\appendixname}{Ap\’endice}
\renewcommand{\figurename}{Figura}
\renewcommand{\tablename}{Tabla}
\renewcommand{\abstractname}{Resumen}
\renewcommand{\refname}{Bibliograf\’{\i}a}
\renewcommand{\contentsname}{Contenido}
\renewcommand{\partname}{Parte}
\renewcommand{\appendixname}{Ap\’endice}
\renewcommand{\figurename}{Figura}
\renewcommand{\tablename}{Tabla}
\renewcommand{\chaptername}{Cap\’{\i}tulo}
\renewcommand{\bibname}{Bibliograf\’{\i}a}
Esto también funciona si queremos cambiar alguna palabra en español de los que pone la
librería babel.
Una tercera opción es hacer este cambio permanente: ir a la carpeta de instalación de MiK-
TeX (usualmente C:\Archivos de programa\MiKTeX 2.7\tex\latex\base), buscar
y abrir el archivo el archivo de texto article.cls (o report.cls o book.cls)
12 CREANDO UN DOCUMENTO
\newcommand\contentsname{Contents}
\newcommand\listfigurename{List of Figures}
...
y se cambian por
\newcommand{\contentsname}{Contenido}
\newcommand{\partname}{Parte}
\newcommand{\indexname}{Lista Alfab\’etica}
...
\usepackage[latin1]{inputenc}
de\-ci\-si\’on.
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 como se
divide, y tiene la ventaja de que funciona con palabras que tienen acento.
13
Algunos caracteres están reservados para que cumplan alguna función, por eso no se
pueden obtener digitá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 para
imprimirlos.
Carácter Comando
\ carácter inicial de comando
\ $\backslash$
{ } 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 exponentes y subíndices
# \#
~ para evitar cortes de renglón
Λ \~{}
% para comentarios
% \%
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 delimita-
dores no presentes en el texto a imprimir.
Para cambiar el tipo de letra se pone {\tipo texto...}. Por ejemplo, para escribir en
negrita se pone {\bf text....}
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
14 CREANDO UN DOCUMENTO
Comando Produce
{\rm Roman } Roman
{\em Enf\’atico } Enfático
{\bf Negrita } Negrita
{\it It\’alica } Itálica
{\sl Slanted } Slanted
{\sf Sans Serif } Sans Serif
{\sc Small Caps } Small Caps
{\tt Typewriter } Typewriter
\underline{Subrayado } Subrayado
Comando Produce
{\tiny Tiny} Tiny
\documentclass{article}
\usepackage{anyfontsize}
\usepackage{t1enc}
\begin{document}
{\fontsize{80}{28}\selectfont LaTeX}
\end{document}
Muchas fuentes son instaladas por default en la instalación de MiKTeX, otras fuentes
especiales se pueden agregar de manera automática: Al usar un paquete para fuentes, MiK-
TeX lo carga de manera automática en la primera compilación (en el caso de que esté
disponible).Si una fuente está disponible, puede aplicar esta fuente a un texto o de manera
global. Cualquier fuente en LaTeX tiene cinco atributos:
m Medium
b Bold
bx Bold extended
sb Semi-bold
c Condensed
n Normal
it Italic
sl Slanted (‘‘oblicua’’)
sc Caps and small caps
{\fontfamily{...}\selectfont{ texto}}
17
{\fontencoding{...}\fontfamily{...}\selectfont{ texto }}
Para ver un conjunto completo de fuentes disponibles, los paquetes y el código que se
deben usar para usar cada fuente, se puede visitar el sitio de “The LaTeX Font Catalogue”
en http://www.tug.dk/FontCatalogue/
\usepackage[T1]{fontenc}
\usepackage{calligra}
CM Mathematics
{\fontencoding{OMS}\fontfamily{cmsy}\selectfont{x}} 2.3 § 2.3
CM ‘Dunhill’
{\fontfamily{cmdh}\selectfont{Ejemplo}} Nuevo Ejemplo
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\xxx. Aquí, xxx se refiere
18 CREANDO UN DOCUMENTO
Para hacer un cambio global solo debe declarar el package correspondiente en el preámbulo
del documento. Por ejemplo
\usepackage{pslatex}
\usepackage{bookman}
\usepackage{helvet}
\usepackage{palatino}
\usepackage{newcent}
\usepackage{pxfonts}
\usepackage{txfonts}
\usepackage{concrete}
\usepackage{cmbright}
\usepackage{fourier}
\usepackage{mathptmx}
\usepackage{mathpazo}
\usepackage{concrete,eulervm}
\usepackage{pslatex,concrete}
concrete cmbright
El texto: Produce:
2.3.1 Centrar
Para centrar un texto se pone éste entre los comandos \begin{center} \end{center}
\begin{center} Manual de
Manual de\\ LATEX
\LaTeX
\end{center}
2.3.2 Cajas
Para encerrar palabras o un texto en una caja se usan los comandos \fbox{ texto } o
\framebox{}
\begin{center} Manual de
Manual de\\ LATEX
\fbox{\LaTeX}
\end{center}
En LATEX existen varias maneras de escribir doble columna, ahora veremos algunas de
ellas.
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}{#}. La instrucción
\begin{multicols}{2}
Hace que...
\end{multicols}
Hace que el texto que está entre los delim- de texto que aparece en cada una de ellas; sin
itadores salga a doble columna, LATEX se embargo, esto es una gran ventaja cuando no
encarga de manera automática de distribuir se quiere tener control sobre estos detalles.
el texto entre las columnas de la mejor man- El campo de separación que se
era, además de acomodar el texto cuando deja entre las columnas se define
hay un cambio de línea. en el preámbulo con la instrucción
Una limitación de este ambiente es que las \setlength{\columnsep}{7mm} la cual
columnas se distribuyen con el mismo ancho dejaría un espacio de 7 milímetros entre
y no se puede tener control sobre la cantidad ellas.
La segunda manera de insertar dentro del documento texto a doble columna, es utilizar
el formato minipage (también se puede utilizar \twocolumn ), la sintaxis sería de la
siguiente manera.
\begin{minipage}[t]{Xcm}
PRIMERA COLUMNA \\
*******************\\
*******************\\
*******************\\
\end{minipage}
\ \ \hfill \begin{minipage}[t]{Ycm}
SEGUNDA COLUMNA \\
*******************\\
*******************\\
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
22 CREANDO UN DOCUMENTO
*******************\\
\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}[t]{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”.
El texto:
\begin{figure}[h]
\begin{minipage}[b]{0.3\textwidth}
La imagen de la derecha muestra un Icosaedro junto con un
Dodecaedro (figura central), los sat\’elites son un icosaedro,
un dodecaedro y un tetraedro. Las figuras fueron generadas con
{\it Mathematica} y maquilladas con {\it Adobe Ilustrator}.
\end{minipage}
\hfill \begin{minipage}[b]{0.6\textwidth}
\begin{center}
\includegraphics{images/ML_fig3.eps}
\caption{{\small Poliedros}}
\end{center}
\end{minipage}
\end{figure}
Produce:
23
\parbox{xcm}{...}\parbox{ycm}{...}.
Parbox también se puede usar en combinación con \framebox para hacerle un recuadro
a la imagen: \framebox{\parbox{xcm}{texto}}. Este comando no esta pensado para
grandes bloques de texto. Veamos un ejemplo:
El texto:
\parbox{3cm}{\includegraphics{images/ML_fig4.eps}}\parbox{10cm}{En
{\it 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 {\tt FaceForm[{}], EdgeForm[{}],
Drop[Dodecahedron[{}],{}] Lighting->False}. Podemos tambin controlar la
posicin y el tamao indicando coordenadasen el espacio y
un factor de escalamiento.
Tanto FaceForm[...] como EdgeForm[...] pueden recibir primitivas
relacionadas con color y grosor. Poner el comando {\tt EdgeForm[]} tiene
como efecto eliminar las aristas.}
produce:
24 CREANDO UN DOCUMENTO
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í:
• Para poner texto en una caja usando un color de fondo determinado, se usa
Produce:
LaTeX
• Para entrar párrafos en 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.
{\fboxsep 12pt%
\fcolorbox{miorange}{white}{%
26 CREANDO UN DOCUMENTO
\begin{minipage}[t]{10cm}
$0^0$ es una expresi\’on 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\’ormulas se puedan expresar de manera sencilla,
sin recurrir a casos especiales, por ejemplo
$$\ds{e^x=\sum_{n=0}^{\infty}\frac{x^n}{n!}}$$
$$\ds{(x+a)^n=\sum_{k=0}^\infty \binom{n}{k}x^k a^{n-k}}$$
\end{minipage}
}}
Produce:
producirá:
produce:
produce:
• \footnote{ ...texto...} produce una nota al pie de la página con el texto in-
cluido. 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ódigo2 .
2 Ejemplo de footnote
28 CREANDO UN DOCUMENTO
El texto:
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 suma = 0
h = (b - a) / N h = (b - a) / N
For i = 1 To N - 1 For i = 1 To N - 1
xi = a + i * h xi = a + i * h
suma = suma + F.Eval1(xi) suma = suma + F.Eval1(xi)
Next i Next i
... ...
End Sub End Sub
\end{verbatim}
{\footnotesize
\begin{verbatim}
...
\end{Verbatim}
}
Tópico
El Paquete fancyvrb adicional
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 dentro del ambiente verbatim.
Estas cosas se pueden hacer con el paquete fancyvrb: Ponemos en el preámbulo \usepackage{fancyvrb}.
• verbatim en notas al pie de página: se usa footnote de la manera usual pero, en este
caso, precedido por \VerbatimFootnotes.
29
1 Se refiere al código
int factorial(int n){
if (n == 0) return 1;
return n * factorial(n-1);}
\begin{Verbatim}[
xleftmargin=3.1cm,
xrightmargin=4.5cm,
resetmargins=true,
frame=lines,formatcom=\color{colverbatim},
fontfamily=ptm,
commandchars=\\\{\},
codes={\catcode‘$=3\catcode‘^=7\catcode‘_=8}]
30 CREANDO UN DOCUMENTO
$x$ $y=x^2$
-2 4
0 0
2 4
0.000005 2.5$\times 10^{-11}$
\end{Verbatim}
Produce:
x y = x2
-2 4
0 0
2 4
0.000005 2.5× 10−11
Para dejar espacio horizontal se usa el comando \hspace{Xcm}. El efecto es abrir espacio
o correr horizontalmente texto o tablas o gráficos. Xcm o Xmm o Xin es el corrimiento a
la derecha o a la izquierda según sea X positivo o negativo.
EJEMPLO 2.19
$\subset \hspace{-3.5mm} / \hspace{-1mm} / $ 30 produce: ⊂
// 30
Para abrir espacio verticalmente se usa el comando \vspace{Xcm} que funciona de manera
análoga a \hspace excepto que para que haga efecto debe dejarse antes, un renglón en
blanco.
El texto:
\LaTeX...
\vspace{-0.8cm} Produce:
\hspace{1cm}\LaTeX LATEX
LATEX... TEX...
\hspace{2cm}\TeX... TEX
\vspace{-0.2cm}
\hspace{1cm}\TeX
Uno de los comandos más usados para hacer listas es enumerate. Cada nuevo item 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.
{\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).$
Produce:
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[\fbox{1.}] {\bf Procedimiento}
{\em Aprendizaje}
\item[\fbox{2.}] {\bf comienzo}
\begin{enumerate}
\item Paso a.
\item Paso b.
\begin{enumerate}
\item Paso c.1
33
produce:
1. Procedimiento Aprendizaje
2. comienzo
(a) Paso a.
(b) Paso b.
i. Paso c.1
ii. Paso c.2
• Paso c.2.1
• Paso c.2.2
iii. Paso c.3
(c) Paso d.
3. fin
Los símbolos que enumerate pone por defecto para enumerar una lista se pueden cambiar
con las instrucciones
\renewcommand{\labelenumi}{\Roman{enumi}.}
\renewcommand{\labelenumii}{\arabic{enumii}$)$ }
34 CREANDO UN DOCUMENTO
\renewcommand{\labelenumiii}{\alph{enumiii}$)$ }
\renewcommand{\labelenumiv}{\fnsymbol{enumiv} }
las cuales, en este caso, indican que en el primer nivel se utilizarán número romanos
en mayúscula (para ponerlo en minúscula se pone \roman{enumi}), para el segundo
nivel números arábigos, en el tercer nivel se usarán letras en minúscula (si se quieren en
mayúscula se utiliza \Alph{enumiii}) y en el cuarto nivel se utilizarán símbolos.
Cada nivel se puede definir de acuerdo a lo que se necesite, observe que también se pueden
agregar paréntesis o puntos para darle el formato. De hecho, para enumerar también se
pueden poner símbolos, por ejemplo \renewcommand{\labelenumii}{$\bullet$ }
pondrá un círculo pequeño relleno en el segundo nivel.
\renewcommand{\labelenumi}{\Roman{enumi}.}
\renewcommand{\labelenumii}{\arabic{enumii}$)$ }
\renewcommand{\labelenumiii}{\alph{enumiii}$)$ }
\renewcommand{\labelenumiv}{$\bullet$ }
\begin{enumerate}
\item Primer nivel
\begin{enumerate}
\item Segundo nivel
\begin{enumerate}
\item Tercer nivel
\begin{enumerate}
\item Cuarto nivel
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
produce:
I. Primer nivel
1) Segundo nivel
a) Tercer nivel
• Cuarto nivel
\documentclass{report}
\textheight=20cm
\textwidth=18cm
\topmargin=-2cm
\oddsidemargin=-1cm
\parindent=0mm
\usepackage[dvips]{graphicx}
\usepackage{latexsym,amsmath,amssymb,amsfonts,cancel}
\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]
\newtheorem{ejem}{{\it Ejemplo}}[chapter]
\newtheorem{defi}{Definici\’on}[chapter]
\begin{document}
\title{\LaTeX\\
{\small \sc Instituto Tecnol\’ogico de Costa Rica}\\
{\small \sc Escuela de Matem\’atica}\\
{\small \sc Ense\~anza de la Matem\’atica Asistida por
Computadora}
}
\tableofcontents
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
36 CREANDO UN DOCUMENTO
\black
\chapter{\LaTeX}
\section{?‘Qu\’e es \LaTeX ?}
...
\subsection{Pre\’ambulo}
...
\subsubsection{T\’{\i}tulo}
...
\begin{thebibliography}{99}
\bibitem{} Hahn, J.‘‘\LaTeX $\,$ for eveyone’’. Prentice Hall,
New Jersey, 1993.
...
\end{thebibliography}
\end{document}
Bibliografía
\begin{thebibliography}{99}
\bibitem{Hahn} Hahn, J. {\it \LaTeX $\,$ for eveyone}. Prentice Hall,
New Jersey, 1993.
\end{thebibliography}
\clearpage
\addcontentsline{toc}{chapter}{Bibliogrf\’{\i}a}
\begin{thebibliography}{99}
...
37
En el texto uno puede hacer referencia a algún item de la bibliografía. Para hacer esto, le
ponemos una etiqueta al item, digamos:
\begin{thebibliography}{99}
\bibitem{Hahn} Hahn, J.‘‘\LaTeX $\,$ for eveyone’’.
Prentice Hall, New Jersey, 1993.
\end{thebibliography}
Esto produce:
Algo similar podemos hacer en los ejemplos, teoremas, definiciones, etc. Para estos usamos
una etiqueta (label) para identificarlos. Por ejemplo, si ponemos
\begin{defi}\label{definicion1}
....
\end{defi}
En la definici\’on (\ref{definicion1})...
2.6 Modulación
\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.
Recordemos que el texto matemático va entre $ $. Para tener acceso a varios paquetes
de fuentes (que no están en el formato estándar) y para usar abreviaciones para algunos
símbolos especiales, lo mejor es usar la siguiente plantilla
\begin{document}
...
\end{document}
Aquí suponemos que se tiene una versión completa de MiKTeX o, en su defecto, una
conexión a Internet para que MiKTeX automáticamente agregue los paquetes que le hagan
falta.
n
(22 )n (2^2)^n 22 2^{2^n}
j Rb
ai a_i^j a f (x) dx \int_a^b f(x) \, dx
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.
Produce:
N
La suma parcial N-ésima SN se define con la igualdad SN = ∑ an
k=1
3.3 Raíces
Para hacer fracciones se pueden utilizar los comandos: \over, \frac{}{} o { \atop }.
Veamos también otras “fracciones” útiles.
x+1
x−1 {x+1 \over x-1}
x+1
\displaystyle \frac{x+1}{x-1}
x−1
x+1
3
x−1 {{x+1 \over 3} \over x-1}
n+1
1 n
1+ \displaystyle{\left( 1+ {1 \over x} \right)^{n+1 \over n}}
x
n+1
1 n
1+ \displaystyle \left( 1+ \frac{1}{x} \right)^\frac{n+1}{n}
x
n+1
1 n
1+ \displaystyle{\left( 1+ {1 \over x} \right)}^{\displaystyle{n+1 \over n}}
x
x+1
x−1 {x+1 \atop x-1}
x+1
{x+1 \above 2pt x-1} (2pt es el grosor)
x−1
x+1
x−1 {x+1 \brace x-1}
x+1
x−1 {x+1 \brack x-1}
f
a→b \displaystyle{a \stackrel{f}{\rightarrow} b}
∑ ai b j \displastyle{\sum_{\substack{0<i< m\\0<j<n}}a_ib_j}
0<i<m
0< j<n
43
Z
F · dr \displastyle{\int_C\boldsymbol{F}\cdot\, dr}
C
I
F · dr \displastyle{\oint_C\pmb{F}\cdot\, dr}
C
ZZ
f (x, y) dA \displastyle{{\iint_D f(x,y)\,dA}}
D
ZZZ
f (x, y, z) dA \displastyle{{\iiint_Q f(x,y,z)\,dA}}
Q
Una elipsis es un grupo de tres puntos que indican la continuación de un patrón, se obtienen
con los siguientes comandos.
... \ldots ··· \cdots
.. ..
. \vdots . \ddots
3.6 Delimitadores
Para ajustar delimitadores al tamaño de una fórmula se usan los comandos \left ...\right,
por ejemplo
EJEMPLO 3.4 El texto:
n
x+1
produce:
(x − 1)2
El texto:
$\displaystyle \left\{ {n \in \N \atop r \neq 1 } \right.$
n∈N
produce:
r 6= 1
El texto:
produce:
2 1/2
∑∑ xi j
j i
Comparar con
2 1/2
∑ ∑ xi j
j i
Barras horizontales.
Las barras horizontales sobre el texto se pueden obtener con el comando \overline{}
EJEMPLO 3.6 El texto:
Leyes de DeMorgan:
$\displaystyle{ \left\{
{ \overline{A \cup B} = \overline{A} \cap \overline{B}
\atop
\overline{A \cap B} = \overline{A}\cup \overline{B}
}
\right.} $
produce:
A∪B = A∩B
Leyes de DeMorgan:
A∩B = A∪B
El código:
produce:
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.
EJEMPLO 3.7 El texto:
\[ \overbrace{(x_i-1)}^{K_i}f(x)+\underbrace{(x_i-1)}_{K_i}g(x)
= K_i(f(x)+g(x)) \]
produce:
Ki
z }| {
(xi − 1) f (x) + (xi − 1) g(x) = Ki ( f (x) + g(x))
| {z }
Ki
ı̂ $\hat{\imath}$ á $acute{a}$
p̄ $\bar{p}$ ~p $\vec{p}$
En una fórmula matemática, el comando \boldmath solo pone en negrita las fuentes de
texto. Para poner en negrita los símbolos se debe usar \boldsymbol o \pmb. También se
puede poner en negrita toda la expresión matemática usando
cos(x +2π
2π) = cos x
2π $\cos(x+\pmb{2\pi})=\cos x$
LATEX no deja espacios en modo matemático. Para dejar espacio en modo matemático se
usan los comandos \, \; \! \: tanto como \hspace{}
3.11 Centrado
Para centrar una fórmula se usa \[ ... \] o también $$...$$, en las fórmulas centradas
no es necesario utilizar \displaystyle para producir texto en tamaño natural.
LATEX puede llevar un conteo automático de capítulos, secciones, etc. Podemos llevar
también un conteo automático de teoremas, ecuaciones, etc. Marcamos cada objeto que
queremos contar. Por ejemplo, con
\begin{equation}...\end{equation}
%ecuaci\’on 4
\setcounter{equation}{3}
\begin{equation}
\log_{2}(a^b)=b\log_2a
\end{equation}
Una vez establecido el contador, se puede usa el ambiente subequations para lograr una
“subnumeración”:
\begin{subequations}
\begin{equation}
\log_{2}(xy)=\log_2x + \log_2y
\end{equation}
log2 (xy) = log2 x + log2 y (3.5a)
\begin{equation}
\log_{2}(a^b)=b\log_{2}a log2 (ab ) = b log2 a (3.5b)
\end{equation}
\end{subequations}
49
3.13 Arreglos
• 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}
El texto: produce:
\[ a a+b k−a
A = \left( \begin{array}{lcr}
b b k−a−b
a & a+b & k-a \\ A=
.. .. ..
b & b & k-a-b \\ . . .
\vdots & \vdots & \vdots \\
z & z + z & k-z
z z+z k−z
\end{array}
\right)
\]
EJEMPLO 3.14 Hagamos algunos cambios: agreguemos dos columnas vacías y cambiemos
el alineamiento
El texto: produce:
\[
A = \left( \begin{array}{lcccl} a a+b k−a
a & & a+b & & k-a \\ b b k−a−b
b & & b & & k-a-b \\ A= .. .. ..
\vdots& & \vdots & & \vdots \\ . . .
z & & z + z & & k-z z z+z k−z
\end{array}
\right)
\]
El texto: produce:
2
\[ x si x<0
f(x)= \left\{ \begin{array}{lcl} f (x) =
x^2 & \mbox{ si } & x<0 \\
x−1 si x>0
& & \\
x-1 & \mbox{ si } & x>0
\end{array}
\right.
\]
Nota: \mbox se utiliza para escribir texto corriente dentro del modo matemático.
El código
$$
\left\{
\begin{array}{lclcl}
\sen x &=& -1 &\Longrightarrow & x=(4k+3)\,\frac{\pi}{2}+2k\pi,\; 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\\
51
\end{array}
\right.\\
\end{array}
\right.
$$
produce:
sen x = −1 =⇒ x = (4k + 3) π2 + 2kπ, k ∈ Z
π
x = 6 + kπ, z ∈ Z
1
cos(2x) = 2 =⇒
x = − π6 + kπ, z ∈ Z
3.14 Matrices
El entorno array es útil y versátil. Si solo queremos trabajar con matrices podemos usar
los entornos pmatrix, bmatrix, Bmatrix, vmatrix y Vmatrix. Estos entornos pro-
ducen, respectivamente, ( ), [ ], , | | y || ||.
El texto:
Produce:
$\begin{pmatrix}
0 & 1\\ 0 1
1 & 0 1 0
\end{pmatrix}$
El entorno smallmatrix produce arreglos ajustados (sin delimitadores), para ser usadas
en el texto normal, e.g. ac db .
3.15 Alineamiento
Ambiente “eqnarray”
produce:
√
y= n
x =⇒ yn = x
=⇒ n log y = log x, si x > 0, y > 0
√ 1
=⇒ log n x = log x
n
√
y= n
x =⇒ yn = x (3.6)
=⇒ n log y = log x, si x > 0, y > 0 (3.7)
√ 1
=⇒ log n x = log x (3.8)
n
√
y= n
x =⇒ yn = x
=⇒ n log y = log x, si x > 0, y > 0 (3.9)
√ 1
=⇒ log n x = log x (3.10)
n
Ambiente “align”
“eqnarray” se puede usar con LaTeX estándar. Si usamos el paquete amsmath (como lo
asumimos aquí) tenemos acceso al ambiente “align”. Este ambiente es similar a “eqnarray”
54 TEXTO EN MODO MATEMÁTICO
Un par de diferencias:
1. &= establece una igualdad en una misma columnas mientras que & establece un
cambio de columna.
2. El comando \intertext{texto} intercala texto entre filas mientras se mantiene
las columnas alineadas.
EJEMPLO 3.19 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\’un}
&= \frac{a(x+y)+x+y}{x+y} &\mbox{Factor com\’un}\\
&= \frac{(x+y)(a+1)}{x+y} &\mbox{Simplificar}\\
&= a+1
\end{align*}
produce:
Agrupamos
a + ay + ax + y ax + ay + x + y
= Agrupar
x+y x+y
3.16.3 Relaciones
También puede usar el comando \cancel del paquete cancel (definido en el preámbulo
propuesto al inicio del capítulo)
$\displaystyle{ \frac{\cancel{ab}c}{\cancel{ab}d}=\frac{c}{d} }$
produce:
57
abc
c
=
abd
d
3.16.5 Flechas
← \leftarrow ←− \longleftarrow
⇐ \Leftarrow ⇐= \Longleftarrow
→ \rightarrow −→ \longrightarrow
⇒ \Rightarrow ֒→ \hookrightarrow
←֓ \hookleftarrow ⇀ \rightharpoonup
↼ \leftharpoondown ⇁ \rightharpoondown
↽ \leftharpoondown ↑ \uparrow
⇋ \rightleftharpoons ⇑ \Uparrow
=⇒ \Longrightarrow ↓ \downarrow
←→ \longleftrightarrow ⇓ \Downarrow
⇐⇒ \Longleftrightarrow l \updownarrow
7−→ \longmapsto ր \nearrow
↔ \leftrightarrow ց \searrow
⇔ \Leftrightarrow ւ \swarrow
7→ \mapsto տ \nwarrow
H W L
∑ \sum
T
\oint
V
\bigvee
U
\bigoplus
∏ \prod
S
\bigcap
J
\bigwedge \biguplus
\coprod \bigcup \bigodot
R F N
\int \bigsqcup \bigotimes
$$L_{n,k}(x)
= \prod_{\overset{i=0}{i\neq k}}^{n}\,\frac{x-x_i}{x_k-x_i}
= \frac{(x-x_0)(x-x_1)\cdots(x-x_{k-1})(x-x_{k+1})\cdots(x-x_n)}{
(x_k-x_0)\cdots(x_k-x_{k-1})(x_k-x_{k+1})\cdots(x_k-x_n)}$$
58 TEXTO EN MODO MATEMÁTICO
produce:
n
x − xi (x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn )
Ln,k (x) = ∏ =
i=0
xk − xi (xk − x0 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn )
i6=k
i=0
Note el uso de \overset{i=0}{i\neq k} para producir: i 6= k
3.16.8 Especiales
e
A $\widetilde{A}$ →
−
v $\overrightarrow{v}$
b
A $\widehat{A}$
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 poner líneas verticales se ponen marcas como | o || en la parte que corresponde
al alienamiento de columnas.
El texto: produce:
\begin{tabular}{|c|c|c|} \hline
$p$ & $q$ & $p \rightarrow q$ \\ \hline p q p→q
0 & 0 & 1 \\
0 & 1 & 1 \\
0 0 1
1 & 0 & 0 \\ 0 1 1
1 & 1 & 1 \\ \hline 1 0 0
\end{tabular} 1 1 1
Tópico
Avanzado
Fuente en tabular.
En la tabla del ejemplo (4.2) los números están en modo texto. En vez de ponerlos en modo
matemático uno por uno, podríamos solamente cambiar la fuente a la familia cmm.
El texto:
{\fontencoding{OML}\fontfamily{cmm}
produce:
\selectfont{
\begin{tabular}{c|c}
$x$ & $x^2+3$ \\ \hline x x2 + 3
2 & 7 \\
4 & 19 \\
\end{tabular}
}}%fontfamily
Color en tablas.
Para poner color en las filas o las columnas de una tabla debemos usar el paquete xcolor:
ponemos \usepackage[table]{xcolor} en el preámbulo.
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 \cellcolor se usan para colorear las columnas y celdas,
respectivamente.
EJEMPLO 4.3 En este ejemplo se colorean con un 20% gris (gray!30) las filas impares y
se dejan con fondo blanco las pares.
El código:
\begin{table}[h]
\centering
{\fontfamily{ptm}\selectfont{
\rowcolors{1}{gray!30}{}
\begin{tabular}{ll}
$x_{n+1}$ & $|x_{n+1}-x_n|$\\ \hline
1.20499955540054 & 0.295000445\\
1.17678931926590 & 0.028210236\\
1.17650196994274 & 0.000287349\\
1.17650193990183 & 3.004$\times10^{-8}$\\
1.17650193990183 & 4.440$\times10^{-16}$\\ \hline
\end{tabular}
}}%font
\caption{Iteracin de Newton para \mt{x^2-\cos(x)-1=0} con \mt{x_0=1.5.}}
\end{table}
Produce:
xn+1 |xn+1 − xn |
1.20499955540054 0.295000445
1.17678931926590 0.028210236
1.17650196994274 0.000287349
1.17650193990183 3.004×10−8
1.17650193990183 4.440×10−16
EJEMPLO 4.4 En este ejemplo se colorean con un 20% gris una sola celda: Simplemente
agregamos \cellcolor[gray]{0.80} en la celda que queremos.
63
El código:
\begin{table}[h]
\centering
{\fontfamily{ptm}\selectfont{
\begin{tabular}{ll}
$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}
}}%font
\end{table}
Produce:
xn+1 |xn+1 − xn |
1.17 3.×10−8
1.17 4.×10−16
A veces es conveniente rotar una tabla completa o simplemente el texto en las celdas. Esto
se hace con el ambiente \begin{sideways}...\end{sideways} aplicado directamente
a la tabla o a la(s) celda(s). Necesita el paquete \usepackage{rotating}
\begin{table}[h]
\centering
\begin{sideways}
\begin{tabular}{lc}
64 TABLAS
Produce:
|xn+1 − xn |
4.×10−16
3.×10−8
1.17
xn+1
1.17
\begin{table}[h]
\centering
\begin{tabular}{lc}
$x_{n+1}$ &\begin{sideways}$|x_{n+1}-x_n|$\end{sideways}\\ \hline
\cellcolor[gray]{0.80} 1.17 & 3.$\times10^{-8}$\\
1.17 & 4.$\times10^{-16}$\\ \hline
\end{tabular}
\end{table}
Produce:
65
|xn+1 − xn |
xn+1
1.17 3.×10−8
1.17 4.×10−16
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}
\begin{table}[h]
\centering
\begin{tabular}{lll}
&\multicolumn{2}{l}{Estimaci\’on del error}\\
&\multicolumn{2}{l}{absoluto y relativo}\\
$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}
66 TABLAS
Produce:
Tabla 4.2
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 co-
mando \scalebox{0.h}[0.v]{...}. Aquí, 0.h y 0.v es el porcentaje de escalamiento
horizontal y vertical. Si ponemos solamente \scalebox{0.h}{...} es escalamiento es
el mismo en cada dirección.
\begin{table}[H]\label{tab1}
\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\\ \hline
S & & 0 & & 2 & 2 & 0 & 1 & 1 & 0 & 2 & 0 & 2 &42\\ \hline
R & 0 & 1 & 0 & 0 & 0 & 1 & 1 & 1 & 2 & 0 & 2 & 2 &38\\ \hline
M & & & & 0 & 1 & & & 2 & 1 & 0 & 2 & 2 &33\\ \hline
E & & 0 & & 0 & 0 & 0 & 0 & 0 & 2 & 1 & 2 & 2 &29\\ \hline
A & & 0 & & 0 & & & 1 & 0 & 0 & 2 & 2 & 2 &29\\ \hline
H & 0 & 0 & 2 & 0 & 0 & 1 & 0 & 0 & 1 & 1 & 0 & 2 &21\\ \hline
Total& 0 & 1 & 2 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 10 & 14 & \\ \hline
\multicolumn{12}{l}{Abreviaturas. Est.: Estudiante, Pr.: Pregunta,Cal.: Calificacin}\\
\end{tabular}}
\caption{Resultados del cuestionario diagnstico}
\end{table}
Produce:
67
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.
L 0 0 0 2 2 2 1 2 2 2 54
S 0 2 2 0 1 1 0 2 0 2 42
R 0 1 0 0 0 1 1 1 2 0 2 2 38
M 0 1 2 1 0 2 2 33
E 0 0 0 0 0 0 2 1 2 2 29
A 0 0 1 0 0 2 2 2 29
H 0 0 2 0 0 1 0 0 1 1 0 2 21
Total 0 1 2 2 3 4 5 6 7 8 10 14
Abreviaturas. Est.: Estudiante, Pr.: Pregunta,Cal.: Calificación
Espaciado en celdas.
A veces el texto matemático queda muy pegado a las paredes de las celdas: Necesitamos
hacer un poco de espacio hacia arriba, hacia abajo o variar el ancho de la celda. Esto lo
hacemos aplicando el comando \vrule en una columna.
EJEMPLO 4.9 En este ejemplo tenemos una tabla problemática: el texto matemático está
muy ajustado.
\begin{tabular}{l l l}\hline
$x$ & $\sqrt{x}$ & $x^{2^n}$\\\hline √ n
x x x2
\end{tabular}
√ n
x x x2
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 en el documento.
LATEX nos ofrece dos comandos (ambientes) para indicarle nuestras preferencias sobre el
desplazamiento del objeto.
\begin{figure}[h]....\label{fig:nombre}\caption{} \end{figure}
\begin{table}[h]....\label{nombre}\caption{} \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.
El texto:
produce:
\begin{table}[h]
\begin{tabular}{|c|c|c|} \hline
$p$ & $q$ & $p \rightarrow q$\\\hline p q p→q
0 & 0 & 1 \\ 0 0 1
0 & 1 & 1 \\ 0 1 1
1 & 0 & 0 \\
1 0 0
1 & 1 & 1 \\\hline
\end{tabular} 1 1 1
\caption{Tabla de verdad para
$p \rightarrow q$} Tabla 4.4 Tabla de verdad para p → q
\end{table}
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}...\end{minipage} \begin{minipage}...\end{minipage}
\end{figure} \end{table}
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: Ponemos en
el preámbulo\usepackage{float}.
\begin{figure}[h]
\centering
\subfigure[Converge]{\includegraphics[scale=0.5]{images/newton6.eps}}
\subfigure[Diverge]{\includegraphics[scale=0.5]{images/newton5.eps}}
\subfigure[Ciclo]{\includegraphics[scale=0.5]{images/newton4.eps}}
\caption{Iteracin de Newton}
\end{figure}
produce:
x2 x3 x4 x0 = x5
x3 x1
x0 x2 x4
-1 1 x2 x1 0 6
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
4.2.1 wrapfigure
\begin{wrapfigure}{r}{2.5cm}
\includegraphics{images/ML_fig11.eps}
\end{wrapfigure}
Al incluir...
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.
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.
72 TABLAS
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.
4.2.2 floatflt
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}
En donde 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 derecha en páginas impares y a la izquierda en páginas pares.
\begin{floatingfigure}[r]{4.5cm}
\includegraphics{images/ML_fig12.eps}
\caption{Un poliedro}
\end{floatingfigure}
Este ambiente...
Genera:
5.1 Introducción
Además de texto corriente y texto en modo matemático, podemos insertar figuras tales
como gráficos y/o imágenes externas (“.eps”, ”.bmp”,“.jpg”, etc.) o figuras nativas, gener-
adas directamente con algún paquete LaTeX (Tiks, PSTricks, TeXDraw,...).
Una segunda opción es compilar con PDFLaTeX para convertir el archivo “.dvi” directa-
mente a PDF: esto puede ser muy conveniente pues permite imprimir de manera estándar
y/o convertir el documento en un documento electrónico de fácil distribución (por ejem-
plo, vía internet) y con posibilidad de agregar animación, videos, efectos especiales para
presentaciones (por ejemplo, presentaciones “Beamer”), etc.
5.2 ¿Cómo insertar las figuras?
Aquí vamos a describir la manera fácil de insertar figuras (i.e. sin usar código TeX extra).
Todo el manejo gráfico lo vamos a hacer usando el paquete graphicsx que viene en la
distribución estándar de MiKTeX.
I. Insertar figuras en formato EPS (la mejor opción). En la sección (5.2.6) se indica como hace
conversión a EPS.
\usepackage[dvips]{graphicx} % LaTeX
Es conveniente poner la imagen en un ambiente figure para tener acceso a los ‘‘caption’’
los ‘‘label’’.
LaTeX.. Walter Mora F., Alex Borbón A. 75
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
76 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX
\begin{figure}[h]
\centering
\includegraphics{images/figura.eps}
\caption{... texto ...}
\label{contexto:figura}
\end{figure}
II. Insertar figuras en otros formatos. En la sección (5.2.6) se indica como hace conversión de un
formato a otro.
Para incluir un figuras “.bmp”, “.jpeg”, “.png”, etc., hay que poner en el preámbulo
\usepackage[dvips]{graphicx} % LaTeX
\DeclareGraphicsExtensions{.bmp,.png,.pdf,.jpg}
\begin{figure}[h]
\centering
\includegraphics[0cm,0cm][xcm,ycm]{nombre.ext}%ext=bmp,jpg,...
\caption{... texto ...}
\label{contexto:figura}
\end{figure}
PDFLaTeX soporta formatos “.pdf”, “.png”, “.jpg”. Si no tiene este formato, puede hacer la
conversión como se indica en la sección (5.2.6).
\usepackage[pdftex]{graphicx} % PDFLaTeX
\DeclareGraphicsExtensions{.png,.pdf,.jpg}
Como antes decíamos, es conveniente poner la imagen en un ambiente figure para tener
acceso a los ‘‘caption’’ y los ‘‘label’’.
\begin{figure}[h]
\centering
\includegraphics{nombre.ext}%ext=pdf,jpg,png
\caption{... texto ...}
\label{contexto:figura}
\end{figure}
La mejor manera de tratar con gráficos y/o imágenes en LaTeX externas es obtenerlas o
convertirlas a EPS.
\usepackage[dvips]{graphicx} % LaTeX
78 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX
La opción “dvips” indica que vamos a usar el manejador (driver) “dvips” para pasar del
archivo “.dvi” generado por LaTeX a formato PostScript.
Para incluir un gráfico o una imagen de nombre ‘‘figura.eps’’ que está en la subcarpeta
‘‘images’’, se debe poner el código
\includegraphics{images/figura1.eps}
Sin embargo, es conveniente poner la imagen en un ambiente figure para tener acceso a
los ‘‘caption’’ los ‘‘label’’.
\begin{figure}[h]
\centering
\includegraphics{images/figura.eps}
\caption{... texto ...}
\label{contexto:figura}
\end{figure}
Para que el gráfico no flote (es decir, que quede exactamente donde se puso), se puede usar
el paquete float (ver sección 4.1, más adelante).
EJEMPLO 5.1 He aquí una figura generada con Mathematica (Wolfram Inc.) y guardada en
formato EPS.
79
Z Z
\begin{figure}[h]
\centering
ϕ=π/4
\includegraphics{images/figura22.eps}
\caption{Cono $z^2=x^2+y^2,z\geq0$}
\label{proy:figura22} X Y X
θ Y
\end{figure}
Figura 5.1 Cono z2 = x2 + y2 , z ≥ 0.
EJEMPLO 5.2 Algunas figuras se pueden editar usando algún software para gráficos. La
figura (5.2) fue editada en Adobe Illustrator y guardada como EPS.
\begin{figure}[h]
\begin{minipage}[b]{0.5\linewidth}
\begin{teo}[Teorema dl valor Medio]%\newtheorem{teo}{Teorema} en pre\’ambulo
Sea $f(x)$ continua en $[a,b]$
...
\end{teo}
...
\end{minipage}
\begin{minipage}[b]{0.45\linewidth}
\includegraphics[scale=0.7]{images/ML_fig10.eps}
\caption{{\small Teorema del valor medio}}
\label{Calculo:fig...}
\end{minipage}
\end{figure}
produce:
80 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX
EJEMPLO 5.3 (Figuras de Internet) He aquí un ejemplo de dos imágenes tomadas de Wikipedia
(www.wikipedia.org). Para recortarlas de la pantalla de la PC se usó “FastStone Capture
Portable” (ver sección 5.2.6), a la figura de la derecha se le aplicó el efecto “Torn Edge” y
luego se guardó en formato PDF (por si se necesita para una presentación Beamer, por ejem-
plo). Las figuras se abrieron en el softwarew libre Inkscape para guardarlas en formato EPS.
\begin{figure}[H]
\begin{minipage}[t]{6cm}
\includegraphics{images/ML_fig8.eps}
\end{minipage}
\hfill\begin{minipage}[t]{6cm}
\includegraphics[angle=45]{images/ML_fig8.eps}
\end{minipage}
\caption{Rotaci\’on de 45 grados}
\end{figure}
\begin{figure}[h]
\begin{minipage}{5cm}
82 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX
\centering
\includegraphics{images/ML_fig8.eps}
\end{minipage}
\begin{minipage}{5cm}
\centering
%Escalamiento 70%
\includegraphics[scale=0.7]{images/ML_fig8.eps}
\end{minipage}
\caption{Escalamiento en un 70\%}
\end{figure}
escala el gráfico al ancho usado por el texto en el primer caso y un 70% de sus dimensiones
en el segundo caso.
A veces es útil sustituir una letra por un símbolo matemático. Esto se puede hacer con el
paquete psfrac.
Ponemos en el preámbulo
\usepackage[dvips]{psfrag} %
83
Ahora mostramos un triángulo con solo letras (figura 5.6), luego cambiamos las letras por
símbolos (figura 5.5(b)).
\begin{figure}[h]
\begin{minipage}[b]{0.4\textwidth}
\centering
\subfigure[Gr\’afico inicial]{\includegraphics{images/Triangulo.eps}}
\end{minipage}
\ \ \hfill \begin{minipage}[b]{0.4\textwidth}
\centering
\subfigure[Gr\’afico despu\’es de aplicar {\tt psfrag}]{
\psfrag{a1}{$\theta_1$}
\psfrag{hip}{$\sqrt{a^2+x^2}$}
\psfrag{c1}{$x$}
\psfrag{c2}{$a$}
\includegraphics{images/Triangulo.eps}
}
\end{minipage}
\end{figure}
produce:
La mejor opción es convertir estos archivos a EPS (ver sección 5.2.6). Esto tiene una ven-
taja: Si convierte el documento a PDF con dvi֒→pdf, las imágenes no van a tener problema.
Además les puede aplicar algunos efectos, como se describió antes.
Si todavía quiere insistir en insertar sus imágenes en el formato no-EPS, haga los siguiente:
Para incluir un figuras “.bmp”, “.jpeg”, “.png”, etc., hay que poner en el preámbulo
\usepackage[dvips]{graphicx} % LaTeX
\DeclareGraphicsExtensions{.bmp,.png,.pdf,.jpg}
\begin{figure}[h]
\centering
\includegraphics[0cm,0cm][xcm,ycm]{nombre.ext}%ext=bmp,jpg,...
\caption{... texto ...}
\label{contexto:figura}
\end{figure}
EJEMPLO 5.7 En el siguiente ejemplo se insertan tres figuras. Se usa tabular solo por
acomodar las figuras de alguna manera.
\begin{figure}[h]
\begin{center}
\begin{tabular}{lll}
\includegraphics[0cm,0cm][2cm,2cm]{images/ML_fig26.bmp}
& \includegraphics*[0cm,0cm][2cm,2cm]{images/ML_fig27.jpg}
& \includegraphics*[0cm,0cm][2cm,2cm]{images/ML_fig28.png}\\
\end{tabular}
\end{center}
\caption{Figuras en formato...}\label{ML:figuras262728}
\end{figure}
Compilamos con PDFLaTeX cuando queremos generar un documento PDF con algunas
facetas PDF deseables, en particular, para generar una presentación Beamer.
PDFLaTeX soporta formatos “.pdf”, “.png”, “.jpg”. Si no tiene este formato, puede hacer
la conversión como se indica en la sección (5.2.6).
\usepackage[pdftex]{graphicx} % PDFLaTeX
\DeclareGraphicsExtensions{.png,.pdf,.jpg}
Como antes decíamos, es conveniente poner la imagen en un ambiente figure para tener
acceso a los ‘‘caption’’ y los ‘‘label’’.
\begin{figure}[h]
\centering
\includegraphics{nombre.ext}%ext=pdf,jpg,png
\caption{... texto ...}
\label{contexto:figura}
\end{figure}
EJEMPLO 5.8 En el siguiente ejemplo se insertan tres figuras. Se usa tabular solo por
acomodar las figuras de alguna manera.
87
\begin{figure}[h]%Compilando PDFLaTeX
\begin{center}
\begin{tabular}{lll}
\includegraphics{images/ML_fig27.jpg}
& \includegraphics{images/ML_fig28.png}
& \includegraphics{images/ML_fig31.pdf}\\
\end{tabular}
\caption{Insertando figuras...}\label{ML:fig...}
\end{figure}
\end{center}
Esto sucede cuando una imagen no viene con las dimensiones (BoundingBox) de la caja.
La manera fácil de resolver este problema es abrir la imagen, digamos con Inkscape (sec-
ción 5.2.6) y guardar la imagen de nuevo.
Si abrimos la imagen en Adobe Illustrador, por ejemplo, para aplicar las dimensiones cor-
rectas, se debe ir a File-Document Setup y poner las dimensiones adecuadas para que
la figure se ajuste al área de dibujo.
http://www.inkscape.org/
Este software es parecido a Adobe Illustrador. Se pueden abrir figuras .pdf, .gif, .jpeg,
.bmp, etc. y guardarlas en formato .eps.
La mayoría de imágenes (.gif, .jpg., etc.) que usamos en este libro fueron editadas y
guardadas a formato EPS con este software. En la versión Windows, para abrir una
89
imagen .eps requiere Ghostscript, pero no basta con que este programa esté insta-
lado. Una manera (no muy limpia) de que GIMP encuentre lo que necesita es ir a
C:\Archivos de Programa\gs\gs8.61\bin y copiar gswin32c.exe y la carpeta lib,
y pegar en el directorio bin de GIMP.
FStone Capture: Este es un software libre que permite abrir archivos y guardarlos es
algunos formatos (bmp, png, pdf,...) pero no EPS. Sin embargo es muy útil para recortar
imágenes de la pantalla de la PC (por ejemplo, imágenes de Internet). Además permite
editar al estilo Paint. Esta herramienta “flota” sobre la pantalla de la PC.
http://clases.nuarlubre.es/resources/FSCaptureSetup_5-3.zip
La versión actual es “FastStone Capture 6.x”, es shareware y vence a los 30 días de uso, se
descarga en
http://www.faststone.org/FSCapturerDownload.htm
No se instala, solo se ejecuta. La imagen la puede guardar como PDF si va a usar PDFLaTeX
o copiar (copy) y pegar (paste) en otro software que guarde en formato EPS (com inkscape)
90 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX
EJEMPLO 5.9 He aquí un ejemplo de una imagen tomada de Wikipedia. Para recortarla de
la pantalla de la PC se usó ”FastStone Capture Portable” (gratuito) y se le aplicó el efecto
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
91
“Torn Edge” y se guardó en formato PDF (por si se necesita para una presentación Beamer,
por ejemplo). Luego se pasó a formato EPS con Adobe Illustrator pues este formato es
adecuado para compilar con LaTeX o generar un PDF con dvi֒→pdf.
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.
92 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX
Por otra parte, hay nuevo lenguaje que aprender, no tiene una interface gráfica y el código
(por más sencillo que sea) no permite ver inmediatamente como es que 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.
1. TikZ y pgfplot: 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.
3. PiCTex.
Paquete pgfplot
\begin{tikzpicture}
\begin{axis}
\addplot plot[scale=0.8,domain=0:3.14](\x,{sin(\x r)});%r=radianes
\end{axis}
\end{tikzpicture}
Paquete Tikz
Nota: 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
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
\begin{tikzpicture}
....
\end{tikzpicture}
Para dibujar líneas, rectángulo, círculos, etc., se usa \draw con las especificaciones respec-
tivas.
95
EJEMPLO 5.10 En este ejemplo dibujamos un par de ejes, con una flecha, usando dos líneas,
una de (−1.5, 0) a (1.5, 0) y la otra (0, −1.5) a (0, 1.5). La flecha se agrega poniendo
“[->]”.
También vamos a dibujar un círculo (con un efecto de sombra) con centro en (0.5, 0.5) de
radio 0.5 y un rectángulo con extremo inferior izquierdo en (−1, −1) y extremo superior
derecho en (0, 0).
\begin{tikzpicture}[>=stealth]
\draw [->] (-1.5,0) -- (1.5,0);
\draw [->] (0,-1.5) -- (0,1.5);
\shadedraw (0.5,0.5) circle (0.5cm);
\draw (-1,-1) rectangle (0,0);
\end{tikzpicture}
Para graficar funciones usamos el comando \plot. Un formato para entrar la función es
\plot (\x, f(\x))
EJEMPLO 5.11 En este ejemplo dibujamos las funciones y = x, y = 2 sen x y 0.2ex . Para
el caso de sen x, se pone sen(\x r) para especificar que el ángulo se mide en radianes.
\begin{tikzpicture}[scale=0.8,domain=0:3]
\draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
\draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
\draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
\draw[color=red] plot (\x,\x) node[right] {$f(x) =x$};
\draw[color=blue] plot (\x,{2*sin(\x r)}) node[right] {$f(x) = 2\sin x$};
\draw[color=orange] plot (\x,{exp(0.2*\x)}) node[right] {$f(x) = 0.2e^x$};
\end{tikzpicture}
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
\draw (A) -- (B);
\node (D) [draw,circle through=(B),label=left:$D$] at (A) {};
\node (E) [draw,circle through=(A),label=right:$E$] at (B) {};
\coordinate [label=above:$C$] (C) at (intersection 2 of D and E);
\coordinate [label=below:$C’$] (C’) at (intersection 1 of D and E);
\draw [red] (C) -- (C’);
\node [fill=red,inner sep=1pt,label=-45:$F$] (F)
at (intersection of C--C’ and A--B) {};
\end{tikzpicture}
\usepackage{tikz}
\usetikzlibrary{calc,through,backgrounds,decorations}
98 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX
\usepgflibrary{decorations.fractals}
\begin{tikzpicture}[scale=0.5,decoration=Koch snowflake]
\draw decorate{ (0,0) -- (3,0) };
\draw decorate{ decorate{ (0,-1) -- (3,-1) }};
\draw decorate{ decorate{ decorate{ (0,-2) -- (3,-2) }}};
\draw decorate{ decorate{ decorate{ decorate{ (0,-3) -- (3,-3) }}}};
\end{tikzpicture}
Hay varios programas gratis, para Windows, con los cuales se pueden hacer figuras y salvar
en algún formato adecuado para LaTeX y también permite generar el código nativo LaTeX
para insertar la figura usando algún ambiente picture: Por ejemplo, WinFig, LaTexDraw,
Inkscape, etc.
http://www.schmidt-web-berlin.de/winfig/
http://latexdraw.sourceforge.net/download.html
\usepackage[usenames,dvipsnames]{pstricks}
\usepackage{epsfig}
\usepackage{pst-grad} % Para gradientes
\usepackage{pst-plot}% Para ejes
100 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX
Y obtenemos
PiCTeX
Podemos abreviar el código de los comandos creando comandos propios. Para esto usamos
• \newcommand{\nombre}{\comando original}
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}. El archivo
se invoca, en el preámbulo, por ejemplo como \input miscom.tex. Este archivo puede
estar en el directorio de trabajo preferiblemente.
para producir
N
Sn = ∑ uk ⇒ SN+1 = SN + uN+1
k=1
Podemos abreviar otros comandos con ayuda de parámetros, por ejemplo matrices, minipage,
etc. Se debe especificar el número de parámetros del comando con [n], Se usa # k para
hacer referencia al parámetro k−ésimo.
\newcommand{\mpage}[2]{\begin{minipage}[t]{0.5 \textwidth}
#3
\end{minipage}
\ \ \hfill \begin{minipage}[t]{0.5 \textwidth}
#4
\end{minipage}}
Así, el texto:
\mpage{
\centering
\includegraphics{images/ML_fig13.eps}
}{
\centering
\includegraphics{images/ML_fig14.eps}
}
produce:
El texto:
lim arctan(n)
n→∞
Tópico
Adicional
105
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.
\newcommandx*\coord[3][1=0, 3=n]{#2_{#1},\ldots,#2_{#3}}
recibe tres argumentos, el primero y el tercero son opcionales y tienen valor default 0 y n
respectivamente. El parámetro #2 permite cambiar elegir entre x, u, etc.
El código: Produce:
$\coord{x}$ (x1 , . . . , xn )
$\coord[0]{y}$ (y0 , . . . , yn )
$\coord{z}[m]$ (z1 , . . . , zm )
$\coord[0]{t}[m]$ (t0 , . . . ,tm )
EJEMPLO 6.4 Podemos hacer más flexible nuestro comando “mpage” de la siguiente manera
\newcommandx*\mpage[4][1=0.45,2=0.45]{
\begin{minipage}[t]{#1\textwidth}
#3
\end{minipage}
\ \ \hfill \begin{minipage}[t]{#2\textwidth}
#4
\end{minipage}}
Para que LATEX numere automáticamente definiciones, teoremas, axiomas, ejemplos, etc.;
se pone en el preámbulo (por comodidad) el comando
\newtheorem{abreviacion}{ambiente}
Por ejemplo, para numerar ejemplos y definiciones de tal manera que la numeración incluya
el número de capítulo, se podría poner en el preámbulo:
\newtheorem{defi}{{\it Definici\’on}}[chapter]
\begin{defi}
Si $y=f(x)$ es derivable, $dx \,$ es cualquier
n\’umero real no nulo, mientras que
$$dy = f^\prime (x) \, dx $$
\end{defi}
produce:
• El texto de la definición está, por default, en modo “enfático”. Podemos Cambiar el modo
enfático a modo normal poniendo
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
107
\begin{defi}
{\rm ...texto...}
\end{defi}
Este paquete es una extensión del enumerado automático de teoremas que ofrece LATEX
con \newtheorem, el paquete permite definir aspectos globales de estos ambientes.
Para poder utilizar este paquete se tiene que cargar en el preámbulo con la instrucción.
\usepackage{ntheorem}
\setlength{\theorempreskipamount}{xmm}
\setlength{\theorempostskipamount}{xmm}
El comando
\theoremstyle{estilo}
define el estilo que van a tener los teoremas, entre los estilos posibles están:
Para cambiar el tipo del letra para el texto del ambiente se utiliza el comando
\theorembodyfont{fuente}
\theoremheaderfont{fuente}
\setlength{\theorempreskipamount}{7mm}
\setlength{\theorempostskipamount}{7mm}
\theoremstyle{break}
\theorembodyfont{\normalfont}
\theoremheaderfont{\scshape\large}
\newtheorem{ejemplo}{Ejemplo}
\newtheorem{definicion}{Definici\’on}
\begin{defi}[Polinomio caracter\’{\i}stico]
Produce:
109
Tópico
Adicional
\usepackage[ruled,,vlined,lined,linesnumbered,algochapter,portugues]{algorithm2e}
En los siguientes ejemplos se muestra cómo usar If, For, While, etc.
\begin{algorithm}[h]
\caption{M\’aximo com\’un divisor}\label{CER}
110 CREAR NUEVOS COMANDOS Y OTROS PAQUETES
\SetLine
\KwData{\mt{a,\, b \es \N.}}
\KwResult{MCD$(a,b)$}
\linesnumbered
\SetVline
\mt{c = |a|,\; d = |b|}\;
\While{\mt{d\neq 0}}{
$r = $ rem$(c,d)$\;
$c = d$\;
$d = r$\;
}
\Return MCD$(a,b)=|c|$\;
\end{algorithm}
produce:
El código:
\begin{algorithm}[h]
\caption{Inverso Multiplicativo mod $m$.}\label{CER}
\SetLine
\KwData{$a\es \Z_m$}
\KwResult{$a^{-1}\mbox{mod}\;m,$ si existe.}
111
\linesnumbered
\SetVline
Calcular $x,t$ tal que $xa+tm=\mbox{\rm MCD}(a,m)$\;
\eIf{$\mbox{\rm MCD}(a,m)>1$}{$a^{-1}\; \mbox{mod}\; m$ no existe}{
\Return $\mbox{rem}\,(x,m).$}
\end{algorithm}
produce:
El código:
\begin{algorithm}[h]
\caption{Criba de Erat\’ostenes}\label{CER}
\SetLine
\KwData{$n \es \N$}
\KwResult{Primos entre $2$ y $n$}
\linesnumbered
max$=\left[\;(n-3)/2\;\right]$\;
boolean esPrimo$[i],\;\;\; i=1,2,...,$max\;
\SetVline
\For{$j=1,2,...,$max }{ esPrimo$[j]=$True\;}
$i=0$\;
\While{$(2i+3)(2i+3) \leq n$}{
$k=i+1$\;
\While{$(2k+1)(2i+3) \leq n$}
{
esPrimo$[((2k+1)(2i+3)-3)/2]=$False\;
$k=k+1$\;
}
$i=i+1$\;
}
112 CREAR NUEVOS COMANDOS Y OTROS PAQUETES
Imprimir\;
\For{$j=1,2,...,$max }{
\If{esPrimo$[j]=$True}{Imprima $j$ }
}
\end{algorithm}
produce:
12 i = i + 1;
13 Imprimir;
14 for j = 1, 2, ..., max do
15 if esPrimo[ j] =True then
16 Imprima j
7 NOTAS ACERCA DEL DISEÑO DEL
DOCUMENTO
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, tal vez nos interese hacer algunos cambios dis-
eño. Uno no quiere leer una página mal organizada, 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. A los ojos les 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 pude 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 en la página. Si la página llama la atención, es más
probable que sea leída. Y eso es lo que queremos, ¿verdad?.
7.1.1 Proximidad.
Editorial Suwoh
Comunidad Bribri
Editorial Suwoh
159-40, Talamanca
Limón, Costa Rica.
159-40, Talamanca Limón, Costa Rica. (506)-4453454
(a) (b)
Figura 7.1
7.1.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.
Por ejemplo, para construir una tabla parcial en Por ejemplo, para construir una tabla parcial en
base b = 2 módulo 13, calculamos las potencias base b = 2 módulo 13, calculamos las potencias
de 2 módulo 13. de 2 módulo 13.
a 1 2 3 4... a 1 2 3 4...
Ind2 (a) 12 1 4 2... Ind2 (a) 12 1 4 2...
7.1.3 Repetición.
7.1.4 Contraste.
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 “colas” como
Times o Palatino), sans serif (letras sin “colas” como Helvetica o Arial) y decorativa.
El texto serif se considera el más fácil de leer 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.
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.
Para elegir las fuentes hay un truco: Reconocer que “menos es más” cuando se trata de
seleccionar tipos de letras para un folleto o un libro. La regla general que la mayoría de los
diseñadores utilizan 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 ade-
cuado forzar LaTeX para que use fuentes “postscript” (que vienen con las distribuciones
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
116 NOTAS ACERCA DEL DISEÑO DEL DOCUMENTO
actuales, por ejemplo MikTeX 2.7 o TeXLive 2008). Esto se puede hacer, por ejemplo, u-
sando 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,
7.3 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 ambientes de aprendizaje mejorados.
Podemos también crear esquemas personalizados basados en varios esquemas, por ejemplo
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
“Color Scheme designer” (http://colorschemedesigner.com/) o “Colors on the Web”
(http://www.colorsontheweb.com).
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.
%Requiere \usepackage{xcolor}
\newcommand{\mcaja}[1]{%
{{\fboxsep 12pt \fboxrule 0pt%
\fcolorbox{white}{white}{%
\color{orange} \huge #1}}}
}
\newcommand{\ssection}[1]{\section[#1]{\mcaja{#1}}}
\makeatletter
\def\section{\@ifstar\unnumberedsection\numberedsection}
\def\numberedsection{\@ifnextchar[%]
\numberedsectionwithtwoarguments\numberedsectionwithoneargument}
\def\unnumberedsection{\@ifnextchar[%]
\unnumberedsectionwithtwoarguments\unnumberedsectionwithoneargument}
\def\numberedsectionwithoneargument#1{\numberedsectionwithtwoarguments[#1]{#1}}
\def\unnumberedsectionwithoneargument#1{\unnumberedsectionwithtwoarguments[#1]{#1}}
\def\numberedsectionwithtwoarguments[#1]#2{%
\ifhmode\par\fi
\removelastskip
\vskip 3ex\goodbreak
\refstepcounter{section}%
\begingroup
%\noindent
\leavevmode\large\bfseries\raggedright\mcaja%%
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
120 NOTAS ACERCA DEL DISEÑO DEL DOCUMENTO
\thesection\ #2\par\nobreak
\endgroup
\noindent\hrulefill\nobreak
\vskip 2ex\nobreak
\addcontentsline{toc}{section}{%
\protect\numberline{\thesection}%
#1}%
}
\def\unnumberedsectionwithtwoarguments[#1]#2{%
\ifhmode\par\fi
\removelastskip
\vskip 3ex\goodbreak
% \refstepcounter{section}%
\begingroup
\noindent
\leavevmode\Large\bfseries\raggedright
% \thesection\
#2\par\nobreak
\endgroup
\noindent\hrulefill\nobreak
\vskip 0ex\nobreak
\addcontentsline{toc}{section}{%
% \protect\numberline{\thesection}%
#1}%
}
\makeatother
%%%Cap\’itulos
\usepackage{helvet}
\usepackage{psboxit,pstcol}
\makeatletter
\def\@makechapterhead#1{%
{\parindent \z@ \raggedright \reset@font
\hbox to \hsize{%
\rlap{\raisebox{-2.5em}{\raisebox{\depth}{%%% Necesita la imagen "imgCapitulo"
\includegraphics[width=10em]{images/imgCapitulo.eps}}}}%
\rlap{\hbox to 6em{\hss
\reset@font\sffamily\fontsize{8em}{8em}\selectfont\black
\thechapter\hss}}%
\hspace{10em}%
\vbox{%
121
\advance\hsize by -10em
\reset@font\fontfamily{hv}\bfseries\Large
#1
\par
}%
}}%
\vskip 5pt
\hrulefill
\vskip 50pt
}
\makeatother
El paquete ntheorem ofrece varios estilos predefinidos (plain, break, change, etc.) Se
pueden definir estilos personalizados con el comando \newtheoremstyle. Por ejemplo,
si usamos el estilo plain (este es el default), podemos cambiar el color de “Teorema”,
“Definición”, etc. a azul y la numeración a rojo, para hacer esto, agregamos en el preámbulo
%\usepackage{ntheorem}
\makeatletter
\renewtheoremstyle{plain}{%
{\item[\hskip\labelsep \theorem@headerfont ##1\ \red ##2\theorem@separator]}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ \red ##2\ \azul(##3)
\theorem@separator]}}
\makeatother
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 Inkskape o también en
Adobe Illustrator. Hay otro tipo de software, como Adobe Pro Extended, PitStop, etc., que
permite agregar ligas, corrección de errores menores, agregar anotaciones, agregar video
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
122 NOTAS ACERCA DEL DISEÑO DEL DOCUMENTO
El primer problema es el de las fuentes, Inkskape ni Illustrator tienen acceso a las fuentes
del documento pues son fuentes LaTeX, no fuentes del sistema (si el PDF se generó
con Adobe Distiller a partir de un archivo .ps, existe la opción de indicar la localización
de las fuentes en el menú de Distiller: Settings-Font Location). Si las fuentes no están
disponibles, estos programas hacen una sustitución de fuentes (algo no deseable!). Una
solución de emergencia es poner la carpeta de fuentes (o una selección de fuentes) de
la distribución LaTeX (la carpeta Fonts de la distribución que tiene instalada) en algún
lugar donde el software la pueda encontrar. En el caso de Illustrator se pueden poner en
C:\Archivos de programa\Adobe\Illustrator CS\Support Files\Required.
También si usa Illustrator, puede ser que necesite ir al menú Texto - Buscar fuentes
para hacer algún arreglo.
Al final de la edición, se debe guardar con “Guardar como” para que el PDF no se haga
innecesariamente grande.
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.
Para utilizar el entorno thebibliography se deben poner las referencias entre los co-
mandos \begin{thebibliography}{99} y \end{thebibliography}; 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}
Figura 8.1 Bibliografía utilizando el entorno thebibliography
Este entorno tiene la ventaja que las referencias se escriben directamente en el documento,
la desventaja es que si se tiene otro documento que hace la misma referencia entonces hay
que escribir la entrada en ambos documentos.
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,...]}
Donde 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",
...
}
Donde el tipo se refiere al tipo de documento: artículo, libro, conferencia, etc. A conti-
nuación se presentan los tipos permitidos:
127
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.
EJEMPLO 8.2 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",
128 CITAS BIBLIOGRÁFICAS CONSISTENTES CON BibTeX
year="1996"
}
\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.3.
En las figuras 8.4 y 8.5 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 propio estilo y, con sólo cambiar el estilo de la bibliografía, ya el
documento se adecúa.
129
8.2.1 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.6.
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.7
Ahora aparecerá una ventana donde se pueden ir llenando los campos de la entrada, en las
lengüetas de arriba se puede if 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.8.
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
9 CÓMO HACER TRANSPARENCIAS
CON LA CLASE BEAMER
9.1 Introducción
• ¿Qué significa “beamer”?. Formalmente “der Beamer (-s)” significa un proyector digital.
Beamer fue desarrollado por Till Tantau.
Beamer viene incluido en MikTeX 2.5,2.6 y 2.7. Si tiene una instalación completa, puede
usar beamer sin problemas.
1. Vaya a INICIO-Programas-MikTex2.x-BrowsePackages
LaTeX.. Walter Mora F., Alex Borbón A. 133
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
134 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER
2. Seleccione beamer e instale el paquete desde internet o desde un disco (usted puede
cambiar esta opción, antes de seleccionar beamer, en el menú Repository-Change
Package Repository)
\documentclass{beamer}
\usefonttheme{professionalfonts}% font de LaTeX
\usetheme{Warsaw} % Tema escogido en este ejemplo
\setBeamercovered{transparent}
\begin{document}
\title{Factorizaci\’on en $Z_p[x]$ y en $Z[x].$\\}
\subtitle{Parte I}
\author{{\large Walter Mora F.}\\
{\small Escuela de Matem\’atica, ITCR}\\{\small www.itcr.ac.cr/revistamate/}\\
\vspace*{0.5cm}}
\date{Junio 2007}
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
135
\frame{\titlepage}
\section{...}
\begin{frame}{T\1tulo de este marco}
%texto
\end{frame}
Compilar
• si hay gráficos EPS, podemos cambiar el formato de todas las imágenes a PDF
con Acrobat Distiller o Adobe Illustrator (con Illustrator debe ajustar el área
de trabajo al tamaño del gráfico en Archivo-Ajustar Documento...), por
ejemplo.
Notas.
\usetheme{Bergen}
\usetheme{Boadilla}
\usetheme{Copenhagen}
\usetheme{Dresden}
\usetheme{Hannover}
\usetheme{Luebeck}
\usetheme{AnnArbor}
\usetheme{Berkeley}
\usetheme{Darmstadt}
\usetheme{Frankfurt}
\usetheme{Ilmenau}
\usetheme{Madrid}
137
\usetheme{Warsaw}
\usetheme{Antibes}
\usetheme{Berlin}
\usetheme{CambridgeUS}
\usetheme{Malmoe}
\usetheme{PaloAlto}
http://mike.depalatis.net/beamerthemes/
• En Internet hay otros tantos temas Beamer disponibles, usualmente temas de particu-
lares o instituciones pero de distribución libre. Los temas se pueden personalizar (ver
[13]).
9.4 Marcos
\begin{frame}
\frametitle{Campo Galois $GF(p^r)$}
\framesubtitle{Resumen}
\begin{enumerate}
\item Todo dominio integral {\em finito} es un campo\\
\end{enumerate}
\end{frame}
En una presentación puede ser deseable que los items vayan apareciendo uno a al vez, mien-
tras los otros permanecen con un velo. Esto se puede lograr agregando la opción [<+->]
los entornos enumerate o itemize. La salida de este código se muestra en la figura 9.4.
\begin{frame}
\frametitle{Campo Galois $GF(p^r)$}
\framesubtitle{Resumen}
\begin{enumerate}[<+->]% <- NUEVA OPCION
\item Sea $F$ un campo con $q$ elementos y $a$ un elemento no 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\1z de $m(x)$.
LaTeX.. Walter Mora F., Alex Borbón A.
Derechos Reservados © 2009 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/)
139
velos
Con estas opciones podemos controlar la secuencia en la que se presentan distintas líneas
en una transparencia.
\begin{frame}{Ejemplo}
\begin{enumerate}
\item<1-> $x^4-x=0$ % <-
\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}
Esta opción se usa igual que en los casos anteriores. Lo nuevo es que la nueva transparencia
descubre en color rojo el nuevo item.
\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<4-|alert@4> $x =0 \;$ o $\;x=\sqrt[3]{1}$
\item<1-|alert@1> $\Longrightarrow x=0,\; x=1$ % <-
\end{enumerate}
\end{frame}
\begin{frame}{Ejemplo}
\begin{enumerate}[<+-| alert@+>] % <- opcin
\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}
142 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER
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.
\pause se puede usar varias veces en el el marco si queremos fragmentar los velos.
Los ejemplos de cómo se podría usar pause están en la sección que sigue.
\end{frame}
Nota. Beamer tiene su propio entorno para ejemplos, teoremas, definiciones, etc. Los en-
tornos se declaran begin{example}...\end{example}, etc. El idioma se puede cambiar
en el archivo
144 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER
9.8 Blocks.
\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}
\begin{frame}[fragile]
\frametitle{Un algoritmo para buscar n\’umeros primos}
\begin{semiverbatim}
\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}
147
%pre\’abulo
\usepackage[ruled,,vlined,lined,linesnumbered,algosection,
portugues]{algorithm2e}
Observe que necesitamos la opción fragile para frame y la opción [H] para algorithm.
\begin{frame}[fragile]
\SetLine
\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$\;
\SetVline
\For{$j=1$ \KwTo $m$
}{ $s=y_j-\alpha_0;\;$ $f=x_j-x_0$\;
\For{$k=1$ \KwTo $j-1$}
{$s=s-\alpha_k \cdot f$\;
$f=(x_j-x_k)\cdot f$\;
}
\Return $\alpha_j=s/f$ \;
}
\end{algorithm}
\end{frame}
9.12 Gráficos
• si hay gráficos EPS, podemos cambiar el formato de todas las imágenes a PDF
con Acrobat Distiller o Adobe Illustrator, por ejemplo.
\includegraphics{img1.pdf}
\begin{frame}{MARCO 1}
\hyperlink{Liga1}{\beamergotobutton{Ir a Marco 2}}
\hypertarget<2>{Liga2}{}
\end{frame}
\begin{frame}{MARCO 2}
\hyperlink{Liga2}{\beamerreturnbutton{Regresar a Marco 1}}
\hypertarget<2>{Liga1}{}
\end{frame}
\begin{frame}{MARCO 3}
\hyperlink{Liga2}{$>$ Ir a Marco 4}
\hypertarget<2>{RegresarLiga2}{$<$}
\end{frame}
\begin{frame}{MARCO 4}
\hyperlink{RegresarLiga2}{Regresar a Marco 3}
\hypertarget<2>{Liga2}{}
\end{frame}
1. \transblindshorizontal
2. \transblindsvertical<2,3>
3. \transboxin
4. \transboxout
5. \transglitter<2-3>[direction=90]
6. etc.
Ejemplo.
En este ejemplo, 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,
% Se be agregar al pre\’ambulo
% \documentclass[xcolor=pdftex,table]{Beamer}
% \definecolor{ZurichBlue}{rgb}{.255,.41,.884}
\begin{frame}{Marco B}
\transdissolve % <- Efecto de transici\’on
\begin{center}
\rowcolors{1}{ZurichBlue!20}{ZurichBlue!5} %Porcentaje de color
\begin{tabular}{|l|l|c|}\hline
Enteros &{\tt long} &de $-2^{63 }$ a $2^{63}-1$\\\hline
&{\tt int} &de $-2^{31 }$ a $2^{31 }-1$\\\hline
&{\tt short}&de $-2^{16 }$ a $2^{16 }-1$\\\hline
153
Para hacer ligas a documentos externos podemos usar el comando \href{http://...}{ texto}.
Por ejemplo
2. Otras ligas
{\color{ZurichBlue}
En la revista digital Matem\’atica, Educaci\’on e Internet encontrar\’a
\href{http://www.cidse.itcr.ac.cr/revistamate/}
{\underline{el Manual de LaTeX},} en la liga correspondiente a
‘‘Tecnolog\’{\i}as de Internet para la Ense\~nanza de la Matem\’atica’’.
}\\%fin color
9.16 Animaciones
Se puede preparar una animación simplemente desplegando una secuencia de gráficos, por
ejemplo
\begin{frame}
\frametitle{Mi animacin}
\begin{figure}[t]
\centering
\includegraphics<1>[scale=0.2]{images/picture_1.eps}
\includegraphics<2>[scale=0.2]{images/picture_2.eps}
155
\includegraphics<3>[scale=0.2]{images/picture_3.eps}
\includegraphics<4->[scale=0.2]{images/picture_4.eps}
\end{figure} \end{frame}
Lecturas recomendadas
En este capítulo hay dos secciones principales: Traducir un archivo LATEX directamente a
HTML con “LaTeX2HTLM Translator” y la otra: Usar páginas PDF individuales incrus-
tadas en páginas web. Esta última opción se desarrolla de manera sencilla (es decir, sin usar
programación Ajax o algo por el estilo).
La mejor recomendación es: Si quiere traducir LaTeX a HTML con “LaTeX2HTLM Trans-
lator”, instale Linux o busque una máquina con Linux. Entre los programas asociados a
LaTeX está LaTeX2HTLM.
compila bien, pero hace que la traducción sea un desastre. Todo se arregla cambiando este
código por
\newcommand{\sen}{\sin}
Las direcciones para obtener los programas que necesitamos aparecen tal y como estaban
en el momento que hicimos estas notas.
Otras Opciones
Existen otras opciones de poner texto matemático en el web (suponiendo que no tenemos ya
un archivo LaTeX que queramos aprovechar). Por ejemplo se puede editar en Matemática
Media 4.0 (o versiones anteriores) y guardar el archivo en el formato HTML. También
Mathematica guarda en el formato MathML (un formato de marcas para el manejo del
texto matemático, http://www.w3.org/TR/REC-MathML/). Hay varios navegadores y
que pueden interpretar este formato. También hay programas comerciales y libres para la
10.1.2 GhostScript
Como referencia y para mantener el orden en el disco duro, creamos una carpeta nueva,
digamos "c:\texutils"
La version actual de LaTeX2HTML funciona bien con GhostScript 5.50. Esta versión se
puede conseguir en
http://www.ccp14.ac.uk/ccp/ccp14/ftp-mirror/ghostscript/ghost/aladdin/gs550/
c:\texutils\GS5.50
Nota: Para usar GhostScript 6.01, debe editar config.pl, después de la línea
close(GS);
y antes de
añadir
@gs_devs=qw(pnmraw ppmraw);
$gs_version=6.01;
Variables de Entorno
La instalación de LaTeX2hml solo la hemos probado con MiKTeX2.5. Se debe tener (y/o
editar en caso necesario) el autoexec.bat (o las variables de entorno), con las líneas
C:\PERL\BIN;C:\TEXMF\MiK\TeX $\,$\BIN;C:\TEXUTILS\GS5.50;
C:\TEXUTILS\GSVIEW;C:\TEXUTILS\NETPBM\BIN;
http://saftsack.fs.uni-bayreuth.de/~latex2ht/current/
$prefs{’EXTRAPATH’}=’C:\\TEXUTILS\\GS5.50;C:\\TEXUTILS\\NETPBM\\BIN’;
...
$prefs{’PREFIX’} = ’C:\\TEXUTILS\\L2H’;
pero basta dar ENTER un par de veces para que siga adelante. En todo caso, la
corrida debe quedar con los siguientes elementos:
4. Ejecutamos install.bat.
@IMAGE_TYPES=qw(gif png);
$LOCAL_ICONS=1;
$HTML_VERSION=’3.2, math’;
$UNSEGMENT = 1;
163
$EXTRA_IMAGE_SCALE = 2;
$MATH_SCALE_FACTOR = 1.5;
$MATH_SCALE_FACTOR define el tamaño del texto matemático, 1.2 puede ser muy
pequeño y 1.6 muy grande.
Ya todo está listo. Ahora podemos, desde una ventana MS-DOS, traducir miarchivo.tex
(con la sintaxis apropiada) escribiendo
Y esperar. Esto genera una carpeta “miarchivo” con las páginas web y los archivos
adicionales indispensables (en l2hconf.pm hay una variable de instalación llamada
$TEXINPUTS la cual le dice a LaTeX2HTML dónde buscar los archivos *.tex para
procesar).
o
latex2html -split, -no_navigation -show_section_numbers miarchivo.tex
http://cbl.leeds.ac.uk/nikos/tex2html/doc/manual/manual.html
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. Sin embargo los PDF son en
general muy pesados. Una opción es dividir el PDF en páginas individuales (de bajo
peso!) e incrustar cada una de estas páginas en una página web. Es lo mismo que Ud
hace cuando navega este libro conectado a Internet.
En vez de usar el plugin de Adobe Reader, puede usar el plugin Flash vía FlashPaper2
(http://www.adobe.com/la/products/flashpaper/). Esta opción es un poco
más rápida para levantar páginas, pero a la fecha no permite indexación y tampoco
funciona en Mac.
Para cualquiera de estas opciones, debe dividir (split) el PDF en páginas individuales
de tal manera que cada página conserve su numeración. Para hacer esto puede usar
el programa gratuito “PDFsam” (http://www.pdfsam.org/) o, también Adobe
Acrobat 9 Pro Extended. Si va a usar FlashPaper2, debe aplicar este programa
a cada página en un archivo Flash. Cada archivo Flash o PDF, se incrusta en una
página web numerada de acuerdo al número de página.
¿Cómo generar las páginas Web de manera automática?, esto se puede automatizar
con algún programa. Se trata de generar un archivo de texto con el código html. El
programa agrega los parámetros: Número de página, página PDF individual, etc.
Una opción es usar Mathematica para generar las páginas: En el programa que está
más abajo, se generan las páginas HTML con el código necesario para incrustar
las páginas PDF individuales. Por supuesto, si se tiene un poco de conocimiento
de HTML, se pueden agregar algunas cosas más. El código que sigue solo es un
“machote” muy básico.
Solo necesitará ajustar la navegación en la última y en la primera página. Se supone
que el archivo doc.pdf se dividió en n páginas: 1_doc.pdf, 2_doc.pdf,...,
n_doc.pdf. El código que sigue se copia y se pega, primero en el bloc de notas
y después en una celda (en Mathematica) y se ejecuta con Shift-Enter. Un ejem-
plo de llamada al programa es
CrearPagsWeb[1,5,"Título","_midoc.pdf",
"#navpanes=0","800","624",2]
CrearPagsWeb[pagmin_,pagmax_, title_,nombreArchivo_,opciones_,
anchoPag_,largoPag_, numContenido_:2]:=Module[{numpag=pagmin-1},
Do[
numpag=numpag+1;
(*Abrir un canal de escritura*)
strm=OpenWrite[ToString[numpag]<>".html"];
(*cdigo de la pgina Web*)
pagina="<html>
<head>
<title>"<>title<>ToString[numpag]<>"</title>
<link rel=’stylesheet’ href=’reset.css’ type=’text/css’ media=’all’>
<meta content=’text/html’ charset=’iso-8859-1’
http-equiv=’Content-Type’/>
</head>
<body link=’#410082’ vlink=’#3F009D’>
<div align=’center’>
<table border=’0’ cellpadding=’0’ cellspacing=’0’ width=’100%’>
<tr><td width=’93’ valign=’top’ rowspan=’2’></td><td>
<table border=’0’ cellpadding=’0’ cellspacing=’0’ width=’785’ height=’97’>
<tr><td colspan=’6’ width=’785’ bgcolor=’#3F009D’> <p><b><font
color=’#FFFFFF’ face=’Arial’>Revista
digital Matemática, Educación e Internet</font></b></td>
</tr><tr><td width=’785’ colspan=’6’> </td></tr><tr>
<td width=’26’ height=’19’ bgcolor=’#EEEEEE’>
<a href=’"<>ToString[numpag-1]<>".html’><<</a></td>
<td width=’19’ height=’19’ bgcolor=’#EEEEEE’> </td>
<td width=’29’ height=’19’ bgcolor=’#EEEEEE’>
<a href=’"<>ToString[numpag+1]<>".html’>>></a></td>
<td width=’102’ height=’19’ bgcolor=’#EEEEEE’>
<p align=’center’>
<font face=’Arial’ size=’2’ color=’#410082’> </font><font size=’2’
color=’#240059’
face=’HelveticaNeueLT Std’><span style=’text-decoration:none’>
<a href=’"<>ToString[numContenido]<>".html’>
<span style=’text-decoration:none’>Contenido
</span></a></span></font></td>
<td width=’97’ height=’19’ bgcolor=’#EEEEEE’>
167
Bibliografía
alert, 138
A algorithm2e, 144
blocks, 141
Algoritmos BibTEXm, 122
algorithm2e, 106 boldmath (negrita), 45
boldmath
B
boldsymbol, 45
babel, 10 pbm, 45
baselinestretch, 9 unboldmath, 45
beamer C
gráficos, 145
ligas, 147 calligra
marcos, 134 usepackage, 16
pdfLaTeX, 132 center, 19
tablas, 150 centrar en modo matemático, 46
temas, 134 choose, 41
velos, 134 cite, 122
Comandos, 99 hspace, 30
newcommand, 99
opciones por default, 101 I
Compilar, 5
inputec
Contenido, 11
usepackage, 10
D int, 56
iiint, 56
definecolor, 23 iint, 56
displaystyle, 39 oint, 56
documentclass, 2 item, 30
DVI
archivo, 5 K
imprimir, 5
Knuth D., 1
E
L
enumerate, 30
labelenumi, 32
eqnarray, 51
Lamport L., 1
equation, 47
LaTeX2HTML
F url, 161
limits, 42
fbox, 19
fboxsep, 24 M
fcolorbox, 24
markright, 9
figure
Matrices
subfigure, 68
array, 48
fontenc
mbox, 49
usepackage, 15
MiKTeX, 3
Fontencoding, 15
minipage, 21
Fontfamily, 15
con figure, 21
Fontseries, 15
multicols, 20
Fontsize, 15
myheadings, 9
footnote, 26
Fuentes, 13 N
G negrita modo matemático, 45
newpage, 10
graphicx, 75
nonumber, 51
bmp, 81
dvips, 75 O
eps, 75
gif, 81 overset, 56
pdf, 81
rotación, 79 P
H pagestyle, 9
parindent, 9
hfill, 25 parskip, 9
INDICE 171
PDF tabular, 58
TeX a Pdf, 5 cellcolor, 61
Preámbulo, 5 multicolumn, 63
rotación, 62
R rowcolors, 60
renewcommand, 9 vrule, 65
thebibliography, 121
S
V
selectedfont, 15
setcounter, 47 Verbatim
stackrel, 41 paquete fancyvrb, 28
subequations, 47 VerbatimFootnote, 28
substack, 41 vspace, 30
T