Alexánder Borbón A. Walter Mora F.
Transcripción
Alexánder Borbón A. Walter Mora F.
Segunda Edición Alexánder Borbón A. Walter Mora F. Instituto Tecnológico de Costa Rica Edición de textos científicos 2013 Composición Diseño editorial Gráficos, Inkscape, TikZ Presentaciones Beamer Ubuntu - TeXLive Windows - MikTeX Revista digital Matemática, Educación e Internet www.tec-digital.itcr.ac.cr/revistamatematica/ EDICIÓN DE TEXTOS CIENTÍFICOS LATEX Composición, Diseño Editorial, Gráficos, Inkscape, Tikz y Presentaciones Beamer 2da edición. Actualización Enero, 2013. Walter Mora F., Alexánder Borbón A. Escuela de Matemática Instituto Tecnológico de Costa Rica. (www.tec-digital.itcr.ac.cr/revistamatematica/) La foto de Donald Knuth en la portada fue tomada por Timothy Archibald Este libro se distribuye bajo la licencia Creative Commons Reconocimiento - No Comercial - Sin obra derivada 3.0 Unported License. Esta licencia permite copiado y distribución gratuita, pero no permite venta ni modificaciones de este material. Ver http://creativecommons.org/. 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 expresa la opinión de sus autores y no necesariamente la opinión de la revista ni la del Instituto Tecnológico de Costa Rica. ii Copyright© Revista digital Matemática Educación e Internet (www.cidse.itcr.ac.cr/revistamate). Segunda Edición. Correo Electrónico: [email protected] Escuela de Matemática Instituto Tecnológico de Costa Rica Apdo. 159-7050, Cartago Teléfono (506)25502225 Fax (506)25502493 Mora Flores, Walter. Edición de Textos Científicos con LATEX. Composición, Gráficos, Inkscape y Presentaciones Beamer/Walter Mora F. Alexánder Borbón A. – 2da ed. – Escuela de Matemática,Instituto Tecnológico de Costa Rica. 2010. 198 p. ISBN 978-9977-66-227-5 1. TeX. 2. Composición tipográfica-automatizada 3. Tipos - símbolos matemáticos. Contenido Prefacio 1 LATEX: Primeros pasos 1 2 3 3 3 4 Acciones en una sesión con LATEX o PDFLATEX 5 2.1 2.2 2.3 2.4 2.5 2.6 3 1 ¿Qué es LATEX? Distribuciones TEX y editores. 1.2.1 Distribuciones TEX 1.2.2 Un Editor 1.2.3 Un editor de ecuaciones 1.2.4 Convertir documentos a LATEX 1.1 1.2 2 vii Editar, compilar y ver el resultado. Compilar Ajustes del documento Usar paquetes adicionales Ajustes del documento usando el paquete Geometry Idioma 2.6.1 Si hay conflictos con el paquete babel... 2.6.2 Plantilla para este capítulo. 5 6 8 10 11 11 12 13 Escritura de Texto Normal 15 3.1 15 15 16 16 17 17 17 18 3.2 Tipos y tamaños de fuentes. 3.1.1 Caracteres especiales. 3.1.2 Algunos tipos de fuentes (fonts). 3.1.3 Tamaños de letras. Párrafos y efectos especiales. 3.2.1 Centrar 3.2.2 Espacio horizontal y vertical 3.2.3 Cajas iii iv CONTENIDO 3.3 3.4 3.5 3.6 3.7 4 18 21 22 22 23 24 25 28 29 32 35 35 36 39 Texto en modo matemático 42 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 43 43 44 44 46 46 48 49 49 49 50 50 51 53 54 58 58 58 58 58 59 59 59 60 62 4.17 5 3.2.4 Texto en columnas: multicol, minipage y parbox. 3.2.5 Líneas y otros efectos de texto 3.2.6 Notas al pie de página. 3.2.7 Texto como en la pantalla Color y cajas de color 3.3.1 Notas en el margen Enumerado automático. 3.4.1 Enumeración usando el paquete TikZ. Título, contenido, secciones y bibliografía 3.5.1 Indice alfabético Modulación (*)Más cosas sobre las fuentes. 3.7.1 Las fuentes y sus atributos 3.7.2 Usando las fuentes del sistema con XeLATEX. Potencias, subíndices y superíndices Tamaño natural Raíces Fracciones y expresiones de dos niveles Tres puntos consecutivos Delimitadores LLaves y barras horizontales Acentos y “sombreros” en modo matemático Negritas en modo matemático Espacio en modo matemático Centrado Entorno equation. Contadores automáticos Arreglos Matrices Alineamiento Tablas de símbolos matemáticos frecuentes 4.16.1 Letras griegas 4.16.2 Operadores binarios 4.16.3 Relaciones 4.16.4 Negación de relaciones 4.16.5 Otros símbolos 4.16.6 Especiales 4.16.7 Símbolos del paquete amssymb Cómo hacer nuevos Comandos. 4.17.1 Comandos con opciones Tablas y objetos flotantes 64 5.1 5.2 5.3 5.4 5.5 5.6 5.7 64 66 66 68 70 70 71 Objetos flotantes: los ambientes figure y table Fuentes en tabular. Color en tablas. Rotación de texto en celdas. Unir celdas. Escalar una tabla (*)Espaciado en celdas. CONTENIDO 5.8 5.9 5.10 5.11 6 7 79 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 79 80 82 87 91 92 92 94 Entorno thebibliography BibTEX JabRef 99 99 100 103 Diseño Editorial 105 8.1 8.2 105 107 107 107 108 108 108 110 111 Bajar la carga cognitiva Amenidad: Los Cuatro Principios Básicos 8.2.1 Proximidad. 8.2.2 Alineamiento. 8.2.3 Repetición. 8.2.4 Contraste. Legibilidad: Cómo escoger las fuentes. Color Editar un PDF con Inkscape Personalizar el Documento 115 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 115 116 117 118 118 119 120 123 123 126 128 129 131 132 135 9.9 9.10 9.11 9.12 10 Introducción Compilando con LaTeX. Figuras .eps Compilando con PDFLATEX. Figuras .pdf, .jpg, .png y .eps Edición adicional de figuras con Inkscape De nuevo: Paquete float Paquete subfigure Los ambientes wrapfigure y floatflt Crear figuras nativas con TikZ Citas bibliográficas consistentes con BibTeX 8.3 8.4 8.5 9 73 76 76 77 Insertar gráficos y figuras en documentos LATEX 7.1 7.2 7.3 8 Ancho de las columnas Modo matemático en tablas con tabularx Problemas con los objetos flotantes: Paquete float Tablas sofisticadas con TikZ v Numeración automática de definiciones, teoremas y ejemplos. El paquete ntheorem Personalización de teoremas, definiciones, etc. Personalización de secciones, subsecciones, etc. El paquete todonotes El paquete boiboites Paquete algorithm2e Color para el código de lenguajes de programación 9.8.1 Instalar el paquete minted 9.8.2 Paquete verbments 9.8.3 Paquete Listings Cómo hacer listas de ejercicios con solución Cabeceras Código LaTeX de este libro Otras Plantillas (templates) LATEX Cómo hacer Transparencias con la clase Beamer 136 vi 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15 11 Introducción Un documento Beamer Marcos (frames) Velos (overlays) 10.4.1 Opciones <i-> y \uncover<i-> 10.4.2 Opción <i-|alert@ i> Comando pause. Entornos para teoremas, definición, etc. Blocks. Opción fragile Entornos para código de programas 10.9.1 Entorno semiverbatim 10.9.2 Iluminar código de lenguajes de programación. Beamer y el paquete algorithm2e Gráficos Ligas y botones. Efectos de Transición. Color Ligas a Documentos Externos Animaciones 136 136 139 139 140 141 142 142 143 145 145 145 146 147 148 149 150 152 153 Documentos LaTeX en Internet 154 11.1 11.2 11.3 11.4 154 155 156 159 LaTeX2HTLM Translator Otra Opción: PDFScreen Servicio de visores de PDF en Internet Expresiones LaTeX en páginas Web Bibliografía 160 Apéndice A: Agregar Nuevos Paquetes 161 Apéndice B: Habilitar ’shell escape’ 163 Apéndice C: Instalar una distribución y un editor C.1 Distribuciones TEX C.2 Un Editor C.3 Editores WYSIWYM para TEX 164 164 165 168 Apéndice D: Software adicional D.1 Instalación la extensión TeXtext en Windows 170 171 Apéndice E: Ubuntu E.1 Instalar Ubuntu desde Windows 175 175 Indice Analítico 178 Prefacio Este texto cubre aspectos básicos e intermedios sobre composición tipográfica LATEX, diseño editorial, presentaciones Beamer, edición adicional de gráficos y figuras con Inkscape y Tikz. También se desarrollan tópicos que tienen que ver con paquetes especiales. Algunas veces la descripción se hace "por ejemplos", dada la vastedad del tema. Los temas que se han incluido son los tópicos más frecuentes en la edición de libros y artículos sobre matemáticas, educación, software y programación, según nuestra experiencia. Incluye nuevos paquetes y nuevos comandos que resuelven problemas cotidianos de edición de textos matemáticos de una manera más sencilla. Ahora se considera TEXLive - Ubuntu y MiKTEX-Windows, nuevas cosas en diseño editorial e infografía y una nueva presentación de los ejemplos (basada en TikZ). Esta es la actualización del año 2013 del libro. Se han corregido varios errores en el código de los ejemplos, se han creado nuevas secciones y se han ampliado otras, además de reubicar algunas. También se han hecho cambios a la luz de los cambios en el software en este último año y se ha simplificado el código de varios ejemplos. Este texto se ha usado en algunos cursos en el Instituto Tecnológico de Costa Rica y se usa frecuentemente en la revista digital de Matemática, Educación e Internet en la edición de artículos y libros. Agradecemos a todas las personas que nos han ayudado con la lectura detenida del libro, señalando errores en el texto y el código, inconsistencias, sugiriendo nuevas secciones y por todos sus comentarios. El código LATEX de este libro se puede descargar desde el sitio de la revista digital Matemática, Educación e Internet (ver sección 9.11). W. MORA, A. BORBÓN. Cartago, Costa Rica. Enero 2013. vii 1 1.1 —————- LATEX: PRIMEROS PASOS ¿Qué es LATEX? “TEX is intended for the creation of beautiful books - and especially for books that contain a lot of mathematic”. Donald Knuth El sistema TEX (se pronuncia [tej]) fue diseñado y desarrollado por Donald Knuth en la década del 70. Es un sofisticado programa para la composición tipográfica de textos científicos; en realidad es la mejor opción disponible para edición de textos con contenido matemático tales como artículos, reportes, libros, etc. TEX es en la práctica un estándar para publicaciones científicas en áreas como matemática, física, computación, etc. LATEX es un conjunto de macros TEX preparado por Leslie Lamport . LATEX no es un procesador de textos, es un lenguaje que nos permite preparar automáticaDonald Knuth, 1938− mente un documento de apariencia estándar y de alta calidad. En general, solo necesitamos editar texto y algunos comandos y LATEX se encarga de componer automáticamente el documento. A diferencia de un procesador de textos, con LATEX tenemos un control más fino sobre cualquier aspecto tipográfico del documento. . LATEX formatea las páginas de acuerdo a la clase de documento especificado por el comando \documentclass{}, por ejemplo, \documentclass{book} formatea el documento de tal manera que el producto sea un documento con formato de libro. Un documento LATEX puede tener texto ordinario junto con texto en modo matemático. Los comandos vienen precedidos por el símbolo “\ ” (barra invertida). Hay comandos que funcionan en modo texto y hay comandos que solo funcionan en modo matemático. Todo lo que es lenguaje matemático se edita en modo matemático. Hay varios entornos para este modo, el más común es el entorno delimitado por dos signos de dólar ($...$). LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 1 2 LATEX: PRIMEROS PASOS Un ejemplo de código LATEX es el siguiente: Ejemplo 1.1 \documentclass{article} \usepackage{amsmath} \usepackageop{fontenc} \begin{document} $0^0$ es una expresión indefinida. Si $a>0$ entonces $a^0=1$ pero $0^a=0.$ Sin embargo, convenir en que $0^0=1$ es adecuado para que algunas fórmulas se puedan expresar de manera sencilla, sin recurrir a casos especiales, por ejemplo $$e^x=\sum _{n=0}^{\infty }\frac{x^n}{n!}$$ $$(x+a)^n=\sum_{k=0}^n \binom{n}{k}x^k a^{n-k}$$ \end{document} Este código se digita en un editor (en la figura de abajo se usó Texmaker) y luego se compila. La ventana a la derecha en la figura que sigue, muestra la salida: 1.2 Distribuciones TEX y editores. Una distribución TEX contiene el núcleo principal del programa, paquetes y extensiones adicionales: Integra todo lo que hace falta para poner a funcionar TEX con una o varias extensiones (dialectos) del programa TEX (por ejemplo XeLATEX, ConTEXt, LuaTEX, pdfLATEX, etc.) sobre un sistema operativo. En este manual vamos a usar los formatos (dialectos) LATEX y/o PDFLATEX . Una vez que instalamos TEX usando alguna distribución, es conveniente tener un editor no solo para editar de manera cómodo el texto, también para acceder de manera sencilla a las tareas usuales de una sesión LATEX: editar, compilar y visualizar (en DVI o PDF). Distribución Editor 3 1.2.1 MikTeX, TexLive, MacTeX Distribuciones TEX Hay varias distribuciones TEX, por ejemplo: TeXLive (Windows, Linux, Mac), Mactex (Mac OS X) y Miktex (Windows). Las pruebas de este libro se hicieron con MiKTeX 2.9 sobre Windows XP y Windows 7 y 8; y con TeXLive 2009 y también con la versión TeXLive 2012 sobre Ubuntu. ¿Cuál es la mejor distribución?. En las discusiones en Internet no hay un acuerdo entre usuarios de cuál es "la mejor distribución" porque eso depende de las motivaciones para hablar bien de una u otra distribución. Para hacer este libro, la distribución que resultó más conveniente fue TeXLive 2012. Para un usuario regular, una instalación completa de cualquiera de estas distribuciones va a estar bien. Asumimos que el lector tiene la distribución respectiva completa a mano. Los detalles relacionados con la instalación de una distribución TEX, se puede consultar en el Apéndice C. 1.2.2 Texmaker, Texstudio, Winshell, Kile,... Un Editor Después de la instalación de la distribución TeX, instalamos un editor. Hay varios editores: Texmaker, Texstudio, Winshell, Kile, etc. Los editores buscan la instalación TEX/LATEX de manera automática. Luego se pueden configurar algunas cosas adicionales. Los detalles relacionados con la instalación de un editor y la instalación de software de apoyo (Windows y Ubuntu) se puede consultar en el Apéndice C. Nota: En este libro asumimos que se usará alguno de estos editores. 1.2.3 Un editor de ecuaciones Hay editores "WYSIWYG" (what you see is what you get) para TEX (ver en el apéndice C.3). "WYSIWYG" es un acrónimo que significa "lo que ves es lo que obtienes". Hay algunos editores WYSIWYG gratuitos para generar documentos LATEX, pdfLATEX, etc. Por ejemplo GNU TeXmacs que también permite sesiones con programas para cálculo simbólico y graficación 2D y 3D como Maxima. Figura 1.1 Editor GNU TeXmacs con una sesión con Maxima. 4 LATEX: PRIMEROS PASOS Sin embargo en este libro usaremos editores con los cuales podamos tener control del código LATEX para conocer su alcance. Aprender a usar GNU TeXmacs es algo que se podría hacer posteriormente para tener claridad de las ventajas y desventajas que se presentan. Por ahora, una manera fácil de editar ecuaciones sencillas y obtener su código LATEX es usar el navegador Google Chrome. Este navegador posee una extensión para editar ecuaciones y además produce código LATEX y se puede usar también a la inversa. La extensión se llama “Daum Equation Editor”. Figura 1.2 1.2.4 Extensión “Daum Equation Editor” de Chrome. Convertir documentos a LATEX Posiblemente haya interés en convertir documentos (con o sin ecuaciones) de Microsoft Word o de Writer (LibreOffice), a documentos LATEX. Lo programas gratuitos pueden hacer esto con un resultado limitado. Una opción es Writer2LateX que es una extensión de LibreOffice. En Ubuntu se puede instalar con el ’Gestor de Paquetes Synaptic’ Para hacer la conversión se carga el documento con Writer de LibreOffice y se usa la opción Archivo-Exportar-Tipo de Archivo-LaTeX 2e. Hay varios programas privativos que también hacen la conversión de manera bastante eficiente. Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 2 ACCIONES EN UNA SESIÓN CON LATEX O PDFLATEX En una sesión LATEX ejecutamos varias acciones:Ponemos un preámbulo con la clase de documento, paquetes que se van a usar, cosas de maquetación, etc. y editamos el cuerpo del documento, luego compilamos (LaTeX o PDFLaTeX) y vemos el resultado en un visor (DVI o PDF). 2.1 1 Editar, compilar y ver el resultado. Ponemos un preámbulo: La clase de documento, indicaciones sobre márgenes, largo y ancho de página, numeración, etc., y cargamos los paquetes adicionales (fuentes, símbolos, gráficos, etc.). Descargar archivo .tex \documentclass{article} \textheight = 20cm \textwidth = 18cm \topmargin = -2cm \oddsidemargin= -1cm \parindent = 0mm \usepackage{amsmath,amssymb,amsfonts,latexsym} \usepackage{graphicx} Preámbulo \begin{document} \section{Problema abierto} La dificultad en la investigaciónn de la convergencia de la serie $$\sum_{n=1}^\infty\frac{1}{n^3\sin^2n}$$ se debe a la falta de conocimiento sobre el comportamiento de $|n\sin n|$ conforme $n \rightarrow \infty$, y esto esta relacionado con las aproximaciones racionales de $\pi$. \end{document} 2 Editamos: Escribimos texto corriente y texto en modo matemático (posiblemente combinando ambos). Mucho del texto en modo matemático se edita en los entornos $...$ o $$...$$. Esto le indica al programa que interprete el texto y lo convierta en símbolos matemáticos. 3 Compilamos: En el menú del editor está la opción LaTeX o la opción PDFLaTeX para compilar. Esto nos permite detectar, por ejemplo, errores en los comandos o en la sintaxis de 5 6 ACCIONES EN UNA SESIÓN CON LATEX O PDFLATEX una fórmula. 4 5 Ver el archivo DVI o el PDF . Una vez que hemos compilado con la opción LaTeX, usamos la opción DVI para ver el documento (esto hace que un visualizador ejecute el programa ’dvips’ para ver el documento en pantalla). Si queremos una versión PDF, usamos la opción DVI->PDF. . Una vez que hemos compilado con la opción PDFLaTeX, usamos la opción Ver PDF para ver el documento. Imprimir el archivo DVI. Formalmente, imprimir la interpretación en formato PostScript (muy fino) del archivo DVI. 2.2 Compilar Después de compilar se producen varios archivos: *.tex, *.dvi (o .pdf), *.aux, *.log, *.toc. El archivo de edición tiene extensión *.tex mientras que el archivo .log contiene un informe del proceso de compilación. Para imprimir un documento LATEX (generado con la opción LaTeX) solo necesitamos el archivo *.dvi y los archivos de los gráficos incluidos en el documento (si hubiera). ¿Compilar con PDFLaTeX o LaTeX? Cuando compilamos con LATEX obtenemos un archivo DVI y podemos usar algunos paquetes que nos permiten, por ejemplo, manipular gráficas .eps. Este formato se debe usar de manera obligatoria en muchas revistas de corriente principal. PDFLATEX es una extensión de TEX que puede crear archivos PDF directamente desde un archivo de origen .tex. Cuando compilamos con PDFLaTeX, generamos un PDF de igual apariencia que el DVI. El Formato PDF se ha convertido en uno de los formatos de documentos electrónicos más utilizados para la publicación de documentos en la Web. Hay muchas ventajas que lo hicieron muy popular: Es adecuado para la visualización y para imprimir, permiten búsquedas, etc. Pero también, compilando con PDFLaTeX, podemos usar comandos adicionales en el archivo .tex para agregar propiedades en el archivo PDF: Agregar ligas, personalizar el menú de navegación, agregar video, etc., es decir, cosas que son importantes para leer documentos en pantalla y para la distribución en Internet. Este libro fue compilado con PDFLaTeX porque usa ligas a otros documentos y tiene muchas figuras en distintos formatos. Compilar desde un editor Cada editor tiene una manera para compilar, por ejemplo con TeXmaker la compilación se hace con la opción Herramientas - LaTeX. En TeXMaKer hay teclas rápidas para compilar y otras para otras tareas. Por ejemplo, la compilación LaTeX se hace con la tecla F2 y el documento DVI se ve con la tecla F3. 7 Compilar LaTeX Ver DVI Teclas rápidas Resultado de la compilación Si no hay errores de sintaxis, el mensaje en la ventana inferior sería, Process exited normally Si hay errores de sintaxis, el mensaje en la ventana inferior sería, Process exited with error(s) En este caso, la compilación genera una información de salida en la ’ventana de mensajes’ (se habilita o deshabilita en el menú Ver). Si la compilación encuentra algún error se indicará con un mensaje corto (en rojo), por ejemplo Error line 323 ! Missing $ <inserted text>... En este ejemplo, esto nos indica que falta ’$’ en la línea 323. Como se ve, \frac{x}{x+1} es texto matemático (inicia con un comando de fracción) y por tanto no se puede interpretar como texto corriente, necesita estar entre $ $. Al hacer clic en ’line 323’ nos llevará a la línea del error. Error: el texto matemático va entre $$ Ver errores Línea del error Detalle breve del error: Falta $ Compilar desde el editor Kile En el menú se aprecia claramente cómo compilar con PDFLaTeX y ver el archivo resultante con Okular (que es de los mejores visores). En este mismo menú emergente aparecen las otras opciones de compilación (además de opciones de conversión). En las opciones de compilación está la opción de convertir el documento en un sitio Web, siempre y cuando haya instalado el paquete LaTeX2HTML (esto es muy eficiente en Linux). Tenemos una ventana para el resultado de la compilación y funciona igual que en TeXMaker. 8 ACCIONES EN UNA SESIÓN CON LATEX O PDFLATEX Compilar y ver } Resultado de la compilación Compilar desde el editor WinShell La compilación se hace con la opción Ejecutar - LaTeX. En WinShell hay teclas rápidas para compilar y otras para otras tareas. Por ejemplo, la compilación LaTeX se hace con la tecla F5 y el documento DVI se ve con la tecla F7. 2.3 Ajustes del documento Un documento básico en LATEX se compone de dos partes: el preámbulo del documento y el cuerpo. Al inicio del documento se debe especificar la clase de documento y lo relativo al ajuste de las páginas, nada de lo que pongamos en el preámbulo aparecerá en el documento que se imprime al final. En el cuerpo se escribe el texto (normal y matemático). Es la parte que aparecerá impresa como producto final. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 9 Preámbulo \documentclass{article} % Márgenes \textheight = 21cm \textwidth = 18cm \topmargin = -2cm \oddsidemargin= -2cm % Paquetes \usepackage{amsmath, amssymb, amsfonts, latexsym} \usepackage[latin1]{inputenc} \usepackage{graphicx} Cuerpo del documento \begin{document} Sea $a>0$, definimos $a^x$ por la fórmula... \end{document} Página topmargin head headheight headsep Región impresa textheight Margen izquierdo textwidth c Figura 2.1 foot Diseño del documento. \documentclass{article}: Es la clase de documento; article se utiliza para editar documentos con formato de artículo. article se refiere al archivo article.cls. Estos archivos .cls implementan la estructura especifica de un documento. También se usa “report” o “book” para un reporte o un libro. \textheight=21cm: Establece el largo del texto en cada página (en este caso, de 21 cm). El default es 19 cm. \textwidth=18cm: Establece el ancho del texto en cada página (en este caso, de 18 cm). El default es 14 cm. \topmargin=-2cm: Establece el margen superior. El default es de 3 cm, en este caso la instrucción -2cm sube el margen 2 cm hacia arriba. \oddsidemargin=-2cm: Establece el margen izquierdo de las páginas impares. El default es de 4.5 cm; sin embargo, con sólo poner esta instrucción el margen queda en 2.5 cm. Si el parámetro es positivo se aumenta este margen y si es negativo disminuye. Note que esto combinado con el ancho del texto, determina el ancho del otro margen! \usepackage{amsmath,amssymb,amsfonts,latexsym}: Esta instrucción indica que en este documento se usarán paquetes de símbolos adicionales (símbolos de la AMS). \usepackage[latin1]{inputenc}: Esta instrucción se usa para incluir un paquete que nos permite usar los acentos y otros símbolos, directamente del teclado. 10 ACCIONES EN UNA SESIÓN CON LATEX O PDFLATEX \usepackage{graphicx}: Esta instrucción se usa para incluir un paquete para el manejo de gráficos y figuras en el documento. Otros comandos para el preámbulo \renewcommand{}{baselinestretch}{1.5} : Genera un texto a espacio y medio. Si se pone 2 en vez de 1.5, lo hace a doble espacio. \pagestyle{}{empty}: Elimina la numeración de las páginas. \parskip=Xmm: Genera un espacio de X mm entre los párrafos. \headheight: Altura de la cabecera (page header) de la página. \headsep: Distancia desde la parte inferior de la cabecera al cuerpo de texto en una página. \parindent=0mm: Elimina la sangría. \pagestyle{}{myheadings}: Coloca la numeración de página en la parte superior. \markright{‘texto’}: Coloca ‘texto’ en la parte superior de la página. Se pueden poner varios \markright en el texto (en cada sección, por ejemplo). Ejemplo: \markright{\LaTeX \hrulefill W . Mora, A. Borbón \; \;} \newpage: Le indica a LATEX que siga imprimiendo en la página siguiente. 2.4 Usar paquetes adicionales Un paquete LATEX es un archivo .sty (o varios archivos) con comandos y código de programación TEX que tiene como propósito agregar nuevas facetas (o modificar otras facetas) al documento. Todos los paquetes vienen con su propia documentación. Los paquetes se invocan con el comando \usepackage{nombre}. LATEX viene con una cantidad importante de comandos que se pueden usar de forma inmediata sin invocar ningún paquete adicional. Aunque siempre existe la posibilidad de instalar la versión completa de la distribución con todos los paquetes que hay disponibles en el momento (TeXLive-full o MikTeX Net Installer), la mayoría de paquetes deben ser invocados en el preámbulo del documento para poder usarlos. Si un paquete no está disponible en su instalación, se produce un error de compilación1 . En este caso puede buscar el paquete en internet (usualmente un archivo .sty y a veces otros archivos adicionales) y se agrega a la carpeta donde está el documento .tex que está editando. Para instalar un paquete de manera permamente puede ver el apéndice A . 1 En la distribución MikTeX se puede habilitar la búsqueda e instalación del paquete en el momento de la compilación. Ver apéndice A . 11 2.5 Ajustes del documento usando el paquete Geometry El diseño de documento se puede simplificar con el paquete geometry. Por ejemplo, si queremos un documento 18cm×21cm con margen superior de 2cm y margen izquierdo de 2cm, cambiamos nuestras instrucciones agregando en el preámbulo \usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry} Descargar archivo .tex \documentclass{article} % Usando el paquete ’geometry’ \usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry} % Paquetes adicionales \usepackage{latexsym,amsmath,amssymb,amsfonts} %Símbolos extra \usepackage[latin1]{inputenc} \begin{document} \section{Problema abierto} La dificultad en la investigación de la convergencia de la serie $$\sum_{n=1}^\infty\frac{1}{n^3\sin^2n}$$ se debe a la falta de conocimiento sobre el comportamiento de $|n\sin n|$ conforme $n \rightarrow \infty$, y esto esta relacionado con la ’medida de irracionalidad’ de $\pi$. \end{document} Un manual de referencia para este paquete se puede encontrar en ftp://ftp.tex.ac.uk/texarchive/macros/latex/contrib/geometry/geometry.pdf. 2.6 Idioma El idioma oficial que utiliza LATEX es el inglés, sin embargo, utilizando algunas instrucciones se puede lograr que soporte otros idiomas, en particular, veremos cómo hacer para que soporte el español. Acentos y otros caracteres LATEX normalmente no acepta tildes, ni la “ñ”, tampoco el signo de pregunta ‘¿’, ni la apertura o el cierre de comillas. Para que acepte estos caracteres se deben utilizar las instrucciones que aparecen en la tabla 2.1 o usar un paquete que nos habilite para usar los acentos y otros símbolos desde el teclado (ver más abajo). Comando \'a \'e \'{\i} \'o \'u Tabla 2.1 Acentos desde el teclado Símbolo á é í ó ú Comando ?` !` `` '' ` ' \~n Símbolo ¿ ¡ “” ‘’ ñ Acentos en modo texto y otros símbolos Para que LATEX reconozca los acentos que usamos en español directamente del teclado(como ú en vez de \'u) y para que genere una salida adecuada para un PDF, colocamos en el preámbulo 12 ACCIONES EN UNA SESIÓN CON LATEX O PDFLATEX \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} Con estos paquetes se tendrá un soporte para los acentos en español. Las comillas se tendrán que seguir poniendo mediante la instrucción dada en la tabla, excepto que su editor esté configurado para convertir las comillas del teclado en comillas. Las versiones actuales del editor Kile ya vienen configurados para hacer esta sustitución y en TexStudio se puede habilitar esta faceta en su configuración. Para este libro usamos la versión más reciente del editor Kile así que podemos escribir "Hola" para obtener "Hola". Si la codificación que usará es utf-8, como en muchas distribuciones recientes de Linux, colocamos en el preámbulo la instrucción, \usepackage[utf8]{inputenc} Nota: En este libro vamos a usar la codificación latin1 en las plantillas. Cambiar las plantillas a español Otro problema que tiene LATEX con el idioma es que los textos para "capítulo", "sección", etc., están en inglés, por lo tanto, en un libro no saldría Capítulo 1 sino Chapter 1. Existen dos formas sencillas de solucionar este problema. La forma más simple y recomendada es usar el paquete babel, ponemos en el preámbulo del documento la instrucción babel \usepackage[spanish]{babel} que carga la opción en español de la librería babel. Además quedará habilitada la división correcta de las palabras. Dos opciones más aparecen como tópico adicional, ¿porqué?. El problema es que este paquete tiene conflictos con otros paquetes que podríamos querer usar. División de palabras: Paquete babel y otras opciones. Agregando ‘\usepackage[spanish]{babel}’ en el preámbulo (junto con inputenc y fontenc), se logra que LATEX divida correctamente la mayoría de palabras en español, sin embargo hay algunos casos en los que no será así; si al componer el texto observamos que hay una palabra que se ha dividido mal, vamos a esa palabra en el archivo *.tex, y le indicamos exactamente donde la puede dividir, usando guiones. Por ejemplo, e-xa-men, ac-ción, am-nis-tí-a Este sistema tiene el inconveniente de que LaTeX sólo divide bien la palabra en ese punto del documento y si dicha palabra aparece otra vez habrá que volver a decirle cómo se divide, y tiene la ventaja de que funciona con palabras que tienen acento. También se puede usar \hyphenation{deci-sión,e-xa-men, ...otras divisiones...} al inicio del documento para que LaTeX divida las palabras tal y como se especifica en la lista. 2.6.1 Si hay conflictos con el paquete babel... A veces el paquete babel tiene conflictos con algún otro paquete que queremos usar. Por eso tenemos que tener en cuenta un par de opciones más. Si babel tuviera conflictos con Si el documento es de tipo article, podemos poner en el preámbulo otros paquetes... 13 \renewcommand{\contentsname}{Contenido} \renewcommand{\partname}{Parte} \renewcommand{\appendixname}{Apéndice} \renewcommand{\figurename}{Figura} \renewcommand{\tablename}{Tabla} \renewcommand{\abstractname}{Resumen} \renewcommand{\refname}{Bibliografía} ’book’ Si el documento es book se puede agregar en el preámbulo \renewcommand{\contentsname}{Contenido} \renewcommand{\partname}{Parte} \renewcommand{\appendixname}{Apéndice} \renewcommand{\figurename}{Figura} \renewcommand{\tablename}{Tabla} \renewcommand{\chaptername}{Capítulo} % para ’book’ \renewcommand{\bibname}{Bibliografía} % para ’book’ Una tercera opción Una tercera opción es hacer este cambio permanente: Se puede editar los archivos article.cls, report.cls y/o book.cls. En Ubuntu esto archivos están en /usr/share/texmf-texlive/tex/ latex/base (debe tener permisos de escritura para modificarlos). En la distribución MiKTEX , están en C:/Archivosdeprograma/MiKTeX2.7/tex/latex/base. En ambos casos, se busca y se abre el archivo de texto article.cls (o report.cls o book.cls y se buscan las líneas \newcommand\contentsname{Contents} \newcommand\listfigurename{List of Figures} ... y se cambian por \newcommand\contentsname{Contenido} \newcommand\listfigurename{Lista de Figuras} ... Luego, simplemente se guarda el archivo. 2.6.2 Plantilla para este capítulo. A continuación se muestra una plantilla general para este capítulo, Descargar archivo .tex \documentclass{article} % Márgenes---------------------------------------------------------\textheight = 20cm \textwidth = 18cm % Ancho \topmargin = -2cm \oddsidemargin = -1cm \parindent = 0mm % Sin sangría %Paquetes adicionales----------------------------------------------- 14 ACCIONES EN UNA SESIÓN CON LATEX O PDFLATEX %Otra opción para márgenes,etc., es el paquete geometry. %\usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry} \usepackage{latexsym,amsmath,amssymb,amsfonts} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{graphicx} \usepackage[spanish]{babel} % Idioma español \renewcommand{\baselinestretch}{1.1} % espaciado 1.1 \pagestyle{myheadings} \markright{...... texto .......} %------------------------------------------------------------------\begin{document} \section{Problema abierto} La dificultad en la investigación de la convergencia de la serie $$\sum_{n=1}^\infty\frac{1}{n^3\sin^2n}$$ se debe a la falta de conocimiento sobre el comportamiento de $|n\sin n|$ conforme $n \rightarrow \infty$, y esto esta relacionado con la ’medida de irracionalidad’ de $\pi$ \end{document} Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 3 ESCRITURA DE TEXTO NORMAL En un archivo de LATEX se combina el texto normal con el texto matemático, en este capítulo se iniciará trabajando con el texto normal (tipos de letra, párrafos, enumeración, secciones, etc.) y en el siguiente capítulo se mostrará el texto matemático. 3.1 3.1.1 Caracteres reservados Tipos y tamaños de fuentes. Caracteres especiales. Algunos caracteres están reservados para que cumplan alguna función, por eso no se pueden obtener digitándolos (tecleándolos) directamente como cualquier letra. El hacerlo puede producir algún error de compilación, o puede pasar que el carácter sea ignorado. En las siguientes dos tablas se especifica el uso de algunos caracteres y el comando que se debe digitar (teclear) para imprimirlos. Caracter \ { } $ & # _, ^ ~ % Reservado para: carácter inicial de comando abre y cierra bloque de código abre y cierra el modo matemático tabulador (en tablas y matrices) señala parámetro en las macros para subíndices y exponentes para evitar cortes de renglón para comentarios Caracter \ {, } $ & _, ˆ # ˜ % Se imprime con: \tt\char‘\\ \{, \} \$ \& \_ , \^{} \# \~{} \% Por ejemplo, para obtener llaves debemos usar los comandos \{ y \}. Si escribimos $A=\{a,b,c\}$ obtenemos: A = { a, b, c}. El comando verb verb El comando verb permite imprimir los caracteres tal y como aparecen en pantalla. Por ejemplo, si se digita \verb@{$ x^2+1$}@ se imprimirá { $ x^2+1 $ }. El símbolo ‘@’ se usa como delimitador de lo que se quiere imprimir. Se pueden usar otros delimitadores no presentes en el texto a imprimir. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 15 16 ESCRITURA DE TEXTO NORMAL 3.1.2 Algunos tipos de fuentes (fonts). Para cambiar el tipo de letra se pone {\tipo pone {\bf texto} Comando {\rm Roman } {\em Enfático} {\bf Negrita } {\it Itálica } texto}. Por ejemplo, para escribir en negrita se Comando {\sl Slanted } {\sf Sans Serif } {\sc Small Caps } {\tt Typewriter } \underline{Subrayado} produce Roman Enfático Negrita Itálica produce Slanted Sans Serif Small Caps Typewriter Subrayado Observe el uso de las llaves para delimitar el alcance del comando, es decir, el comando no tiene efecto más allá de lo que está entre llaves. Combinaciones Los comandos de la tabla anterior en realidad quedaron en desuso con la nueva versión LATEX2e (1994), pero estaban tan arraigados que se decidió mantenerlos aún con sus limitaciones. Por ejemplo, ‘{\it\bf Negrita en itálica}’ no produce negrita en itálica, produce: ‘Negrita en itálica’. En el nuevo LATEX2e se usa \textit{...}, \textbf{...}, \textt{...} etc. Ahora podemos escribir ‘\textit{\textbf{Negrita en itálica}}’ que produce Negrita en itálica. 3.1.3 Tamaños de letras. Una manera de especificar el tamaño de la fuente es la siguiente, Comando {\tiny Tiny} {\scriptsize Script} {\footnotesize Foot} {\small Small} {\normalsize Normal} {\large large} {\Large Large} {\huge huge} {\Huge Huge} produce Tiny Script Foot Small Normal large Large huge Huge Se pueden hacer combinaciones de tipos de letras con diferentes tamaños. Ejemplo 3.1 . {\large \bf Nota:} produce: Nota: . {\large \bf \tt Nota:} produce: Nota: (no hay efecto!) . {\Large\textit{\textbf{Nota}}} produce: Nota LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 17 3.2 Párrafos y efectos especiales. En LATEX se puede escribir de manera ordenada o desordenada, el programa acomoda el texto e interpreta los comandos que que se digitaron. Pero, por tratarse de un código, mejor es identar correctamente el texto. Para indicarle a LATEX que un párrafo ha terminado hay que dejar un renglón en blanco. Si entre dos palabras se deja más de dos espacios en blanco solo se imprimirá uno. También se tiene que dejar doble paso de línea (doble ‘enter’) para separar párrafos o usar ‘\\’ para cambiar de renglón. Si usamos ‘\\\\’ avanzamos dos renglones. Ejemplo 3.2 Cambio de renglón: El texto: {\bf introducción.} \\ se parte de un conjunto $\omega$ de $n$ patrones, objetos o ’individuos’, descritos por un vector de $p$ atributos.\\\\ %doble renglón produce: Introducción. Se parte de un conjunto Ω de n patrones, objetos o ‘individuos’, descritos por un vector de p atributos. Nota:.... {\bf Nota:}.... 3.2.1 Centrar Para centrar un texto se pone éste en el entorno \begin{center} ... \end{center} Ejemplo 3.3 (Centrado). El texto: \begin{center} Manual de\\ \LaTeX \end{center} 3.2.2 produce: Manual de LATEX Espacio horizontal y vertical Para dejar espacio horizontal se usa el comando \hspace{Xcm}. El efecto es abrir espacio o correr horizontalmente texto, tablas o gráficos. Xcm es el corrimiento a la derecha o a la izquierda en centímetros, según sea X positivo o negativo. También se puede usar, por supuesto, Xmm, Xin, etc. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 18 ESCRITURA DE TEXTO NORMAL Ejemplo 3.4 . . A la Izquierda! $\subset \hspace{-3.5mm} / \hspace{-1.5mm} / $ 30 produce: ⊂ // 30 \hspace{-5.5cm}A la Izquierda! produce: (ver en el márgen!) Para abrir espacio verticalmente se usa el comando \vspace{Xcm} que funciona de manera análoga a \hspace. En el ejemplo que sigue se debe dejar un renglón en blanco para lograr el efecto. Ejemplo 3.5 El texto: %Vamos a subir la palabra ’VERDE’ 1.2cm %y a desplazarla 2.4cm a la derecha Línea superior - - - - - - - - - \\ \vspace{-1.2cm} produce: VERDE Línea superior - - - - - - - - - \hspace{2.4cm} VERDE 3.2.3 Cajas Para encerrar palabras o un texto en una caja se usan los comandos \fbox{ texto } o \framebox{...}. Ejemplo 3.6 (Cajas) El texto: produce: \begin{center} Manual de\\ \fbox{\LaTeX} \end{center} 3.2.4 Manual de LATEX Texto en columnas: multicol, minipage y parbox. En LATEX existen varias maneras de escribir doble columna, ahora veremos algunas de ellas. El comando multicol. La forma más sencilla es utilizar el paquete multicol, para ello se pone en el preámbulo, \usepackage{multicol} Antes del texto que se quiere escribir a doble columna se escribe \begin{multicols}{#} en donde \# representa el número de columnas que se quieren utilizar, cuando se finaliza se escribe \end{multicols}. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 19 Ejemplo 3.7 (Dos columnas) El texto: \begin{multicols}{2} Hace que el texto que está entre los delimitadores salga a doble columna, \LaTeX{} se encarga de manera automática de distribuir el texto entre las columnas de la mejor manera, además ... \end{multicols} produce: Hace que el texto que está entre los delimitadores salga a doble columna, LATEX se encarga de manera automática de distribuir el texto entre las columnas de la mejor manera, además de acomodar el texto cuando hay un cambio de línea. El campo de separación que se deja entre las columnas se define en el preámbulo con la instrucción \setlength{\columnsep}{7mm} la cual dejaría un espacio de 7 milímetros entre ellas. El ambiente minipage Otra manera de insertar texto a doble columna (o más columnas), es utilizar el entorno minipage (también se puede utilizar \twocolumn), la sintaxis es como sigue, \begin{minipage}[b]{Xcm} % primera columna \end{minipage} \hfill \begin{minipage}[b]{Ycm} % segunda columna \end{minipage} Donde ‘Xcm’ y ‘Ycm’ especifica el ancho de cada columna. En vez de ‘Xcm’ y ‘Ycm’ se puede usar un porcentaje del ancho de página: \textwidth. Por ejemplo, para usar la mitad del ancho de página ponemos: \begin{minipage}[b]{0.5\textwidth} La opción ‘b’ (botton) se usa para alinear las dos columnas en el ‘fondo’ del ambiente minipage. También se puede usar la opción ‘t’ (top) o ‘c’ (center). La elección depende del contenido de cada ambiente ‘minipage’. En el ejemplo 3.8 se incluye texto y una figura. El comando parbox Un comando similar a minipage es parbox. Se usa así: \parbox{xcm}{texto}\parbox{ycm}{texto} \parbox también se puede usar en combinación con \framebox para hacer un recuadro: \framebox{\parbox{xcm}{texto}}. Este comando no esta pensado para grandes bloques de texto. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 20 ESCRITURA DE TEXTO NORMAL Ejemplo 3.8 (Figuras en un ambiente minipage). El texto: \begin{figure}[h!] \begin{minipage}[b]{0.3\textwidth} % 30% de la página La imagen de la derecha muestra un icosaedro junto con un dodecaedro (figura central), los satélites son un icosaedro, un dodecaedro y un tetraedro. Las figuras fueron generadas con {\sc Mathematica} y maquilladas con {\it Inkscape}. \end{minipage} \hfill \begin{minipage}[b]{0.6\textwidth} % 60% de la pág \begin{center}% Insertar figuras: ver capítulo 5 \includegraphics{images/ML_fig3.pdf} \caption{ Poliedros} \end{center} \end{minipage} \end{figure} produce: La imagen de la derecha muestra un icosaedro junto con un dodecaedro (figura central), los satélites son un icosaedro, un dodecaedro y un tetraedro. Las figuras fueron generadas con Mathematica y maquilladas con Inkscape. Figura 3.1 Poliedros Ejemplo 3.9 (Incluir una figura usando parbox). El texto: \parbox{3cm}{ \includegraphics{images/ML_fig4.pdf} } \parbox{6cm}{ En {\sc Mathematica}, podemos eliminar una o varias caras de un dodecaedro, seleccionar el color y el grosor de las aristas y poner color a las caras. Para esto debemos utilizar los comandos ... } %Sale del 2do parbox! produce: En Mathematica, podemos eliminar una o varias caras de un dodecahedro, seleccionar el color y el grosor de las aristas y poner color a las caras. Para esto debemos utilizar los comandos ... 21 Nota 1: Cuando se pone un gráfico en una columna debe tenerse el cuidado de ajustar el ancho del gráfico al ancho de la columna. Nota 2: Cuando se utilice \parbox se debe tener el cuidado de terminar con \\} para cambiar de renglón. 3.2.5 Líneas y otros efectos de texto \hfill foo : Se usa para alinear foo a la derecha. Ejemplo 3.10 El texto: Instituto Tecnológico de Costa Rica \hfill Tiempo: 2:45 hrs produce: Instituto Tecnológico de Costa Rica Tiempo: 2:45 hrs \hrulefill y \dotfill. Veamos ejemplos de su uso Ejemplo 3.11 El texto: Instituto Tecnológico de Costa Rica \hrulefill Tiempo: 2:45 hrs produce: Instituto Tecnológico de Costa Rica Tiempo: 2:45 hrs Ejemplo 3.12 El texto: Instituto Tecnológico de Costa Rica \dotfill Tiempo: 2:45 hrs produce: Instituto Tecnológico de Costa Rica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tiempo: 2:45 hrs \rule[xcm]{ycm}{zcm} . Este comando se usa para dibujar una línea horizontal o vertical de ycm y grosor zcm. La distancia de la línea a la base del texto se controla con el primer parámetro [xcm]. 22 ESCRITURA DE TEXTO NORMAL Ejemplo 3.13 El texto: Instituto Tecnológico de Costa Rica \hfill Tiempo: 2:45 hrs\\ \rule[0.5cm]{15cm}{0.01cm} produce: Instituto Tecnológico de Costa Rica 3.2.6 Tiempo: 2:45 hrs Notas al pie de página. Las notas al pie de página se producen con \footnote{ ...texto...} El comando se escribe exactamente donde se quiere que quede la etiqueta que hará referencia al pie de página. La nota en el pie de esta página se generó con el código2 . .... esta página se generó con el código\footnote{Ejemplo de {\tt footnote}}. 3.2.7 Texto como en la pantalla Para reproducir exactamente lo que está en la pantalla (incluyendo espacios) se pone el texto en el entorno \begin{verbatim}...\end{verbatim}. Ejemplo 3.14 (Usando verbatim). El texto: \begin{verbatim} Sub Trapecio(a,b,n,delta) Dim N As Integer Dim F As New clsMathParser suma = 0 h = (b - a) / N For i = 1 To N - 1 xi = a + i * h suma = suma + F.Eval1(xi) Next i End Sub \end{verbatim} produce: Sub Trapecio(a,b,n,delta) Dim N As Integer Dim F As New clsMathParser suma = 0 h = (b - a) / N For i = 1 To N - 1 xi = a + i * h suma = suma + F.Eval1(xi) Next i End Sub Nota 1: verbatim es un comando frágil. En ciertos ambientes no funciona. Nota 2: En la sección (9.8) se muestran varias opciones para obtener código de programación en color de acuerdo al lenguaje de programación. 2 Ejemplo de footnote 23 3.3 Color y cajas de color Paquete xcolor Para usar colores se podría llamar al paquete xcolor: \usepackage{xcolor}. Aunque se pueden usar lo colores predefinidos (black, red, blue,...), también podemos personalizar los colores. Para definir un color personalizado podemos usar alguna aplicación que tenga un selector de colores. Si, por ejemplo, el selector de colores codifica en el formato RGB, el color se puede definir así: \definecolor{micolor1}{rgb}{x, y, z} , donde x, y, z ∈ [0, 1]. La definición de color se pone en el preámbulo. El formato RGB es adecuado para generar archivos PDF para ver en pantalla. Para imprimir se usa el formato CMYK. Ejemplo 3.15 Usando un selector de colores (en este caso, usamos Inkscape), podemos definir un anaranjado personalizado. El anaranjado personalizado tiene parámetros 234 112 2, pero LATEX recibe valores entre 0 y 255, así que los dividimos por 255. Ponemos en el preámbulo \definecolor{miorange}{rgb}{0.91, 0.43, 1.0} Color en cajas Para poner texto en una caja usando un color de fondo determinado, se usa \fcolorbox{color fondo}{color borde}{ texto} Ejemplo 3.16 El código: \fcolorbox{orange}{orange}{ \color{white} LaTeX} produce: LaTeX Para poner párrafos dentro de una caja se puede usar “minipage” para que el texto se acomode de manera adecuada dentro de la caja. También podemos usar “\fboxsep” para controlar el espacio entre el contenido de la caja y el rectángulo. El valor por defecto es 0pt. 24 ESCRITURA DE TEXTO NORMAL Ejemplo 3.17 El texto: \begin{center} { \fboxsep 12pt \fcolorbox {orange}{white}{ \begin{minipage}[t]{10cm} $0^0$ es una expresión indefinida. Si $a>0$, $a^0=1$ pero $0^a=0.$ Sin embargo, convenir en que $0^0=1$ es adecuado para que algunas fórmulas se puedan expresar de manera sencilla, sin recurrir a casos especiales, por ejemplo $$e^x=\sum_{n=0}^{\infty}\frac{x^n}{n!}$$ $$(x+a)^n=\sum_{k=0}^n \binom{n}{k}x^k a^{n-k}$$ \end{minipage} } } \end{center} produce: 00 es una expresión indefinida. Si a > 0, a0 = 1 pero 0a = 0. Sin embargo, convenir en que 00 = 1 es adecuado para que algunas fórmulas se puedan expresar de manera sencilla, sin recurrir a casos especiales, por ejemplo ∞ xn n! n =0 n n k n−k ( x + a)n = ∑ x a k k =0 ex = ∑ Paquete pstricks El paquete pstricks declara varios comandos de color, para utilizarlos simplemente se carga el paquete en el preámbulo con el comando \usepackage{pstricks} y ahora, por ejemplo, el comando {\blue AZUL} produce AZUL. Los colores predefinidos en este paquete son: black darkgray gray lightgray 3.3.1 white red green blue cyan magenta yellow Notas en el margen Podemos poner figuras o texto en el margen con ’hspace*’. LATEX quita el espacio horizontal (en blanco) que hay al final de una línea. Si queremos que LATEX no elimine este espacio, se incluye el argumento opcional *. Texto −→ \hspace*{-2.8cm} {\cyan \small Texto} $\longrightarrow$ 25 Paquete marginnote Hay varios paquetes para poner notas en el margen, por ejemplo el paquete "marginnote". Una vez que hemos puesto \usepackage{marginnote} en el preámbulo, podemos poner una nota en el margen como se muestra en el margen; el código que produce esta nota es Regla de la cadena: zt = ∇z · ~v podemos poner una nota en el margen como se muestra en el margen derecho; el código que produce esta nota es \marginnote{\cyan Regla de la cadena: $z_t=\nabla z \cdot \vec{v}$} Paquete todonotes También podemos usar el paquete "todonotes" (es el que usamos en este libro), ver la sección Este es ’todonotes’ 9.3. 3.4 Enumerado automático. Uno de los comandos más usados para hacer listas numeradas es enumerate. Cada nuevo ítem se indica con \item, con esto se obtiene una enumeración automática. También uno puede controlar la enumeración con la etiqueta deseada. enumerate admite anidamiento hasta el cuarto nivel. Ejemplo 3.18 El texto: Descargar archivo .tex \documentclass{article} %... paquetes y comandos...ver código de este ejemplo. {\sc Instituto Tecnológico de Costa Rica} \hfill Tiempo 2:30 horas\\ {\sc Escuela de Matemática} \hfill Puntaje: 21 puntos\\ {\sc MA-0441. Primer Parcial}\\\\ {\bf Instrucciones.} Este es un examen de desarrollo, por lo tanto deben aparecer todos los pasos que lo llevan a su respuesta. Trabaje de manera clara y ordenada.\\ \begin{enumerate} \item {\bf [3 Puntos]} Sea $A=\{1,b,c,d,7\}$ y $B=\{1,2,c,d\}.$ Calcule ${\cal P}(A\,\Delta\,B).$ \item {\bf [5 Puntos]} Muestre que $A-(B\,\cap\,C)=(A-B)\,\cup\,(A - C)$ \item {\bf [5 Puntos]} Mostrar que $[\;A\,\cup\,C\;\subseteq\;B\,\cup\,C \;\;\wedge\;\; A\,\cap\,C=\emptyset\;]\; \Longrightarrow\;A\,\subseteq\,B$ \item {\bf [2 Puntos]} Sea $\Re=(\R^*,\R^*,R)$ definida por $x\,\Re\, y\;\Longleftrightarrow\; xy\;>\; 0.$ \begin{enumerate} \item {\bf [3 Puntos]} Muestre que $\Re$ es una relaci\’on de equivalencia. \item {\bf [2 Puntos]} Determine las clases de equivalencia $\overline{1}$ y $\overline{-1}.$ \item {\bf [1 Punto]} Determine $\R^*/\Re$ (el conjunto cociente). \end{enumerate} \end{enumerate} LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 26 ESCRITURA DE TEXTO NORMAL Ejemplo 3.18 (continuación). produce: Instituto Tecnológico de Costa Rica Escuela de Matemática MA-0441. Primer Parcial Tiempo 2:30 horas Puntaje: 21 puntos Instrucciones: Este es un examen de desarrollo, por lo tanto deben aparecer todos los pasos que lo llevan a su respuesta. Trabaje de manera clara y ordenada. 1. [3 Puntos] Sea A = {1, b, c, d, 7} y B = {1, 2, c, d}. Calcule P ( A ∆ B). 2. [5 Puntos] Muestre que A − ( B ∩ C ) = ( A − B) ∪ ( A − C ) 3. [5 Puntos] Mostrar que [ A ∪ C ⊆ B ∪ C ∧ A ∩ C = ∅ ] =⇒ A ⊆ B 4. [2 Puntos] Sea < = (R∗ , R∗ , R) definida por x < y ⇐⇒ xy > 0. (a) [3 Puntos] Muestre que < es una relación de equivalencia. (b) [2 Puntos] Determine las clases de equivalencia 1 y −1. (c) [1 Punto] Determine R∗ /< (el conjunto cociente). Entornos itemize y description El entorno itemize usa puntos u otrso símbolos para los items mientras que description permite descriptores con texto.Todo esto se puede hacer con enumerate. En los ejemplos que siguen se muestran varias posibilidades. Ejemplo 3.19 (Lista con description) \begin{description} \item[Media muestral:] $\frac{1}{n-1}\sum_{i=1}^n (X_i-\bar{X_n})^2$ \item[Varianza muestral:] $\frac{1}{n-1} \sum_{i=1}^n (X_i-\bar{X_n})^2$ \item[Momentos muestrales:] $\frac{1}{n} \sum_{i=1}^n X_i^k$ \end{description} NOTA: En el capítulo que sigue veremos cómo variar el tamaño de los símbolos produce: Media muestral: 1 n −1 Varianza muestral: ∑in=1 ( Xi − X¯n )2 1 n −1 Momentos muestrales: ∑in=1 ( Xi − X¯n )2 1 n ∑in=1 Xik 27 Ejemplo 3.20 (Lista con enumerate e itemize) Ejemplo con 4 niveles (máximo permitido). El texto: \begin{enumerate} \item[\fbox{1.}] {\bf Procedimiento}{\em Aprendizaje} \item[\fbox{2.}] {\bf comienzo} %Descriptor personalizado \begin{enumerate} \item Paso a. \item Paso b. \begin{enumerate} \item Paso c.1 \item Paso c.2 \begin{enumerate} \item Paso c.2.1 \item Paso c.2.2 \end{enumerate} \item Paso c.3 \end{enumerate} \item Paso d. \end{enumerate} \item[\fbox{3.}] {\bf fin} \end{enumerate} % ITEMIZE \begin{itemize} \item {\red Sugerencia 1} \item {\red Sugerencia 2} \end{itemize} produce: 1. Procedimiento Aprendizaje 2. comienzo (a) Paso a. (b) Paso b. i. Paso c.1 ii. Paso c.2 A. Paso c.2.1 B. Paso c.2.2 iii. Paso c.3 (c) Paso d. 3. fin • Sugerencia 1 • Sugerencia 2 28 ESCRITURA DE TEXTO NORMAL Los símbolos que enumerate pone por defecto para enumerar una lista se pueden cambiar redefiniendo los comandos labelenumi, labelenumii, labelenumiii y labelenumiv. Ejemplo 3.21 Si escribimos: \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 (en Romanos) 1) Segundo nivel (en numeración arábiga) a) Tercer nivel (numeración alfabética) • Cuarto nivel (usamos bullet) Nota: Si se va a utilizar el mismo sistema de numeración durante todo el documento, estas instrucciones se pueden poner en el preámbulo. 3.4.1 Enumeración usando el paquete TikZ. Podemos crear ‘bolas’ 3D con números para usar en un entorno enumerate. Las bolas las creamos con el paquete tikz y debemos definir un comando para llamar a estas bolas. El comando es \usepackage{tikz} %Define un comando para bolas 3D numeradas y de color azul \newcommand*{\itembolasazules}[1]{% l \footnotesize\protect\tikz[baseline=-3pt]% \protect\node[scale=.5, circle, shade, ball color=blue]{\color{white}\Large\bf#1};} 29 Ejemplo 3.22 (Listas con el paquete tikz). El texto: Descargar archivo .tex \documentclass{article} \usepackage[total={12cm,21cm},top=2cm, left=2cm]{geometry} \parindent=0mm \usepackage{latexsym,amsmath,amssymb,amsfonts} \usepackage[latin1]{inputenc}% \usepackage[spanish]{babel} %----- Paquete TiKz -----------------------\usepackage{tikz} \usepackage{enumitem} \newcommand*{\itembolasazules}[1]{% bolas 3D \footnotesize\protect\tikz[baseline=-3pt]% \protect\node[scale=.5, circle, shade, ball color=blue]{\color{white}\Large\bf#1};} %--------------------------------------------\begin{document} Listas enumeradas con bolas3D\\\\ produce: 1 Paso 1 2 Paso 2 3 Paso 3 \begin{enumerate}[label=\itembolasazules{\arabic*}] \item Paso 1 \item Paso 2 \item Paso 3 \end{enumerate} \end{document} 3.5 Título, contenido, secciones y bibliografía El código que sigue es el de una plantilla básica para un documento clase book. Para usar otras facetas, se debe invocar los paquetes respectivos. Si tiene una distribución completa de TEX no tendrá problemas. Sino, debera descargar los paquetes (archivos .sty) y pegarlos en el subdirectorio \tex\latex\base o también, bastaría con que estén presentes en la carpeta donde está su archivo .tex Descargar archivo .tex \documentclass{book} % Márgenes-----------------------------------------------------------\usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry} \parindent=0mm % Otros paquetes ----------------------------------------------------\usepackage{mathpazo} %fuente palatino \usepackage{graphicx} \usepackage{xcolor} \usepackage{pstricks} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} % LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 30 ESCRITURA DE TEXTO NORMAL \usepackage[spanish]{babel} % Idioma español \usepackage{latexsym,amsmath,amssymb,amsfonts,cancel} % Referencias - ligas \usepackage[hyphens]{url} \usepackage[breaklinks,colorlinks=true,linkcolor=red, citecolor=red, urlcolor=blue]{hyperref} %Comandos -----------------------------------------------------------\newcommand{\sen}{\mathop{\rm sen}\nolimits} %seno \newcommand{\arcsen}{\mathop{\rm arcsen}\nolimits} \newcommand{\arcsec}{\mathop{\rm arcsec}\nolimits} \setcounter{chapter}{0} \newtheorem{teo}{Teorema}[chapter] %entorno para teoremas \newtheorem{ejemplo}{{\it Ejemplo}}[chapter] %entorno para ejemplos \newtheorem{defi}{Definici\’on}[chapter] %entorno para definiciones %---------------------------------------------------------------------\begin{document} \title{\Huge Manual de \LaTeX\\ {\small \gray {\fontfamily{phv}\selectfont % gris y Helvetica Instituto Tecnol\’ogico de Costa Rica\\ Escuela de Matem\’atica\\ Ense\~nanza de la Matem\’atica\\ } }} \author{Preparado por Prof. Walter Mora F. y Alexander Borb\’on A.} \date{2013} \maketitle %despliega el t\’itulo \tableofcontents \chapter{\LaTeX} \section{?‘Qué es \LaTeX?} ... \subsection{Preámbulo} ... \subsubsection{Acerca del Título} ... \section{Deficiones, teoremas y ejemplos} %Definición \begin{defi} $f$ es de clase $C^1[a,b]$ si .... \end{defi} ... %Teorema \begin{teo} {\rm Si $f \in C^1[a,b]$ entonces....} %fuente roman normal \end{teo} ... %Ejemplo \begin{ejemplo} Si $f(x)=\frac{1}{x-2}$ entonces $f \in C^1[-1,1]$. \end{ejemplo} ... %---------------------------------------------------------------------\addcontentsline{toc}{chapter}{Bibliografía} % agregar al Indice \begin{thebibliography}{99} \bibitem{Hahn} Hahn, J.‘‘\LaTeX $\,$ for eveyone’’. Prentice Hall, New Jersey, 1993. ... 31 \end{thebibliography} \end{document} Título Como se observa, el título se define con el comando \title, además se pueden definir el o los autores con el comando \author y la fecha se puede definir con el comando \date, para que no salga fecha se deja este comando en blanco. Por último para que aparezca el título en el documento se debe poner el comando \maketitle. Tabla de contenidos LATEX realiza automáticamente la tabla de contenidos de un documento, tan solo se debe poner el comando \tableofcontents en donde se quiera que aparezca. Capítulos y Secciones Para crear capítulos en un documento se utiliza el comando \chapter, las secciones del capítulo se definen con el comando \section y estas secciones se pueden dividir en subsecciones y subsubsecciones con los comandos\subsection y \subsubsection Nota: Las secciones dependen del tipo de documento que se esté realizando; por ejemplo, un artículo no posee capítulos, sólo secciones y subsecciones pero sí tiene un resumen (se usa el comando \abstract), un libro no tiene resumen pero sí tiene prefacio, éste se pone con el comando \begin{preface}...\end{preface} . La Bibliografía En la plantilla que sigue se muestra de nuevo el ambiente para una bibliografía sencilla, es un ambiente parecido a enumerate. \addcontentsline{toc}{chapter}{Bibliografía} \begin{thebibliography}{99} \bibitem{Hahn} Hahn, J. {\it \LaTeX\, for eveyone}. Prentice Hall, New Jersey, 1993. \end{thebibliography} Referencias a la bibliografía: cite En el texto uno puede hacer referencia a algún ítem de la bibliografía. Para hacer esto, le ponemos una etiqueta al ítem: \bibitem{Hahn} hace que Hahn sea la referencia a este libro. \begin{thebibliography}{99} ... \bibitem{Hahn} Hahn, J.‘‘\LaTeX \, for eveyone’’. Prentice Hall, New Jersey, 1993. \end{thebibliography} Entonces podemos hacer referencia a este libro en el texto con \cite[nota]{clave} o solamente con \cite{clave}. Ejemplo 3.23 El texto "En \cite[pág. 80]{Hahn} se pueden ver los aspectos..." produce: "En [10, pág. 80] se pueden ver los aspectos relativos a ...”. 32 ESCRITURA DE TEXTO NORMAL El uso del ambiente thebibliography se profundiza en la sección 7 donde también se muestra el uso de BibTEX para la creación de bibliografías en distintos formatos. Referencia a definiciones, teoremas, etc. Algo similar podemos hacer en los ejemplos, teoremas, definiciones, etc. Para estos usamos una etiqueta (label) para identificarlos. Por ejemplo, si ponemos \begin{teo}[Teorema del Valor Medio]\label{tvm} .... \end{teo} podemos hacer referencia a este teorema (presente en este texto) así: En el teorema\ref{tvm}.... Esto produce: En el teorema 6.1... Para resaltar más texto usamos \hyperref[referencia]{texto \ref*{referencia}}. Por ejemplo: En el teorema \hyperref[tvm]{teorema \ref*{tvm}} produce En el teorema 6.1 Lo mismo podemos hacer en los ambientes table, figure, eqnarray, equation, etc. Nota. El color de la liga se puede cambiar en las opciones del paquete hyperref, \usepackage[colorlinks=true, linkcolor=red, citecolor=red, urlcolor=blue]{hyperref} 3.5.1 Indice alfabético Para generar un índice alfabético se debe cargar el paquete makeidx, para esto se escribe en el preámbulo: \usepackage{makeidx} Una plantilla básica para crear un índice alfabético sería \documentclass{book} ... \usepackage{makeidx} \makeindex ... \begin{document} ... \index{Entrada para el Índice} ... \printindex \end{document} 33 La instrucción \makeindex se utiliza para inicializar el índice. Cada vez que se quiera agregar una palabra al índice alfabético se utiliza el comando index (se coloca cerca de la palabra). En el siguiente ejemplo se muestra el número de página en la que se puso el texto correspondiente. Ejemplo 3.24 (Indice alfabético). Si se escribe: Página Página Página Página se produce: 1: \index{Manzana} 6: \index{Naranja} 10: \index{Banano} 12: \index{Naranja} Observe cómo LATEX acomoda automáticamente de manera alfabética las palabras e indica en las páginas en las que aparecen. Dentro del documento se escribe el comando \printindex donde se quiera que aparezca el índice alfabético. Compilar con índice alfabético Para compilar un documento que tenga un índice alfabético se debe compilar con PDFLaTeX makeindex - PDFLaTeX; es decir, primero compilar con PDFLaTeX , esto genera un archivo con todas las entradas del índice, luego opción makeindex que genera un nuevo archivo con el índice formateado correctamente y en orden alfabético y, por último nuevamente PDFLaTeX para que genere el documento con el índice correctamente. El comando \printindex al final del documento ordena la salida final. El comando\index tiene algunas opciones adicionales. Ejemplo 3.25 (Indice alfabético). Si se escribe: Página Página Página Página Página Página Página Página se produce: 1: \index{Manzana|textbf} 6: \index{Naranja|(} 8: \index{Manzana!De agua} 10: \index{Banano|see{Manzana}} 12: \index{Naranja|)} 13: \index{Manzana!Nacional} 14: \index{Beta@$\beta$} 14: \index{{Manzana!Americana} De estos casos se puede observar que si se agrega el comando \textbf se logra que el número de la página en el índice salga en negrita, también se puede lograr que salga en itálica con el comando \textit. Si se coloca |( se inicia un rango de páginas que termina cuando se ponga la misma palabra terminada por |), como ’la Naranja’ del ejemplo. 34 ESCRITURA DE TEXTO NORMAL Para una palabra se puede poner un segundo nivel de palabras clave con el signo de admiración como el que se hizo con las manzanas del ejemplo. Se puede hacer una referencia cruzada desde una palabra a cualquier otra agregando el comando see{Llave}, también existe el comando |seealso{Llave} (ver también). La palabra “see” y “see also” saldrán en español si se ha cargado el paquete babel (ver sección 2.6) También se puede utilizar el ’’ para ordenar alfabéticamente un signo o alguna palabra diferente, por ejemplo, anteriormente se utilizó \index{Beta@$\beta$} que logra que el símbolo matemático β aparezca en el índice alfabético pero que se ordene alfabéticamente bajo el nombre de Beta. Por último, es muy común que se quiera hacer que en el índice alfabético aparezca una letra antes de las palabras (tal y como se hizo el índice alfabético de este libro), para lograrlo se debe hacer un archivo aparte (que en nuestro caso lo llamamos myindex.ist), este archivo se puede hacer con el Bloc de Notas de Windows o el Editor de Textos en Linux y se debe poner en la misma carpeta donde está el archivo .tex que estamos editando. El archivo myindex.ist debe tener las siguientes líneas: %MakeIndex style file myindex.ist heading_prefix "{\\bfseries " heading_suffix "\\hfil}\\nopagebreak\n" headings_flag 1 %Insert in front of letter %Append after letter %Turn on headings (uppercase) Ahora se debe ir a las Opciones del editor que se esté utilizando y en el comando para compilar makeindex se debe agregar la opción -s myindex.ist . Por ejemplo, en el caso de TeXMaker quedaría como se observa en la figura que sigue, Utilizando el último ejemplo ahora se obtiene 35 3.6 Modulación Para evitar la incomodidad de mantener archivos muy grandes, es conveniente modular el texto separándolo en varios archivos sin preámbulo ni \begin{document}... \end{document}. Por ejemplo, este texto tenía la siguiente plantilla \documentclass{report} \textheight=20cm \textwidth=18cm \topmargin=-2cm ... \begin{document} \input cap1.tex \pagebreak \input cap2.tex \pagebreak ... \end{document} Cada archivo *.tex fue editado con el preámbulo hasta que estuviera afinado. Luego se recortó el archivo. 3.7 (*)Más cosas sobre las fuentes. Paquete textcomp Hay algunos caracteres especiales que requieren el paquete textcomp. Para usar este paquete agregamos en el preámbulo, \usepackage{textcomp} Por ejemplo, el acento: ` se obtiene con el comando \textasciigrave, el apóstrofo: ' se obtiene con el comando \textquotesingle y el símbolo de copyright: © se obtiene con \textcopyright. La lista de símbolos se puede obtener en http://home.online.no/~pjacklam/latex/textcomp.pdf Tamaño global de fuentes. La fuente default que usa LATEX es de tamaño 10pt (72pt = 1 pulgada). Este tamaño lo podemos LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 36 ESCRITURA DE TEXTO NORMAL cambiar a 11pt o 12pt agregando esta opción, por ejemplo \documentclass[12pt]{article}. Si por alguna razón queremos variar este tamaño, por ejemplo para adaptar un documento para leer en un lector Kindle, para un libro de cuentos, poesía, tesis, etc., podemos usar la clase memoir, así tendremos soporte para fuentes de tamaño 9pt, 10pt, 11pt, 12pt, 14pt, 17pt, 20pt, 25pt, 30pt, 36pt, 48pt y 60pt, además de muchas cosas adicionales de estilo. Esta clase se usan de la manera usual, \documentclass[letterpaper,12pt,extrafontsizes]{memoir} \usepackage{latexsym,amsmath,amssymb,amsfonts} \begin{document} Después de haber definido $e^x$ para $x$ real cualquiera, es preferible definir $a^x$ por la fórmula $a^x=e^{x\log a}$... \end{document} 8pt 10pt 14pt Después de haber definido e x para x Después de haber definido e x para x real cualquiera, es preferible definir a x por la fórmula a x = e x log a Después de haber definido e x para x real cualquiera, es preferible definir a x por la fórmula a x = e x log a real cualquiera, es preferible definir a x por la fórmula a x = e x log a Otros tamaños de fuente. El tamaño de la fuente se puede controlar usando el paquete anyfontsize. Debemos poner en el preámbulo. \usepackage{anyfontsize} Luego podemos usar el comando \fontsizex0 para establecer el tamaño de la fuente en tamaño x pt. Ejemplo 3.26 El código: \documentclass{article} \usepackage{fix-cm} % En algunos casos es necesario. \usepackage{anyfontsize} \begin{document} Este es {\fontsize{50}{1}\selectfont LaTeX} \end{document} Produce: Este es 3.7.1 LaTeX Las fuentes y sus atributos LATEX no usa las fuentes del sistema operativo, más bien usa las fuentes instaladas por default en la distribución TEX. Otras fuentes especiales se pueden agregar de mane-ra automática us- memoir 37 ando paquetes. Si una fuente está disponible, puede aplicar esta fuente a parte de un texto o de manera global. Una lista de fuentes disponibles en LATEX se puede encontrar en “The LaTeX Font Catalogue” en http://www.tug.dk/FontCatalogue/ Cualquier fuente en LATEX tiene cinco atributos:encoding, family, series, shape, size. Ya hemos usado estos atributos para la fuente estándar. En un texto normal uno usa varios tipos de fuentes por eso es conveniente conocer como se hace en LATEX estos cambios. \fontencoding{}: Es la manera de identificar los caracteres usando números. Por ejemplo, el caracter ~ lo podemos obtener directamente del teclado (pues estamos usando el paquete inputenc en la codificación latin1), pero lo podemos obtener también usando su codificación latin1: Este carácter se puede obtener con el comando \char126. El mismo código nos da otro carácter en el caso de que cambiemos a la codificación OML, por ejemplo. \fontfamily{}: Nombre de la colección de fuentes. Familias comunes son cmr cmss cmtt cmm cmsy cmex ptm phv pcr Computer Modern Computer Modern Computer Modern Computer Modern Computer Modern Computer Modern Adobe Times Adobe Helvetica Adobe Courier Roman (default) Sans Typewriter Math Italic Math Symbols Math Extensions \fontseries{}: “Peso” de la fuente. m b bx sb c Medium Bold Bold extended Semi-bold Condensed \fontshape{}: Forma de la fuente. n it sl sc Normal Italic Slanted (‘‘oblicua’’) Caps and small caps \fontsize{tamaño}{baselineskip}: Tamaño de la fuente y separación vertical entre líneas en un mismo párrafo (baselineskip). Usualmente usamos instrucciones tales como {\fontfamily{...}\selectfont{ texto}} {\fontencoding{...}\fontfamily{...}\selectfont{ texto }} {\fontencoding{...}\fontfamily{...} \fontseries{b}\selectfont{ texto }} 38 ESCRITURA DE TEXTO NORMAL Ejemplo 3.27 Para usar la fuente Calligra, debemos poner en el preámbulo \usepackage[T1]{fontenc} \usepackage{calligra} Luego podemos cambiar la fuente de una parte del texto. Por ejemplo, en la palabra ‘Había’ podemos cambiar la fuente y el tamaño para la ‘H’ solamente: {\fontfamily{calligra}\fontsize{30}{1} \selectfont{H}}\normalfont abía una vez ... Esta instrucción produce: H abía una vez ... Ejemplo 3.27 (continuación). Podemos aplicar el tipo de fuente a partes determinadas del documento y regresar después a la fuente normal. Esto se hace usando el comando \normalfont. Por ejemplo, Gauss publicó {\fontfamily{hv}\selectfont{\blue Disquisitiones Arithmeticae}} \normalfont tres años más tarde... produce: Gauss publicó Disquisitiones Arithmeticae tres años más tarde... Cambio global de fuente. Para hacer un cambio global solo debe declarar el paquete correspondiente en el preámbulo del documento. Por ejemplo \usepackage{pslatex} \usepackage{bookman} \usepackage{helvet} \usepackage{palatino} \usepackage{newcent} \usepackage{pxfonts} \usepackage{txfonts} Este documento usa el paquete mathpazo. \usepackage{concrete} \usepackage{cmbright} \usepackage{fourier} \usepackage{mathptmx} \usepackage{mathpazo} \usepackage{concrete,eulervm} \usepackage{pslatex,concrete} 39 Ejemplo 3.28 Fuentes concrete y mathptmx concrete mathptmx Información adicional se puede obtener en [2] y [16]. 3.7.2 XeLATEX Usando las fuentes del sistema con XeLATEX. LATEX no usa las fuentes del sistema. XeLATEX es una variante de TEX que puede usar las fuentes instaladas en el sistema operativo (si requiere un trabajo más profesional). Viene incluido en MikTEX (2.8 en adelante) y en TEXLive 2010 en adelante. Un documento XeLATEX lo editamos de la manera usual (la codificación debe ser UTF8) por ejemplo \documentclass{article} \usepackage[utf8]{inputenc} \usepackage{xltxtra} \setmainfont[Mapping=tex-text]{Lucida Bright} %fuente en el sistema \begin{document} Después de haber definido $e^x$ para $x$ real cualquiera, no hay ninguna dificultad para dar una definición de $a^x$ para cada $a>0$. Un método es definir $a^x$ como el número $y$ tal que $\log y =x$; claro que este método no sirve para $ a=1$ puesto que el logaritmo de base $1$ no está definido. Otro modo es definir $a^x$ por la fórmula: $$a^x=e^{x\log a}$$ \end{document} Para compilar se usa el comando xelatex (presente en Kile; en TeXMaker hay que configurarlo). Si no se tiene el comando en el editor, abrimos una terminal y ejecutamos (en la carpeta correcta): xelatex ArchivoTal.tex. Por ejemplo en Ubuntu sería, 40 ESCRITURA DE TEXTO NORMAL El resultado es un texto con fuente Lucida Bright (presente en mi sistema). Un manual de referencia se encuentra en http://tug.ctan.org/tex-archive/info/xetexref/ XeTeX-reference.pdf. El Paquete fancyvrb Hay cosas que no podemos hacer con el entorno verbatim pero que en algunos contextos son necesarios. Por ejemplo, usar verbatim para una nota al pide de página o usar símbolos matemáticos, color, etc.; dentro del ambiente verbatim. Estas cosas se pueden hacer con el paquete fancyvrb: Ponemos en el preámbulo \usepackage{fancyvrb} Con este paquete ahora ya podríamos usar verbatim en notas al pie de página. Se usa footnote de la manera usual pero, en este caso, precedido por \VerbatimFootnotes. Por ejemplo, El peor ejemplo de programación recursiva es la de la función factorial \VerbatimFootnotes \footnote{ Se refiere al código \begin{verbatim} int factorial(int n){ if (n == 0) return 1; return n * factorial(n-1);} \end{verbatim} } aunque es un ejemplo muy claro. Entorno Verbatim del paquete fancyvrb A veces es adecuado introducir texto en modo matemático en un ambiente verbatim así como otros efectos. Para hacer esto, usamos el entorno Verbatim del paquete fancyvrb. Notar la mayúscula: Verbatim. El entorno sería \begin{Verbatim}[opciones] ... \end{Verbatim} En el ejemplo que sigue, se usan varias opciones: ’frame=lines’ para poner segmentos de línea al inicio y al final, ’xleftmargin’y ’xrightmargin’ para ajustar estos segmentos. ’commandchars’ se usa para indicar que \ se va usar para aplicar comandos LATEX en el entorno y catcode para especificar los caracteres de código matemático que se van a permitir en este ambiente, en este ejemplo caso: $, ˆ, \ y _. 41 Ejemplo 3.29 El código: \begin{Verbatim}[xleftmargin=3.1cm,xrightmargin=4.5cm,resetmargins=true, frame=lines,formatcom=\color{blue},fontfamily=ptm, commandchars=\\\{\}, codes={\catcode‘$=3\catcode‘^=7\catcode‘_=8}] % fin de opts $x$ 0.000005 \end{Verbatim} $y=x^2$ 2.5$\times 10^{-11}$ produce: x 0.000005 y = x2 2.5× 10−11 Nota: Si usamos el ambiente Verbatim para escribir código Basic (como VBA, OOoBasic, etc.), Apóstrofe en VBA y los comentarios usan el apóstrofe: ' . Este apóstrofe se introduce en el ambiente Verbatim con el comando \textquotesingle del paquete textcomp. OOoBasic Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 4 TEXTO EN MODO MATEMÁTICO Recordemos que frecuentemente el texto matemático va en el entorno $...$. También hay otros entornos que no requieren estos símbolos de dólar. En este capítulo vamos a usar símbolos especiales (los símbolos son fuentes) que no están presentes en el conjunto de símbolos que por default carga LATEX. Por ejemplo, para escribir “sen( x ) ∈ R” se requiere definir un comando \sen y tener acceso al paquete que permite definir el comando \R para obtener R. Para obtener el texto matemático de este capítulo se necesitan los símbolos que por defecto carga LATEX y adicionalmente varios paquetes: amsmath,amssymb,amsfonts,latexsym,cancel. También necesitamos cinco comandos especiales para sen, arcsen, etc. La plantilla que sigue viene con todo lo que necesitamos para los ejemplos que siguen en todo este capítulo: Plantilla para este capítulo Descargar archivo .tex \documentclass{article} %o report o book \textheight=20cm \textwidth=18cm \topmargin=-2cm %Símbolos matemáticos de la AMS \usepackage{amsmath,amssymb,amsfonts,latexsym,cancel} \usepackage[spanish]{babel} \usepackage[latin1]{inputenc} %Acentos desde el teclado \usepackage[T1]{fontenc} % Comandos especiales \newcommand{\sen}{\mathop{\rm sen}\nolimits} %seno \newcommand{\arcsen}{\mathop{\rm arcsen}\nolimits} \newcommand{\arcsec}{\mathop{\rm arcsec}\nolimits} \newcommand{\R}{\mathbb{R}} \newcommand{\N}{\mathbb{N}} \newcommand{\Z}{\mathbb{Z}} \def\max{\mathop{\mbox{\rm máx}}} % máximo \def\min{\mathop{\mbox{\rm mín}}} % mínimo \begin{document} La fórmula $\sen^2(x)=1-\cos^2(x)$ ... \end{document} Aquí suponemos que se tiene una versión completa de MiKTEX o de TEXLive. 4.1 Potencias, subíndices y superíndices Expresión xp (22 )n sen2 ( x ) an u N +1 j ai ∑nN=1 un 4.2 displaystyle Código Expresión x n +1 x^p 22 (2^2)^n \sen^2(x) n xsen( x)+cos( x) Código x^{n+1} 2^{2^n} x^{\sen (x)+ \cos (x)} a_n a n +1 a_{n+1} u_{N+1} u N +1 u_{_{N+1}} f ( x ) dx \int_a^b f(x) \, dx uij u_{ij} a_i^j \sum_{n=1}^{N}u_n Rb a Tamaño natural Como se ve en la tabla anterior, el texto matemático se ajusta al ancho del renglón. Para desplegarlo en tamaño natural se usa el comando \displaystyle. Si sólo se quiere que una parte del texto matemático salga en tamaño natural se escribe \displaystyle{} y entre las llaves se pone el texto. Ejemplo 4.1 El texto: La suma parcial $N-$ésima $S_N$ se define con la igualdad $\displaystyle S_N=\sum_{k=1}^{N} \; a_n$ produce: N La suma parcial N −ésima S N se define con la igualdad S N = ∑ an k =1 Se pueden ajustar los subíndice y los superíndices de la siguiente manera LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 43 44 TEXTO EN MODO MATEMÁTICO Normal: $S_{N_j}$ produce: S Nj Mejor: $S_{_{N_j}}$ produce: S N 4.3 j Raíces Raíces cuadradas y raíces n−ésimas. Expresión √ x+1 q 4.4 n x+ p n x+ √ √ Código \sqrt{x+1} x \displaystyle{ \sqrt[n]{x+\sqrt{x}} } x \sqrt[n]{x+\sqrt{x}} Fracciones y expresiones de dos niveles Para hacer fracciones se pueden utilizar los comandos: \over, \frac{}{} o { \atop }. Veamos también otras “fracciones” útiles. Expresión x +1 x −1 {x+1 \over x-1} x+1 x−1 \displaystyle \frac{x+1}{x-1} x +1 3 {{x+1 \over 3} \over x-1} x −1 1 x n +1 1 1+ x n +1 1+ 1 1+ x Código n \displaystyle{\left( 1+ {1 \over x} \right)^{n+1 \over n}} n n + 1 n x +1 x −1 x +1 x −1 \displaystyle \left( 1+ \frac{1}{x} \right)^\frac{n+1}{n} \displaystyle{\left( 1+ {1 \over x} \right)}^{\displaystyle{n+1 \over n}} {x+1 \atop x-1} {x+1 \above 2pt x-1} (2pt es el grosor) +1 { xx− 1} {x+1 \brace x-1} +1 [ xx− 1] {x+1 \brack x-1} 45 Otras expresiones que requieren dos niveles Expresión Código f a→b \displaystyle{a \stackrel{f}{\rightarrow} b} lim f ( x ) \displaystyle{\lim_{ x \rightarrow 0}} f(x) x →0 a b ∑ \displaystyle{a \choose b} ai b j \displaystyle{\sum_{\substack{0<i< m\\0<j<n}}a_ib_j} 0< i < m 0< j < n n w ∏ (wi −i w i =0 k) \prod_{\overset{i=0}{i\neq k}}^{n}\frac{w_i}{(w_i-w_k)} i 6=k Ejemplo 4.2 El código: $$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) }$$ produce: n Ln,k ( x ) = ∏ i =0 x − xi ( x − x0 )( x − x1 ) · · · ( x − xk−1 )( x − xk+1 ) · · · ( x − xn ) = x k − xi ( xk − x0 ) · · · ( xk − xk−1 )( xk − xk+1 ) · · · ( xk − xn ) i 6=k i =0 Note el uso de \overset{i=0}{i\neq k} para producir: i 6= k Integrales Expresión Z C I C Código F · dr \displaystyle{\int_C\boldsymbol{F}\cdot\, dr} F · dr \displaystyle{\oint_C\pmb{F}\cdot\, dr} x f ( x, y) dA \displaystyle{{\iint_D f(x,y)\,dA}} f ( x, y, z) dA \displaystyle{{\iiint_Q f(x,y,z)\,dA}} D y Q 46 TEXTO EN MODO MATEMÁTICO En las integrales los subíndices y los superíndices se pueden centrar con el símbolo de integración. Por ejemplo, $\displaystyle{\iiint\limits_Q}$ produce: y Q 4.5 Tres puntos consecutivos Se usa un grupo de tres puntos para indicar la continuación de un patrón, se obtienen con los siguientes comandos. 4.6 ... \ldots ··· \cdots .. . \vdots .. \ddots . Delimitadores Para ajustar delimitadores al tamaño de una fórmula se usan los comandos \left ...\right. Se puede usar un punto para evitar abrir o cerrar con uno de los delimitadores. Ejemplo 4.3 El texto: $\displaystyle \left[{x+1 \over (x-1)^2} \right]^n$ produce: x+1 ( x − 1)2 n El texto: $\int_{a}^{b}2x\, dx = \left. x^2 \right|_{a}^{b}$ produce: Z b a b 2x dx = x2 a El texto: $\displaystyle \left\{ {n \in \N \atop r \neq 1 } \right.$ n∈N produce: r 6= 1 LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 47 Ejemplo 4.4 El texto: \[f(x)=\left\{ \begin{array}{rcl} x^2+1 & \mbox{si} & x\geq 0\\ & & \\ \ln|x| & \mbox{si} & x< 0\\ \begin{array} \right. \] % Observe el punto que cierra: \left\{ ... \right. produce: f (x) = 2 x +1 si x≥0 ln | x | si x<0 Delimitadores del paquete amsmath. También se puede usar los delimitadores del paquete amsmath: \Biggl,\Biggr, \biggl,\biggr, \Bigl,\Bigr, \bigl,\bigr. En algunos casos estos delimitadores son más eficientes. Ejemplo 4.5 (Comparación de delimitadores) El texto: $$\biggl[ \sum_j \Bigl| \sum_i x_{ij} \Bigr|^2 \biggr]^{1/2}$$ produce: 2 1/2 ∑∑ xij j i Comparar con $$\left[ \sum_j \left|\sum_i x_{ij}\right|^2\right]^{1/2}$$ 2 1/2 ∑ ∑ xij i j 48 TEXTO EN MODO MATEMÁTICO 4.7 LLaves y barras horizontales Barras horizontales. Las barras horizontales sobre el texto se pueden obtener con el comando \overline{} Ejemplo 4.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: ( Leyes de DeMorgan: A∪B= A∩B A∩B= A∪B LLaves Las llaves se ponen con \{ y \}. Esto se usa tanto en texto corriente como en modo matemático. Ejemplo 4.7 El código: $$\max_{x\in A}\{ f(x) \}>\min_{x\in A}\{ g(x) \}$$ produce: máx{ f ( x )} > mín{ g( x )} x∈ A x∈ A Los comandos \max y \min aparecen con acento pues así los definimos en el preámbulo propuesto al inicio del capítulo. LLaves horizontales Se puede poner tanto una llave horizontal superior como una llave horizontal inferior y un texto arriba o abajo de la llave, se usa \overbrace{}^{}, \underbrace{}_{}, etc. 49 Ejemplo 4.8 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 4.8 4.9 Acentos y “sombreros” en modo matemático ı̂ $\hat{\imath}$ á $acute{a}$ p̄ $\bar{p}$ ~p $\vec{p}$ Negritas en modo matemático En una fórmula matemática, el comando \boldmath solo aplica negrita a las fuentes de texto. Para poner en negrita los símbolos se debe usar \boldsymbol o \pmb. También se puede poner en negrita toda la expresión matemática usando \hbox{\boldmath $ texto $ \unboldmath} Ejemplo 4.9 (Negrita en modo matemático) cos( x + 2π ) = cos x $\pmb{\cos(x+2\pi)=\cos x}$ cos( x + 2π ) = cos x $\cos(x+\pmb{2\pi})=\cos x$ 4.10 Espacio en modo matemático LATEX no deja espacios en modo matemático. Para dejar espacio en modo matemático se usan los comandos \, \; \! \: tanto como \hspace{} LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 50 TEXTO EN MODO MATEMÁTICO Ejemplo 4.10 (Espacio en modo matemático) Normal: n ∈ N, x ∈ R $n \in \N, x \in \R$ Mejor: n ∈ N, x ∈ R $n \in \N, \; \; x \in \R$ Normal: R f ( x )dx $\int f(x) dx$ f ( x ) dx $\displaystyle{\int} f(x)\, dx$ Mejor: 4.11 Z Centrado Para centrar una fórmula se usa \[ ... \] o también $$...$$, en las fórmulas centradas no es en general necesario utilizar \displaystyle para producir texto en tamaño natural. Ejemplo 4.11 El texto: $$ ab \leq \left( {a+b \over 2} \right)^2 $$ produce: ab ≤ 4.12 a+b 2 2 Entorno equation. Contadores automáticos LATEX puede llevar un conteo automático de capítulos, secciones, etc. Podemos llevar también un conteo automático de teoremas, ecuaciones, etc. Por ejemplo con el entorno equation (un entorno para el modo matemático que no requiere $), \begin{equation}...\end{equation} podemos poner un número de ecuación a la ecuación actual. Podemos también cambiar ese número usando \setcounter{equation}{k}. El efecto de este comando es sumar (o restar si ponemos −k) k unidades al número de ecuación actual LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 51 Ejemplo 4.12 (Entorno equation) %estamos en ecuación 4.1 (cap 4) \begin{equation} \log_{2}(xy)=\log_2x + \log_2y \end{equation} log2 ( xy) = log2 x + log2 y %sumamos 2 y pasamos a ecuación 4.3 \setcounter{equation}{2} \begin{equation} \log_{2}(a^b)=b\log_2a \end{equation} log2 ( ab ) = b log2 a (4.1) (4.3) Una vez establecido el contador, se puede usar el ambiente subequations para lograr una ‘subnumeración’: Ejemplo 4.13 (subequations) \begin{subequations} \begin{equation} \log_{2}(xy)=\log_2x + \log_2y \end{equation} \begin{equation} \log_{2}(a^b)=b\log_{2}a \end{equation} \end{subequations} 4.13 log2 ( xy) = log2 x + log2 y (4.4a) log2 ( ab ) = b log2 a (4.4b) Arreglos Para editar una matriz se debe indicar: Los delimitadores, digamos: \left[...\right] Inicio del “array” y el número y alineación de las columnas (centrado (c), alineado a la izquierda (l) o a la derecha (r)), digamos 3 columnas: \begin{array}{lcr} Los delimitadores de columnas, para 3 columnas: & & & \\ “\\” indica el cambio de fila Final del “array”: \end{array} Nota: En la sección 4.14 se muestran otras formas de realizar matrices. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 52 TEXTO EN MODO MATEMÁTICO Ejemplo 4.14 (Entorno array) El texto: produce: \[ A = \left( \begin{array}{lcr} a & a+b & k-a \\ b & b & k-a-b \\ \vdots & \vdots & \vdots \\ z & z + z & k-z \begin{array} \right) \] A= a b .. . z a+b b .. . z+z k−a k−a−b .. . k−z Ejemplo 4.15 Hagamos algunos cambios: Agreguemos dos columnas vacías y cambiemos el alineamiento El texto: produce: \[ A = \left( \begin{array}{lcccl} a & & a+b & b & & b & \vdots & & \vdots & z & & z + z & \begin{array} \right) \] & & & & k-a \\ k-a-b \\ \vdots \\ k-z A= k−a k−a−b .. . k−z a+b b .. . z+z a b .. . z Ejemplo 4.16 (Función a trozos). El texto: \[ f(x)= \left\{ \begin{array}{lcl} x^2 & \mbox{ si } & x<0 \\ & & \\ x-1 & \mbox{ si } & x>0 \begin{array} \right. \] produce: f (x) = 2 x x−1 si x<0 si x>0 53 Nota: \mbox se utiliza para escribir texto corriente dentro del modo matemático. Ejemplo 4.17 A veces es conveniente anidar un array dentro de otro array, El código $$ \left\{ \begin{array}{lclcl} \cos x &=& 0 &\Longrightarrow & x=(2k+1)\,\frac{\pi}{2};\; k \in \Z\\ & & & &\\ \sen x &=& -1 &\Longrightarrow & x=(4k+3)\,\frac{\pi}{2};\; k \in \Z\\ & & & &\\ \cos(2x) &=&\frac{1}{2} &\Longrightarrow &\left\{ \begin{array}{lcr} x &=& \frac{\pi}{6}+k\pi;\; z \in \Z\\ & &\\ x &=& -\frac{\pi}{6}+k\pi;\; z \in \Z\\ \begin{array} \right.\\ \begin{array} \right. $$ produce: cos x sen x cos(2x ) 4.14 = 0 =⇒ x = (2k + 1) π2 ; k ∈ Z = −1 =⇒ x = (4k + 3) π2 ; k ∈ Z = 1 2 =⇒ + kπ; z ∈ Z x = = − π6 + kπ; z ∈ Z x π 6 Matrices El entorno array es útil y versátil. Si solo queremos trabajar con matrices podemos usar los entornos smallmatrix, pmatrix, bmatrix, Bmatrix, vmatrix y Vmatrix. Estos entornos producen, respectivamente, ( ), [ ], , | | y || ||. El entorno smallmatrix produce arreglos ajustados (sin delimitadores), para ser usadas en el texto normal, e.g. ac db . El código del párrafo anterior es, LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 54 TEXTO EN MODO MATEMÁTICO El entorno {\tt smallmatrix} produce arreglos ajustados (sin delimitadores), para ser usadas en el texto normal, e.g. $\bigl( \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} \bigr)$. Ejemplo 4.18 (Entorno para matrices) El texto: \begin{pmatrix} 1 & 0 h_0 & 2(h_0+h_1) 0 & h_1 & \ddots 0 & 0 \cdots 0 & 0 \end{pmatrix} & 0 & & \cdots 0 & h_1 & & \cdots 0 & 2(h_1+h_2) & h_2 & \cdots 0 & \ddots & \ddots & & h_{n-3} & 2(h_{n-3}+h_{n-2}) & h_{n-2} & & & \cdots 1 \cdot\begin{pmatrix} c_0\\ c_1\\ \vdots\\ c_{n-1}\\ c_n\\ \end{pmatrix} produce: 1 h 0 0 0 0 0 2( h0 + h1 ) h1 .. . ··· 0 4.15 0 h1 2( h1 + h2 ) .. . h n −3 h2 .. . 2 ( h n −3 + h n −2 ) 0 c0 0 c 0 .1 · . . c n −1 h n −2 cn ··· 1 ··· ··· ··· Alineamiento Ambiente “eqnarray” Se puede alinear una serie de pasos (o ecuaciones), en un razonamiento usando \begin{eqnarray*}. . . \end{eqnarray*} este comando construye una matriz de 3 columnas. Si se quiere que cada uno de los pasos aparezca numerado se utiliza \begin{eqnarray}. . . \end{eqnarray} \\ \\ \\ \\ \\ \\ 55 Si se usa \begin{eqnarray} ... \end{eqnarray}, se puede evitar numerar una ecuación poniendo \nonumber al final de la fila (antes de \\). Ejemplo 4.19 (Arreglos sin numeración) El texto: De acuerdo al lema de Euclides tenemos que \begin{eqnarray*} \mbox{mcd}(a,b) & = & \mbox{mcd}(a-r_0q,r_0)\\ & = & \mbox{mcd}(r_1,r_0)\\ & = & \mbox{mcd}(r_1,r_0-r_1q_2)\\ & = & \mbox{mcd}(r_1,r_2)\\ & = & \mbox{mcd}(r_1-r_2q_2,r_2)\\ \end{eqnarray*} produce: De acuerdo al lema de Euclides tenemos que mcd ( a, b) = mcd( a − r0 q, r0 ) = mcd(r1 , r0 ) = mcd(r1 , r0 − r1 q2 ) = mcd(r1 , r2 ) = mcd(r1 − r2 q2 , r2 ) Ejemplo 4.20 (Sin numeración) El texto: % Sin numeración >> \begin{eqnarray*} y=\sqrt[n]{x} & \Longrightarrow & \Longrightarrow & \Longrightarrow \end{eqnarray*} & y^n=x \\ & n\log \,y=\log \,x, \; \mbox{si}\; x>0,\; y>0\\ & \log \sqrt[n]{x}={1 \over n}\log \,x produce: y= √ n x =⇒ yn = x =⇒ n log y = log x; si x > 0, y > 0 √ 1 =⇒ log n x = log x n 56 TEXTO EN MODO MATEMÁTICO Ejemplo 4.21 (Con numeración) El texto: % Con numeración >> \begin{eqnarray} y=\sqrt[n]{x} &\Longrightarrow &\Longrightarrow &\Longrightarrow \end{eqnarray} &y^n=x \\ &n\log \,y=\log \,x; \; \mbox{si}\; x>0,\; y>0\\ &\log \sqrt[n]{x}={1 \over n}\log \,x produce: y= √ n x =⇒ yn = x (4.5) =⇒ n log y = log x, si x > 0, y > 0 √ 1 =⇒ log n x = log x n (4.6) (4.7) Ejemplo 4.22 (Numeración selectiva) El texto % Numeración selectiva >> \begin{eqnarray} y=\sqrt[n]{x} &\Longrightarrow &\Longrightarrow &\Longrightarrow \end{eqnarray} &y^n = x \nonumber\\ &n\log \,y= \log \,x, \; \mbox{si}\; x>0,\; y>0\\ &\log \sqrt[n]{x}={1 \over n}\log \,x produce: y= √ n x =⇒ yn = x =⇒ n log y = log x, si x > 0, y > 0 √ 1 =⇒ log n x = log x n (4.8) (4.9) Entornos “align” y “ multline” El entorno ‘eqnarray ’ no se recomienda porque tiene algunos inconvenientes: Produce un espa-ciado irregular en los signos de igualdad y no hacen ningún intento para evitar la sobreimpresión del cuerpo de la ecuación y número de la ecuación. Si usamos el paquete amsmath (como lo asumimos aquí) podemos acceder a los entornos “align ”y “ multline ” El entorno ‘align’ es similar a ‘eqnarray ’ pero sin los problemas indicados, y también permite ecuaciones numeradas o sin numerar (usando align* ). En el entorno align : &= establece una igualdad en una misma columnas mientras que & establece un cambio de columna. 57 El comando \intertext{texto} intercala texto entre filas mientras se mantiene las columnas alineadas. Ejemplo 4.23 El código \begin{align*} \intertext{Agrupamos,} \frac{a+ay+ax+y}{x+y} &= \frac{ax+ay+x+y}{x+y} \intertext{sacamos el factor común,} &= \frac{a(x+y)+x+y}{x+y} &= \frac{(x+y)(a+1)}{x+y} &= a+1 \end{align*} & \mbox{Agrupar}\\ & & \mbox{Factor común}\\ \mbox{Simplificar}\\ produce: Agrupamos, a + ay + ax + y ax + ay + x + y = x+y x+y Agrupar sacamos el factor común, a( x + y) + x + y x+y ( x + y)( a + 1) = x+y = Factor común Simplificar =a+1 Ejemplo 4.24 El código El código \begin{align*} a &= b + c - d\\ &\quad + e - f\\ &= m \end{align*} \begin{multline*} a+b+c+d+e+f+t+x+y\\ +m+n+r+t+y \end{multline*} produce: produce: a=b+c−d +e− f =m a+b+c+d+e+ f +t+x+y +m+n+r+t+y 58 TEXTO EN MODO MATEMÁTICO 4.16 4.16.1 α β γ δ e ε ζ η θ ϑ ι \kappa \lambda \mu \nu \xi o \pi \varpi \rho \varrho \sigma ς τ υ φ ϕ χ ψ ω Γ ∆ Θ \varsigma \tau \upsilon \phi \varphi \chi \psi \omega \Gamma \Delta \Theta Λ Ξ Π Σ Υ Φ Ψ Ω \Lambda \Xi \Pi \Sigma \Upsilon \Phi \Psi \Omega • ÷ ∩ ∪ ] u t / \bullet \div \cap \cup \uplus \sqcap \sqcup \triangleleft \triangleright ∧ ⊕ o \wr ⊗ \bigcirc a \bigtriangleup ` \bigtriangledown † ‡ ∨ \vee q \wedge \oplus \ominus \otimes \oslash \odot \dagger \ddagger \amalg ⊆ v ⊃ ⊇ w ∈ 3 ` ^ \subseteq \sqsubseteq \supset \supseteq \sqsupseteq \in \ni \vdash \smile _ \frown a \dashv | \mid k \parallel ≡ \equiv ∼ \sim ' \simeq \asymp ≈ \approx ∼ = ./ ∝ |= . = ⊥ 6= \cong \bowtie \propto \models \doteq \perp \neq \Join . Relaciones \leq \geq \succ \succeq \gg \ll \prec \preceq \subset 4.16.4 κ λ µ ν ξ o π v ρ $ σ Operadores binarios \pm \mp \setminus \cdot \times \ast \star \diamond \circ 4.16.3 ≤ ≥ ≺ ⊂ Letras griegas \alpha \beta \gamma \delta \epsilon \varepsilon \zeta \eta \theta \vartheta \iota 4.16.2 ± ∓ \ · × ∗ ? ◦ Tablas de símbolos matemáticos frecuentes 1 Negación de relaciones En general, cualquier negación se puede hacer anteponiendo la instrucción \not a cualquier relación anterior, algunos ejemplos se muestran en la tabla siguiente. 59 6< 6≤ 6≺ 6 6⊂ 6⊆ 6v 6> 6≥ 6 4.16.5 ℵ h̄ ı ` ℘ < = ∂ ∞ 0 ∅ ∇ √ > ⊥ \partial \infty \prime \emptyset \nabla \surd \top \bot k ∠ 4 \ ∀ ∃ ¬ [ \| \angle \triangle \backslash \forall \exists \neg \flat \ ] ♣ ♦ ♥ ♠ \natural \sharp \clubsuit \diamondsuit \heartsuit \spadesuit Especiales − → v $\widetilde{A}$ $\widehat{A}$ 4.16.7 \not\succeq \not\supset \not\supseteq \not\sqsupseteq \not= \not\equiv \not\sim \not\simeq \not\approx \not\cong Otros símbolos \aleph \hbar \imath \jmath \ell \wp \Re \Im 4.16.6 e A b A 6 6⊃ 6⊇ 6w 6= 6≡ 6∼ 6' 6≈ 6∼ = \not< \not\leq \not\prec \not\preceq \not\subset \not\subseteq \not\sqsubseteq \not> \not\geq \not\succ $\overrightarrow{v}$ Símbolos del paquete amssymb El paquetes amssymb se carga si usamos el preámbulo propuesto al inicio del capítulo. R \mathbb{R} Q \mathbb{Q} Z \mathbb{Z} I \mathbb{I} ∴ \therefore ∵ \because 5 \leqq = \geqq 6 \leqslant > \geqslant 1 \eqslantgtr & \gtrsim ' \gtrapprox m \gtrdot ≷ 0 . / u l R T ≪ ≫ ≶ Q S \gtrless \eqslantless \lesssim \lessapprox \approxeq \lessdot \gtreqless \gtreqqless \lll \ggg \lessgtr \lesseqgtr \lesseqqgtr + : ; $ , ∼ ≈ v w j k b c < \doteqdot \risingdotseq \fallingdotseq \circeq \triangleq \thicksim \thickapprox \backsim \backsimeq \subseteqq \supseteqq \Subset \Supset \sqsubset = < 4 2 3 % w v B \vartriangleright D \trianglerighteq \sqsupset \succcurlyeq \preccurlyeq \curlyeqprec \curlyeqsucc \precsim \succsim \precapprox \succapprox Símbolos adicionales Se puede encontrar una gran cantidad de símbolos adicionales (cerca de 164 páginas A4 indicando sus correpondientes paquetes) en la dirección: www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf 60 TEXTO EN MODO MATEMÁTICO 4.17 Cómo hacer nuevos Comandos. Podemos abreviar el código de los comandos creando comandos propios. Para esto usamos \newcommand{\nuevo_nombre}{\comando_original} \newcommand{\nombre}[n]{\f{#1}...\h{#n}}. n es el número de parámetros. Cada parámetro es recibido por un comando existente. Las definiciones de los nuevos comandos se ponen en el preámbulo (para comodidad de otros usuarios). Una práctica muy recomendada es hacerse un archivo aparte con estas definiciones, este archivo debe ir sin preámbulo ni \begin{document}...\end{document}. Si el archivo es “miscmds.tex”, éste se invoca en el preámbulo con \input{miscmds.tex}. Este archivo puede estar en el directorio de trabajo preferiblemente. Vamos a ver algunos ejemplos. Abreviaciones para \begin{center}... \end{center} \newcommand{\bc}{\begin{center}} \newcommand{\ec}{\end{center}} Abreviación para \displaystyle \newcommand{\ds}[1] {\displaystyle{#1}} %un parámetro Abreviación para \sii =⇔ \newcommand{\sii}{\Leftrightarrow} Comando para fracciones ’grandes’ $\gfrac{a}{b}$ = a b Este comando usa un comando definido anteriormente, \ds \newcommand{\gfrac}[2] {\ds{\frac{#1}{#2}}}%2 parámetros. Usamos \ds{} → Comando personalizado para vectores $\wvec{v}$ = − v \newcommand{\wvec}[1] {\overrightarrow{#1}} → Comando personalizado para vectores $\wvecb{v}$ = − v \newcommand{\wvecb}[1] {{\blue\overrightarrow{#1}}} %azul − → v Comando personalizado para la proyección ortogonal, $\proy{v}{w}$ = proy− → w LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 61 Este comando usa comandos definidos anteriormente, \ds, \wvecb y \wvec \newcommand{\proy}[2] {\ds{ \mbox{\rm proy}_{_{\ds\wvecb{#2}}}^{^{\ds{\wvec{#1}}}} }} Comando personalizado para una suma, Este comando usa un comando definido anteriormente, \ds \newcommand{\sumauk}[2] {\ds{\sum_{k=#1}^{#2} u_k}} %Usamos \ds{} Un comando para hacer referencias (usa el paquete hyperref) dentro del documento. Por ejemplo, hay un apéndice con label \label{InstalarUbuntu}, podemos hacer referencia a este apéndice así: Para instalar este distro E ..., . Esta liga se produce con: Para \wref{Instalar este distro}{InstalarUbuntu} ... El comando sería, \newcommand{\wref}[2]{\hyperref[#2]{#1 \ref*{#2}}} Ejemplo 4.25 (Usando comandos personalizados). Con los comandos definidos más arriba podemos abreviar el código. El texto: Si $S_{\color{red}N}=\sumauk{1}{{\color{red}N}} \,\Longrightarrow \, S_{N+1}=S_N+u_{N+1}$ N produce: Si S N = ∑ uk =⇒ SN +1 = SN + u N +1 k =1 El texto: $\proy{v}{w}=\gfrac{ \wvec{v} \cdot \wvecb{w} }{ ||\wvecb{w}||^2 } \,\wvecb{w}$ − → − → → v v ·− w − → produce: proy− = w − → → || w ||2 w Nota. Si se usa color, se debe usar llaves para delimitar el entorno donde este color tiene efecto, por ejemplo {\blue ..txt...} sólo afectaría ’...txt...’. 62 TEXTO EN MODO MATEMÁTICO Ejemplo 4.26 (Comando para minipage y para límite). \newcommand{\mpage}[2] { \begin{minipage}[b]{0.5 \textwidth} #1 \end{minipage} \hfill \begin{minipage}[b]{0.5 \textwidth} #2 \end{minipage}} \newcommand{\limite}[2] { \lim_{ #1 \rightarrow #2}} Así, el texto: \mpage{ % no se pueden dejar renglones en blanco! \centering \includegraphics{images/ML_fig13.pdf} }{ \[ \limite{n}{ \infty }{ \arctan (n) } \] } produce (compilando con PDFLATEX): lim arctan(n) n→∞ Otros ejemplos son %Color, uso: {\colr texto} \newcommand{\colr}{\color{red}} %Texto con fuente helvetica, uso: \fhv{texto} \newcommand{\fhv}[1]{{\fontfamily{hv}\fontsize{9}{1}\selectfont{#1}}} %Entorno enumerate, uso \be \item... \item... \newcommand{\be}{\begin{enumerate}} \newcommand{\ee}{\end{enumerate}} 4.17.1 \en Comandos con opciones Podemos agregar opciones a nuestros comandos dejando algunos valores por default. Esto lo podemos hacer con el paquete xargs: Ponemos \usepackage{xargs} en el preámbulo. El código para un comando con n parámetros sería algo como, newcommandx*\nombre[n][opcion1 = o1, opcion2 = o2,...]{código latex} Las opciones, si hubiera, se refieren al valor default de algunos o todos los parámetros. Un ejemplo clásico es el de crear un comando para abreviar una sucesión: x0 , x1 , ...xn . En este caso, es deseable que podamos tener un comando flexible que nos permita iniciar con subíndice 63 0 o con subíndice 1 y terminar con subíndice n o con subíndice k y cambiar xi por ui , etc. La sucesión por default será x0 , x1 , ...xn . Ejemplo 4.27 (Comando para sucesiones con opciones). El nuevo comando \coord{}{}{} se definie así, \newcommandx*\coord[3][1=0, 3=n]{\left(#2_{#1},\ldots,#2_{#3}\right)} \coord recibe tres argumentos, el primero y el tercero son opcionales y tienen valor default 0 y n respectivamente, por eso aparece [1=0, 3=n]. El parámetro #2 permite elegir x, u, etc. El código: produce: $\coord{x}$ ( x1 , . . . , x n ) $\coord[0]{y}$ ( y0 , . . . , y n ) $\coord{z}[m]$ ( z1 , . . . , z m ) $\coord[0]{t}[m]$ ( t0 , . . . , t m ) Ejemplo 4.28 Podemos hacer más flexible nuestro comando ‘mpage’ de la siguiente manera \newcommandx*\mpage[4][1=0.45,2=0.45]{%Default=45% ancho página \begin{minipage}[b]{#1\textwidth} #3 \end{minipage} \hfill \begin{minipage}[b]{#2\textwidth} #4 \end{minipage}} de tal manera que lo podemos usar como \mpage[0.7][0.2]{...}{...} tanto como \mpage{...}{...} Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 5 TABLAS Y OBJETOS FLOTANTES Las tablas se editan en forma similar a las matrices pero en las tablas se pueden poner líneas verticales y horizontales. El modo matemático debe especificarse en una tabla. Para agregar líneas verticales se ponen marcas como | o || en la parte que corresponde al alineamiento de columnas. Para agregar líneas horizontales, al final de cada fila se especifica . \hline: línea tan larga como la tabla . \cline{i-j}: línea de columna i a columna j Ejemplo 5.1 (Usando tabular) Ambiente tabular con tres columnas. produce: El texto: \begin{tabular}{|c|c|c|} $p$ & $q$ & $p \rightarrow 0 & 0 & 1 0 & 1 & 1 1 & 0 & 0 1 & 1 & 1 \end{tabular} 5.1 \hline q$ \\ \hline \\ \\ \cline{1-2} \\ \\ \hline p 0 0 1 1 q 0 1 0 1 p→q 1 1 0 1 Objetos flotantes: los ambientes figure y table Un objeto (gráfico o una tabla) debe aparecer en el lugar más cercano al texto que hace referencia a él. Al ir haciendo cambios en el texto, los objetos pueden desplazarse de manera no apropiada. LATEX resuelve (y a veces complica) este problema manipulando las figuras como objetos flotantes en el documento. LATEX nos ofrece dos comandos (ambientes) para indicarle nuestras preferencias sobre el desplazamiento del objeto. \begin{figure}[h!] .... \caption{...}\label{figure:nombre} \end{figure} \begin{table}[h!] .... \caption{...}\label{table:nombre} \end{table} [h!] le indica a LATEX que queremos la figura o la tabla, exactamente en ese lugar (h=here, esto no es tan exacto, ya que LATEX en realidad lo acomoda lo más cerca posible de ese lugar). Otras opciones son [t]=top,[b]=botton. \caption{ texto} es la etiqueta de cada objeto (numerándolo automáticamente). Se puede omitir. \label es la identificación del objeto. En el texto podemos hacer referencia a la tabla o a la figura, poniendo "En la figura \ref{fig:nombre}..." o "En la tabla \ref{nombre}..."} Si no vamos a hacer referencia, podemos omitir este comando. Ejemplo 5.2 (Entorno table) El texto: \begin{table}[h!] \centering \begin{tabular}{|c|c|c|} \hline $p$ & $q$ & $p \rightarrow q$\\\hline 0 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 0 & 0 \\ 1 & 1 & 1 \\\hline \end{tabular} \caption{Tabla de verdad para $p \rightarrow q$} \end{table} produce: p 0 0 1 1 q 0 1 0 1 p→q 1 1 0 1 Tabla 5.1 Tabla de verdad para p → q Nota: Si va a poner una figura o una tabla en el ambiente minipage, debería usar el siguiente formato LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 65 66 TABLAS Y OBJETOS FLOTANTES \begin{figure}[h!] \begin{minipage} ... \end{minipage} \end{figure} 5.2 \begin{table}[h!] \begin{minipage} ... \end{minipage} \end{table} Fuentes en tabular. A veces es conveniente cambiar la fuente en una ambiente tabular, por ejemplo si tenemos una tabla de números sería bueno cambiar a una fuente cmr10 para que todo quede en modo matemático sin tener que hacer esto número por número, Ejemplo 5.3 (Cambio de fuente) El texto: produce: {\fontfamily{cmr10}\selectfont{%Fuente cmr10 \begin{tabular}{c|c} $x$ & $x^2+3$ \\ \savehline 2 & 7 \\ 4 & 19 \\ \end{tabular} }}%fontfamily 5.3 x 2 4 x2 + 3 7 19 Color en tablas. Para poner color en las filas o las columnas de una tabla podríamos usar el paquete xcolor agregamos al preámbulo \usepackage[x11names,table]{xcolor} La opción x11names habilita un conjunto de colores que podemos llamar por su nombre. La lista completa la puede obtener en xcolor.pdf. Por ejemplo, {\color{RoyalBlue1} Texto} Texto {\color{LightSteelBlue1} Texto} Texto Conflictos. Si hay conflictos (“clash”) con otros paquetes, como por ejemplo con Beamer, podríamos poner la opción al inicio, en la clase de documento, \documentclass[xcolor=table, x11names]{beamer} 67 rowcolor Para colorear una fila se debe poner \rowcolor{nombre-color} al inicio de la fila. Para colorear de manera alternada se agrega \rowcolors[nfila]{color fila-impar}{color fila-par} antes del inicio de la tabla. Aquí, nfila es el número de fila de la primera fila en ser coloreada. Los colores de fila par e impar se pueden dejar en blanco (no se pondrá color en esa fila). columncolor, cellcolor Los comandos \columncolor y \cellcolor se usan para colorear las columnas y celdas, respectivamente. Ejemplo 5.4 En este ejemplo la fila inicial se colorea con el color LightBlue2 de la opción x11names del paquete xcolor. Esto se hace agregando \rowcolor{LightBlue2} al inicio de la primera fila. También se colorean con un gris degradado a un 20% (gray!20) las filas pares y las impares se dejan con fondo blanco. Esto se hace agregando, antes del inicio de la tabla, la instrucción {\rowcolors{1}{}{gray!20}. El código: \begin{table}[h!] \centering \rowcolors{1}{}{gray!20} \begin{tabular}{ll} \rowcolor{LightBlue2} $x_{n+1}$ & $|x_{n+1}-x_n|$\\ \hline 1.20499955540054 & 0.295000445\\ 1.17678931926590 & 0.028210236\\ 1.17650193990183 & 3.004$\times10^{-8}$\\ 1.17650193990183 & 4.440$\times10^{-16}$\\ \hline \end{tabular} \caption{Iteración de Newton para $x^2-\cos(x)-1=0$ con $x_0=1.5.$} \end{table} produce: x n +1 1.20499955540054 1.17678931926590 1.17650193990183 1.17650193990183 | x n +1 − x n | 0.295000445 0.028210236 3.004×10−8 4.440×10−16 Tabla 5.2 Iteración de Newton para x2 − cos( x ) − 1 = 0 con x0 = 1.5. 68 TABLAS Y OBJETOS FLOTANTES Ejemplo 5.5 En este ejemplo se colorean con un 20% gris dos celdas: Simplemente agregamos \cellcolor[gray]{0.80} en las celdas que queremos. El código: \begin{tabular}{ll} \rowcolor{LightBlue} $x_{n+1}$ & $|x_{n+1}-x_n|$\\ \hline \cellcolor[gray]{0.80} 1.20499955540054 & 0.295000445\\ 1.17678931926590 & 0.028210236\\ 1.17650196994274 & 0.000287349\\ 1.17650193990183 & 3.004$\times10^{-8}$\\ \cellcolor[gray]{0.80} 1.17650193990183 & 4.440$\times10^{-16}$\\ \hline \end{tabular} produce: x n +1 1.20499955540054 1.17678931926590 1.17650196994274 1.17650193990183 1.17650193990183 5.4 | x n +1 − x n | 0.295000445 0.028210236 0.000287349 3.004×10−8 4.440×10−16 Rotación de texto en celdas. Para rotar una tabla completa o simplemente el texto en las celdas. se usa el entorno \begin{sideways}...\end{sideways} aplicado directamente a la tabla o a la(s) celda(s). Necesitamos agregar en el preámbulo \usepackage{rotating} Ejemplo 5.6 El código: \begin{sideways} \begin{tabular}{lc} $x_{n+1}$ &$|x_{n+1}-x_n|$\\ \hline \cellcolor[gray]{0.80} 1.17 & 3.$\times10^{-8}$\\ 1.17 & 4.$\times10^{-16}$\\ \hline \end{tabular} \end{sideways} 69 Ejemplo 5.6 (continuación). x n +1 1.17 1.17 | x n +1 − x n | 3.×10−8 4.×10−16 produce: El código: \begin{tabular}{lc} $x_{n+1}$ &\begin{sideways}$|x_{n+1}-x_n|$\end{sideways}\\ \hline \cellcolor[gray]{0.80} 1.17 & 3.$\times10^{-8}$\\ 1.173 & 4.$\times10^{-16}$\\ \hline \end{tabular} x n +1 | x n +1 − x n | produce: 1.17 1.173 3.×10−8 4.×10−16 Expresiones @{}. En un ambiente tabular el separador de columnas se puede cambiar con una instrucción del tipo @{txt}. Este comando elimina la separación automática entre columnas y la reemplaza con el texto txt. Ejemplo 5.7 En el código que sigue, r@{.}l sustituye la columna central por un punto, El texto: \begin{tabular}{r@{.}l} 3 & 14159 \\ 2 & 7182818\\ 0 & 577216 \\ \end{tabular} produce: 3.14159 2.7182818 0.577216 70 TABLAS Y OBJETOS FLOTANTES 5.5 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} columnas : Número de columnas que abarcará la celda. Alin : Indica la alineación del texto: l= izquierda, c= center, r= derecha. Ejemplo 5.8 (Unir celdas). El código: \begin{table}[h!] \centering \begin{tabular}{lll} &\multicolumn{2}{c}{Estimación del error}\\ &\multicolumn{2}{c}{absoluto y relativo}\\ \rowcolor{LightBlue2} $x_n$ &$x_{n+1}$ &$|x_{n+1}-x_n|/|x_{n+1}|$\\ \hline -3.090721649 & 2.990721649 &1.6717\\ -2.026511552 & 1.064210097 &0.525143859\\ -1.205340185 & 0.821171367 &0.681277682\\\hline \end{tabular} \caption{} \end{table} Produce: Estimación del error absoluto y relativo | x n +1 − x n | / | x n +1 | xn x n +1 -3.090721649 -2.026511552 -1.205340185 2.990721649 1.064210097 0.821171367 1.6717 0.525143859 0.681277682 Tabla 5.3 5.6 Escalar una tabla A veces tenemos tablas muy grandes. Las podemos escalar en un porcentaje y también usar unión de celdas para lograr un efecto decente. scalebox 71 El escalamiento lo podemos hacer con el comando \scalebox{0.h}[0.v]{...}. Aquí, 0.h y 0.v es el porcentaje de escalamiento horizontal y vertical. \scalebox{0.h}{...} escala igual en cada dirección. Ejemplo 5.9 (Escalar una tabla). El código que sigue escala un 80% una tabla, \begin{table}[h!] \label{ML:tabla_escalada} \centering \scalebox{0.8}{\begin{tabular}{cccccccccccccc} Est.&P.16(a)&Pr.14&Pr.16(b)&Pr.1&Pr.9&Pr.5&Pr.4&Pr.15&Pr.3&Pr.13&Pr.11&Pr.7&Cal.\\\hline L & & 0 & & 0 & 0 & 2 & 2 & 2 & 1 & 2 & 2 & 2 &54\\ \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 Total& 0 & 1 & 2 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 10 & 14 & \\ \hline \multicolumn{12}{l}{Abreviaturas. Est.: Estudiante, Pr.: Pregunta,Cal.: Calificación}\\ \end{tabular}} \caption{Resultados del cuestionario diagnóstico} \end{table} produce: Est. Pr.1 Pr.9 Pr.5 Pr.4 Pr.15 Pr.3 Pr.13 Pr.11 Pr.7 Cal. L P.16(a) Pr.14 0 Pr.16(b) 0 0 2 2 2 1 2 2 2 54 S 0 2 2 0 1 1 0 2 0 2 42 38 R 0 1 0 0 0 1 1 1 2 0 2 2 Total 0 1 2 2 3 4 5 6 7 8 10 14 Abreviaturas. Est.: Estudiante, Pr.: Pregunta,Cal.: Calificación Tabla 5.4 Resultados del cuestionario diagnóstico 5.7 (*)Espaciado en celdas. A veces el texto matemático queda muy pegado a alguno de los bordes de las celdas, necesitamos hacer un poco de espacio hacia arriba, hacia abajo o variar el ancho de la celda. Para hacer esto usamos una instrucción del tipo @{...}. En estas instrucciones también se puede incluir comandos, por ejemplo para agregar espacio horizontal se usa @{\hspace{5cm}}. La instrucción @{\vrule height xpt depth ypt width zpt} agrega espacio vertical: height xpt, espacio en el fondo: depth ypt y ancho: width zpt. 1 Aquí, la unidad de medida que usamos es 1 pt = 72 pulgada. En el ejemplo que sigue se agrega 15pt de espacio vertical y 10pt en el fondo. 72 TABLAS Y OBJETOS FLOTANTES Otra solución es agregar un línea muy corta de grosor 0cm (invisible) pero con "línea base" un poco abajo o un poco arriba, para agregar espacio invisible arriba o abajo. En la columna que presenta problema se agrega \rule[xcm]{0cm}{ycm}. xcm es el espacio hacia arriba o hacia abajo y ycm es el largo. Ejemplo 5.10 En este ejemplo tenemos una tabla problemática: El texto matemático está muy ajustado. \begin{tabular}{l l l}\hline $\displaystyle\frac{x}{x+1}$\\ & $\sqrt{x}$ & $x^{2^n}$\\\hline \end{tabular} x x+1 √ x x2 n Para corregir este problema, una solución es crear espacio vertical y en el fondo, en la tercera columna, usando el operador @{...}. \begin{tabular}{l l l@{\vrule height 15pt depth 10pt width 0pt}}\hline $\displaystyle \frac{x}{x+1}$ \\ & $\sqrt{x}$ & $x^{2^n}$\\ \hline \end{tabular} x x+1 √ x x2 n Otra solución para este ejemplo es incluir una línea ’invisible’ de altura 0.8cm y ‘baseline’ -0.3: \rule[-0.3cm]{0cm}{0.8cm} \begin{tabular}{ccc}\hline $\displaystyle\frac{x}{x+1}$ & $\sqrt{x}$ & $x^{2^n}$\rule[-0.3cm]{0cm}{0.8cm}\\\hline \end{tabular} x x+1 √ x x2 n 73 5.8 Ancho de las columnas En general, el entorno tabular ajusta el ancho de las columnas de acuerdo a el ancho de lo que contienen, esto hace que a veces se exceda el ancho de la página. Se puede controlar el ancho de las columnas indicandole al entorno el tamaño de cada columna. Esto se hace con la instrucción p{xcm} donde xcm es el ancho de la columna. Si tenemos texto, el cambio de renglón se debe forzar con el comando \par (fin de párrafo). Ejemplo 5.11 (Ancho de las columnas). En este ejemplo definimos un ambiente tabular con dos columnas, la primera de 3cm y la segunda de 10cm. Esto se hace con las intrucciones p{3cm} y p{10cm} en las opciones de alineamiento. Para hacer el cambio de renglón se usa el comando \par al final del renglón. Este comando indica el final de un párrafo y por lo tanto, el final de la línea. El código: \begin{tabular}{|p{3cm}|p{10cm|}\hline \textit{Representación} & \textit{Notación} \\\hline $R_{4-4,2 }(O_{6})$ \par $R_{4}^{4-4,2 }(O_{6})$ & Representación 3, en registro algebraico ($R^{4})$ en $\R$), interpretación de la letra como incógnita (2), de la relación entre volumen-altura-radio del vaso unidad ($O_{6}):\; U = \pi 2r^{2}h$ \par %Fin de párrafo Representación 4, en registro algebraico ($R^{4})$ en el conjunto de los números reales (4), interpretación de la letra como incógnita (2), de la relación entre volumen-altura-radio del vaso unidad ($O_{6}): h = U/\pi 2r^{2}$. \\\hline $R_{4-1,1 }(O_{8})$ & Representación 6, en registro algebraico ($R^{4})$ en el conjunto de los números naturales (1), interpretación de la letra como evaluada (1), altura 10 y radio de los recipientes $3,\;6,\;9,\;12 \;(O_{8})$ \\\hline \end{tabular} produce: Representación R4−4,2 (O6 ) R44−4,2 (O6 ) R4−1,1 (O8 ) Notación Representación 3, en registro algebraico (R4 ) en R), interpretación de la letra como incógnita (2), de la relación entre volumen-altura-radio del vaso unidad (O6 ) : U = π2r2 h Representación 4, en registro algebraico (R4 ) en el conjunto de los números reales (4), interpretación de la letra como incógnita (2), de la relación entre volumen-altura-radio del vaso unidad (O6 ) : h = U/π2r2 . Representación 6, en registro algebraico (R4 ) en el conjunto de los números naturales (1), interpretación de la letra como evaluada (1), altura 10 y radio de los recipientes 3, 6, 9, 12 (O8 ) 74 TABLAS Y OBJETOS FLOTANTES El siguiente ejemplo es un poco más elaborado, Ejemplo 5.12 (Texto e imágenes en columnas) El código: \begin{table}[h] \centering \begin{tabular}{|p{6.5cm}|p{6.5cm}|}\hline \begin{center} \includegraphics[width=6.5cm]{images/Utilizacion4.pdf} \par\textbf{PROPOSICI\’{O}N I} \par\textbf{Problema} \end{center} 4. TOMAR la diferencia de varias cantidades sumadas, o sustraídas ... & %Cambio de columna \begin{center} \includegraphics[width=6.5cm]{images/Utilizacion5.pdf} \par\textbf{REGLA I} \par\textbf{\textit{Para las cantidades sumadas o sustraídas}} \end{center} Tomemos la diferencia de cada término de la cantidad propuesta, y ...\\\hline \end{tabular} \caption{La tabla muestra el modelo:...}\label{ML:tabla_escalada2} \end{table} produce: REGLA I Para las cantidades sumadas o sustraídas PROPOSICIÓN I Problema Tomemos la diferencia de cada término de la cantidad propuesta, y ... 4. TOMAR la diferencia de varias cantidades sumadas, o sustraídas ... Alineamiento horizontal: \raisebox{}{} Si las imágenes están en la primera columna es probable que éstas queden alineadas arriba de la caja y el texto quede alineado en el fondo de su caja. Por ejemplo, en el código \begin{tabular}{p{5cm}c} Afirmaci\’{o}n: $\mu\leq9$\par $H_{0}:\mu=9\left( \leq\right),\quad H_{1}:\mu>9$% & \includegraphics{images2011/cap6_fig20} \end{tabular} 75 produce: Aceptación Rechazo Afirmación: µ ≤ 9 H0 : µ = 9 (≤) , H1 : µ > 9 Podemos alinear horizontalmente texto y figuras de manera manual aplicando un desplazamiento hacia arriba o hacia abajo del contenido de la celda con \raisebox{...}{...}. En el código anterior, podríamos poner el texto en el ambiente tabular y la figura a la par, aplicando un desplazamiento hacia abajo (en este caso -0.3in es suficiente), El código: \begin{center} \begin{tabular}{c} % Texto Afirmaci\’{o}n$:\mu\leq9$\\ $H_{0}:\mu=9\left( \leq\right) ,\quad H_{1}:\mu>9$ \end{tabular} % Subimos el gráfico -0.3 pulgadas \raisebox{-0.3in}{\includegraphics{images2011/cap6_fig20}} \end{center} produce: Afirmación: µ ≤ 9 H0 : µ = 9 (≤) , H1 : µ > 9 Aceptación Rechazo Ejemplo 5.13 (Figuras en el margen izquierdo) En este ejemplo el texto en la derecha no alinearía bien con la figura, la solución es subir un poco el texto. El código: \hspace*{-2.8cm} \begin{tabular}{p{2cm}p{13cm}} \includegraphics[width=2cm]{images/exersolido21.pdf} & \raisebox{0.5cm}{Sólido $Q$ limitado por las superficies $y = 2 - 2 x^2;$ $y = 1 - x^2; \;\; y + 2 z = 2; \;\; x = 0$ y $z = 0;$ en el I octante.}\\ \end{tabular} produce (compilado con PDFLaTeX): Z 1 1 1 X 2 Y Sólido Q limitado por las superficies y = 2 − 2x2 ; y = 1 − x2 ; y + 2z = 2; x = 0 y z = 0; en el I octante. 76 TABLAS Y OBJETOS FLOTANTES 5.9 Modo matemático en tablas con tabularx A veces es conveniente usar el ambiente tabular habilitado para texto matemático. Esto se puede hacer con el paquete tabularx. Debemos poner en el preámbulo \usepackage{tabularx} Este paquete habilita el comando newcolumntype para definir columnas con contenido en modo matemático. Ejemplo 5.14 En este ejemplo se habilita el ambiente tabular para texto matemático. Observe que se usa una línea ‘invisible’ de altura 1cm para crear espacio vertical en la columna donde el texto matemático quedaría algo ajustado. También se hace espacio hacia abajo con -0.3cm. El código: %Las columnas M aceptan texto matemático |c| \newcolumntype{D}{>{$\displaystyle}c<{$}} %Las columnas N aceptan texto matemático |l| \newcolumntype{M}{>{$}l<{$}} %Se usa ’tabular’ normal. \begin{tabular}{|D|D|D|D|M|D|M|r|}\hline n & -1 & 0 & 1 & 2 & 3 & 5 & 5 \\ \hline a_n & 8 & 5 & 2 & 2 & 4 & n & n \\ \hline r_n & 0 & 1 & 2 & 5 & 22 & 444 & 444 \\ \hline s_n & 1 & 0 & 1 & 2 & 9 &7& 7\\ \hline F & 0 &-2 &\frac{n}{4}& \frac{n}{4} & n^2 & 2 & 2 \rule[-0.3cm]{0cm}{1cm}\\ \hline \end{tabular} produce: 5.10 n an rn sn −1 8 0 1 0 5 1 0 1 2 2 1 2 2 5 2 3 4 22 9 5 n 444 7 F 0 −2 n 4 n 4 n2 2 5 n 444 7 2 Problemas con los objetos flotantes: Paquete float Es común tener problemas en la manera como LaTeX acomoda los gráficos. Una manera de tomar control sobre la ubicación de los gráficos es usar el paquete float; para esto, agregamos en preámbulo, \usepackage{float}. Ahora, en vez de digitar \begin{table}[h] o \begin{tabular}[h], digitamos \begin{table}[H] o \begin{tabular}[H] (con H): El gráfico o la tabla quedará donde está haya o no haya espacio. 77 5.11 Tablas sofisticadas con TikZ Podemos usar el paquete TikZ para agregar sofistificación a nuestras tablas. Por ejemplo, consideremos la siguiente tabla (idea de Stefan Kottwitz en "TiKz examples"), Ranking de distribuciones Linux. Augusto 26, 2009. Puesto 1 2 3 4 5 6 7 8 9 10 Distribución Ubuntu Fedora Mint OpenSUSE Debian Mandriva PCLinuxOS Puppy Sabayon Arch Visitas diarias 2114 1451 1297 1228 910 907 764 738 671 625 ↓ ↑ – ↑ ↓ ↑ ↑ ↑ ↑ ↓ Datos de DistroWatch.com. Abarcan los últimos 6 meses. Visitas por día En el código reconocerá algunos comandos que ya hemos usado pero requiere conocer un poco del paquete TikZ. Sin embargo no hay problema en usar este código como plantilla, siempre y cuando se incluya los paquetes que se indican!. \documentclass[xcolor=pdftex, x11names,table]{article} \usepackage[latin1]{inputenc} \usepackage{amsmath,amssymb,amsfonts,latexsym,stmaryrd} \usepackage{tabularx} \usepackage{colortbl} \usepackage{tikz} \usetikzlibrary{calc} \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,main,foreground} %comandos especiales \newcommand*\up{\textcolor{black}{% \ensuremath{\uparrow}}} \newcommand*\down{\textcolor{red}{% \ensuremath{\downarrow}}} \newcommand*\const{\textcolor{darkgray}% {\textbf{--}}} \begin{document} \textbf{\large \color{Tan4} Ranking de distribuciones Augusto 26, 2009.} \begin{center} \begin{tikzpicture} \node (tbl) { \rowcolors{1}{}{gray!5} Linux. 78 TABLAS Y OBJETOS FLOTANTES \begin{tabularx}{.8\textwidth}{cXrcc} \textbf{\color{white} Puesto} & \textbf{\color{white} Distribuci\’on} & \textbf{ \color{white} Visitas diarias} & \\ 1 & Ubuntu & 2114 & \down \\ 2 & Fedora & 1451 & \up \\ 3 & Mint & 1297 & \const \\ 4 & OpenSUSE & 1228 & \up \\ 5 & Debian & 910 & \down \\ 6 & Mandriva & 907 & \up \\ 7 & PCLinuxOS & 764 & \up \\ 8 & Puppy & 738 & \up \\ 9 & Sabayon & 671 & \up \\ 10 & Arch & 625 & \down \\ \end{tabularx}}; \begin{pgfonlayer}{background} \draw[rounded corners,top color=red,bottom color=black, draw=white] ($(tbl.north west)+(0.14,0)$) rectangle ($(tbl.north east)-(0.13,0.9)$); \draw[rounded corners,top color=white,bottom color=black, middle color=red,draw=blue!20] ($(tbl.south west) +(0.12,0.5)$) rectangle ($(tbl.south east)-(0.12,0)$); \draw[top color=blue!1,bottom color=blue!20,draw=white] ($(tbl.north east)-(0.13,0.6)$) rectangle ($(tbl.south west)+(0.13,0.2)$); \end{pgfonlayer} \end{tikzpicture} \end{center} \small Datos de DistroWatch.com. Abarcan los \’ultimos 6 meses. Visitas por d\’ia \normalsize \end{document} Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 6 6.1 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX Introducción Además de texto corriente y texto en modo matemático, podemos insertar figuras tales como gráficos y figuras en los formatos .pdf, .png, .jpg y .eps., o figuras nativas, generadas directamente con algún paquete LATEX (Tiks, PSTricks, TeXDraw,...). Otros formatos, como .gif, .tiff, etc., se pueden convertir a los formatos soportados con programas (libres) como Inkscape, Gimp, etc. ¿Cuál es el formato de imagen adecuado? Los formatos .eps (Encapsulated PostScript) y .pdf son adecuados para las figuras usuales en matemáticas. Se ven bien en pantalla y son adecuados para la impresión. Para el manejo de imágenes generales (capturas de pantalla, fotografía, etc.) es conveniente usar el formato .png o .jpg. Como dijimos, los otros formatos (.gif, .wmf,... etc.) se pueden convertir a los formatos soportados con programas, por ejemplo Gimp, Inkscape o usando el comando convert de imageMagik. ¿Cómo insertar las figuras? Aquí vamos a describir la manera fácil de insertar figuras. Todo el manejo gráfico lo vamos a hacer usando el paquete graphicx. En lo que sigue, vamos a considerar las siguientes tareas, 1 Insertar figuras .eps (PostScript Encapsulado): Este es un formato de alta calidad y el de mayor soporte en LATEX (aunque el formato .pdf ha ganado mucho terreno). 2 Insertar figuras .jpg, .png, .pdf, etc. 3 Insertar figuras cuando compilamos con PDFLaTeX 4 Convertir imágenes a otro formato con Software libre. 5 Extraer figuras de libros o de Internet. 6 Crear figuras nativas con Tikz, LaTeXDraw. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 79 80 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX 6.2 Compilando con LaTeX. Figuras .eps Si compilamos con LaTeX, obtendrá un DVI el cual podrá ver con un visualizador para DVI (Yap en Windows, Okular en Ubuntu, por ejemplo). LATEX tiene un gran soporte para imágenes .eps En muchos programas podemos guardar (o convertir) nuestros gráficos en este formato: Inkscape, Mathematica, MatLab,QtOctave,WinPLot, Geogebra, etc. Este formato es adecuado para gráficos simples y complejos, pero no es adecuado para fotos, ‘pantallazos’, etc. Convertir otras imágenes a formato .eps Podemos convertir imágenes en formato .pdf, .png, .jpg, .gif, etc. a formato .eps; esto se puede hacer, por ejemplo con Inkscape o con Gimp (ver apéndice D); solo debe abrir los archivos con alguno de estos programas (posiblemente editar algo adicional) y guardar como .eps Incluir las figuras .eps Para incluir las figuras .eps en su documento, se debe agregar el paquete graphicx en el preámbulo y los gráficos se incluyen con el comando \includegraphics{}. \includegraphics[opciones]{ nombre y ruta de la imagen...} Como es natural, los gráficos se deben escalar para que se acomoden al texto. El escalamiento se puede hacer especificando el ancho width =xcm, y el alto height =xcm (juntos o ambos por separado) o especificando porcentaje de escalamiento: scale=x donde x es el porcentaje en decimales. Ejemplo 6.1 En este ejemplo vamos a incluir el gráfico elipse.eps que está en la subcarpeta images de la carpeta en la que está nuestro archivo .tex. Descargar archivo .tex El texto: produce: \documentclass{article} %Compilar -> LaTeX \usepackage{graphicx} Elipse. Y \begin{document} \begin{center} Elipse.\\ %Se escala a un ancho de 4cm \includegraphics[width=4cm]{images/elipse.eps}\\ \end{center} \end{document} X 81 Ejemplo 6.2 (Gráfico en ambiente figure) El texto: Descargar archivo .tex \documentclass{article} %Compilar -> LaTeX \usepackage{graphicx} \begin{document} Consideremos ahora una rotación de ... \begin{figure}[h!]%Ambiente ’figure’ \centering %imagen sin escalar \includegraphics{images/figura4.eps} \caption{Rotación de ángulo $\theta$.}\label{figura4} \end{figure} \end{document} produce: Consideremos ahora una rotación de ... Y Figura 6.1 Rotación de ángulo θ . Opciones adicionales Cuando compilamos con LaTeX el comando includegraphics tiene varias opciones, Opción \width=xcm \height=xcm \scale=x \trim=lcm bcm rcm tcm \clip Escala la imagen especificando el ancho deseado y manteniendo la proporción. Escala la imagen especificando el alto deseado y manteniendo la proporción. Escala la imagen según una proporción: scale=0.5 indica escalar la imagen a la mitad y scale=0.5 escala la imagen al doble. Esta opción recortar la imagen: lcm a la izquierda, bcm en la parte inferior, rcm a la derecha, y la tcm en la parte superior. l, b, r y t son longitudes. Para que la opcióm trim trabaje se debe establecer clip=true. 82 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX Ejemplo 6.3 Continuando con el ejemplo anterior, vamos a incluir el gráfico ubuntu, que está en la subcarpeta images de la carpeta en la que está nuestro archivo .tex, con un par de opciones más. produce: El texto: Logo centrado y escalado 3cm \documentclass {article} %Compilar -> LaTeX \usepackage{graphicx} \begin{document} Logo centrado y escalado a {\tt 3cm} \begin{center} \includegraphics[width=3cm]{images/ubuntu.eps} \end{center} En la figura \ref{fig:ubuntu} se muestra el logo de Ubuntu, centrado y escalado, en un ambiente {\tt figure}\\ En la figura 6.2 se muestra el logo de Ubuntu, centrado y escalado, en un ambiente figure \begin{figure}[h!] \centering \includegraphics[scale=0.2]{images/ubuntu.eps} \caption{Logo de Ubuntu}\label{fig:ubuntu} \end{figure} \end{document} Figura 6.2 6.3 Logo de Ubuntu Compilando con PDFLATEX. Figuras .pdf, .jpg, .png y .eps Este libro fue compilado con PDFLaTeX con TeXLive 2012. Usa todas las figuras soportadas por PDFLATEX, es decir figuras .png, .pdf, .jpg. y .eps. En realidad, el formato .eps no está soportado, pero esta versión hace la conversión de .eps a .pdf en el proceso de compilación. PDFLaTeX con distribuciones TexLive 2010 o superior. Si su distribución TEX es TeXLive 2010 o superior entonces, si compila con PDFLaTeX puede incluir gráficos en formato .png, .pdf, .jpg. y .eps. sin ningún problema. Se usa como antes el comando \includegraphics{} \includegraphic[opciones]{ ruta de la figura } Como antes, las opciones para escalar la figura son width, height y scale. Para rotarla se usa la opción angle y para ’recortarla’ (clip) se usa la opción clip. También se puede usar el 83 comando sin ninguna opción. PDFLaTeX, con TeXLive 2010 o superior, soporta .png, .pdf, .jpg y si encuentra figuras .eps hace la conversión .pdf PDFLaTeX, con MikTeX 2.9 o con TeXLive 2009, solamente soporta .png, .pdf, .jpg. Si fuera necesario, se puede habilitar la conversión de .eps a .pdf. Ver más abajo. Ejemplo 6.4 En este ejemplo vamos a incluir dos gráficos, uno en el ambiente figure y el otro simplemente centrado. Estas figuras fueron implementadas primero en Wolfram Mathematica 8 y luego fueron editadas y modificadas con Inkscape y el texto matemático se agregó con la extensión texttex de Inkscape. Los gráficos están en una subcarpeta images de la carpeta en la que está nuestro archivo .tex. Descargar archivo .tex El texto: produce: \documentclass{article} \usepackage{graphicx} Consideremos ahora ... \begin{document} %Compilar con PDFLaTeX Consideremos ahora el paralelepípedo \begin{figure}[h!]%Ambiente ’figure’ \centering %imagen sin escalar \includegraphics{images/figura3.pdf} \caption{Un paralelepípedo}\label{figura3} \end{figure} Ahora consideremos el sólido $Q$... \begin{center} %Escalada a 4cm de ancho \includegraphics[width=5cm]{images/figura4.pdf} \end{center} \end{document} Figura 6.3 Un paralelepípedo Ahora consideremos el sólido Q... 84 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX Ejemplo 6.5 (PDFLaTeX con distribuciones TexLive 2010 o superior). En este ejemplo vamos a incluir la misma figura, pero en distintos formatos. Observe que, como estamos usando la distribución Texlive2012, podemos incluir figuras .eps sin problema. En otras distribuciones habría que hacer algunos cambios para hacer esto. El texto: Descargar archivo .tex \documentclass{article} \usepackage[total={18cm,21cm},top=2cm, left=2cm]{geometry} \usepackage{graphicx} \begin{document} % Compilar con opción PDFLATEX con TeXLive2010 o superior. \begin{tabular}{cccc} Logo \wn{.pdf} & Logo \wn{.jpeg} & Logo \wn{.png} & Logo \wn{.eps}\\ \includegraphics[width=2cm]{images/ubuntu2.pdf} % ancho 2cm & \includegraphics[scale=0.2]{images/ubuntu3.jpg} % Escalada 20% & \includegraphics[height=2cm]{images/ubuntu4.png}% altura 2cm & \includegraphics[width=1.5cm]{images/ubuntu1.eps}\\%Conversión a pdf \end{tabular} \end{document} produce: Logo .pdf Logo .jpeg 2 Logo .png Logo .eps 1 PDFLaTeX con MikTeX 2.9 o con TeXLive 2009 o menos. Si su distribución TEX es MikTeX 2.9 (al 2013 es la versión más reciente) o TeXLive 2009 o menos, entonces si compila con PDFLaTeX puede incluir gráficos en formato .png, .pdf, .jpg. sin ningún problema. Se usa el mismo código del ejemplo anterior (excepto para figuras .eps). Nota: ¿Desea habilitar el paquete epstopdf en MikTeX2.9? Si desea compilar con PDFLaTeX y habilitar la faceta de conversión sobre la marcha de figuras .eps a .pdf con MikTeX 2.9 o TeXLive 2009, deberá agregar en el preámbulo \usepackage{pdftopdf}. Pero tam- bién debe habilitar la opción shell escape para que se puede ejecutar la conversión (llamando a un programa externo). Para hacer esto se debe ir al menú de configuración del editor y en la entrada PdfLaTex deberá agregar -shell-escape de tal manera que quede PdfLaTeX -synctex=1 -interaction=nonstopmode -shell-escape luego debe reiniciar el editor. 85 Ejemplo 6.6 (Compilando con PDFLaTeX. Opciones). En este ejemplo se muestra una figura .pdf (que está en la misma carpeta que el archivo .tex) y el efecto de aplicar las opciones de escalamiento, rotación y ’recorte’. El código \begin{tabular}{|c|c|}\hline \verb+\includegraphics{fig.pdf}+ & \verb+\includegraphics[scale=0.8]{fig.pdf}+ \\ \hline \includegraphics{fig1.pdf} & \includegraphics[scale=0.8]{fig1.pdf} \\ \hline \verb+\includegraphics[width=0.2\textwidth]{fig.pdf}+ & \verb+\includegraphics[angle=-45]{fig.pdf}+ \\ \hline \includegraphics[width=0.2\textwidth]{fig.pdf} & \includegraphics[width=2cm, angle=-45]{fig.pdf} \\ \hline \verb+\includegraphics[width=2cm,height=4cm]{fig.pdf}+ & \verb+\includegraphics[trim=2cm 2cm 4cm 0cm,clip]{fig.pdf}+ \\ \hline \includegraphics[width=2cm, height=4cm]{fig.pdf} & \includegraphics[trim = 2cm 2cm 4cm 0cm, clip]{fig.pdf} \\ \hline \end{tabular} produce: \includegraphics{fig.pdf} \includegraphics[scale=0.8]{fig.pdf} \includegraphics[width=0.2\textwidth]{fig.pdf} \includegraphics[angle=-45]{fig.pdf} \includegraphics[width=2cm,height=4cm]{fig.pdf} \includegraphics[trim=2cm 2cm 4cm 0cm,clip]{... 86 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX Para incluir figuras, sin reparar en la extensión, se debe poner en el preámbulo \usepackage{graphicx} \DeclareGraphicsExtensions {.pdf,.png,.jpg} % busca en este orden! Ejemplo 6.7 En este ejemplo vamos a insertar las figuras geometria1.pdf, gauss.png, lioville.jpg y la figura coodesfericas.pdf. El código: \documentclass {article} \usepackage{graphicx} \DeclareGraphicsExtensions{.pdf,.png,.jpg}% No es necesario % indicar extensión. \begin{document} % Compilar PDFLaTeX \begin{center} \begin{tabular}{|c|c|}\hline \includegraphics[width=4cm]{images/geometria} &\includegraphics[width=4cm]{images/gauss}\\\hline \includegraphics[width=4cm]{images/lioville} &\includegraphics[width=4cm]{images/coodesfericas}\\\hline \end{tabular} \end{center} \end{document} produce: Z Z ϕ=π/4 X Y X θ Y 87 6.4 Edición adicional de figuras con Inkscape Los gráficos y figuras se pueden editar usando Inkscape. Este software libre admite figuras en muchos formatos y podemos guardar en formatos como .eps, .pdf o .png (este último con el menú Archivo-Exportar). Un manual se puede encontrar en la Revista digital Matemática, Educación e Internet. Instalación: Ver apéndice D. Con Inkscape podemos abrir archivos (libros) en formato .pdf y tomar figuras y editarlas y/o modificarlas. Hay que recordar que las figuras en formato .pdf y .eps (entre otros) se pueden ’desagrupar’ y modificar (vienen en formato vectorial). Esto no se puede hacer con las figuras en formatos .jpg, .png etc. Pero la faceta principal para nuestros propósitos es que podemos agregar texto LATEX desde Inkscape. Agregando texto matemático con la extensión TeXtext TeXText es una extensión de Inkscape. Una vez instalada (para Ubuntu ver apéndice D y para Windows ver apéndice D.1) se accede a ella con Herramientas-TeX text. Se puede usar para agregar texto LaTeX. La figura que sigue fue elaborada con Inkscape, el texto matemático adicional se agregó con la extensión TeXtext. En la opción Preamble file se puede agregar un archivo que indica los paquetes y comandos que se desea usar. 88 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX En general, implementamos gráficos y figuras en algún software (Winplot, Geogebra, Mathematica, MatLab, wxmaxima, etc.) y guardamos en formato .eps o en formato .pdf. Luego los abrimos con Inkscape y los editamos y mejoramos. Para el siguiente ejemplo, que trata sobre el teorema del valor medio para derivadas, primero implementamos la gráfica, digamos en Mathematica o cualquier otro software que permita graficar. Luego guardamos la figura como .eps o como .pdf, ambos formatos permiten abrir la figura con Inkscape, ’desagruparla’ y mejorarla, Implementar en Mathematica (Guardar como .pdf) Abrir con Inkscape y editar. 89 Ejemplo 6.8 La figura (6.4) fue implementada en Wolfram Mathematica y editada con Inkscape y guardada en formato .pdf (este documento se compiló con PDFLaTeX) \begin{figure}[h!] \begin{minipage}[b]{0.5\linewidth} %\newtheorem{teo}{Teorema} está en el preámbulo \begin{teo}[Teorema del valor Medio] Sea $f(x)$ continua en $[a,b]$ y derivable en $]a,b[,$ entonces $\exists\,\xi \in\,]a,b[$ tal que $$f(a)-f(b)= f’({\red\xi})(b-a)$$. \end{teo} En particular, siendo $f(x)=6-(x-2)^3+x$, $a=2$ y $b=4 \;$ $\Rightarrow {\red \xi} = {2 \over 3}(3+\sqrt{3})$ . \end{minipage} \hfill\begin{minipage}[b]{0.45\linewidth} \includegraphics[scale=0.7]{images/ML_fig10}%.pdf \caption{{\small Teorema del valor medio}} \label{Calculo:fig...} \end{minipage} \end{figure} produce: Teorema 6.1 (Teorema del valor Medio) Sea f ( x ) continua en [ a, b] y derivable en ] a, b[, entonces ∃ ξ ∈ ] a, b[ tal que f (b) − f ( a) = f 0 (ξ )(b − a) a En particular,√ siendo f ( x ) = 6 − ( x − 2)3 + x, a = 2 y b = 4 2 ⇒ ξ = 3 (3 + 3) . Figura 6.4 ξ b Teorema del valor medio Recortando figuras de la pantalla Entre las opciones que tenemos para recortar figuras en la pantalla están (ver ??), Shutter para Ubuntu: Shutter es un programa de captura de pantalla con muchas carac- terísticas. Se puede hacer una captura de pantalla de un área específica, ventana, pantalla completa, o incluso de un sitio web y luego aplicar diferentes efectos a la misma. 90 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX FastStone 5.3 (esta es la versión libre, se puede buscar en Google exactamente con este nombre) para Windows: FastStone Capture es un programa de captura y edición de pantallas, similar a Shutter. La versión actual es la 7.3 pero la versión 5.3 es libre para uso personal y viene con la mayoría de facetas que nos interesan. FastStone 5.3 Herramienta de selección 91 Ejemplo 6.9 (Usando Shutter para recortar) He aquí un ejemplo de dos imágenes tomadas de Wikipedia (www.wikipedia.org). Para recortarlas de la pantalla de la PC se usó Shutter (estamos en Ubuntu!) y luego se guardó en formato .pdf (estamos compilando con PDFLaTeX), Shutter Recorte con la herramienta selección [Enter] La selección en Shutter Errores relacionados con “BoundingBox’. En la compilación, ya sea LaTeX o PDFLaTeX, a veces se observa el mensaje de error: Error: Cannot determine size of graphic (no BoundingBox) Esto sucede cuando una imagen no viene con las dimensiones (BoundingBox) de la caja. La manera fácil de resolver este problema es abrir la imagen, digamos con Inkscape y guardar la imagen de nuevo. Si abrimos la imagen en Adobe Illustrador, por ejemplo, para aplicar las dimensiones correctas, se debe ir a File-Document Setup y poner las dimensiones adecuadas para que la figura se ajuste a la región. Resolución de la imagen. Los gráficos se ven bien en los formatos .eps o .pdf pero las imágenes (fotos, etc.) se ven mejor en formato .png o .pdf. En general, la resolución mejora si las figuras originales son lo suficientemente grandes. Cuando se gana en resolución el tamaño del PDF aumenta. 6.5 De nuevo: Paquete float Es común tener problemas en la manera como LaTeX acomoda los gráficos. Una manera de tomar control sobre la ubicación de los gráficos es usar el paquete float; para esto, agregamos en preámbulo, \usepackage{float}. Ahora, en vez de digitar \begin{table}[h] o \begin{tabular}[h], digitamos \begin{table}[H] o \begin{tabular}[H] (con H): El gráfico o la tabla quedará donde está. 92 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX 6.6 Paquete subfigure A veces tenemos varias figuras y nos encantaría poner un \caption a cada una en un mismo ambiente figure. Esto lo podemos hacer si usamos el paquete \usepackage{subfigure}. El siguiente ejemplo ilustra su uso. Ejemplo 6.10 El código: \begin{figure}[h!] \centering \subfigure[Converge]{\includegraphics[scale=0.5]{images/newton6}} \subfigure[Diverge]{\includegraphics[scale=0.5]{images/newton5}} \subfigure[Ciclo]{\includegraphics[scale=0.5]{images/newton4}} \caption{Iteración de Newton} \end{figure} produce: x2 x3 -1 1 x2 x1 (a) Converge 0 x1 x0 x2 x4 x0 = x5 x4 6 (b) Diverge Figura 6.5 6.7 x3 (c) Ciclo Iteración de Newton Los ambientes wrapfigure y floatflt Otros ambientes flotantes muy útiles son wrapfigure y floatflt, para poderlos utilizar se deben cargar en el preámbulo sus paquetes respectivos con las instrucciones \usepackage{wrapfig} %Figuras al lado de texto \usepackage[rflt]{floatflt} %Figuras flotantes entre el texto wrapfigure El ambiente wrapfigure permite incluir gráficos o texto en un recuadro al lado del documento, LATEX se encarga de acomodar el texto del documento alrededor del recuadro introducido. Con este ambiente se introdujo la foto de D. Knuth al inicio de este documento. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 93 Ejemplo 6.11 El código \begin{wrapfigure}{r}{2.5cm} \includegraphics{images/ML_fig11.pdf} \end{wrapfigure} Al incluir un recuadro con ... produce: Al incluir un recuadro con \wrapfigure se debe tomar algunas cosas en cuenta: En la definición {r} significa que el recuadro se introducirá a la derecha del texto, también se puede utilizar {l} para que sea a la izquierda. El ambiente se debe iniciar entre párrafos, es decir, es problemático escribir un ambiente wrapfigure en medio de un párrafo. El recuadro será introducido justo al lado del párrafo siguiente de la definición del ambiente. La separación del recuadro con el texto está dado por la instrucción \columnsep del preámbulo. En realidad este ambiente no es “flotante”, es decir, en este caso el recuadro se introduce justo en el párrafo donde uno quiere, por lo tanto, es nuestra responsabilidad que el recuadro se “vea” bien (que no quede cortado entre páginas o cosas de este estilo); se recomienda revisar todos los gráficos o texto introducido con este comando al obtener la versión final del documento. Este comando es frágil, por lo que no se puede utilizar dentro de otros ambientes, sin embargo, sí se puede utilizar en párrafos con multicolumnas. Por último, el ambiente puede presentar problemas cuando el texto alrededor del recuadro no lo cubre por completo, en estos casos es mejor utilizar \parbox o minipage. Note que la gran ventaja que tiene este ambiente (sobre \parbox, por ejemplo) es que no hay que preocuparse por la cantidad de texto que hay en cada columna, LATEX se encarga de la distribución de manera automática. floatflt El ambiente floatflt es muy similar a wrapfigure ya que permite la inserción de un objeto flotante rodeado de texto; en este caso LATEX se encarga de acomodar el texto alrededor de él. Para poder utilizar este ambiente se necesita incluir la librería, para esto, se coloca en el preámbulo la instrucción \usepackage[rflt]{floatflt} LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 94 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX 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. Por ejemplo, el texto: \begin{floatingfigure}[r]{4.5cm} \includegraphics{images/ML_fig12} \caption{Un poliedro} \end{floatingfigure} Este ambiente s\’olo funciona ... produce: Este ambiente sólo funciona si se pone antes de un párrafo, la figura aparecerá lo más cerca del lugar en donde se haya escrito, esto quiere decir que LATEX primero intenta poner la figura en la página actual, si no encuentra suficiente espacio vertical entonces la coloca en la página siguiente. El argumento [r] es un argumento opcional que hace que el gráfico salga a la derecha del texto (no importa lo que se haya puesto al cargar la librería). Aunque el ambiente floatflt sí trabaja en páginas a doble Figura 6.6 Un poliedro columna se debe tener cuidado si el gráfico sobrepasa el ancho de la columna porque sino el gráfico quedará encimado sobre la columna contigua. Tampoco se debe usar el ambiente muy cerca del final de una sección, sino el gráfico quedará encimado. en la sección siguiente. Si se escribe el ambiente en el primer párrafo de una página es posible que el gráfico aparezca más abajo, es decir, el ambiente no coloca figuras al inicio de la página y, en el peor de los casos, la figura nunca aparecerá. 6.8 Crear figuras nativas con TikZ El ambiente picture de LaTeX es un ambiente especial para insertar figuras implementados con comandos relativamente simples. Las figuras generadas en el ambiente picture de LaTeX quedan insertadas de manera automática en el documento. Programar los gráficos permite tener un control absoluto y preciso sobre todos los detalles, realizar gráficos sencillos es también muy rápido. Por otra parte, hay nuevo lenguaje que aprender, no tiene una interfaz gráfica y el código (por más sencillo que sea) no permite ver inmediatamente como se verá finalmente el gráfico. Existen varios editores que permiten hacer figuras y generan el código LaTeX, listo para introducirlo en nuestro documento. Paquete Tikz Este es un paquete para crear gráficos para documentos LATEX usando un ambiente ‘tikzpicture’ y comandos especiales para dibujar líneas, curvas, rectángulos, etc. Muy adecuado para trabajar con presentaciones Beamer. Si desea hacer un documento PDF, tenga en cuenta que los gráficos 95 permanecen si compila con PDFLaTeX (se puede usar con Beamer) no así con dvi,→pdf. Para usar el paquete se debe poner en el preámbulo \usepackage{etex}% Prevenir el error ’No room for a new \dimen’ \usepackage{tikz} La versatilidad de este paquete le permite crear gráficos hasta en el mismo texto usando el comando \tikz. Por ejemplo, podemos crear un círculo anaranjado como este: con el código ...como este:\tikz \fill[orange] (1ex,1ex) circle (1ex); con... Aquí el “;” es necesario. Para crear figuras complejas podemos usar el ambiente “tikzpicture”. Para dibujar líneas, rectángulo, círculos, etc., se usa \draw con las especificaciones respectivas. En el ejemplo que sigue se dibuja 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 la opción “[->]”. 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 relleno rojo, con extremo inferior izquierdo en (−1, −1) y extremo superior derecho en (0, 0) y un círculo con centro en (−0.5, −0.5) . Ejemplo 6.12 \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); %Relleno \filldraw[fill=red,even odd rule] (-1,-1) rectangle (0,0) (-0.5,-0.5) circle (0.4cm); \draw[->] (-0.9,-0.2) -- +(0,1) [above] node{Relleno}; \end{tikzpicture} Relleno Representación gráfica de una función con TikZ Para graficar funciones usamos el comando \plot. La variable x se escribe en el código como \x y el dominio [ a, b] se especifica con la opción domain=a:b del comando draw. 96 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX Ejemplo 6.13 El código: \begin{tikzpicture}[scale=0.8] \draw[->] (-1,0) -- (4,0) node[right] {$x$};%Segmento de (-1,0) a (4,0) \draw[->] (0,-1) -- (0, 2) node[left] {$y$}; % Dominio: domain = a:b? \draw[smooth, domain = 0:2, color=red] plot (\x,\x) node[right] {$y = x$}; \draw[smooth, domain = -2:2, color=blue] %\x r indica que x se mide en radianes? plot (\x,{sin(2*\x r)+1}) node[right] {$y = \sin(2*x)+1$}; \draw[smooth, domain = -1:1, color=black] plot (\x,{exp(\x)}) node[right] {$y = e^x$}; \end{tikzpicture} produce: y = ex y y=x y = sin(2 ∗ x ) + 1 x Bolas 3D En la sección de listas enumeradas (3.4.1) ya se indicó como crear listas con ‘bolas’ 3D usando comandos TikZ. Podemos agregar puntos individuales a los ítems, agregando al preámbulo los nuevos comandos %Uso: \item[\tpto] \newcommand {\tpto}{\tikz \shadedraw [shading=ball] (0,0) circle (.1cm);} %Uso: \item[\ttpto{1}] \newcommand \wn{pto}[1]{ \begin{tikzpicture} \node[scale=.5, circle, shade, ball color=blue] {\color{white}\Large\textbf#1}; \end{tikzpicture}} Un manual muy detallado de TikZ se puede obtener en http://www.ctan.org/tex-archive/ help/Catalogue/entries/pgf.html Otras programas PStricks. Paquete parecido, en general, a TikZ LaTeXDraw. Este es un editor visual gratuito y multiplataforma (implementado en Java) basado en PsTricks. LaTeXDraw genera el código LaTeX de las figuras. LaTeXDraw se puede obtener en http://latexdraw.sourceforge.net/download.html ( debe tener habilitado Java http://www.java.com/es/download/). 97 Figura 6.7 Editor LaTeXDraw El ambiente es similar a ambientes comerciales de dibujo. Las opciones de dibujo se obtiene con el clic derecho. El código LaTeX de la figura (para pegar en nuestro documento) se puede obtener con el menú Code - copy all the code. Nota: Para generar un PDF correcto se debe hacer primero dvi -> ps y luego ps -> pdf. Para usar LaTeXDraw debemos poner en el preámbulo \usepackage[usenames,dvipsnames]{pstricks} \usepackage{epsfig} \usepackage{pst-grad} % Para gradientes \usepackage{pst-plot} % Para ejes Inkscape. Puede exportar sus figuras en formato PsTricks. PiCTex. Es un paquete con una colección de macros TEX para gráficos. 98 INSERTAR GRÁFICOS Y FIGURAS EN DOCUMENTOS LATEX Ejemplo 6.14 De la figura que se ve en el editor LaTeXDraw, en el ejemplo (6.8), se obtiene el código {\fboxsep 12pt \fboxrule 1pt% \scalebox{1} % Change this value to rescale the drawing. { \begin{pspicture}(0,-1.5)(3.101875,1.5) \definecolor{color2440}{rgb}{0.0,0.4,0.4} \rput(1.0,-0.5){\psaxes[linewidth=0.022, ticksize=0.10583333cm]{->}(0,0)(-1,-1)(2,2)} \psline[linewidth=0.04cm,linecolor=color2440, arrowsize=0.05291667cm 2.0, arrowlength=1.4,arrowinset=0.4]{->}(0.82,-0.78)(1.96,0.86) \usefont{T1}{ptm}{m}{n} \rput(2.5114062,0.43){$y = x$} \end{pspicture} } Ahora este código lo pegamos en nuestro documento y compilamos (con LaTeX) y obtenemos, 1 −1 y=x 1 −1 Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 7 CITAS BIBLIOGRÁFICAS CONSISTENTES CON BibTeX La bibliografía es una de las partes más importantes de un documento, esta permite hacer referencia a trabajos realizados anteriormente por otros autores. LATEX ofrece dos formas de realizar bibliografías en un trabajo: El entorno thebibliography y el uso de BibTEX. 7.1 Entorno thebibliography Para utilizar el entorno thebibliography se deben poner las referencias entre los comandos \begin{thebibliography}{99} . . . \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. Ejemplo 7.1 El texto: \begin{thebibliography}{99} \bibitem{Goossens} M. Goossens; F, Mittelbach; A. Samarin. {\it The \LaTeX Companion}. Addison-Wesley. 1993. \bibitem{Lamport} L. Lamport. {\it \LaTeX}. Addison-Wesley. 1996. \end{thebibliography} produce la bibliografía LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 99 100 CITAS BIBLIOGRÁFICAS CONSISTENTES CON BibTeX Ejemplo 7.2 El texto: En \cite{Goossens} y \cite{Lamport} se muestra como... produce las referencias Este entorno tiene la ventaja que las referencias se escriben directamente en el documento, las desventajas son que si se tiene otro documento que hace la misma referencia entonces hay que escribir la entrada en ambos documentos y sólo tiene un único formato para presentar la bibliografía, por ejemplo, si nos piden la bibliografía siguiendo las reglas de APA entonces utilizar el entorno thebibliography no sería apropiado. 7.2 BibTEX La segunda opción para realizar bibliografías es utilizar BibTEX, para este caso lo que se realiza es una “base de datos” de los libros en un archivo de texto aparte, este archivo se debe guardar en la misma carpeta del documento con extensión .bib. Este archivo se puede realizar con el Bloc de Notas en Windows o el Editor de Textos en Linux, en general funciona cualquier editor de texto plano. En el documento, donde se quiere que aparezca la bibliografía, se deben poner las instrucciones: \bibliographystyle{ESTILO} \bibliography{basededatos1[,basededatos2,...]} El estilo define cómo se presentará la bibliografía, entre los estilos más populares están: plain, apalike, alpha, abbrv, unsrt. Sin embargo, hay revistas o instituciones que manejan su propio estilo, en estos casos le brindan al usuario un archivo de estilo que se copia en la carpeta del documento. Se pueden tener varias bases de datos de bibliografía separadas, por ejemplo, se puede tener una para los libros de computación y otra para los libros de álgebra; si en algún momento se está escribiendo un artículo sobre álgebra computacional, es probable que se quiera hacer referencia a libros de ambas bases de datos, entonces en el comando \bibliography se ponen ambas bases. Una de las ventajas que tiene BibTEX es que, aunque la base de datos tenga muchas referencias, en la bibliografía del documento sólo aparecen las referencias a las entradas que aparecen citadas en el texto. Si se quiere que aparezca alguna entrada aunque no se cite en el texto se agrega la línea \nocite{Llave} y si se quiere que todas las entradas se pongan aunque nunca se citen se debe agregar la línea \nocite{*}. Cada entrada en el archivo .bib debe tener la siguiente estructura: @tipo{LLave, propiedad1="valor1", propiedad2="valor2", LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 101 ... } Donde el tipo se refiere al tipo de documento: artículo, libro, conferencia, etc. A conti-nuación se presentan los tipos permitidos: article book booklet conference inbook incollection inproceedings manual mastersthesis misc other phdthesis proceedings techreport unpublished La llave es la que se utiliza dentro del texto para hacer las citas con la instrucción \cite{Llave}. Las propiedades se refieren a los datos que se toman en las referencias: autor, título, editorial, año, etc. Las propiedades permitidas se enuncian a continuación. address abstract author booktitle chapter contents copyright crossref edition editor howpublished institution ISBN ISSN journal key keywords language month note number organization pages publisher school series title url volume year Las mismas entradas que se hicieron en la sección anterior, en BibTEX se pueden hacer en un archivo LaTeX.bib con los siguientes datos. @book{Goossens, author="Michel Goossens and Frank Mittelbach and Alexander Samarin", title="The \LaTeX Companion", editor="Addison-Wesley", year="1993" } @book{Lamport, author="Leslie Lamport", title="\LaTeX", editor="Addison-Wesley", year="1996" } En el texto se citaría igual que en el entorno thebibliography: En \cite{Goossens} y \cite{Lamport} se muestra como... Y la bibliografía se mostraría con: \bibliographystyle{apalike} \bibliography{LaTeX.bib} 102 CITAS BIBLIOGRÁFICAS CONSISTENTES CON BibTeX Figura 7.1 Bibliografía con el estilo APA En este caso se está utilizando el estilo del APA (American Psychological Association) para citar, el resultado se muestra en la figura 7.1. En las figuras 7.2 y 7.3 se muestran los resultados utilizando como estilo plain y alpha. Figura 7.2 Bibliografía con el estilo Plain Figura 7.3 Bibliografía con el estilo Alpha 103 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. 7.3 JabRef Existen algunos programas que facilitan la creación y el manejo de las bases de datos que utiliza BibTEX, uno de estos programas es JabRef, entre sus principales características es que es un programa gratuito y que se puede utilizar tanto en Windows como en Linux. Al abrir el programa se nos presenta una ventana sin nada más que el menú y las barras de herramientas, al hacer una nueva base de datos se nos abre la base en blanco, tal como se muestra en la figura 7.4. Figura 7.4 Pantalla principal de JabRef. Para hacer una nueva entrada en la base de datos se utiliza el menú BibTeX->New Entry o el botón de la barra de herramientas, a continuación sale una ventana con las opciones que hay para la referencia, tal como se muestra en la figura 7.6 Ahora aparecerá una ventana donde se pueden ir llenando los campos de la entrada, en las lengüetas de arriba se puede ir pasando entre los campos requeridos, los opcionales, los de datos generales, el abstract (resumen) y el review (revisión), la última es para ver la entrada de BibTEX en modo texto. En general se llenan los campos de los que se disponga información. Esta ventana se puede observar en la figura 7.5. Si se abre una base de datos ya existente, aparecen las entradas arriba y la ficha bibliográfica al lado abajo de la ventana, si se quiere editar alguna de las entradas existentes se debe utilizar en de la barra de herramientas. el menú BibTeX->Edit Entry o presionar el botón 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 7.2 LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 104 CITAS BIBLIOGRÁFICAS CONSISTENTES CON BibTeX Figura 7.5 Figura 7.6 Nuevo Artículo. Opciones para una nueva entrada en BibTEX. Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html 8 DISEÑO EDITORIAL Cuando escribimos un documento LATEX no hay que preocuparse, en general, por el diseño del documento, LATEX se encarga y aplica el diseño establecido según el ‘‘\documentclass”. Una vez que tenemos resuelto el contenido tenemos que fijarnos en el estilo y en el diseño editorial. Es un hecho comprobado que una representación que funciona mejor es también percibida como más bella. La sensación de belleza viene de la facilidad de uso, es decir; lo fácil de usar, generalmente, es placentero. Uno no quiere leer una página mal organizada en el que no haya una jerarquía clara, queremos leer páginas placenteras que se vean claras y bien arregladas. Ahora podemos analizar si estamos comunicando de manera agradable y efectiva la información. 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 puede suceder hasta en un solo párrafo o una fórmula; el contraste ayuda al lector a ver la lógica y el flujo de las ideas y a organizar la información y crea de paso un interés. Hay algunos principios que nos ayudan a definir la manera en que vamos a organizar y presentar la información, de eso se trata este capítulo. 8.1 Bajar la carga cognitiva La carga cognitiva está conformada por las demandas que se imponen a la memoria de trabajo durante una observación o aprendizaje. Aquí hay dos conceptos que nos interesan, la carga cognitiva intrínseca y la carga cognitiva extrínseca. Carga intrínseca: Está determinada “por la naturaleza del material y la experticia del aprendiz” Carga extrínseca: La carga cognitiva extrínseca está asociada con procesos que no tienen relación directa con el aprendizaje del concepto mismo sino más bien con la lectura del material. En principio no podemos hacer mucho en lo que respecta a la carga intrínseca pero sí podemos hacer algo para reducir la carga cognitiva extrínseca. El diseño editorial que nos ocupa esta orientado a reducir la carga cognitiva extrínseca presentando la información de un modo acorde con el modo en que los seres humanos percibimos el mundo. Las leyes Gestalt Leyes de percepción Gestalt (‘forma’) tratan de explicar cómo el cerebro humano percibe e interLaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 105 106 DISEÑO EDITORIAL preta el mundo y forman parte del conglomerado básico de la teoría del diseño. Dos leyes nos interesan en particular, la ley de proximidad y la ley de semejanza. Ley de la proximidad: El principio de proximidad dicta que los objetos más cercanos (en tiempo o espacio) se perciben como un grupo. Por ejemplo, en la figura que sigue el arreglo de la izquierda no presenta una pertenencia clara, en el centro se acentúa la pertenencia por filas y a la derecha la pertenencia por columnas. Ahora veamos un ejemplo en el contexto de las matemáticas: El siguiente texto presenta ambigüedad en la pertenencia, b x + 2 2 b2 − + c 4 " = = = 2 # b b b2 + 2( x ) + − + c 2 2 4 b2 b2 x2 + bx + − + c 4 4 2 x + bx + c x2 Para mejorar la pertenencia horizontal creamos espacio, b x + 2 2 b2 − + c 4 " x2 = 2 # b b b2 + 2( x ) + − + c 2 2 4 = x2 + bx + = x2 + bx + c b2 4 − b2 + c 4 Ley de la la semejanza: El principio de semejanza dicta que los objetos que poseen características similares de forma, color, luminosidad o tamaño aparentan pertenencia. En la figura de abajo, el grupo de cuadrados aparenta estar dividido en dos grupos: Los oscuros y los claros. Proximidad versus semejanza: Las leyes gestalt pueden reafirmarse o balancearse si se combinan. En la figura que sigue, se tiene una combinación de la ley de semejanza versus la ley de proximidad: Los cuadrados tiene una relación hacia las líneas (horizontales) más que a las columnas (verticales), en el segundo esquema esta relación se reafirma con color (ley de semejanza), sin embargo, en el tercer esquema a pesar de que la relación de proximidad no ha cambiado las 107 columnas operan con más fuerza que las líneas, es decir la similaridad actúa por encima de la proximidad. Como un ejemplo, en el siguiente texto se usa lo que se llama un ‘código cromático’ (provocar impacto visual mediante la manipulación del color), que permite al lector tener una clara distinción de los tipos de elementos sin ni siquiera pensar en ello. 4a2 x + 3bm − 4ab − 3max = (4a2 x − 4ab) + (3mb − 3max ) = 4a( ax − b) + 3m(b − ax ) = 4a( ax − b) − 3m( ax − b) = (4a − 3m)( ax − b) 8.2 8.2.1 Amenidad: Los Cuatro Principios Básicos Proximidad. El propósito básico de la proximidad es organizar. La idea es agrupar varios items relacionados de tal manera que se visualicen como una sola unidad. Tal vez, el ejemplo más sencillo es una tarjeta de presentación. En la figura 8.1-(a), se muestra una tarjeta con varios elementos sin agrupar, en la parte (b) se muestra con los elementos agrupados según su proximidad. (506)-4453454 Comunidad Bribri Editorial Suwoh Editorial Suwoh 159-40, Talamanca Limón, Costa Rica. (a) Comunidad Bribri 159-40, Talamanca Limón, Costa Rica. (506)-4453454 (b) Figura 8.1 8.2.2 Alineamiento. El propósito del alineamiento es unificar y organizar cada página. Nada se debe colocar de manera arbitraria, los elementos deben tener conexión visual con los otros elementos. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 108 DISEÑO EDITORIAL Alineamiento correcto, Alineamiento incorrecto, Por ejemplo, para construir una tabla parcial en base b = 2 módulo 13, calculamos las potencias de 2 módulo 13. 2 ≡ 21 (mod 13), 11 ≡ 27 (mod 13), 4 ≡ 22 (mod 13), 9 ≡ 28 (mod 13), 8 ≡ 23 (mod 13), 5 ≡ 29 (mod 13), 3 ≡ 24 (mod 13), 10 ≡ 210 (mod 13), 6 ≡ 25 (mod 13), 7 ≡ 211 (mod 13), 12 ≡ 26 (mod 13), 1 ≡ 212 (mod 13). Luego, ponemos la información en una tabla, a Ind2 ( a) 8.2.3 1 12 2 1 3 4 4 ... 2 ... Por ejemplo, para construir una tabla parcial en base b = 2 módulo 13, calculamos las potencias de 2 módulo 13. 2 4 8 3 6 12 ≡ ≡ ≡ ≡ ≡ ≡ 21 (mod 13), 22 (mod 13), 23 (mod 13), 24 (mod 13), 25 (mod 13), 26 (mod 13), 11 9 5 10 7 1 ≡ ≡ ≡ ≡ ≡ ≡ 27 (mod 13), 28 (mod 13), 29 (mod 13), 210 (mod 13), 211 (mod 13), 212 (mod 13). Luego, ponemos la información en una tabla, a Ind2 ( a) 1 12 2 1 3 4 4 ... 2 ... Repetición. La repetición es una poderosa manera de ser consistente. El propósito de la repetición es unificar y agregar interés visual. Los elementos repetitivos pueden ser fuentes en negrita, líneas delgadas, viñetas, encabezados, márgenes, color, fuentes, etc. 8.2.4 Contraste. El propósito del contraste es crear interés en la página y, al mismo tiempo, ayudar en la organización. El contraste puede ser creado de varias maneras: Fuentes grandes con fuentes pequeñas, color, elementos horizontales o verticales, etc. 1. Divisibilidad por 9 : 9 divide a a si y sólo si 9 divide la suma de sus dígitos, es decir, 9| a ⇐⇒ 9 ∑in=0 ai 1. Divisibilidad por 9 : 9 divide a a si y sólo si 9 divide la suma de sus dígitos, es decir, 9| a ⇐⇒ 9 ∑in=0 ai 2. Divisibilidad por 3 : 3 divide a a si y sólo si 3 divide la suma de sus dígitos. 2. Divisibilidad por 3 : 3 divide a a si y sólo si 3 divide la suma de sus dígitos. 3. Divisibilidad por 2 y por 5 : tanto 2 como 5 dividen a a si y sólo si dividen a0 . 3. Divisibilidad por 2 y por 5 : tanto 2 como 5 dividen a a si y sólo si dividen a0 . 8.3 Legibilidad: Cómo escoger las fuentes. Los cuatro principios básicos de los que hablamos anteriormente son una guía para la amenidad. Ahora nos interesa la legibilidad. La legibilidad nos debe guiar en la selección de tipo de letra. Hay tres tipos de letra que podemos usar: Serif (letras con serifas o ‘remates’, como Times o Palatino), sans serif (letras sin serifas ‘remates’ como Helvetica o Arial) y decorativa. El texto serif se considera el más fácil de leer en los textos impresos y cansa menos la vista cuando se trata de grandes bloques, pues está diseñado para ayudar al lector a identificar y discriminar entre las letras específicas, por eso se usa en cuerpo del texto. Proporciona efecto de tranquilidad, modifica el significado del texto y añade connotaciones específicas a lo expresado. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 109 El texto sans serif es el segundo tipo más leíble de texto y por lo general se utiliza para los títulos y subtítulos de las secciones y se aplica también a textos con fuente muy pequeña (manuales de artefactos electrónicos, medicinas, etc.) También es un texto adecuado para textos cortos en pantalla. Este tipo de fuente crea el efecto de modernidad, sobriedad, alegría y seguridad. Hay que tomar en cuenta que diferentes tipografías atraen audiencias diferentes, tanto de manera subliminal como abiertamente (piense en una tipografía para niños). Cuando se trata de seleccionar tipos de letras para un folleto o un libro, una regla general que se menciona es la siguiente, 1 Utilice un tipo de letra serif simple, fácilmente reconocido para el cuerpo del trabajo (Times, Times New Roman, Palatino,...). 2 Divida el texto con títulos y subtítulos en tipo de letra sans serif (puede ser Arial o helvetica, aunque hay otras). LATEX no usa las fuentes del sistema sino que tiene sus propias fuentes. Las fuente default de LATEX es Computer Modern, tal vez por esto sea una fuente usada en exceso. Para optimizar la calidad de impresión y también de visualización en pantalla (vía PDF), es adecuado forzar LATEX para que use fuentes “postscript” (que vienen con las distribuciones actuales, por ejemplo MikTeX 2.x o TeXLive 2012). Esto se puede hacer, por ejemplo, usando algún paquete. Por ejemplo, el paquete pslatex o la familia de fuentes PSNFSS. En la documentación de cada paquete se encuentran algunos detalles adicionales relacionados con la codificación u otra consideraciones. Algunos ejemplos son, El paquete pslatex: La fuente default es “Times”. Agregamos en el preámbulo \usepackage{pslatex} El paquete mathpazo: La fuente default es “Palatino”. Agregamos en el preámbulo \usepackage{mathpazo} ¿Qué significa “tomar un número natural al azar”?. Los naturales son un conjunto infinito, así que no tiene sentido decir que vamos a tomar un número al azar. Lo que si podemos es tomar un número de manera aleatoria en un conjunto finito {1, 2, ..., n} y luego (atendiendo a la noción frecuencista de probabilidad) ver que pasa si n se hace grande (i.e. n −→ ∞). El paquete mathptmx: La fuente default es “Times”. Agregamos en el preámbulo \usepackage{mathptmx} ¿Qué significa “tomar un número natural al azar”?. Los naturales son un conjunto infinito, así que no tiene sentido decir que vamos a tomar un número al azar. Lo que si podemos es tomar un número de manera aleatoria en un conjunto finito {1, 2, ..., n} y luego (atendiendo a la noción frecuencista de probabilidad) ver que pasa si n se hace grande (i.e. n −→ ∞). El paquete bookman: La fuente default es “Bookman”. Agregamos en el preámbulo \usepackage{bookman} 110 DISEÑO EDITORIAL ¿Qué significa “tomar un número natural al azar”?. Los naturales son un conjunto infinito, así que no tiene sentido decir que vamos a tomar un número al azar. Lo que si podemos es tomar un número de manera aleatoria en un conjunto finito {1, 2, ..., n} y luego (atendiendo a la noción frecuencista de probabilidad) ver que pasa si n se hace grande (i.e. n −→ ∞). El paquete newcent: La fuente default es ‘New Century Schoolbook’. Agregamos en el preámbulo \usepackage{newcent} ¿Qué significa “tomar un número natural al azar”?. Los naturales son un conjunto infinito, así que no tiene sentido decir que vamos a tomar un número al azar. Lo que si podemos es tomar un número de manera aleatoria en un conjunto finito {1, 2, ..., n} y luego (atendiendo a la noción frecuencista de probabilidad) ver que pasa si n se hace grande (i.e. n −→ ∞). 8.4 Color Esta podría ser la parte más difícil del diseño. El color es una parte inseparable de nuestras vidas y es una parte de todo lo que percibimos. El color tiene un fuerte impacto en nuestras emociones y sentimientos y se puede considerar como un elemento de diseño que se puede utilizar para crear ambientes de aprendizaje mejorados. Si vamos a usar color, lo mejor es seguir un “esquema de color”. En principio usamos un esquema de color simple: Fondo blanco con letras negras. Esquemas más avanzados involucran la combinación de varios colores. En internet podemos obtener esquemas ya hechos, como el de la figura (8.2). Figura 8.2 Esquema generado con “Color Scheme designer” Podemos también crear esquemas personalizados basados en varios esquemas, por ejemplo 1 Esquema acromático: Utiliza sólo el negro, el blanco, y los grises. 2 Esquema análogo: Utiliza cualquiera de tres tonos consecutivos o cualquiera de sus tintes y matices del círculo cromático. 3 Esquema complementario: Usa los opuestos directos del círculo cromático. 4 Esquema complementario dividido: Consta de un tono y los dos tonos a ambos lados de su complemento. Hay algunos sitios en Internet con esquemas de color ya hechos, como “Color Schemer Studio”, y también hay aplicaciones “online”, que nos permiten crear esquemas, como ‘Colors on the Web’ (http://www.colorsontheweb.com) o ‘Color Scheme designer’ (http://colorschemedesigner. com/) 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 LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 111 Figura 8.3 Color Scheme Studio 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. 8.5 Editar un PDF con Inkscape Después de generar una archivo PDF, se puede agregar detalles de diseño (color, figuras, imágenes, retoques, etc.) abriendo cada página del archivo PDF en Inkscape. Hay otro tipo de software, como Adobe Pro Extended, PitStop, etc., que permite agregar ligas, corrección de errores menores, agregar anotaciones, agregar video (por ejemplo video flash), etc. El primer problema es el de las fuentes, Inkscape no puede acceder a las fuentes del documento y lo que hace es una sustitución de fuentes; esto significa que cuando Inkscape importa un PDF, lee los nombres de las fuentes presentes en el documento (eso si se puede hacer) y sustituye estos nombres con los nombres (lo más parecido que encuentre) de las fuentes instaladas en su sistema (ver ’Inkscape: PDF import’). Por ejemplo, si el PDF usa la fuente “TimesNewRomanPSMT” y lo más cercano que tenemos a este nombre es “Times New Roman”, entonces esta será la fuente que se usará. En general esta sustitución mejora si instalamos algunas fuentes adicionales en el sistema tal y como se recomienda en ??; pero esto no es perfecto. En todo caso se pueden instalar las extensiones TeXtext y Replace Font, de esta manera podemos generar fragmentos de texto LATEX que se pierdan o reemplazar fuentes por la fuente correcta. En la figura que sigue se muestra un PDF generado con PDFLATEX y cómo lo levanta Inkscape. Se usó el paquete de fuentes mathpazo porque las fuentes PazoMath.ttf son fuentes TrueType y están instaladas en mi sistema e Inkscape las reconoce bien. Este paquete cambia la fuente default a Adobe Palatino y usa las fuentes mathpazo para las matemáticas (no todo, pero bastante). Si faltan algunos símbolos, se pueden reeditar con la extensión TeXtext. El documento fue generado con el preámbulo \documentclass[xcolor=pdftex, x11names,table]{book} \usepackage{amsmath,amssymb,amsfonts,latexsym,stmaryrd} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{xcolor} 112 DISEÑO EDITORIAL \usepackage{mathpazo} \begin{document} .... Figura 8.4 PDF original con fuentes MathPazo.ttf Figura 8.5 PDF en Inkscape. Utilizando otros paquetes de fuentes los resultados más bien pueden ser desalentadores. En todo caso, una vez que hemos decidido levantar el PDF con Inkscape, es conveniente dividirlo en páginas individuales y editar y guardar cada página individual, luego se vuelven a unir; todo esto se hace con Pdfsam (ver ??). Otra solución: Convertir a ’contornos’ (outlines). Otra opción que obvia el problema de las fuentes es convertir el texto en contornos (las fuentes pasan a ser objetos vectoriales (con borde y relleno) y conservan una buena calidad). Una manera de hacer esto es convertir nuestro archivo .pdf (si tiene un DVI puede convertirlo a .pdf desde el editor) y convertirlo al formato .svg y así lo podemos editar con Inkscape sin ningún problema. En general, el archivo resultante es de muy buena calidad y de tamaño similar al PDF original. La conversión es fácil en Linux y también es fácil en Windows (XP, 7 y 8). Para hacer esto, seguimos los siguientes pasos. Ubuntu 1 En Ubuntu solo necesita instalar el programa pdf2svg (posiblemente lo tenga instalado ya), luego desde una terminal se debe ir a la carpeta donde está el archivo ARCHIVO.tex y aplicar la instrucción (la parte %d es necesaria), pdf2svg ARCHIVO.pdf SALIDA%d.svg all Después de un momento aparecen cada una de las páginas SALIDA1.svg, SALIDA2.svg, etc. en formato .svg y ya las puede editar con Inkscape Para convertir una sola página, digamos la página n, la instrucción sería, pdf2svg ARCHIVO.pdf SALIDA.svg n Windows 2 En Windows (XP, 7 u 8) necesita instalar algunos programas (...pero son programas que de por sí necesita para instalar Inkscape y usar la extensión textex). Deberá instalar (a) Ghostscript (b) GhostView (c) Pstoedit (d) ImageMagick 113 Figura 8.6 Fuentes de un PDF convertidas en ’contornos’, abierto con Inkscape Todos estos archivos los puede obtener (junto con Inkscape para Windows y lo necesario para la extensión texttex) en un comprimido, en la página del profesor James M. Davis de Cornell University. Una vez instalados los programas, abre el archivo .pdf con gsview. En este programa selecciona Edit - Convert to Vector Format y luego, en la ventana que emerge (PS to Edit), selecciona el formato svg y habilita las casillas Draw text... y Map to..., tal y como se muestra en la figura que sigue. Luego presiona OK y, en la siguiente ventana, le pone el nombre al archivo de salida. 114 DISEÑO EDITORIAL En las figuras que siguen se muestra un PDF original de prueba y el archivo SVG, tal y como se ve en Inkscape. Figura 8.7 PDF original Figura 8.8 Archivo SVG en Inkscape. Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 9 9.1 PERSONALIZAR EL DOCUMENTO Numeración automática de definiciones, teoremas y ejemplos. LATEX numera automáticamente definiciones, teoremas, axiomas, ejemplos, etc. Podemos decidir si la numeración va a ser una numeración normal (como 1, 2,...), una numeración con el capítulo (como 2.1, 2.2,...), etc. Primero es usual abreviar la manera en que invocamos un ambiente con un nuevo nombre. S epone en el preámbulo (por comodidad), \newtheorem{abreviación del encabezado}{ambiente} Ejemplo 9.1 El Texto: Descargar archivo .tex \documentclass{book} %La numeración incluye el número de capítulo \newtheorem{ejemplo}{Ejemplo}[chapter] \newtheorem{defi}{Definición}[chapter] \usepackage[spanish]{babel} \usepackage[latin1]{inputenc} \begin{document} \chapter{Cálculo} %Capítulo 1 ... \begin{defi} Sea $y=f(x)$ derivable. $dx \,$ es cualquier número real no nulo y el diferencial de $f$ es $$dy = f^\prime (x) \, dx $$ \end{defi} ... \end{document} produce: Definición 9.1 Sea y = f ( x ) derivable. dx es cualquier número real no nulo y el diferencial de f es dy = f 0 ( x ) dx LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 115 116 PERSONALIZAR EL DOCUMENTO El texto de la definición está, por default, en modo “enfático”. Podemos Cambiar el modo enfático a modo normal poniendo el cuerpo en el entorno {\rm ...} \begin{defi} {\rm ...texto...} \end{defi} 9.2 El paquete ntheorem 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 debemos poner en el preámbulo la instrucción. \usepackage{ntheorem} En el preámbulo se pueden escribir los comandos \setlength{\theorempreskipamount}{xmm} \setlength{\theorempostskipamount}{xmm} el primer comando define un espacio de x milímetros entre el texto anterior al ambiente y el encabezado del mismo. El segundo define el espacio entre el final del ambiente y el texto que le sigue. El comando \theoremstyle{estilo} define el estilo que van a tener los teoremas, entre los estilos posibles están: Estilo \plain: \break \margin: \marginbreak: Este es idéntico al estilo por defecto de LATEX. El encabezado es seguido por un paso de línea. El número del teorema se coloca antes del encabezado. Igual a ‘margin’ pero el encabezado va seguido por un paso de línea. Para cambiar el tipo del letra para el texto del ambiente se utiliza el comando \theorembodyfont{fuente y/o propiedad de fuente} Y para cambiar el tipo de letra del encabezado del ambiente se utiliza \theoremheaderfont{fuente y/o propiedad de fuente} Entre las fuentes y sus propiedades se puede utilizar \rmfamily, \sffamily, \ttfamily, \mdfamily, \bfseries,\upshape,\itshape, \slshape, \scshape,\normalfont LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 117 En la primera versión de este libro se utilizó \setlength{\theorempreskipamount}{7mm} \setlength{\theorempostskipamount}{7mm} \theoremstyle{break} \theorembodyfont{\normalfont} \theoremheaderfont{\scshape\large} \newtheorem{ejemplo}{Ejemplo} \newtheorem{defi}{Definición} En la sección que sigue se indica cómo cambiar el color. Ejemplo 9.2 El texto: %En el preámbulo: \newtheorem{defi}{Definición} \begin{defi}[Polinomio característico] {\rm Si $A$ es una matriz cuadrada de orden $n$, al polinomio $p$ definido por $p(x)=|A-\lambda \cdot I_n|$, se le llama {\bf polinomio característico} de $A$ y la ecuación $p(x)=0$ se llama ecuación característica de $A$. } \end{defi} produce: Definición 9.2 (Polinomio característico) Si A es una matriz cuadrada de orden n, al polinomio p definido por p( x ) = | A − λ · In |, se le llama polinomio característico de A y la ecuación p( x ) = 0 se llama ecuación característica de A. 9.3 Personalización de teoremas, definiciones, etc. Si usamos el estilo plain (este es el default) del paquete ntheorem, podemos cambiar el color de ‘Teorema’, ‘Definición’, etc. y la numeración. Por ejemplo si queremos cambiar el nombre a azul (blue) y la numeración a rojo (red) tal y como se usa en este libro, 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\ \blue(##3) \theorem@separator]}} \makeatother LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 118 PERSONALIZAR EL DOCUMENTO 9.4 Personalización de secciones, subsecciones, etc. En el sitio de Vincent Zoonekynd, en la sección “Exemples”, se pueden encontrar ejemplos de cómo se puede rediseñar los encabezados, la página para cada capítulo y las secciones. Como lo advierte el autor, es posible que se deban hacer algunos ajustes. Por ejemplo, para el diseño de los capítulos de este libro se usa una figura imagencapitulo.pdf que aparece a la izquierda del nombre del capítulo (recuerde que este documento se compiló con PDFLaTeX). Esta imagen se supone que está en la subcarpeta images. En todo caso, el código pregunta si la imagen está o no y procede en cada caso. Para obtener este efecto se agrega en el preámbulo, \usepackage{pstricks} \makeatletter \def\@makechapterhead#1{% {\parindent \z@ \raggedright \reset@font \hbox to \hsize{% \rlap{\raisebox{-2.5em}{\raisebox{\depth}{% Imagen a la izquierda del título \IfFileExists{imagencapitulo.pdf}{\includegraphics{imagencapitulo.pdf}}{}% \IfFileExists{images/imagencapitulo.pdf }{\includegraphics{images/imagencapitulo.pdf}}{} }}} \rlap{\hbox to 6em{\hss \reset@font\fontsize{12em}{12em}\selectfont\black %Color \thechapter\hss}}% \hspace{10em}% \vbox{% \advance\hsize by -10em \reset@font\bfseries\Huge\selectfont#1 %Texto del título \par }% }}% \vskip 5pt \hrulefill \vskip 50pt } \makeatother 9.5 El paquete todonotes Este paquete viene incluido en las distribuciones y se usa para agregar notas en el margen. Hay varias opciones, por ejemplo podríamos agregar en el preámbulo, \usepackage[colorinlistoftodos, textwidth=2cm, shadow]{todonotes} Con esto obtendríamos texto en cajas sombreadas de 2cm. Por ejemplo, √ “... la cónica 3x2 − 36xy + 3y2 − 10x − 10y − 4 = 0 corresponde a una parábola pues, usando invariantes, B2 − 4AC = 0 y 4ACF + BDE − AE2 − CD2 − FB2 = −1200 √ 6= 0. Como A = C entonces θ = π/4. Al aplicar la rotación nos queda la ecuación 6y02 − 10 2x 0 − 4 = 0.” se produce con el código, En gene-ral, no basta con calcular ∆ 119 ... la cónica $3 x^2 - \sqrt{36} x y+3y^2 -10 x-10 y -4=0$ corresponde a una parábola pues, usando invariantes,\todo[color={red!100!green!33},size=\small]{En general, no basta con calcular $\Delta$} $B^2-4AC=0$ y $4ACF+BDE-AE^2-CD^2-FB^2=-1200\neq 0.$ Como $A=C$ entonces $\theta=\pi/4.$ Al aplicar la rotación nos queda la ecuación $6 y’^2- 10 \sqrt{2} x’ -4=0.$ El manual de este paquete se puede obtener en ‘Manual todonotes’. 9.6 El paquete boiboites Alexis Flesch ha creado un bonito paquete, basado en TikZ, que permite personalizar los entornos de definiciones, teoremas, ejemplos, etc. Los ejemplos de este libro usan este paquete (ver sección 9.11). El ejemplo que aparece en la página de Alexis es Instalación. Primero descargamos el archivo boiboites.sty en http://snouffy.free.fr/blog-en/index.php/post/2010/01/30/Nice-boxes-for-your-theoremswith-tikz Para usar el paquete, podemos poner el archivo boiboites.sty en la misma carpeta de nuestro archivo .tex (como se hace en el .zip adjunto). Eso sería suficiente. La manera de instalarlo de manera permanente se puede ver en el apéndice A Ahora agregamos en el preámbulo \usepackage{boiboites}. Luego hay que personalizar los entornos. Por ejemplo, para generar el ejemplo de Alexis usamos el código, Descargar archivo .tex \documentclass{article} \usepackage{etex} \usepackage{boiboites} \usepackage{amsmath} \usepackage[latin1]{inputenc} %Definiendo colores para los entornos ’bteo’ y ’bdefi’ %Si no desea contadores, cambiar {thCounter} por {anything} \newboxedtheorem[boxcolor=orange, background=blue!5, titlebackground=blue!20, titleboxcolor = black]{bteo}{Theorem}{thCounter} 120 PERSONALIZAR EL DOCUMENTO \newboxedtheorem[boxcolor=orange, background=blue!5, titlebackground=blue!20, titleboxcolor = black]{bdefi}{Definición}{thCounter} \begin{document} \begin{bteo}[Ley de Grandes Números] Sea $(X_n)_{n\in \mathbb{N}}$ una sucesión infinita de variables i.i.d. con valor esperado finito. Entonces: $$\frac{1}{n} \sum_{i=1}^n X_i \overset{\textnormal{a.s.}}{\longrightarrow} \mathbb{E} (X_1) .$$ \end{bteo} \begin{bdefi} Las variables i.i.d. son.... \end{bdefi} \end{document} 9.7 Paquete algorithm2e Este es un paquete adecuado para describir claramente algoritmos de programación. Debemos poner en el preámbulo \usepackage[ruled,vlined,lined,linesnumbered,algochapter,portugues]{algorithm2e} Los comandos más frecuentes son \If{ \eIf{ \For{ \While{ \Repeat{ \; condición }{ código } condición }{ código}{ else ... código condición }{ código } condición }{ código } condición ("Until") }{ código } se usa para el cambio de línea. En los siguientes ejemplos se muestra cómo usar +If, For, While,+ etc. El código: \begin{algorithm}[h] \caption{Máximo común divisor}\label{ML:Algorithm1} \SetLine \KwData{$a,\, b \in \N.$} \KwResult{MCD$(a,b)$} \linesnumbered \SetVline } 121 $c = |a|,\; d = |b|$\; \While{$d\neq 0$}{ $r = $ rem$(c,d)$\; $c = d$\; $d = r$\; } \Return MCD$(a,b)=|c|$\; \end{algorithm} produce: Algoritmo 9.1: Máximo común divisor Datos: a, b ∈ N. Salida: MCD( a, b) 1 c = | a |, d = | b |; 2 while d 6 = 0 do 3 r = rem(c, d); 4 c = d; 5 d = r; 6 return MCD( a, b) = |c|; El código: \begin{algorithm}[h] \caption{Inverso Multiplicativo mod $m$.} \SetLine \KwData{$a\in \Z_m$} \KwResult{$a^{-1}\mbox{mod}\;m,$ si existe.} \linesnumbered \SetVline Calcular $x,t$ tal que $xa+tm=\mbox{\rm MCD}(a,m)$\; \eIf{\rm MCD$(a,m)>1$}{$a^{-1}\; \mbox{mod}\; m$ no existe}{ \Return $\mbox{rem}\,(x,m).$} \end{algorithm} produce: Algoritmo 9.2: Inverso Multiplicativo mod m. Datos: a ∈ Zm Salida: a−1 mod m, si existe. 1 Calcular x, t tal que xa + tm = MCD( a, m ); 2 if MCD( a, m ) > 1 then 3 a−1 mod m no existe 4 else 5 return rem ( x, m). El código: 122 PERSONALIZAR EL DOCUMENTO \begin{algorithm}[h] \caption{Criba de Eratóstenes} \label{CribaEraostenes} \SetLine \KwData{\mt{n \in\, \N}} \KwResult{Primos entre $2$ y $n$} \linesnumbered max$=\left[\;\frac{(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$\; \If{\rm esPrimo$[i]$}{ \While{$(2k+1)(2i+3) \leq n$} { esPrimo$[((2k+1)(2i+3)-3)/2]=$False\; $k=k+1$\; }} $i=i+1$\; } Imprimir\; \For{$j=1,2,...,max$ }{ \If{\rm esPrimo$[j]=$True}{Imprima $j$ } } \end{algorithm} produce: Algoritmo 9.3: Criba de Eratóstenes Datos: n ∈ N Salida:hPrimosi entre 2 y n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 max= ( n −3) 2 ; boolean esPrimo[i ], i = 1, 2, ..., max; for j = 1, 2, ..., max do esPrimo[ j] =True; i = 0; while (2i + 3)(2i + 3) ≤ n do k = i + 1; if esPrimo[i ] then while (2k + 1)(2i + 3) ≤ n do esPrimo[((2k + 1)(2i + 3) − 3)/2] =False; k = k + 1; i = i + 1; Imprimir; for j = 1, 2, ..., max do if esPrimo[ j] =True then Imprima j 123 Nota: Se puede cambiar el lenguaje modificando el archivo algorithm2e.sty localizado en /usr/share/texmf-texlive/tex/latex/algorithm2e en Ubuntu o en C:/Archivosdeprograma/ MikTeX2.x/tex/latex/algorithm2e en Windows. 9.8 Color para el código de lenguajes de programación Pero para agregar jerarquía al código se debe usar identación y color. Hay varios paquetes para agregar color al código, por ejemplo minted, verbments y listings. Los paquetes minted y verbments usan programas externos (Python y Pygments) y requiere instalar estos programas. Listings no requiere nada adicional. En este libro se usa minted (y un poco de listings). Con estos paquetes se elige el lenguaje (C++, java, latex, etc.) y permiten también, entre otras opciones, usar código LATEX para generar texto matemático para documentar el código. 9.8.1 Instalar el paquete minted minted en Ubuntu Para usar este paquete en Ubuntu debemos hacer algunos cosas previamente. Instalar Pygmets: Se ejecuta en una terminal el código sudo sudo apt-get install python-pygments minted.sty ya está presente en las distribuciones TeXLive y MikTeX. Si no lo tiene lo puede descargar aquí. Ver el apéndice A. Habilitar shell-scape: En la configuración de su editor debe buscar la opción PdfLaTeX (o LaTeX) y agregar -shell-escape de tal manera que quede PdfLaTeX -synctex=1 -interaction=nonstopmode --shell-escape ’%source’ Por ejemplo, en TeXMaker se vería así, 124 PERSONALIZAR EL DOCUMENTO Instalar en Windows Para usar este paquete en Windows debemos hacer algunos cosas previamente. Instalar Python 2.7.2 desde http://www.python.org/. Se ejecuta python-2.7.2.msi Descargar y ejecutar distribute_setup.py en http://python-distribute.org/distribute_ setup.py Editar Variables de Entorno: Ir al ’Panel de Control’, luego navegar las ventanas en este orden: System and Security, System, Advanced Systems Settings y finalmente Advanced, en esta última ventana presiona EnvironmentVariables. En esta ventana va a la subventana System variables, selecciona Path y presiona el botón Edit. Al final de la línea pone un ’punto y coma’ (;) y agrega ;C:\Python27\Scripts y cierra todas las ventanas presionando OK. Abrir una terminal (en Windows XP, Vista, 7 y 8 se puede buscar como cmd desde la campo de búsqueda en el botón Inicio o el ícono de búsqueda en Windows 8) En la terminal se ejecuta el siguiente código (uno a la vez, con Enter), easy_install pip pip install pygments 125 Habilitar shell-scape: En la configuración de su editor debe buscar la opción PdfLaTeX (o LaTeX) y agregar -shell-escape de tal manera que quede PdfLaTeX -synctex=1 -interaction=nonstopmode --shell-escape ’%source’ minted.sty ya está presente en las distribuciones TeXLive y MikTeX. Si no lo tiene lo puede descargar aquí. Ver el apéndice A. Una vez completada la instalación, se debe poner en el preámbulo \usepackage{minted}. Adicionalmente se puede cambiar el estilo (que es el que define el esquema de color). Por ejemplo, en este libro usamos el estilo vs. Para cambiar el tema default y usar este tema, se pone en el preámbulo \usemintedstyle{vs}. El entorno es el siguiente, \begin{minted}[opciones]{lenguaje} ... código .... \end{minted} La opción mathescape permite introducir código LATEX solo después del símbolo de comentario del lenguaje que se está usando. En el ejemplo que sigue, el lenguaje que se declara es python. La opción mathescape permite aplicar texto en modo matemático en el entorno y debe ir precedido por el símbolo de comentario del lenguaje. El paquete minted usa la librería Pygments así que si quiere saber más de minted hay que ver la documentación del paquete minted y la documentación de Pygments. En el ejemplo que sigue se muestran otras opciones. 126 PERSONALIZAR EL DOCUMENTO Ejemplo 9.3 (Usando minted). El texto: Descargar archivo .tex \documentclass{article} \usepackage{amsmath} \usepackage[latin1]{inputenc} \usepackage{minted} % minted requiere Python, Pygments % y habilitar ’shell escape’ \usemintedstyle{vs} % Estilo vs \begin{document} \begin{minted}[mathescape, frame=lines, fontseries=b, rulecolor=\color{gray}]{python} # Suma de los primeros naturales, # Returns $\displaystyle\sum_{i=1}^{n}i$ def sum_from_one_to(n): r = range(1, n + 1) return sum(r) \end{minted} \end{document} produce: # Suma de los primeros naturales, n # Returns ∑i i =1 def sum_from_one_to(n): r = range(1, n + 1) return sum(r) 9.8.2 Paquete verbments La instalación sigue los mismos pasos que la instalación de minted. Este paquete es parecido a minted pues está basado también en Pygments, así que las opciones serán familiares. Tiene la ventaja de que el código se divide si queda entre dos páginas y se puede poner el tema directamente en las opciones. También las opciones se pueden declarar al inicio del documento. Para usar el paquete debemos poner en el preámbulo \usepackage{verbments}. El entorno sería algo como, \begin{pyglist}[language=java,caption={Nombre del programa},otras opts] ... codigo \end{pyglist} 127 Cuando se usan muchas opciones, como en el ejemplo que sigue, es mejor declararlas antes con los comandos fvset y plset. Nota: Igual que minted, puede agregar texto en modo matemático. El texto matemático debe de ir precedido por el símbolo usado para los comentarios, en el caso de Java sería // $ ....$). Debe agregar la opción mathescape=true. Nota: Este paquete viene con la versión TeXLive más reciente. Si tiene una versión anterior, debe obtener la versión del archivo verbments.sty del 2011 o la más reciente. El archivo verbments.sty se puede obtener en http://texcatalogue.sarovar.org/entries/verbments. html Ejemplo 9.4 (Usando verbments). Este ejemplo supone que se va a usar el lenguaje java. El texto: \documentclass{article} \usepackage{verbments}%Requiere Python, Pygments y Habilitar ’shell escape’ \definecolor{verbmentsbgcolor}{rgb}{0.9764, 0.9764, 0.9762} \definecolor{verbmentscaptionbgcolor}{rgb}{0.1647, 0.4980, 1} \begin{document} %opciones verbments---------------------------------------------------------\fvset{frame=bottomline,framerule=0.01cm} \plset{language=java,texcl=true,style=vs,% listingnamefont=\sffamily\bfseries\color{white},% bgcolor=verbmentsbgcolor,captionfont=\sffamily\color{white},% captionbgcolor=verbmentscaptionbgcolor, listingname=\textbf{Programa}} %----------------------------------------------------------------------------%Entorno \begin{pyglist}[caption={Imprimir.java}] import javax.swing.*; import java.awt.*; public class app_prg1 extends JApplet { public void init(){} public void paint ( Graphics g ){ g.drawString(" 3 +46 = "+(3+46),30, 30 );} } \end{pyglist} \end{document} produce: Programa 9.1: Imprimir.java import javax.swing.*; import java.awt.*; public class app_prg1 extends JApplet { public void init(){} public void paint ( Graphics g ){ g.drawString(" 3 +46 = "+(3+46),30, 30 );} } 128 PERSONALIZAR EL DOCUMENTO 9.8.3 Paquete Listings Este paquete para resaltar código viene incluido en TeXLive y en MikTex y no necesita una instalación adicional. Para usarlo debemos agregar en el preámbulo, \usepackage{listings} El entorno es como sigue, \begin{lstlisting}[opciones] ... código \end{lstlisting} También se puede usar un comando muy útil para incluir código en el texto. El comando es \lstinline y se usa como el comando \verb. Las opciones se pueden declarar en el preámbulo, como s epuede ver en el ejemplo que sigue, Ejemplo 9.5 (Usando Listings). En este código se muestra como usar el paquete listings Descargar archivo .tex \documentclass[12pt]{article} \usepackage[latin1]{inputenc} \usepackage{amsmath,amsfonts,amssymb} \usepackage{xcolor, pstricks} %-----------------------------------------------------------\usepackage{listings}% \lstset{ % language=Pascal, % lenguaje basicstyle=\bfseries\ttfamily, keywordstyle=\color{blue}, commentstyle=\color{brown}, backgroundcolor=\color{gray!90}, showstringspaces=false } %----------------------------------------------------------\begin{document} Usamos la instrucción \lstinline|for i:= maxint to 0 do|.\\ \begin{lstlisting} for i:= maxint to 0 do begin{ do nothing } end; Write(’Case insensitive’); Write(’Pascal keywords’); \end{lstlisting} \end{document} 129 Ejemplo 9.5 (continuación). produce: Usamos la instrucción for i:= maxint to 0 do. for i:= maxint to 0 do begin{ do nothing } end; Write(’Case insensitive’); Write(’Pascal keywords’); 9.9 Cómo hacer listas de ejercicios con solución Para hacer listas de ejercicios con solución se puede usar el paquete answers (hay un paquete para exámenes en CTAN-exam), para cargarlo se pone en el prembulo \usepackage{answers}. En el código que sigue se muestra un ejemplo. Descargar archivo .tex Ejemplo 9.6 (Paquete answers) \documentclass[12pt]{article} \usepackage{amsmath,amssymb,amsfonts,latexsym} \usepackage[spanish]{babel} \usepackage[latin1]{inputenc} %acentos desde el teclado \usepackage[T1]{fontenc} %answers------------------------------------\usepackage{answers} \newtheorem{ejer}{}[section}%\begin{ejer}...Ejercicio... \end{ejer} \Newassociation{sol}{Solution}{ans} %\begin{sol}...\end{sol} %-------------------------------------------\newcommand{\sen}{\mathop{\rm sen}\nolimits} \newcommand{\R}{\mathbb{R}} \newcommand{\Z}{\mathbb{Z}} %--------------------------------------------\begin{document} \Opensolutionfile{ans}[ans1] % Primera lista de ejercicios \section{Ejercicios}%Inicio lista #1 \begin{wminted} \begin{ejer}\rm Resolver $|\cos(\theta)|=1$ con $\theta \in\, \R.$%roman \begin{sol} $|\cos(\theta)|=1 \Longrightarrow \theta=k\pi, \; k \in\, \Z$ \end{sol} \end{ejer} 130 PERSONALIZAR EL DOCUMENTO Ejemplo 9.6 (continuación). %----------------------- Sin solución \begin{ejer} \rm Resolver \begin{enumerate} \item[a.)] $|2\sen(\theta)\cos(\theta)|=1$ con $\theta \in\, \R^+$ \item[b.)] $|2\sen(\theta)\cos(\theta)|=1$ con $\theta \in\, \R$ \end{enumerate} \end{ejer} \Closesolutionfile{ans} %----------------------------------------\Opensolutionfile{ans}[ans2] %% Segunda lista de ejercicios \section{Ejercicios}%Inicio lista #2 \begin{ejer}\rm Resolver $|\tan(\theta)|=1$ con $\theta \in\, \R.$%roman \begin{sol} {\bf Sugerencia:} Mmmmmm \end{sol} \end{ejer} %----------------------\begin{ejer} Resolver $|\sec(\theta)|=1$ con $\theta \in\, \R^+$ \begin{sol} $|\sec(\theta)|=1 \Longrightarrow....$ \end{sol} \end{ejer} \Closesolutionfile{ans} %---------------------------------------%Imprimir las soluciones \section*{Soluciones del capítulo 1} \input{ans1} % soluciones de la primera lista de ejercicios \input{ans2} % soluciones de la segunda lista de ejercicios \end{document} La salida sería: 131 9.10 Cabeceras Se puede usar el paquete fancyhdr para personalizar las cabeceras y los pie de página, para cargarlo se pone en el prembulo \usepackage{fancyhdr}. Por ejemplo, podemos poner cabeceras en minúscula y helvética (como en la figura que sigue), Figura 9.1 Cabecera en helvética y con línea Figura 9.2 Cabecera en helvética y sin línea El código que se usó para generar estas cabeceras es el siguiente, Descargar archivo .tex \documentclass{book} \usepackage[spanish]{babel} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{helvet} %Helvética \newcommand{\helv}{\fontfamily{phv}\fontsize{9}{11}\selectfont} \usepackage{fancyhdr} \pagestyle{fancy} \renewcommand{\chaptermark}[1]{\markboth{#1}{}} \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} \fancyhf{} % borra cabecera y pie actuales \fancyhead[LE,RO]{\helv\thepage} %Left Even page - Right Odd page \fancyhead[LO]{\helv\rightmark} \fancyhead[RE]{\helv\leftmark} \renewcommand{\headrulewidth}{0pt} % Sin raya. Con raya?: cambiar {0} por {0.5pt} \renewcommand{\footrulewidth}{0pt} \addtolength{\headheight}{0.5pt} % espacio para la raya \fancypagestyle{plain}{% \fancyhead{} % elimina cabeceras y raya en páginas "plain" \renewcommand{\headrulewidth}{0pt}} \begin{document} 132 PERSONALIZAR EL DOCUMENTO \chapter{Cabeceras con el paquete fancyhdr} \newpage \section{Eliminar la línea} \renewcommand{\headrulewidth}{0pt} \newpage \section{Dejar la línea con grosor {\tt 0.5pt}} \renewcommand{\headrulewidth}{0.5pt} % grosor 0.5pt \addtolength{\headheight}{0.5pt} % espacio para la raya \end{document} Usando este mismo paquete también se podría incluir una figura en todas las cabeceras, digamos a la derecha, con el código, \rhead{\setlength{\unitlength}{1mm} \begin{picture}(0,0) % Figura \put(-10,2){\includegraphics[width=10mm]{images/ubuntu.png}} % Texto \put(-92,5){ \parbox[t]{90mm}{ \begin{flushright} \begin{scriptsize} \textsf{Ubuntu} \end{scriptsize} \end{flushright} } } \end{picture}} 9.11 Código LaTeX de este libro Para hacer este libro usamos un paquete pesonal llamado book_RevistaLibroEstilo.sty (descargar y ver documentación en este comprimido) que contiene los paquetes requeridos, modificaciones de estilo, colores, el código de los entornos que se usan y algunos comandos. Este paquete requiere una instalación completa de TeXLive o MikTeX y posiblemente habilitar shell escape (Ver capítulo 6). El código de los ejemplos los puede descargar aquí. El documento simplificado inicia así, Descargar archivo .tex \documentclass[xcolor=pdftex, x11names,table,openany]{book} \usepackage{book_RevistaLibroEstilo} %Comandos nuevos y cosas adicionales %Iluminar código de programas. Requiere Python, Pygments y minted.sty %\usepackage{minted} %Ver sección 9.8 %\usemintedstyle{vs} 133 \begin{document} \title{EDICIóN DE LIBROS CON EL PAQUETE DE ESTILO DE LA REVISTA DIGITAL DE MATEMáTICA DEL ITCR.} \author{Prof. Walter Mora F.\\ Prof. Alex Borbón A.\\ {\helv Escuela de Matemática,\\ \vspace{-0.4cm} Instituto Tecnológico de Costa Rica.}} \maketitle \tableofcontents \pagenumbering{arabic} \chapter{?‘Qué es LaTeX?} ... En archivo de estilo se han definido cuatro temas: tema1, tema2, tema3 y tema4. Se pueden declarar en las opciones: \usepackage[temax]{book_RevistaLibroEstilo}. El tema1 es el tema default, no se debe declarar y es el que se usa en los ejemplos de este folleto. \usepackage[tema2]{book_RevistaLibroEstilo} \usepackage[tema3]{book_RevistaLibroEstilo} \usepackage[tema4]{book_RevistaLibroEstilo} Definir un entorno personalizado. Para generar un entorno personal se puede usar alguno (o todos) los comandos, \nuevoboiejemplo{nombre}{etiqueta}{color1}{color2}{color3}{color4}%6 \nuevoboidefi{nombre}{etiqueta}{color1}{color2}{color3}{color4} %6 \nuevoboiteo{nombre}{etiqueta}{color1}{color2}{color3}{color4} %6 \nuevoboicaja{nombre}{color1}{color2}{color3}{color4} %5 Estos comandos se ponen en el preámbulo. argumentos argumentos argumentos argumentos 134 PERSONALIZAR EL DOCUMENTO El ejemplo que sigue ilustra la manera de usar estos comandos. Hay que tener cuidado y hacer un buen uso del color. El código \documentclass[xcolor=pdftex, x11names,table]{book} \definecolor{color1}{RGB}{44,42,37} % borde general \definecolor{color2}{RGB}{240,240,240} % fondo del cuerpo \definecolor{color3}{RGB}{44,42,37} % fondo del encabezado \definecolor{color4}{RGB}{240,240,240} % borde del encabezado \nuevoboiejemplo{miejemplo}{\black Ejemplo}{color1}{color2}{color3}{color4} \begin{document} \begin{miejemplo}[{\white\textbf{(Una combinación de colores discreta})}] $a+b=b+c$ \end{miejemplo} \end{document} produce: Ejemplo 9.7 (Una combinación de colores discreta) a+b=b+c Otros ejemplos de combinación de colores se presentana a continuación, \definecolor{color1b}{RGB}{38,71,160} \definecolor{color2b}{RGB}{240,240,240} \definecolor{color3b}{RGB}{57,97,197} \definecolor{color4b}{RGB}{90,80,70} % % % % borde fondo fondo borde general del cuerpo del encabezado del encabezado % % % % borde fondo fondo borde general del cuerpo del encabezado del encabezado Ejemplo 9.8 (Una combinación de colores discreta) a+b=b+c \definecolor{color1c}{RGB}{107,145,148} \definecolor{color2c}{RGB}{241,241,241} \definecolor{color3c}{RGB}{69,60,53} \definecolor{color4c}{RGB}{69,60,53} Ejemplo 9.9 (Una combinación de colores discreta) a+b=b+c 135 definecolor{color1d}{RGB}{69,60,53} \definecolor{color2d}{RGB}{241,235,231} \definecolor{color3d}{RGB}{76,188,203} \definecolor{color4d}{RGB}{69,60,53} % % % % borde fondo fondo borde general del cuerpo del encabezado del encabezado Ejemplo 9.10 (Una combinación de colores discreta) a+b=b+c \definecolor{color1d}{RGB}{69,60,53} \definecolor{color2d}{RGB}{241,235,231} \definecolor{color3e}{RGB}{172,63,104} \definecolor{color4d}{RGB}{69,60,53} % borde general % fondo del cuerpo % fondo del encabezado % borde del encabezado Ejemplo 9.11 (Una combinación de colores discreta) a+b=b+c 9.12 Otras Plantillas (templates) LATEX Otras plantillas (’Templates’) LaTeX se puden obtener en Internet. 1 LaTeX Templates (http://www.latextemplates.com/) es un sitio con varias plantillas. Por ejemplo, Tareas (Assignments) Hojas de vida (Curricula Vitae) Presentaciones (Presentations) Títulos (Title Pages) Libros (Books) Ensayos (Essays) Reportes de Laboratorio Tesis (Theses) Calendarios (Calendars) Laboratorios Cartas (Letters) etc. 2 LaTeX for Humans (http://latexforhumans.wordpress.com/). Entre otras cosas, en este sitio hay muchas plantillas de tesis gratuitas. En particular, se pueden encontrar plantillas de tesis de universidades Europeas y americanas. 3 \ howTEX (http://www.howtotex.com/). Este es un sitio con muchas plantillas LATEXde porpósito general. Por suspuesto, las búsquedas en Internet sobre alguna plantilla en particular seguramente nos dará muchos resultados. Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 10 10.1 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER Introducción “Beamer” es una clase LaTeX (\documentclass{beamer}) que se usa para generar transparencias para presentaciones (al estilo Power Point). Se compila con LaTeX+dvips o PDFLaTeX y se usa código LaTeX estándar. La versión actual (enero 2012) es Beamer 3.12. Beamer viene incluido en TeXLive y en MikTeX. Si tiene una instalación completa, puede usar Beamer sin problemas. La documentación la puede encontrar en ‘The Beamer Class’. Un documento Beamer consiste de una sucesión de marcos (frames). En el caso más simple, un marco solo contiene una transparencia. Un ejemplo de transparencia (usando el tema personalizado) se ve en la figura 10.1. 10.2 Un documento Beamer La estructura general de un posible documento Beamer podría ser, \documentclass{beamer} \usepackage{amsmath,amssymb,amsfonts,latexsym,stmaryrd} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} %\usepackage{epstopdf} % Conversión eps to pdf, requiere habilitar shell-escape. %% Texlive 2010 o superior No lo necesita %% %\DeclareGraphicsExtensions{.pdf,.png,.jpg} \usefonttheme{professionalfonts} % fuentes de LaTeX \usetheme{Warsaw} % Tema escogido en este ejemplo \setbeamercovered{transparent} % Velos Figura 10.1 Transparencia Beamer. \newtheorem{teo}{Teorema} \newtheorem{ejemplo}{Ejemplo} \newtheorem{defi}{Definición} \newtheorem{coro}{Corolario} \newtheorem{prueba}{Prueba} \begin{document} \title{Factorización en $Z_p[x]$ y en $Z[x].$\\} \subtitle{Parte I} \author{{\bf Prof. Walter Mora F.}\\ {Escuela de Matemática, ITCR}\\ {http://www.tec-digital.itcr.ac.cr/revistamatematica/}\\ \vspace*{0.5cm}} \date{Junio 2007} \frame{\titlepage} \section{ Primera sección} \begin{frame}{Título de este marco} % texto \end{frame} \begin{frame}{Título de este marco} % texto \end{frame} \end{document} Compilar Un documento Beamer se puede compilar directamente con PDFLaTeX o con LaTeX-dvips LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 137 138 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER . Si instaló la distribución TeXLive 2009 o menos o MiktEx2.9 o menos y si compila con PDFLaTeX, no habrá problemas con las figuras en formatos .pdf, .jpg, .png. Si necesita usar figuras .eps podría agregar el paquete epstopdf y habilitar shell escape. Ver apéndice B. . Si instaló la distribución TeXLive 2010 o superior, y si compila con PDFLaTeX, no habrá problemas con las figuras en formatos .pdf, .jpg, .png,.eps. En ambos casos podría, si le parece conveniente, declarar las extensiones para incluir figuras sin hacer referencia a la extensión. \DeclareGraphicsExtensions{.pdf,.png,.jpg} . Si compila con LaTeX puede usar figuras .eps (hay paquetes que permiten habilitar otros formatos como .svg, etc.) La primera transparencia del código anterior se muestra en la figura 10.2 Figura 10.2 Transparencia Beamer. Tema Warsaw Beamer carga (por default) el paquete ‘graphicx’ para el soporte de gráficos. La lista parcial de temas que viene con Beamer es \usetheme{Bergen} \usetheme{Boadilla} \usetheme{Copenhagen} \usetheme{Dresden} \usetheme{Warsaw} \usetheme{CambridgeUS} \usetheme{Hannover} \usetheme{Luebeck} \usetheme{AnnArbor} \usetheme{Berkeley} \usetheme{Antibes} \usetheme{Malmoe} \usetheme{Darmstadt} \usetheme{Frankfurt} \usetheme{Ilmenau} \usetheme{Madrid} \usetheme{Berlin} \usetheme{PaloAlto} Los temas de la versión actual (Beamer 3.26 al 2013) se pueden ver en la documentación del paquete, http://www.tex.ac.uk/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide. pdf 139 En Internet hay otros tantos temas Beamer disponibles, usualmente temas de particulares o instituciones pero de distribución libre. Los temas se pueden personalizar (ver [15]). 10.3 Marcos (frames) El uso más común de un marco (frame) es poner una lista de items Ejemplo 10.1 \begin{frame} \frametitle{Campo Galois $GF(p^r)$} \framesubtitle{Resumen} \begin{enumerate} \item Todo dominio integral {\em finito} es un campo\\ \item Si $F$ es un campo con $q$ elementos, y $a$ es un elemento no nulo de $F$, entonces $a^{q-1}=1$\\ \item Si $F$ es un campo con $q$ elementos, entonces cualquier $a \in \, F$ satisface la ecuación $x^q-x=0$\\ \end{enumerate} \end{frame} Figura 10.3 10.4 Marco Beamer. Tema Warsaw Velos (overlays) En una presentación puede ser deseable que los ítems vayan apareciendo uno a al vez, mientras los otros permanecen con un velo. Esto se puede lograr agregando la opción [<+->] a los entornos enumerate o itemize. Un ejemplo se muestra en la figura 10.4. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 140 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER Ejemplo 10.2 \begin{frame} \frametitle{Campo Galois $GF(p^r)$} \framesubtitle{Resumen} \begin{enumerate}[<+->] % <- Nueva opción \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íz de $m(x)$. \item Sea $F$ un campo con $q$ elementos. Entonces $q=p^r$ con $p$ primo y $r \in \, N$ \end{enumerate} \end{frame} velos Figura 10.4 10.4.1 Marco Beamer con dos “velos”. Opciones <i-> y \uncover<i-> En vez de usar la opción[<+->] en el entorno enumerate (o itemize), se puede agregar un comportamiento un poco más dinámico usando las opciones <i-> y \uncover<i->{texto}. Con estas opciones podemos controlar la secuencia en la que se presentan distintas líneas en una transparencia. \item<i-> indica que este ítem se presenta en la i −ésima transparencia. En la práctica se puede ver como la misma transparencia con un velo menos. \uncover<i->{texto} indica que este texto se presenta en la i −ésima transparencia Por ejemplo, en la siguiente transparencia, se quiere mostrar inicialmente una ecuación y la solución, ambos ítems se marcan con <1->. Después se muestra el procedimiento, que corresponde a los ítems <2->,<3->,<4-> 141 Ejemplo 10.3 \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} Figura 10.5 % <1-> % <1-> Marco Beamer con overlays. Un ejemplo del comando \uncover se presenta más adelante, en la sección 10.9. 10.4.2 Opción <i-|alert@ i> Esta opción se usa igual que en los casos anteriores. Lo nuevo es que la nueva transparencia descubre en color rojo el nuevo ítem. Ejemplo 10.4 \begin{frame}{Ejemplo} \begin{enumerate} \item<1-|alert@1> $x^4-x=0$ % <\item<2-|alert@2> $x(x^3-1)=0$ \item<3-|alert@3> $x =0 \;$ o $\;x^3-1=0$ \item<4-|alert@4> $x =0 \;$ o $\;x=\sqrt[3]{1}$ \item<1-|alert@1> $\Longrightarrow x=0,\; x=1$ % <\end{enumerate} \end{frame} 142 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER Ejemplo 10.4 (continuación). Nota: Si solo queremos el efecto de ‘alerta’ en cada ítem, podemos poner \begin{frame}{Ejemplo} \begin{enumerate}[<+-| alert@+>] \item $x^4-x=0$ \item $x(x^3-1)=0$ \item $x =0 \;$ o $\;x^3-1=0$ \item $x =0 \;$ o $\;x=\sqrt[3]{1}$ \item $\Longrightarrow x=0,\; x=1$ \end{enumerate} \end{frame} Figura 10.6 10.5 % <- opción Marco Beamer con opciones <i-|alert@ i> Comando pause. Para crear un velo, se puede usar \pause. Si solo se usa una vez, se cubre la parte del marco que está después de \pause y se puede usar varias veces en el marco si queremos fragmentar los velos. Los ejemplos de cómo se podría usar pause están en la sección que sigue. 10.6 Entornos para teoremas, definición, etc. Ya habíamos puesto en el preámbulo nuestras definiciones para los entornos de Teorema, Definición, etc. Estos entornos se usan igual que enumerate Nota: Beamer tiene su propio entorno para ejemplos, teoremas, definiciones, etc. El idioma se puede cambiar en el archivo (el paquete babel podría presentar choques con Beamer) ...\tex\latex\beamer\base\beamerbasetheorems.sty 143 Ejemplo 10.5 \begin{frame}{Campo Galois $GF(p^r)$} \begin{teo} %definido en el preámbulo Sea $F$ un campo y $P(x)$ mónico en $F[x],$ grado $P(x)\geq 1$. Entonces, existe un campo $K$ que contiene a $F$ tal que en $K[x],$ $P(x)$ factoriza como un producto de factores lineales. \end{teo} \pause % <---- PAUSA \begin{ejemplo} % Entorno definido en el preámbulo Sea $P(x)=x^3-2 \in\,Q[x]$. $P(x)$ es irreducible. Aunque tiene una raíz en $R,$ a saber $2^{1/3}$, $R$ no es un campo de escisión para $P.$ \end{ejemplo} \end{frame} Figura 10.7 10.7 Entornos Teorema y Ejemplo. Blocks. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 144 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER La numeración y la etiqueta de los entornos teorema, definición, etc., son adecuados para notas de clase, libros o artículos, es decir, en contextos donde el público puede acceder al material escrito porque la numeración de teoremas es algo complicado de recordar (recuerden el sufrido libro de Jean Dieudonne, “Foundations of Modern Analysis”). En una presentación es mejor indicar las cosas con nombre fáciles de recordar, como “Teorema de Rolle”, etc. El entorno Block es solo un caja sin etiqueta de entorno y sin numeración; la ventaja es que nos permite poner nombres arbitrarios a las cajas. Veamos un ejemplo, Ejemplo 10.6 \begin{frame}{Nodos igualmente espaciados} \begin{block}{Diferencias hacia adelante} \begin{eqnarray*} \Delta^0 y_k&:=&y_k,\\ \Delta^1 y_k&=&y_{k+1}-y_k,\\ \Delta^2 y_k&=&\Delta(y_{k+1}-y_k)\;=\;y_{k+2}-y_{k+1}-y_{k+1}+y_k \;=\;y_{k+2}-2y_{k+1}+y_k,\\ &\dots&\\ \Delta^n y_k&=&\sum_{j=0}^{n}(-1)^j\binom{n}{j}y_{k+n-j} \end{eqnarray*} \end{block} \end{frame} Figura 10.8 Block. 145 10.8 Opción fragile Se debe usar la opción fragile en un marco que contiene verbatim, algorithm2e, etc. Un ejemplo típico, es presentar el código de un programa (ver figura 10.9), Ejemplo 10.7 \begin{frame}[fragile] \frametitle{Ejemplo Java} \begin{verbatim} import javax.swing.*; import java.awt.*; public class app_prg1 extends JApplet {public void init(){} public void paint ( Graphics g ) {g.drawString(" 3 +46 = "+(3+46),30, 30 );} } \end{verbatim} \end{frame} Figura 10.9 10.9 10.9.1 Opción fragile. Entornos para código de programas Entorno semiverbatim A veces es adecuado mostrar el código de un programa en bloques de una manera no necesariamente lineal. Para esto usamos recubrimientos y un ambiente semiverbatim. \alert<i>{texto} para poner el texto en rojo. \uncover<i->{...} para controlar la secuencia de recubrimientos dentro del entorno semiverbatim LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 146 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER \visible<i->{texto} para mostrar texto en la transparencia i pero fuera del entorno semiverbatim. Se podrían usar los siguientes comandos, Ejemplo 10.8 \begin{frame}[fragile] \frametitle{Un algoritmo para buscar números 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} \visible<4->{Notar el uso de \alert{\texttt{std::}}.} \end{frame} Figura 10.10 10.9.2 semiverbatim Iluminar código de lenguajes de programación. Para agregar color de manera automática al código de un lenguaje de programación se puede usar los paquetes minted, verbments o listings. Los dos primeros, posiblemente los más eficientes, necesitan instalar programas externos. listings se puede usar directamente. Los detalles de la instalación de minted y verbments (Windows-Ubuntu) los puede ver en la sección ??. Los tres entornos se pueden usar con Beamer tal y como se indicó en la sección ??. Por ejemplo, para usar minted ponemos en el preámbulo \usepackage{wminted}. 147 Ejemplo 10.9 \begin{frame}[fragile]{Programación java} % fragile \begin{minted}[frame=lines, rulecolor=\color{gray}]{java} import javax.swing.*; import java.awt.*; public class app_prg1 extends JApplet { public void init(){} public void paint ( Graphics g ){ g.drawString(" 3 +46 = "+(3+46),30, 30 );} } \end{minted} \end{frame} Figura 10.11 10.10 Beamer Paquete minted en Beamer y el paquete algorithm2e En esta sección vamos a ver un ejemplo en el que se usa el paquete algorithm2e (ver sección 9.7) en un entorno frame. Para este ejemplo, se puso en el preámbulo %En el preámbulo \usepackage[ruled,vlined,lined,linesnumbered,algosection,portugues]{algorithm2e} Observe que necesitamos la opción fragile para frame y la opción [H] para algorithm. 148 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER Ejemplo 10.10 \begin{frame}[fragile] \begin{algorithm}[H] % <- necesario \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 ... \Return $\alpha_j=s/f$ \; \end{{algorithm}} \end{frame} Figura 10.12 10.11 Beamer con algorithm2e Gráficos La inclusión de gráficos se hace de la misma manera que un documento LaTeX usual (ver capítulo 6). Como dijimos antes, 1 Si instaló la distribución TeXLive 2009 o menos o MiktEx2.9 o menos y si compila con PDFLaTeX, no habrá problemas con las figuras en formatos .pdf, .jpg, .png. Si necesita usar figuras .eps podría agregar el paquete epstopdf y habilitar shell escape. Ver apéndice B. 2 Si instaló la distribución TeXLive 2010 o superior, y si compila con PDFLaTeX, no habrá problemas con las figuras en formatos .pdf, .jpg, .png,.eps. En ambos casos podría, si le parece conveniente, declarar las extensiones para incluir figuras sin hacer referencia a la extensión. 149 \DeclareGraphicsExtensions{.pdf,.png,.jpg} 3 Si compila con LaTeX puede usar figuras .eps (hay paquetes que permiten habilitar otros formatos como .svg, etc.) Ejemplo 10.11 \begin{frame}{Superficie $S$ y proyección} \begin{figure}[h!] \centering \includegraphics{images/B_fig12.pdf} %compilando PDFLaTeX \caption{Superficie $S$}\label{Beamer:fig12} \end{figure} \end{frame} Figura 10.13 10.12 Incluir un gráfico Ligas y botones. Digamos que queremos poner un botón para ir a la transparencia j desde la transparencia i y, además, poner un botón en la transparencia j de retorno. Para esto usamos ligas simples o botones: \beamergotobutton y \beamerreturnbutton. Cada marco debe tener una identificación de marco y un marco destino. \hyperlink{identificación del marco}{botón + texto} \hypertarget<2>{identificación del destino}{} LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 150 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER Ejemplo 10.12 \begin{frame}{MARCO 1} \hyperlink{MARCO1}{\beamergotobutton{Ir a Marco 2}} \hypertarget<2>{MARCO2}{} \end{frame} \begin{frame}{MARCO 2} \hyperlink{MARCO2}{\beamerreturnbutton{Regresar a Marco 1}} \hypertarget<2>{MARCO1}{} \end{frame} Figura 10.14 Ligas También se puede incorporar ligas sin botones, \begin{frame}{MARCO 3} \hyperlink{MARCO3}{$>$ Ir a Marco 4} \hypertarget<2>{MARCO4}{$<$} \end{frame} \begin{frame}{MARCO 4} \hyperlink{MARCO4}{Regresar a Marco 3} \hypertarget<2>{MARCO3}{} \end{frame} 10.13 Efectos de Transición. Color Un efecto de transición de una transparencia A a una transparencia B, se puede lograr poniendo el comando respectivo en cualquier parte de la transparencia B. El efecto se logra ver solo a pantalla completa. Otros efectos . \transblindshorizontal . \transblindsvertical<2,3> 151 . \transboxin . \transboxout . \transglitter<2-3>[direction=90] . Se pueden incluir películas, animaciones, etc. con \usepackage{multimedia}, etc. En el ejemplo que sigue, además de poner un efecto de transición vamos a crear una entorno tabular con las filas con color azul, específicamente ZurichBlue. Necesitamos hacer dos cosas en el preámbulo para que todo esto funcione, . \documentclass[xcolor=pdftex,table]{beamer}. La opción “table” le informa a Beamer que el paquete colortbl debe ser cargado para poder usar la opción \rowcolors . \definecolor{ZurichBlue}{rgb}{.255,.41,.884}.Con esto definimos lo que será nuestro ZurichBlue. En el código que sigue, el color se pone en distintos porcentajes. Ejemplo 10.13 %\documentclass[xcolor=pdftex,table]{beamer} %\definecolor{ZurichBlue}{rgb}{.255,.41,.884} \begin{frame} \transdissolve % <--- Efecto de transición \begin{center} \rowcolors{1}{ZurichBlue!20}{ZurichBlue!5} %Porcentaje de color \begin{tabular}{|l|l|c|}\hline Enteros &long & de $-2^{63 }$ a $2^{63}-1$\\\hline ... \end{tabular} \end{center} \end{frame} Figura 10.15 Transición y Color 152 CÓMO HACER TRANSPARENCIAS CON LA CLASE BEAMER 10.14 Ligas a Documentos Externos Para hacer ligas a documentos externos podemos usar el comando \href{http://...}{ texto} Ejemplo 10.14 El código: \parbox{3cm}{ \href{http://www.tec-digital.itcr.ac.cr/revistamatematica/cursos-linea/ 3D-Web/exersolido21.html}{ \includegraphics[width=3cm]{images/exersolido21}} }\parbox{12cm}{Sólido $Q_{14}$ limitado por las superficies $y=2-2x^2;$ $y=1-x^2;\;\;y+2z=2;\;\;x=0$ y $z=0;$ en el I octante.}\\ produce: (puede hacer clic sobre el gráfico) Z 1 1 2 1 Y Sólido Q14 limitado por las superficies y = 2 − 2x2 y = 1 − x2 ; y + 2z = 2; x = 0 y z = 0; en el I octante. X Liga a un documento en el disco duro, por ejemplo El código del programa está aquí El código del programa está \href{file://C:/MiJava/programa1.java}{\underline{aquí}} Otras ligas: Prof. Walter Mora F. ([email protected]) En la revista digital Matemática, Educación e Internet encontrará el Manual de LaTeX, en la liga "Libros" Prof. Walter Mora F. {\href{mailto:[email protected]}{([email protected])}\\ En la revista digital Matemática, Educación e Internet encontrará \href{http://www.tec-digital.itcr.ac.cr/revistamatematica/ }{\underline{el Manual de LaTeX},} en la liga ‘‘Libros’’\\ 153 10.15 Animaciones Se puede preparar una animación simplemente desplegando una secuencia de gráficos, por ejemplo \begin{frame} \frametitle{Mi animación} \begin{figure}[t] \centering \includegraphics<1>[scale=0.2]{images/picture_1.pdf} \includegraphics<2>[scale=0.2]{images/picture_2.pdf} \includegraphics<3>[scale=0.2]{images/picture_3.pdf} \includegraphics<4->[scale=0.2]{images/picture_4.pdf} \end{figure} \end{frame} Lecturas recomendadas. Se recomienda las lecturas [9] y [15]. Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 11 DOCUMENTOS LATEX EN INTERNET En este capítulo hay dos secciones principales: Traducir un archivo LATEX directamente a HTML con “LaTeX2HTLM Translator” y la otra: Usar PDFScreen para desplegar un PDF en modo ‘presentación en pantalla’ 11.1 LaTeX2HTLM Translator ‘LaTeX2HTLM Translator’ es un conjunto de scripts en PERL. LaTeX2HTLM convierte un documento LATEX (un archivo *.tex) en un do-cumento adecuado para la internet. LaTeX2HTML fue creado por Nikos Drakos y Ross Moore La manera fácil La conversión de un archivo LATEX a HTML es sencilla en Ubuntu: En el archivo .tex que desea convertir, debe agregar en el preámbulo \usepackage{html,makeidx} y luego abrir una terminal, ir a la carpeta donde está el archivo .tex, digamos que se llama ARCHIVO.tex, y ejecutar, latex2html ARCHIVO.tex Esto genera una subcarpeta ARCHIVO con las imágenes y las páginas web (nodei.html). Eso es todo. La manera difícil Para correr LaTeX2HTLM Translator bajo Windows XP (no hemos hecho pruebas en Windows 7), se necesitan algunos programas: Perl, GhostScript y Netpbm (biblioteca de conversión de imágenes). La mejor recomendación es: Si quiere traducir LaTeX a HTML con “LaTeX2HTLM Translator”, instale Ubuntu como huésped de Windows con Wubi (ver apéndice A) o en una ventana usando VirtualBox (necesitará el cd de instalación de Ubuntu), es fácil y le ahorrará mucho trabajo. Si quiere probar en Window, pues deberá armarse de paciencia. Puede seguir las instrucciones en la página de Jon Starkweather. 11.2 Otra Opción: PDFScreen Hay otras opciones para poner texto matemático en Internet. Tal vez ya Ud. lo haya visto en Google books o en Scribd (ipaper). Bueno, aquí no vamos a hacer algo tan sofisticado, pero si algo parecido y muy eficiente. Los navegadores tienen el plugin de Adobe Reader (sino, es fácil de instalar). Podemos convertir el texto LATEX en un PDF en modo ‘presentación en pantalla’, de tal manera que las páginas se carguen una a una. Existe un paquete muy eficiente que hace esto: PdfScreen, Para empezar, se podría agregar al preámbulo Descargar archivo .tex \usepackage[spanish,screen,panelright,gray,paneltoc]{pdfscreen} %Parámetros adicionales %\emblema{images/logo.png} % logo de la presentación. \overlayempty % sin imagen de fondo \backgroundcolor{white} % color de fondo: blanco \divname{Escuela de matemática} % nombre de la Institución \margins{.75in}{.75in}{.75in}{.75in} % márgenes \screensize{6in}{9in} % ancho y largo sugeridos \DeclareGraphicsExtensions{.pdf,.png,.jpg} Como es natural, se compila usando PDFLaTeX (se usa el paquete epstopdf para incluir cualquier tipo de imágenes como vimos en el capítulo 6). Algunas opciones del paquete son, Opción \screen \panelright \panelleft \nopanel \color \paneltoc versión para pantalla panel de navegación a la derecha panel de navegación a la izquierda sin panel de navegación esquema de color: bluelace, blue, gray, orange, palegreen y chocolate índice de contenidos en el panel LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 155 156 DOCUMENTOS LATEX EN INTERNET Configuración adicional Podemos modificar el archivo pdfscreen.sty. Este archivo está en la subcarpeta /usr/share/ texmf-texlive/tex/latex/base en Ubuntu y en C:/Archivosdeprograma/miktex2.x/tex/latex/ base en Windows. Aquí se puede redefinir los colores y agregar botones al menú, por ejemplo podemos agregar en la línea 624, %botón de búsqueda \Acrobatmenu{AcroSrch:Query}{\addButton{\buttonwidth}{\@Panelgobackname}}\\\pfill \Acrobatmenu{FullScreen}{\addButton{\buttonwidth}{\@Panelfullscreenname}}\\\pfill %botón \Acrobatmenu{SaveAs}{\addButton{\buttonwidth}{\@Panelclosename}}\\\pfill La instrución \Acrobatmenu{AcroSrch:Query}... agrega un botón para desplegar el menú de búsqueda en el PDF. La instrución Acrobatmenu{SaveAs}... agrega un botón para desplegar el menú de Guardar como en el PDF. Un manual del paquete se puede ver en http://www.ctan.org/tex-archive/help/Catalogue/ entries/pdfscreen.html 11.3 Servicio de visores de PDF en Internet Los PDF se pueden subir (upload) y desplegar de manera eficiente en sitios Web que incrustan y despliegan los documentos usanddo Flash. También estos sitios ofrecen visores para ver los documentos con su aplicación en nuestro sitio Web. El PDF que sigue (puede hacer clic en la figura para ir a Internet) fue incrustado en la una página Web usando el visor de Google docs Estos sitios son comunidades con miles de lectores. Hasta ahora, el servicio es gratuito en Issuu, Scribd, Docstoc y wepaPers. También podemos incrustar un PDF en alguna página Web y subirla a la nube en sitios gratuitos que permiten que las páginas Web se desplieguen: DropBox, Amazon, etc. Vamos a poner un PDF en internet usando el visor de Google docs. Vamos a suponer que el PDF está en DropBox, pero igual podría estar en otro sitio en la nube, solo necesitamos su dirección en Internet. 157 Los pasos son como sigue, 1 Si no tiene DropBox, debe instalarlo (este es un servicio gratuito). 2 Digamos que nuestro archivo se llama ARCHIVO.pdf 3 Pegamos ARCHIVO.pdf en la carpeta Public de DropBox (en nuestra computadora o vía Internet) 4 Haciendo clic derecho sobre el archivo y, en el menú que emerge, copiamos su enlace público (DrobBox-Copiar enlace público) 5 Abrimos el Bloc de Notas (o Gedit en Ubuntu) y escribimos este código, <html> <head> <meta http-equiv="Content-Language" content="es"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Pagina nueva 1</title> </head> <body> <p align="center"><b><font face="Arial" size="6">PDF en Internet con el visor de Google docs</font></b></p> <p align="center"> <iframe src="http://docs.google.com/gview?url=DIRECCION&embedded=true" style="width:800px; height:800px;" frameborder="0"></iframe> </p> </body> </html> "DIRECCION" se refiere al enlace público que nos dio DropBox (u otro sitio). Observe que en la ruta no hay espacios en blanco. "http://docs.google.com/gview?url=DIRECCION&embedded=true" 6 Guardar el archivo con extensión .html, digamos mipdf.html 7 Pegamos el archivo .html en la carpeta Public de DropBox (en nuestra computadora o vía Internet) 8 Haciendo clic derecho sobre el archivo .html y, en el menú que emerge, copiamos su enlace público (DrobBox-Copiar enlace público). Este el enlace público con el que podremos ver el PDF incrustado en internet. 158 DOCUMENTOS LATEX EN INTERNET Ejemplo 11.1 (Un PDF desde DropBox con el visor de Google docs) El PDF que sigue (puede hacer clic en la figura para ir a Internet) fue incrustado en la una página Web. Hicimos varias cosas: . Cambiamos las dimensiones: style="width:800px; height:800px;". . El PDF está en DRopBox y su enlace público es https://dl.dropbox.com/u/56645701/ Criba.pdf. . Después de hacer la página Web y pegarla en DropBox, el enlace público a la página es https://dl.dropbox.com/u/56645701/ArticuloWMora.htm. Esta es la dirección que usamos para incluir la referencia en este libro, con \href{}{}. El código de la página es, <html> <head> <meta http-equiv="Content-Language" content="es"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Criba de Eratóstenes</title> </head> <body> <p align="center"><b><font face="Arial" size="6">PDF en Internet con el visor de Google docs</font></b></p> <p align="center"> <iframe src="http://docs.google.com/gview?url=https://dl.dropbox.com/u/56645701/Criba.pdf&embedded=tr style="width:800px; height:800px;" frameborder="0"></iframe> </p> </body> </html> 159 11.4 Expresiones LaTeX en páginas Web Para editar código LaTex directamente en una página Web (archivo .html) podría usar MathJax. En la documentación se explica muy bien las adaptaciones que se deben hacer. Por ejemplo, una página simple (.html) podría ser <!DOCTYPE html> <html> <head> <title>MathJax TeX Test Page</title> <script type="text/x-mathjax-config"> MathJax.Hub.Config({tex2jax: {inlineMath: [[’$’,’$’], [’\\(’,’\\)’]]}}); </script> <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> </head> <body> When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$ </body> </html> Este archivo se edita en el bloc de notas (o en Gedit) y se guarda con extensión .html. Luego se sube a un servidor (podría ser en la nube). Como ejemplo, la página Web con el código anterior fue subida y publicada en UbuntuOne (en DropBox no funcionó), el resultado lo puede ver aquí. Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 160 DOCUMENTOS LATEX EN INTERNET Bibliografía [1] Andrew Mertz y William Slough. Beamer by Example. En http://www.tug.org/pracjourn/2005-4/mertz/mertz.pdf [2] J. Bezos. Tipografía. http://www.tex-tipografia.com/archive/tipos.pdf [3] N. Drakos, R. Moore. The LaTeX2HTML Translator. En http://cbl.leeds.ac.uk/ [4] F. Hernández. “Elementos de Infografía para la Enseñanza Matemática”. Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/). Vol. 11, No 1. Agosto-Diciembre 2010. [5] Gilles Bertrand. “Preparing a presentation (Beamer)”. En http://www.rennes.enst-bretagne.fr/~gbertran/ [6] G. Grätzer. The New Standard LATEX. Personal TEXInc. California. 1998. [7] I. Strizver. Type rules! : the designer’s guide to professional typography. John Wiley & Sons, Second edition. 2006. [8] Keith Reckdahl. “Using Imported Graphics in LATEX2” ftp://ftp.tex.ac.uk/tex-archive/info/epslatex.pdf [9] KiJoo Kim. “Beamer v3.0 Guide”. En http://faq.ktug.or.kr/wiki/uploads/ [10] Hahn, J. LATEX for everyone. Prentice Hall, New Jersey, 1993. [11] L. Lamport. LATEX. Addison-Wesley. 1996. [12] M. Goossens; F, Mittelbach; A. Samarin.The LATEX Companion. Addison-Wesley. 1993. [13] R. Willians. Non-Designer’s Design Books. Third Edition. Peachpit Press. 2008. [14] L. Seidel. “LaTeXtoHTML”. En http://apolo.us.es/CervanTeX/ [15] Till Tantau. User Guide to the Beamer Class, Version 3.07 En http://latex-Beamer.sourceforge.net, 2007. [16] The LaTeX Font Catalogue. En http://www.tug.dk/FontCatalogue/utopia-md/ [17] Wichura M. “The Pictex Manual ". Universidad de Chicago, 1987. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) Apéndice A Agregar Nuevos Paquetes Para usar un paquete, podemos poner el archivo .sty en la misma carpeta de nuestro archivo .tex. Eso sería suficiente. Pero si queremos instalarlo de manera permanente de tal manera que esté disponible para cualquier sesión, debemos pegarlo en la subcarpeta tex/latex/base En Ubuntu se encuentra en /usr/share/texmf/tex/latex/base En Windows se encuentra en C:/Program Files/MikTeX2.9/tex/latex/base de la distribución y refrescar la distribución. Aquí indicamos cómo hacer esto en Ubuntu y en Windows. TeXLive - Ubuntu. El archivo se pega en la subcarpeta base: Abrimos una terminal y nos vamos a al carpeta donde se descargó el archivo y lo pegamos en la subcarpeta base, sudo cp -a boiboites1.sty /usr/share/texmf-texlive/tex/latex/base luego actualizamos el TeXLive, sudo texhash MikTeX - Windows. Hay que pegar el archivo en C:/Program Files/MikTeX2.9/tex/latex/base y luego debemos actualizar y refrescar la base de datos para que los cambios tengan efecto. Para esto debemos seguir los siguientes pasos, Levantar las opciones de MiKTeX: Inicio-MiKTeX2.x-Maintenance(Admin)-Settings * LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 161 162 AGREGAR NUEVOS PAQUETES Hacer clic primero sobre el botón Refresh FNBD y luego sobre el botn Update Formats Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) Apéndice B Habilitar ’shell escape’ Habilitar shell-scape: En la configuración de su editor debe buscar la opción PdfLaTeX (o LaTeX) y agregar -shell-escape de tal manera que quede PdfLaTeX -synctex=1 -interaction=nonstopmode --shell-escape ’%source’ Por ejemplo, en TeXMaker se vería así, * LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 163 Apéndice C Instalar una distribución y un editor C.1 Distribuciones TEX Hay varias distribuciones TEX por ejemplo: TeXLive (Windows, Linux, Mac), MacTeX (Mac OS X) y MiKTEX (Windows). Las pruebas de este libro se hicieron con MiKTeX2.9 (Windows XP, 7 y 8) y con TeXLive 2012 (Ubuntu 12.10). Asumimos que el lector tiene la distribución respectiva completa a mano. Obtener e Instalar MiKTEX Para obtener MiKTEX 2.9 se puede ir directamente al sitio web http://miktex.org/2.9/setup y descargamos “MiKTeX 2.9 Net Installer”, esta opción descarga el ejecutable setup-2.9.3959.exe. Con este ejecutable se establece una conexión a Internet para primero descargar y luego instalar MiKTEX completo (hay una guía de instalación en http://docs.miktex.org/2.9/manual/installing.html). Los pasos básicos son: 1 * Ejecute setup-2.9.3959.exe y siga las instrucciones. En algún momento deberá elegir la opción ’Download MiKTeX’. Tenga en cuenta que esto puede tardar bastante tiempo (dependiendo de la velocidad de la conexión). MikTeX, TexLive, MacTeX 2 Ejecute de nuevo setup-2.9.3959.exe y elija la opción ’Install MiKTeX’. Ahora se instalará MiKTEX desde la carpeta de descarga que eligió en el paso anterior. Obtener e Instalar TEXLive En el apéndice E se indica cómo instalar Ubuntu desde Windows. Ubuntu 64 bits es recomendable para trabajar con tareas que requieren mucho trabajo gráfico o mucho cálculo (sin hablar de Mac), si no es este el caso, Ubuntu 32 bits es adecuado para el uso doméstico usual.1 En Ubuntu, TEXLive se puede instalar con el ’Gestor de paquetes Synaptic’. Se debe buscar la opción texlive-full, marcar y luego aplicar (también se puede instalar desde el ’Centro de Software de Ubuntu’, buscando tex live). C.2 Un Editor Después de la instalación de la distribución TeX instalamos un editor. Hay varios editores: Texmaker, Texstudio, Winshell, Kile, etc. Los editores buscan la instalación TEX/LATEX de manera automática. Luego se pueden configurar algunas cosas adicionales. Ubuntu: Hay varios editores: TeXMaker, TeXMakerX, Kile, etc. kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk TeXMaker: Se instala con el ’Gestor de paquetes Synaptic’. kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 165 166 INSTALAR UNA DISTRIBUCIÓN Y UN EDITOR Configuración adicional Aunque la instalación procede de manera automática, hay un par de cosas que podemos configurar. Diccionario en español: Vamos a Opciones-Configurar TexMaker-Editor y cambiamos a /usr/ share/myspell/dicts/es-CR.dic Búsqueda inversa (código←→visor): Esta opción es muy útil para pasar del PDF, generado con LATEX (DVI→PDF o PDFLATEX), al código TEX y viceversa de tal manera que nos ubiquemos en el lugar actual del documento (funciona si usamos el visor default) Evince). Vamos a Opciones-Configurar TexMaker-Comandos. Modificamos la opción PdfLaTeX y digitamos pdflatex -synctex=1 -interaction=nonstopmode %.tex (solo agregamos -synctex=1). La búsqueda inversa se activa en el PDF con el botón derecho del ratón y luego haciendo clic. Nota: A la fecha, esta faceta funciona bien con TeXMaker 2.1, asegúrese de instalar esta versión o una versión superior. La versión actual (2013) ya trae esta faceta habilitada. Visor PDF externo: TeXMaker usa por defecto el visor Evince. Si queremos ver el documento en Adobe Reader como opción alternativa desde Evince, vamos a Opciones-Configurar TexMaker-VisorPDF-External Viewer y digitamos /usr/bin/acroread" %.pdf. Visor Okular: Un visor, para archivos PDF y DVI, más competente es Okular. Suponiendo que ya lo instalamos, vamos a Opciones-Configurar TexMaker-Comandos y modificamos la opción Visor DVI y digitamos okular --unique "file:%.dvi#src:@ %.tex" Un manual muy instructivo y completo para TeXMaker se encuentra en http://www.xm1math. net/texmaker/doc.html. TeXStudio: Es una derivación de TeXMaker con muchas facetas adicionales muy útiles. En par- ticular el visor PDF es mejor (usa el visor de TeXworks) pero es un poco más lento para compilar. Se configura igual que TeXMaker en lo que tienen en común. Se descarga en http: //texmakerx.sourceforge.net/. Kile: Se instala con el ’Gestor de paquetes Synaptic’. Para configurar facetas adiconales de Kile se puede ir a http://kile.sourceforge.net/Documentation/html/index.html. INSTALAR UNA DISTRIBUCIÓN Y UN EDITOR 167 Figura C.1 Editor Kile en Ubuntu Windows: Hay varios editores: TeXMaker, Texstudio, WinShell, etc. kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk TeXMaker: El instalador se descarga en http://www.xm1math.net/texmaker/. La configuración adicional es la misma que la que se mencionó para Ubuntu excepto el visor DVI pues en Windows se usa Yap. kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk La búsqueda inversa viene habilitada en la versión actual (2013). En otro caso, desde el DVI (en Windows) se requiere configurar el YAP. Abrimos el YAP desde TexMaker con la tecla F3, luego vamos a ViewOpciones-Inverse DVI Search y pulsamos el botón New. En Name: digitamos texmaker (el nombre del editor para referencia), en la cejilla que sigue usamos el botón de navegación para indicar el ejecutable (C:\ProgramFiles\texmaker\texmaker.exe) y en la tercera cejilla digitamos "%f" "%l". Pulsamos el botón Aplicar y luego Aceptar. Para hacer búsqueda inversa usando PDFLaTeX se debe usar SumatraPDF-TeX (ver más abajo). kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Texstudio: Es una derivación de TeXMaker con varias facetas adicionales muy útiles. Se descarga en http: //texmakerx.sourceforge.net/. kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk WinShell: El instalador se descarga en http://www.winshell.org/. Configuración adicional Aunque la instalación procede de manera automática, hay un par de cosas que podemos configurar. Diccionario en español: El diccionario se debe descargar en http://wiki.services.openoffice. org/wiki/Dictionaries. El contenido el comprimido se debe pegar en C:/Archivosdeprograma/ WinShell/Dictionaries (puede ser Spanish Mex), luego vamos a Opciones-Idioma... en la cejilla Corrector ortográfico: cambiamos a es_MX. Búsqueda inversa: Esta opción es muy útil para pasar del PDF, generado con LATEX (DVI→PDF) o PDFLATEX, al código TEX y viceversa de tal manera que nos ubiquemos en el lugar actual del documento. La búsqueda inversa viene habilitada en la versión actual (2013). En otro caso, en Windows esto se puede hacer con el visor SumatraPDF-TeX que se descarga en http:// william.famille-blum.org/software/sumatra/index.html (no funciona con Adobe Reader). No se instala, solo se pega en C:/Archivos de programa. Ahora hay que configurar ambos programas, 168 INSTALAR UNA DISTRIBUCIÓN Y UN EDITOR Figura C.2 Editor WinShell para Windows . En WinShell vamos a Opciones-Lamadas a programas.... En la cejilla Programa: seleccionamos PDFView y en la cejilla Archivo-exe: usamos el botón Examinar para poner la dirección del archivo SumatraPDF-TeX.exe (C:/Archivos de programa/Su matraPDF-TeX.exe). Eso es todo, luego reiniciamos WinShell. . Vamos a C:/Archivos de programa y ejecutamos SumatraPDF-TeX.exe, luego vamos a Configuración-Opciones y en la cejilla que está al final seleccionamos "C:\Pr ogramFiles\winShell\WinShell.exe" ... y pulsamos el botón Aceptar y cerramos. Para hacer búsqueda inversa desde el DVI se requiere configurar el YAP. Abrimos el YAP desde WinShell con la tecla F7, luego vamos a View-Opciones-Inverse DVI Search y pulsamos el botón New. En Name: digitamos winshell (el nombre del editor para referencia), en la cejilla que sigue usamos el botón de navegación para indicarla dirección del ejecutable (C:\Archivos de programa\winShell\WinShell.exe) y en la tercera cejilla digitamos -c "%f" -l %l. Pulsamos el botón Aplicar y luego Aceptar. C.3 Editores WYSIWYM para TEX "WYSIWYM" es un acrónimo que significa "lo que ves es lo que quieres decir" (What You See Is What You Mean). Hay algunos editores WYSIWYM gratuitos para generar documentos LATEX, pdfLATEX, etc. Por ejemplo, LyX y GNU TeXmacs. Poseen un editor de ecuaciones y una manera de editar documentos relativamente sencilla, pero se debe estudiar el manual (y los videos) antes de aventurarse a usarlos. De los dos, posiblemente el más eficiente y avanzado sea GNU TeXmacs. INSTALAR UNA DISTRIBUCIÓN Y UN EDITOR Figura C.3 Editor GNU TeXmacs con una sesión con Maxima. Figura C.4 Editor LyX 169 Apéndice D Software adicional Software adicional (Ubuntu) ———————————————————————Además de la edición de texto, es usual trabajar con gráficos, imágenes y también con diseño editorial (en los archivos PDF generados con LATEX). Para hacer esto vamos a usar Inkscape, Gimp y otros programas. Si tenemos una conexión a Internet, los programas se pueden instalar con el Centro de Software de Ubuntu o con el Gestor de paquetes Synaptic, por ejemplo. 1 Fuentes de Microsoft: Buscar ‘ttf-mscorefonts’ en ’Centro de Software de Ubuntu’ e instalar. Fuentes adicionales se instalan desde Centro de Software de Ubuntu-Tipografías 2 Shutter (para recortar y editar capturas de pantalla): Se instala con Synaptic 3 PdfSam (para unir, separar o combinar pdfs): Se instalan con Synaptic 4 Adobe Reader: Se instalan con Synaptic 5 Okular (visualizador adicional): Se instala con Synaptic 6 Gimp: Se instalan con Synaptic 7 Inkscape. En Synaptic, marcar Inkscape, pstoedit y pdf2svg y luego aplicar. También vamos a usar las extensiones, * . TeXtext: Se usa para introducir texto LATEX en la edición de gráficos e imágenes. Se descarga el comprimido textext-0.4.4.tar.gz desde http://pav.iki.fi/software/ textext/ y se descomprime, digamos en la carpeta ’Descargas’. Desde la terminal nos vamos a la carpeta ’Descargas’ (con el comando ’changedirectory’: cd) y luego digitamos sudo mv *.* /usr/share/inkscape/extensions [Enter] . Replace Font: Se usa para reemplazar una fuente por otra fuente. Se descarga el com- primido replace_font0.x.zip desde http://code.google.com/p/inkscape-replacefont/downloads/list y se descomprime, digamos en la carpeta ’Descargas’. Desde la terminal nos vamos a la carpeta ’Descargas’ (con el comando ’changedirectory’: cd) y luego digitamos, sudo mv *.* /usr/share/inkscape/extensions [Enter] Software adicional (Windows)1 —————————————————————— Además de la edición de texto, es usual trabajar con gráficos, imágenes y también con diseño editorial (en los archivos PDF generados con LATEX). Para hacer esto vamos a usar Inkscape, Gimp y otros programas. Inkscape requiere la instalación previa de Ghostscript, Gsview y Pstoedit. Adicionalmente podemos descargar la extensión TeXtext de Inkscape para editar texto LATEX en esta aplicación. También tres programas muy útiles son PdfSam (para extraer, unir o dividir páginas en un archivo pdf), FastStone V5.3 (útlima versión libre, se usa para recortar y editar capturas de pantalla) y Gimp para edición de fotos e imágenes generales. Descargar e instalar en este orden: Pdfsam: Descargar desde http://www.pdfsam.org/?page_id=32 FastStone V5.3: Descargar desde http://www.portablefreeware.com/?id=775 Gimp: Descargar desde http://www.gimp.org/ Inkscape: Descargar desde http://inkscape.org/download/?lang=es. D.1 Instalación la extensión TeXtext en Windows Esta instalación requiere varios pasos. Vamos a seguir la guía del profesor James Davis de Cornell University. Observe que esta guía está hecha pensando en Inkscape 0.48. En vez de instalar la más reciente versión de Inkscape, instalar la que viene en el comprimido que se da más adelante. 1 Primero necesitamos los programas y otros archivos: Inkscape-0.48.2-1-win32, Ghostscript, GsView, Image Magic y Pstoedit. Las versiones de los programas pueden ser incopatibles con distintas versiones de otros programas que vamos a necesitar, por eso, las versiones compatibles de todo lo que se necesita está en un solo comprimido, en LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 171 172 SOFTWARE ADICIONAL http://people.orie.cornell.edu/jmd388/design/guides/textext.zip 2 Descomprimir textext.zip e instalar Inkscape-0.48.2-1-win32, Ghostscript, GSview e Image Magic. Todos estos archivos son ejecutables (.exe). La instalación procede con las opciones default 3 Instalar Pstoedit. En la ventana Select Destination Location asegurarse de que la carpeta de instalación quede en Ghostgum: C:\Archivos de programa\Ghostgum\pstoedit En la ventana "Select Components" seleccionar todos (marcar las casillas). Figura D.1 pstoedit debe quedar en la carpeta de Ghostgum 4 Después de instalar pstoedit, debemos editar las variables de entorno para que textext pueda ejecutar pstoedit. Vamos al "Panel de Control" luego a "System and Security - System", aquí vamos a la opción "Advanced system settings" (en el lado izquierdo). Presionamos "Environment Variables" y en la ventana que se abre, vamos a la subventana "System variables", seleccionamos "Path" y presionamos Edit... y al final de la línea de texto agregamos (precedido de un putno y coma ’;’), ;C:\Program Files\ghostgum\pstoedit Cerramos todas las ventanas presinando "OK" o "Aceptar". 5 Instalamos el ejecutable textext-0.4.4 que viene en el .zip. 6 Modificamos: Copiamos el archivo textext.py que viene en el .zip y lo pegamos (sobreescribiendo el archivo antiguo) en C:\Program Files\Inkscape\share\extensions Este archivo está preparado para Inkscape 0.48. 7 Descomprimir el site-package.zip en C:\Program Files\Inkscape\python\Lib\site-packages Deberá sobreescribir el contenido de la carpeta site-packages. Ahora hacemos una prueba para saber si TeXText funciona. LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) SOFTWARE ADICIONAL Figura D.2 Editar ’variables de entorno’ para agrgar la ruta de pstoedit Figura D.3 Inkscape y textext funcionando en una Tablet Acer Iconia con Windows 8. Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html 173 Apéndice E Ubuntu Ubuntu es una distribución Linux basada en Debian GNU/Linux. Ubuntu es un sistema operativo para el usuario promedio, con un fuerte enfoque en la facilidad de uso y de instalación del sistema. Al igual que otras distribuciones se compone de múltiples paquetes de software normalmente distribuidos bajo una licencia libre o de código abierto. E.1 Instalar Ubuntu desde Windows Ubuntu se puede instalar y desinstalar desde Windows. Una vez instalado, al inicio de la sesión aparece la opción de entrar con Windows o Ubuntu Microsoft Windows Ubuntu El instalador es "Wubi.exe". También se puede instalar Ubuntu de manera independiente, dándonos la oportunidad de escoger las particiones. * 1 Descargar en Ubuntu-Descargas. Hay tres opciones: "Ubuntu Desktop Edition" en 32 bits o 64 bits y "Ubuntu Netbook Edition". 2 Descomprimimos el archivo Ubuntu-10.10-desktop... y ejecutamos el programa Wubi 3 Al reiniciar la computadora, Ubuntu se termina de instalar. La distribución viene con algunos programas: OpenOffice.org, Firefox, etc.. 4 Después de instalar Ubuntu es conveniente actualizar el sistema desde AdministraciónGestor de Actualizaciones. 5 Es conveniente abrir el Centro de Software de Ubuntu para tener una idea de qué software hay disponible (siempre hay cosas nuevas) 6 Antes de instalar, habilitamos más repositorios: Ir a Administración-Gestor de ActualizacionesConfigurar-Software de Ubuntu y habilitar las primeras 4 casillas 7 Recomendación para instalación: (a) Texlive-full: Se instala con Synaptic (b) Lyx, Kile, TexMaker. (editores): Se instalan con Synaptic (c) Fuentes de Microsoft: Buscar ttf-mscorefonts en ’Centro de Software de Ubuntu’ e instalar. Fuentes adicionales se instalan desde Centro de Software de Ubuntu-Tipografías (d) Shutter (para recortar y editar capturas de pantalla): Se instala con Synaptic (e) PdfSam (para unir, separar o combinar pdfs): Se instalan con Synaptic (f) QtOctave, wxMaxima, Scilab (equivalente a MatLab): Se instalan con Synaptic (g) Google Chrome (otro navegador): Se instala con Synaptic (h) Evolution o Thunderbird (Gestión de correo) (i) Google Earth (j) Skype (k) Unrar (para descomprimir): Se instalan con Synaptic (l) Adobe Reader: Se instalan con Synaptic LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) 175 176 8 UBUNTU TurboPrint es un programa (requiere licencia) para instalar drivers de impresoras posible- mente algo antiguas. TurboPrint agrega los drivers a la lista de la distribución. La descarga y las instrucciones están en http://www.turboprint.info/download.html Antes de comprar, hay que tomar en cuenta que en los foros de Internet hay mucha información sobre cómo conseguir e instalar drivers de impresoras en Ubuntu. 9 Inkscape. (a) Inkscape se instala con Synaptic. Además es adecuado instalar pstoedit y pdf2svg (requiere texlive-full) para trabajar con archivos pdf generados con LaTeX. (b) Extensión TeXtext para Inkscape: Se descarga el comprimido textext-0.4.4.tar.gz y se descomprime. (c) Desde la terminal nos vamos a la carpeta que nos quedó (posiblemente "Descargas") y luego movemos el archivo a inkscape/extensions. En nuestra máquina sería, walter@walter-desktop:~$ cd /home/walter/Descargas walter@walter-desktop:~$ sudo mv *.* /usr/share/inkscape/extensions [Enter] Versión más reciente (y actualizaciones) de este libro: http://www.tec-digital.itcr.ac.cr/revistamatematica/Libros/ http://dl.dropbox.com/u/57684129/revistamatematica/Libros/index.html LaTeX. Walter Mora F., Alex Borbón A. Derechos Reservados © 2013 Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/) Indice Analítico Símbolos \, 15 \\, 17 ’, 11 ”, 11 @, 71 #, 15 $, 15 %, 15 &, 15 á, 11 é, 11 í, 11 ó, 11 ú, 11 ´, 11 ¡, 11 ¿, 11 ˆ, 15 _, 15 |, 64 ©, 35 ', 35 +, 69 $$, 2, 5, 5, 24, 39, 47, 48, 50, 50, 53, 89 $, 2, 5, 5, 7, 9, 24, 25, 39, 41, 42, 42, 43, 48–50, 89, 96, 139–144, 148, 149, 151, 152 &, 51–57, 151 &=, 56, 57 \, 49, 59 \,, 49, 50 \:, 49 \;, 49, 50 \[, 47, 49, 50, 52 \\, 51–57 \], 47, 49, 50, 52 \{...\}, 48 ^, 2, 9, 43, 96, 116, 119, 121, 122, 126 _, 43, 43–47, 49, 51, 54, 61, 67, 144 ñ, 11 ˜, 15 “, 11 PDF Archivo, 91 A \above, 44 \abstract, 31 \abstractname, ver renewcommand Acentos, 11 Modo matemático, 49 \Acrobatmenu, 156 \acute, 49 \addButton, 156 \addcontentsline, 31 \addtolength, 132 Adobe Courier, 37 Adobe Helvetica, 37 Adobe Illustrador, 91 Adobe Pro Extended, 111 Adobe Reader, 155, 166, 167, 170, 175 Adobe Times, 37 \advance, 118 177 178 INDICE ANAL˝TICO \aleph, 59 \alert, 145, 146 algorithm, ver begin,end algorithm2e, ver usepackage align, ver begin,end Alineamiento, 54, 107 Alineamiento horizontal, 74 \alph, 28 \alpha, 58, 148 \amalg, 58 Amenidad, 107, 108 amsfonts, ver usepackage amsmath, ver usepackage Delimitadores, 47 amssymb, ver usepackage \angle, 59 answers, ver usepackage anyfontsize, ver usepackage \appendix, 130 \appendixname, ver renewcommand \approx, 58 \approxeq, 59 \arabic, 28, 29 \arcsec, ver newcommand \arcsen, 42, ver newcommand array, ver begin,end Arreglos, 51 article, 12, ver documentclass article.cls, 13 \ast, 58 \asymp, 58 \atop, 44, 46, 48 \author, 31, 31, 133, 137 B b, ver fontseries babel, ver usepackage \backgroundcolor, 155 \backsim, 59 \backsimeq, 59 \backslash, 59 \bar, 49 Barras horizontales, 48 \bc, ver newcommand bdefi, ver newboxedtheorem Beamer, vii, 95, 136, 137, 138, 142 Alert, 141 algorithm2e, 147 Animaciones, 153 Blocks, 143 Botones, 149 Código de programas, 145 Color, 150 Efectos de transición, 150, 151 Entornos, 142 Figuras, 138, 148 fragile, 145, 147 frame, 136, 147 Gráficos, 148 Ligas, 149, 149, 150 Ligas documentos externos, 152 Marcos(frames), 139 minted, 146 Pause, 142 semiverbatim, 145 Temas, 138, 139 Transparencias, 149 Velos(overlays), 139 beamer, ver documentclass \beamergotobutton, 149, 150 \beamerreturnbutton, 149, 150 \because, 59 \begin algorithm, 121, 122, 148 align, 56 align*, 57 array, 47, 51, 52, 53 block, 144 Bmatrix, 53 bmatrix, 53 bteo, 120 center, 17, 17, 18, 20, 24, 61, 74, 78, 151 defi, 116, 117 document, 2, 5, 9, 11, 31, 32, 35, 36, 39, 43, 60, 78, 80, 82, 86, 112, 120, 125, 127, 130, 132–134, 137 ejemplo, 143 enumerate, 25–29, 62, 140–142 eqnarray, 54, 55, 56 eqnarray*, 54, 55, 56, 144 equation, 50, 51 ex, 130 figure, 20, 64, 65, 66, 82, 89, 92, 149, 153 floatingfigure, 94 flushright, 132 frame, 137, 139–145, 146–151, 153 itemize, 26, 27 miejemplo, 134 minipage, 19, 20, 24, 62, 63, 66, 89 minted, 125, 126, 147 multicols, 18, 19 multline, 56 multline*, 57 pgfonlayer, 78 picture, 132 pmatrix, 53, 54 preface, 31 pspicture, 98 INDICE ANAL˝TICO pyglist, 126, 127 scriptsize, 132 semiverbatim, 146 sideways, 68, 69 smallmatrix, 53, 54 sol, 130 subequation, 51 table, 64, 65–68, 70, 71, 74, 76, 91 tabular, 62, 64–76, 86, 91, 151 tabularx, 78 teo, 89 teorema, 143 thebibliography, 31, 99 tikzpicture, 78, 95, 96, 96 Verbatim, 40, 41 verbatim, 22, 145 Vmatrix, 53 vmatrix, 53 wrapfigure, 93 \beta, 58 \bf, 16, 17, 25–28, 117 \bfseries, 118 BIB Archivo, 100 \bibitem, 99, 99 \sbibitem, 31 Bibliografía, 29, 32, 99, 100 \bibliography, 100, 102 \bibliographystyle, 100, 102 abbrv, 100 alpha, 100 apalike, 100 plain, 100 unsrt, 100 \bibname, ver renewcommand BibTEX, 32, 99, 100, 100, 101, 103 APA, 102 Base de datos, 100, 103 Propiedades, 101 Tipos, 101 \bigcirc, 58 \Biggl, 47 \biggl, 47 \Biggr, 47 \biggr, 47 \Bigl, 47 \bigl, 47 \Bigr, 47 \bigr, 47 \bigtriangledown, 58 \bigtriangleup, 58 \binom, 24, 144 \black, 118, 134, ver pstricks Bloc de notas, 34 179 \blue, 38, 61, 117, ver pstricks Bmatrix, ver begin,end bmatrix, ver begin,end boiboites, ver usepackage boiboites.sty, 119 Bolas 3D, 96 Bold, 37 Bold extended, 37 \boldmath, 49 \boldsymbol, 46, 49 book, ver documentclass book.cls, 13 book_RevistaLibroEstilo, ver usepackage bookman, ver usepackage \bot, 59 BoundingBox Errores, 91 \bowtie, 58 bteore, ver newboxedtheorem \bullet, 28, 58 \buttonwidth, 156 bx, ver fontseries C c, ver fontseries C++, 123 Código cromático, 107 Cabeceras, 131 Cajas, 18 Cajas de color, 23 \cal, 25 \cup, 25 calligra, ver usepackage cancel, ver usepackage \cap, 25, 48, 58 Capítulos Diseño, 118 Caps and small caps, 37 \caption, 20, 65, 65, 67, 68, 71, 74, 82, 89, 92, 94, 121, 122, 149 Caracteres especiales, 15 Carga cognitiva, 105 Carga cognitiva extrínseca, 105, 105 Carga cognitiva intrínseca, 105 \catcode, 41 \cdot, 25, 46, 58, 61 \cdots, 45, 46, 54 \cellcolor, 68, 69 center, ver begin,end \centering, 62, 67, 68, 70, 71, 74, 92, 149, 153 Centrado Modo matemático, 50 Centrar texto, 17 \chapter, 31, 31, 132, 133 180 INDICE ANAL˝TICO \chaptermark, ver renewcommand \chaptername, ver renewcommand \char, 37 \chi, 58 \choose, 45 \circ, 58 \circeq, 59 Citas bibliográficas, 99 \cite, 32, 100, 101, 101 \cline, 64, 64 \Closesolutionfile, 130 \clubsuit, 59 cmbright, ver usepackage cmex, ver fontfamily cmm, ver fontfamily cmr, ver fontfamily cmss, ver fontfamily cmsy, ver fontfamily cmtt, ver fontfamily CMYK, 23, 111 Color, 23, 110, 110 \color, 23, 28, 41, 78 LightSteelBlue1, 66 red, 61, 62 RoyalBlue1, 66 white, 28, 96 Color Schemer Designer, 110 Color Schemer Studio, 110 Columnas, 18 \columnsep, 93, ver setlength Comillas, 11 Compilar, 5, 5, 7, 8 LATEX, 5, 6, 6, 8 PDFLATEX, 5, 6, 6 TeXMaker, 6 xelatex, 39 Computer Modern Math Extensions, 37 Computer Modern Math Italic, 37 Computer Modern Math Symbols, 37 Computer Modern Roman, 37 Computer Modern Sans, 37 Computer Modern Typewriter, 37 concrete, ver usepackage Condensed, 37 \cong, 58 \const, 78 Contadores automáticos, 50 Ecuaciones, 50 Teoremas, 50 Contenido, 29 \contentsname, ver renewcommand Contraste, 108 \coord, 63, ver newcommandx* Corolario, ver newtheorem \cos, 43, 49, 53 Cuerpo del documento, 5, 8, 8 \cup, 48, 58 \curlyeqprec, 59 \curlyeqsucc, 59 \cyan, 24, 25, ver pstricks D \dagger, 58 \darkgray, ver pstricks \dashv, 58 \date, 31, 31, 137 \ddagger, 58 \ddots, 46, 54 Debian, 174 \DeclareGraphicsExtensions, 86, 138, 149, 155 \def, 118 \max, 43 \min, 43 defi, ver begin,end, ver newtheorem \definecolor, 23, 98, 127, 134, 151 Definicion, ver newtheorem Definiciones, 32 Numeración automática, 115 Personalización, 117 Personalizar, 119 Delimitadores, 46 \Delta, 25, 58, 119, 144 \delta, 58 \depth, 118 \diamond, 58 \diamondsuit, 59 Diseño editorial, 105, 105 \displaystyle, 43, 43–46, 48, 50, 61, 72, 76, 126 Distribuciones, 2, 3 \div, 58 \divname, 155 document, ver begin,end \documentclass, 1, 105 article, 5, 9, 9, 11, 36, 39, 43, 78, 80, 82, 86, 120, 125, 127 beamer, 136, 137, 151 book, 1, 2, 32, 112, 130, 132–134 memoir, 36 report, 31, 35 \doteq, 58 \doteqdot, 59 \dotfill, 21, 21 \dots, 144 \down, 78 \downarrow, 78 \draw, 78, 95, 95, 96 \ds, ver newcommand DVI INDICE ANAL˝TICO Archivo, 6, 6, 8, 80, 166–168 Imprimir, 6 Visor, 5, 167 Visualizador, 80 DVI→PDF, 95, 166, 167 pmatrix, 53, 54 preface, 31 pspicture, 98 pyglist, 126, 127 scriptsize, 132 semiverbatim, 146 E sideways, 68, 69 \ec, ver newcommand smallmatrix, 53, 54 Editar, 5 sol, 130 Editor de textos, 34 subequation, 51 Editores, 2, 3 table, 64, 65–68, 70, 71, 74, 76, 91 Efectos especiales, 17 tabular, 62, 64–76, 86, 91, 151 \eIf, 120, 121 tabularx, 78 Ejemplo, ver newtheorem teo, 89 ejemplo, ver newtheorem teorema, 143 Ejemplos, 32 thebibliography, 31, 99 Numeración automática, 115 tikzpicture, 78, 95, 96, 96 Personalizar, 119 Verbatim, 40, 41 \ell, 59 verbatim, 22, 145 \em, 16, 26, 27 Vmatrix, 53 \emptyset, 25, 59 vmatrix, 53 \end wrapfigure, 93 algorithm, 121, 122, 148 Enfático, 16 align, 56 \ensuremath, 78 align*, 57 Enumerado, 25 array, 47, 51, 52, 53 Tikz, 28 block, 144 enumerate, 25, 28, 31, ver begin,end Bmatrix, 53 enumitem, ver usepackage bmatrix, 53 EPS bteo, 120 Archivo, 79, 80, 91 center, 17, 17, 18, 20, 24, 61, 74, 78, 151 Convertir, 80 defi, 116, 117 epsfig, ver usepackage document, 2, 5, 9, 11, 31, 32, 35, 36, 39, 43, \epsilon, 58 60, 78, 80, 82, 86, 120, 127, 130, 132– epstopdf, 155, ver usepackage 134, 137 eqnarray, 32, ver begin,end ejemplo, 143 eqnarray*, ver begin,end enumerate, 25–29, 62, 140–142 \eqslantgtr, 59 eqnarray, 54, 55, 56 \eqslantless, 59 eqnarray*, 54, 55, 56, 144 equation, 32, ver begin,end equation, 50, 51 \equiv, 58 ex, 130 Error de sintaxis, 7 figure, 20, 64, 65, 66, 82, 89, 92, 149, 153 Español, 12 floatingfigure, 94 Espacio flushright, 132 Modo matemático, 49 frame, 137, 139–145, 146–151, 153 Espacio horizontal, 17 itemize, 26, 27 Espacio vertical, 17 miejemplo, 134 Esquemas de color, 110 minipage, 19, 20, 24, 62, 63, 66, 89 Acromático, 110 minted, 125, 126, 147 Análogo, 110 multicols, 18, 19 Complementario, 110 multline, 56 Complementario dividido, 110 multline*, 57 \eta, 58 pgfonlayer, 78 eulervm, ver usepackage picture, 132 Evince, 166 181 182 INDICE ANAL˝TICO Evolution, 175 ex, ver begin,end, ver newtheorem \exists, 59, 89 Expresiones de dos niveles, 44 F \fallingdotseq, 59 fancyhdr, ver usepackage \fancyhead, 132 \fancyhf, 132 \fancypagestyle, 132 FastStone, 90, 171 \fbox, 18, 18, 26, 27 \fboxrule, 98 \fboxsep, 23, 24, 98 \fcolorbox, 23, 24 Figuras, vii, 79 Insertar, 79 figure, 32, ver begin,end \figurename, ver renewcommand \fill orange, 95 \filldraw, 95 Firefox, 175 fix-cm, ver usepackage \flat, 59 float, ver usepackage floatflt, 92, 93, 94, ver usepackage floatingfigure, ver begin,end fontenc, ver usepackage \fontencoding, 37, 37, 38 \fontfamily, 37, 37, 38, 62, 66–68, 132 cmex, 37 cmm, 37 cmr, 37 cmss, 37 cmsy, 37 cmtt, 37 pcr, 37 phv, 37 ptm, 37 Fonts, 16 \fontseries, 37, 37, 38 b, 37 bx, 37 c, 37 m, 37 sb, 37 \fontshape, 37 it, 37 n, 37 sc, 37 sl, 37 \fontsize, 36, 37, 62, 118, 132 \footnote, 22, 40 \footnotesize, 16, 28 \footrulewidth, ver renewcommand \For, 120, 122 \forall, 59 Formatos, 79 fourier, ver usepackage \frac, 7, 44, 53, 57, 61, 72, 76, 120, 122 Fracciones, 44 frame, ver begin,end \frame, 137 \framebox, 18, 19 \framesubtitle, 139, 140 \frametitle, 139, 140, 145, 146, 153 \frown, 58 Fuentes, 5, 15, 16 Adobe Palatino, 111 Arial, 108, 109 Atributos, 36 \bfseries, 116 Bookman, 109 Como escoger, 108 Computer Modern, 109 Decorativa, 108 encoding, 37 family, 37 Helvética, 131 Helvetica, 108, 109 \itshape, 116 mathpazo, 111 \mdfamily, 116 New Century Schoolbook, 110 \normalfont, 116 Palatino, 108, 109 Problemas, 111 \rmfamily, 116 Sans serif, 108, 109 \scshape, 116 series, 37 Serif, 108, 109 \sffamily, 116 shape, 37 size, 37 \slshape, 116 tabular, 66 Tamaños, 15, 16, 35 Times, 108, 109 Times New Roman, 109, 111 TimesNewRomanPSMT, 111 Tipos, 15, 16 TrueType, 111 \ttfamily, 116 \upshape, 116 \fvset, 127 INDICE ANAL˝TICO G \Gamma, 58 \gamma, 58 Geogebra, 80 geometry, ver usepackage \geq, 47, 58 \geqq, 59 \geqslant, 59 \gfrac, 61, ver newcommand \gg, 58 \ggg, 59 GhostScript, 154, 171 GIF Archivo, 79, 80 Gimp, 80, 170, 171 Google, 90 books, 155 Chrome, 175 Earth, 175 Gráficos, vii, 5, 79 Escalar, 80 graphicx, ver usepackage \gray, ver pstricks \green, ver pstricks Gsview, 171 \gtrapprox, 59 \gtrdot, 59 \gtreqless, 59 \gtreqqless, 59 \gtrless, 59 \gtrsim, 59 H \hat, 49 \hbar, 59 \hbox, 49, 118 \headheight, 10, 132 \headrulewidth, ver renewcommand \headsep, 10 \heartsuit, 59 \helv, 132, 133, ver newcommand helvet, ver usepackage \hfill, 19, 21, 21, 22, 62, 63, 89 \hline, 64, 64–74, 76, 151 \href, 152 \hrulefill, 10, 21, 21, 118 \hsize, 118 \hskip, 117 \hspace, 17, 18, 24, 49, 75, 118 \hss, 118 HTML, 154 \Huge, 16, 118 \huge, 16 \hyperlink, 149, 150 183 \hypertarget, 149, 150 I Idioma, 11 \If, 120, 122 \IfFileExists, 118 \iiint, 46 \iint, 46 \Im, 59 Imagen Resolución, 91 \imagetop, 75, 76 \imath, 49, 59 \imp, ver newcommand \in, 48, 50, 53, 58, 89, 120–122, 139, 143 \includegraphics, 20, 62, 74–76, 80, 80–82, 85, 86, 89, 92–94, 118, 132, 149, 152, 153 angle, 85 clip, 81 graphicx, 79 height, 81, 85 scale, 80, 81, 85, 89 trim, 81, 85 width, 80, 81, 85, 86 index, 33 \index, 31, 32, 33, 33 see, 33, 34 seealso, 34 textbf, 33 textit, 33 Indice alfabético, 32–34 \infty, 24, 59 Inglés, 11 Inkscape, vii, 80, 87, 89, 91, 97, 111, 111–113, 170, 171, 176 Edición de figuras, 87 TeXText, 87, 171, 176 Inkscape., 171 \input, 35, 60, 130 inputenc, 37, ver usepackage latin1, 12, 37 utf8, 12, 39 Instalar Distribución, 164 Editor, 164 \int, 43, 46, 50 Integrales, 45 Internet, 110, 155 \intertext, 57 \iota, 58 it, ver fontshape \it, 16 Itálica, 16 Italic, 37 184 INDICE ANAL˝TICO \item, 25, 25–29, 117, 139–142 label, 29 \itembolasazules, 29, ver newcommand itemize, ver begin,end J JabRef, 103 Java, 96, 123, 127 \jmath, 59 \Join, 58 JPG Archivo, 79, 80, 82 K \kappa, 58 Kile, 3, 7, 39, 165, 166, 175 Kindle, 36 Knuth, D., 1 \KwData, 121, 148 \KwResult, 121, 148 L Líneas, 21 \label, 32, 65, 65, 71, 74, 82, 89, 121, 122, 149 \labelenumi, ver renewcommand \labelenumii, ver renewcommand \labelenumiii, ver renewcommand \labelenumiv, ver renewcommand \labelsep, 117 \Lambda, 58 \lambda, 58 Lamport, L., 1 \Large, 16, 28, 96 \large, 16, 78, 117 LATEX, vii, 1, 1–5, 8, 11, 12, 15, 17, 19, 24, 31, 33, 35–37, 39, 42, 49, 50, 79–81, 87, 91–94, 97–99, 105, 109, 111, 115, 123, 136, 154, 155, 166, 167, 170, 171 Convertir, 4 Internet, 154 Machote libro, 132 A L TEX-dvips, 136–138, 149 LaTeX2HTML, 154 LaTeX2HTML Translator, 154, 154, 155 LaTeXDraw, 79, 96 latexsym, ver usepackage latin1, ver inputenc \ldots, 46, 63 \left, 44, 46, 47, 47, 48, 50–53, 122 \leftmark, 132 \Leftrightarrow, 61 Legibilidad, 108 Lenguajes de Programación Código, 123 \leq, 50, 58, 122 \leqq, 59 \leqslant, 59 \lessapprox, 59 \lessdot, 59 \lesseqgtr, 59 \lesseqqgtr, 59 \lessgtr, 59 \lesssim, 59 Letras griegas, 58 Leyes Gestalt, 105, 106 Ley de la semejanza, 106 Ley de proximidad, 106 \lightgray, ver pstricks \lim, 45, 62 \limite, ver newcommand \limits, 46 \linesnumbered, 121, 122, 148 \linewidth, 89 Linux, 3, 34, 103, 164, 174 Editor de textos, 100 Listas de ejercicios, 129 listings, 123 \ll, 58 Llaves, 48 Horizontales, 48 \lll, 59 \ln, 47 \log, 39, 51, 55, 56 \Longleftrightarrow, 25 \Longrightarrow, 53, 55, 56, 61, 141, 142 \longrightarrow, 120 Los cuatro principios básicos, 107 Lyx, 175 M m, ver fontseries Márgenes, 5 Mac, 3, 164, 165 MacTEX, 3, 164 \magenta, ver pstricks \makeatletter, 117, 118 \makeatother, 117, 118 makeidx, ver usepackage makeindex, 33 \makeindex, 31, 32, 33 \maketitle, 31, 31, 133 marginnote, ver usepackage \marginnote, 25 \margins, 155 \markboth, 132 \markright, 10, 132 \mathbb, 59 \mathbbm, 120 Mathematica, 80 INDICE ANAL˝TICO mathpazo, ver usepackage \be, 62 \bt, 62 mathptmx, ver usepackage \colr, 62 \mathtop, 43 \ds, 61 MatLab, 80, 175 \ec, 61 Matrices, 51, 53 \ee, 62 \max, 48, ver def \et, 62 \mbox, 43, 47, 52, 53, 55–57, 61, 121, 122 \fhv, 62 Medium, 37 \gfrac, 61 memoir, ver documentclass \helv, 132 Microsoft \imp, 61 Fuentes, 170, 175 \itembolasazules, 28 \mid, 58 \limite, 62 miejemplo, ver begin,end, ver nuevoboiejemplo \mpage, 62 MiKTEX, 13 \proy, 61 MikTEX, vii, 3, 39, 43, 109, 132, 136, 161, 164, \sen, 31, 43 165 \sii, 61 Instalar, 164 \sumauk, 61 \min, 48, ver def \tpto, 96 minipage, 23, 93, ver begin,end \ttpto, 96 minted, 123, 126, 127, ver begin,end, ver usepa\wvec, 61 ckage \wvecb, 61 python, 126 \newcommand*, 78 \models, 58 \newcommandx* Modo matemático, 42 \coord, 63 Modulación, 35 \mpage, 63 \mp, 58 \newpage, 10, 132 \mpage, 62, 63, ver newcommand, newcommandx* \newtheorem, 31, 115 \mu, 58 Corolario, 137 multicol, ver usepackage defi, 117 multicols, 19, ver begin,end Definicion, 137 \multicolumn, 70, 71 Ejemplo, 137 multimedia, ver usepackage ejemplo, 116, 117 multline, ver begin,end ex, 130 N Prueba, 137 \N, 46, 50, 121 teo, 89 n, ver fontshape Teorema, 137 \nabla, 25, 59 \ni, 58 \natural, 59 \nocite, 100 \neg, 59 \node, 28, 78, 96 Negrita, 16 \nonumber, 55, 56 Modo matemático, 49 Normal, 37 \neq, 45, 46, 58, 121 \normalfont, 38, 117 Netpbm, 154 \normalsize, 16, 78 \Newassociation, 130 \not \newboxedtheorem, 120 <, 59 bdefi, 120 =, 59 bteo, 120 >, 59 newcent, ver usepackage \approx, 59 \newcolumntype, 76 \cong, 59 \newcommand, 60 \equiv, 59 \arcsec, 31 \geq, 59 \arcsen, 31, 43 \leq, 59 \bc, 61 \prec, 59 185 186 INDICE ANAL˝TICO \preceq, 59 \sim, 59 \simeq, 59 \sqsubseteq, 59 \sqsupseteq, 59 \subset, 59 \subseteq, 59 \succ, 59 \succeq, 59 \supset, 59 \supseteq, 59 Notas al pie de página, 22 \nu, 58 \nuevoboicaja, 133 \nuevoboidefi, 133 \nuevoboiejemplo, 133 miejemplo, 134 \nuevoboiteo, 133 Nuevos comandos, 60 Numeración, 5 Numeración automática, 115 O Objetos flotantes, 64, 64 Problemas, 76 \oddsidemargin, 9, 9, 31 \odot, 58 \oint, 46 Okular, 80, 166, 170 \Omega, 58 \omega, 58 \ominus, 58 OML, 37 OOoBasic, 41 OpenOffice.org, 175 \Opensolutionfile, 130 Operadores binarios, 58 \oplus, 58 \oslash, 58 \otimes, 58 \over, 44, 46, 50, 55, 56, 89 \overbrace, 48, 49 \overlayempty, 155 \overline, 25, 48 \overrightarrow, 59, 61 \overset, 45, 120 P Página Ancho, 5 Largo, 5 Párrafo, 17 \pagebreak, 35 \pagenumbering, 133 \pagestyle, 132 empty, 10 fancy, 132 myheadings, 10 palatino, ver usepackage \par, 74, 118 \parallel, 58 \parbox, 19–21, 93, 132, 152 \parindent, 10, 31, 118 \parskip, 10 \partial, 59 \partname, ver renewcommand Paso de línea, 17 \pause, 142, 143 pcr, ver fontfamily PDF Archivo, 6, 6, 79, 80, 82, 89, 91, 94, 109, 111– 113, 154–156, 167, 170, 171 Archivos, 23 Editor, 111 Visor, 5, 166 \pdfdeclarelayer, 78 PDFLATEX, 5, 6, 79, 82, 89, 91, 95, 111, 118, 136, 137, 155, 166, 167 PDFLaTeX, 33 PDFsam, 112, 170, 171, 175 PDFScreen, 154, 155 pdfscreen, ver usepackage pdfscreen.sty, 156 \pdfsetlayers, 78 Perl, 154 \perp, 58 \pfill, 156 pgfonlayer, ver begin,end \Phi, 58 \phi, 58 phv, ver fontfamily \Pi, 58 \pi, 49, 53, 58, 119 PiCTex, 97 picture, 94, ver begin,end PitStop, 111 plain, 117 \plot, 95 \plset, 127 \pm, 58 pmatrix, ver begin,end \pmb, 46, 49 PNG Archivo, 79, 80, 82, 91 PostScript, 109 Potencias, 43 INDICE ANAL˝TICO Preámbulo, 5, 8, 8, 10–12, 24, 32, 35, 38, 60, 62, 66, 68, 86, 89, 91, 93, 95, 97, 109–111, 115–120, 126, 133, 147, 151, 154, 155 \prec, 58 \precapprox, 59 \preccurlyeq, 59 \preceq, 58 \precsim, 59 preface, ver begin,end \prime, 59, 116 \printindex, 31, 32, 33 \prod, 45 \propto, 58 \protect, 28 Proximidad, 107 \proy, 61, ver newcommand Prueba, ver newtheorem \psaxes, 98 \Psi, 58 \psi, 58 pslatex, ver usepackage \psline, 98 pst-grad, ver usepackage pst-plot, ver usepackage Pstoedit, 170, 171, 176 PStricks, 79, 96, 96, 97, 97 pstricks, ver usepackage ptm, ver fontfamily \put, 132 pxfonts, ver usepackage pyglist, ver begin,end java, 126, 127 Pygments, 125, 126 python, 125 Q QtOctave, 80, 175 \quad, 57 R \R, 25, 42, 50 Raíces, 44 \raggedright, 118 \raisebox, 118 \raisebox{}{}, 74 \Re, 25, 59 Recortar figuras, 89 \red, 89, 117, ver pstricks \ref, 32, 65, 82 Referencias bibliográficas, 31 \refname, ver renewcommand Relaciones, 58 Negación, 58 \renewcommand \abstractname, 13 \appendixname, 13 \baselinestretch, 10 \bibname, 13 \chaptermark, 132 \chaptername, 13 \contentsname, 13 \figurename, 13 \footrulewidth, 132 \headrulewidth, 132 \labelenumi, 28 \labelenumii, 28 \labelenumiii, 28 \labelenumiv, 28 \partname, 13 \refname, 13 \sectionmark, 132 \tablename, 13 \renewtheoremstyle, 117 \Repeat, 120 Repetición, 108 Replace Font, 111, 171 report, ver documentclass report.cls, 13 \reset, 118 \Return, 121, 122, 148 RGB, 23, 111 \rhead, 132 \rho, 58 \right, 44, 46, 47, 47, 48, 50–53, 122 \Rightarrow, 89 \rightarrow, 45, 62, 64, 65 \rightmark, 132 \risingdotseq, 59 \rlap, 118 \rm, 16, 43, 61, 116, 121, 122, 130 Roman, 16 \Roman, 28 rotating, ver usepackage \rowcolor, 67, 68, 70 LightBlue2, 67 \rowcolors, 67, 78, 151 \rput, 98 \rule, 21, 22, 72, 76 S Símbolos, 5 Adicionales, 59 amssymb, 59 Especiales, 59 Otros, 59 Símbolos matemáticos, 58 Sans Serif, 16 sb, ver fontseries 187 188 INDICE ANAL˝TICO sc, ver fontshape \sc, 16, 31 \scalebox, 71, 71, 98 Scilab, 175 \screensize, 155 Scribd (ipaper), 155 \scriptsize, 16 \scshape, 117 Secciones, 29 Personalizar, 118 \section, 31, 31, 130 \sectionmark, ver renewcommand \selectfont, 36–38, 62, 66–68, 118, 132 Semi-bold, 37 semiverbatim, ver begin,end \sen, 42, 43, ver newcommand \setbeamercovered, 137 \setcounter, 31, 50, 51, 130 \setlength, 132 \columnsep, 19 \theorempostskipamount, 116, 117 \theorempreskipamount, 116, 117 \SetLine, 121, 148 \setmainfont, 39 \setminus, 58 \SetVLine, 148 \SetVline, 121, 122 \sf, 16 \shadedraw, 95, 96 \sharp, 59 -shell-escape, 132 Shutter, 89, 91, 170, 175 sideways, 69, ver begin,end \Sigma, 58 \sigma, 58 \sii, ver newcommand \sim, 58 \simeq, 58 Skype, 175 sl, ver fontshape \sl, 16 Slanted, 16, 37 \small, 16, 24, 31 Small Caps, 16 smallmatrix, ver begin,end \smile, 58 Software adicional, 170 Software libre, 79 sol, ver begin,end Sombreros Modo matemático, 49 \spadesuit, 59 spanish, ver babel \sqcap, 58 \sqcup, 58 \sqrt, 5, 44, 55, 56, 72, 89, 119, 141, 142 \sqsubset, 59 \sqsubseteq, 58 \sqsupset, 59 \sqsupseteq, 58 \stackrel, 45 \star, 58 stmaryrd, ver usepackage Subíndices, 43 subfigure, ver usepackage \subfigure, 92 Subrayado, 16 Subsecciones Personalizar, 118 \subsection, 31, 31 \Subset, 59 \subset, 18, 58 \subseteq, 25, 58 \subseteqq, 59 \substack, 45 \subsubsection, 31, 31 \subtitle, 137 \succ, 58 \succapprox, 59 \succcurlyeq, 59 \succeq, 58 \succsim, 59 \sum, 43, 45, 47, 61, 120, 126, 144 SumatraPDF-TeX, 167 \sumauk, 61, ver newcommand Superíndices, 43 \Supset, 59 \supset, 58 \supseteq, 58 \supseteqq, 59 \surd, 59 T T1, ver fontenc Título, 29 Tablas, 64 Ancho de columnas, 73 Color, 66 Escalar, 70 Espaciado, 71 Modo matemático, 76 Rotar texto, 68 Tikz, 77 table, 32, ver begin,end \tablename, ver renewcommand \tableofcontents, 31, 31, 133 tabular, 151, ver begin,end tabularx, ver usepackage INDICE ANAL˝TICO Tamaño Natural, 43 \tau, 58 teo, ver newtheorem Teorema, ver newtheorem Teoremas, 32 Numeración automática, 115 Personalización, 117 Personalizar, 119 TEX Archivo, 6, 6, 154 TEX, 1, 1–3, 6, 36, 39, 97, 164–167 Distribuciones, 164 TeXDraw, 79 TEXLive, vii, 3, 39, 43, 109, 126, 127, 132, 136, 161, 164, 165, 175 Instalar, 165 TeXMaker, 2, 3, 6, 7, 39, 165–167, 175 Opciones, 34 TeXMakerX, 165 TeXStudio, 166 TeXstudio, 3, 165, 167 \textbf, 16, 74, 78, 96, 134 \textcolor, 78 textcomp, 41, ver usepackage TeXText, 111, 171 \textheight, 9, 9, 31, 35, 43 \textit, 16, 73, 74 \textnormal, 120 Texto en contornos, 112 Texto matemático, 5, 15, 123, 155 Texto normal, 15 \textquotesingle, 41 \textsf, 132 \textt, 16 \textwidth, 9, 9, 19, 20, 31, 35, 43, 62, 63, 78, 85 TeXworks, 166 thebibliography, ver begin,end \thechapter, 118 \theorem, 117 \theorembodyfont, 116, 117 \theoremheaderfont, 116, 117 \theorempostskipamount, ver setlength \theorempreskipamount, ver setlength \theoremstyle, 116, 117 break, 116 margin, 116 marginbreak, 116 plain, 116 \thepage, 132 \therefore, 59 \thesection, 132 \Theta, 58 \theta, 58, 119 \thickapprox, 59 189 \thicksim, 59 Thunderbird, 175 Tikz, vii, 28, 77, 79, 94, 95, 96, 119 Figuras nativas, 94 Manual, 96 Tablas, 77 tikz, ver usepackage \tikz, 28, 95, 96 tikzpicture, 94, ver begin,end \times, 41, 58, 67–69 \tiny, 16 \title, 31, 31, 133, 137 \titlepage, 137 \todo, 119 todonotes, 25, ver usepackage \top, 59 \topmargin, 9, 9, 31, 35, 43 \tpto, ver newcommand \transblindshorizontal, 151 \transblindsvertical, 151 \transboxin, 151 \transboxout, 151 \transdissolve, 151 \transglitter, 151 Transparencias, 136 Tres puntos consecutivos, 46 \triangle, 59 \triangleleft, 58 \triangleq, 59 \triangleright, 58 \trianglerighteq, 59 \tt, 16, 82, 132, 151 \ttpto, ver newcommand TurboPrint, 176 txfonts, ver usepackage Typewriter, 16 U Ubuntu, vii, 3, 4, 13, 39, 80, 89, 154–156, 161, 164, 165, 167, 174, 174, 175 Centro de software, 170, 175 Gestor de actualizaciones, 175 Instalar, 174 Repositorios, 175 Synaptic, 4, 165, 166, 170 Synaptic., 4 \unboldmath, 49 \uncover, 140, 145, 146 \underbrace, 48, 49 \underline, 16, 152 Unir celdas, 70 \unitlength, 132 Unrar, 175 \up, 78 190 INDICE ANAL˝TICO \uparrow, 78 \uplus, 58 \Upsilon, 58 \upsilon, 58 \usefont, 98 \usefonttheme, 137 \usemintedstyle, 125 \usepackage algorithm2e, 120, 147 amsfonts, 5, 9, 9, 11, 31, 43, 78, 112, 130, 137 amsmath, 2, 5, 9, 9, 11, 31, 43, 56, 78, 112, 120, 130, 137 amssymb, 5, 9, 9, 11, 31, 43, 78, 112, 130, 137 answers, 129, 130 anyfontsize, 36, 36 babel, 12, 12, 43, 130, 132 boiboites, 119, 120 book_RevistaLibroEstilo, 133, 134 bookman, 38, 109 calligra, 38 cancel, 31, 43 cmbright, 38 colortbl, 78 concrete, 38, 39 enumitem, 28 epsfig, 97 epstopdf, 86, 138, 149, 155 eulervm, 38 fancyhdr, 131, 132 fancyvrb, 40, 40 fix-cm, 36 float, 76, 91 floatflt, 92 fontenc, 2, 12, 31, 38, 43, 112, 130, 132, 137 fourier, 38 geometry, 11, 11 graphicx, 5, 9, 10, 11, 31, 80, 80, 82, 86 helvet, 38, 132 html, 154 inputenc, 9, 9, 11, 12, 39, 43, 78, 112, 130, 132, 137 latexsym, 5, 9, 9, 11, 31, 43, 78, 112, 130, 137 makeidx, 31, 32, 154 makeidx, 32 marginnote, 25 mathpazo, 38, 109, 112 mathptmx, 38, 39, 109 minted, 125, 146 multicol, 18, 18 multimedia, 151 newcent, 38, 110 ntheorem, 116, 117 palatino, 38 pdfscreen, 155 color, 155 panelleft, 155 paneltoc, 155 screen, 155 pslatex, 38, 109 pst-grad, 97 pst-plot, 97 pstricks, 24, 97, 118 black, 24 blue, 24 cyan, 24 darkgray, 24 gray, 24 green, 24 lightgray, 24 magenta, 24 red, 24 white, 24 yellow, 24 pxfonts, 38 rotating, 68 stmaryrd, 78, 112, 137 subfigure, 92 tabularx, 76, 78 textcomp, 35 tikz, 28, 78 todonotes, 118 txfonts, 38 verbments, 126, 127 wrapfig, 92 xargs, 62 xcolor, 23, 66, 112 xltxtra, 39 \usetheme, 137 \usetikzlibrary, 78 utf8, ver inputenc V \varepsilon, 58 \varphi, 58 \varpi, 58 \varrho, 58 \varsigma, 58 \vartheta, 58 \vartriangleright, 59 VBA, 41 \vbox, 118 \vdash, 58 \vdots, 46, 52, 54 \vec, 25, 49, 61 \vee, 58 Ver INDICE ANAL˝TICO Resultado, 5 \verb, 15, 132 Verbatim, ver begin,end codes, 41 commandchars, 41 fontfamily, 41 formatcom, 41 frame, 41 resetmargins, 41 xleftmargin, 41 xrightmargin, 41 verbatim, ver begin,end \VerbatimFootnotes, 40 verbments, 126, ver usepackage Texto matemático, 127 verbments.sty, 127 VirtualBox, 155 \visible, 146 Vmatrix, ver begin,end vmatrix, ver begin,end \vrule, 71, 72 \vskip, 118 \vspace*, 137 \vspace, 18, 18, 133 W \wedge, 25, 58 \While, 120, 121, 122 \white, ver pstricks \widehat, 59 \widetilde, 59 Windows, vii, 3, 34, 80, 90, 103, 154–156, 161, 164, 165, 167, 174 Bloc de notas, 100 Software adicional, 170, 171 Winplot, 80 Winshell, 3, 8, 165, 167, 168 \wp, 59 \wr, 58 wrapfig, ver usepackage wrapfigure, 92, 93, ver begin,end Writer, 4 Writer2LaTeX, 4 Wubi, 155, 174 \wveb, 61 \wvec, 61, ver newcommand \wvecb, ver newcommand wxMaxima, 175 X \x, 95, 96 xargs, ver usepackage xcolor, ver usepackage XeLATEX, 39 \Xi, 58 \xi, 58, 89 xltxtra, ver usepackage Y Yap, 80, 167, 168 \yellow, ver pstricks Z \Z, 53 \zeta, 58 191