latex handout
DESCRIPTION
Versión para imprimir del seminario de LaTeXTRANSCRIPT
Preparacion de documentos con LATEX
Preparacion de documentos con LATEX
Jorge Gaspar Sanz Salinas
Diciembre de 2006
Contenidos
1 Situacion actual
2 ¿Que es LATEX?
3 Software
4 LATEX
5 Especialidades
6 Para terminar
Notas:
1
Preparacion de documentos con LATEX
¿Como trabajamos con la documentacion?
• Utilizamos un procesador de textos (Word u OO Writer)• Editar documentos en colaboracion es complicado• Se empieza rapido a trabajar pero algunas
tareas cuestan demasiado (dolor de cabeza):• Manejar las imagenes• Crear un ındice de contenidos• Cambiar la numeracion de las secciones• Controlar los cambios• ¿Ficheros corruptos?• Insertar referencias cruzadas
(a numeros de seccion o paginas),crear ındices analıticos (???) o bibliografıas (???),...
Otra forma de trabajar
Existen herramientas para realizar documentacionutilizando algun marcado y separando presentacion de contenido:
• HTML + CSS• XML/SGML (Docbook)• LATEX
En resumenLATEX es la solucion mas veterana, flexible y extendida
Notas:
2
Preparacion de documentos con LATEX
¿Que es LATEX?
2 ¿Que es LATEX?El nombre del juego¿Como funciona?VentajasDesventajas
TEX (1/2)
• A finales de los 70 Donald Knuth (U. Standford)edita la segunda edicion de su The Artof Computer Programming
• Era la primera vez que se editaba informaticamente• Al recibir la primera galerada vino a decir
algo como “¡¡vaya mierda!!”1
• Ası que decidio hacer su propio sistema decomposicion de documentos: TEX (τεχ)
• Pensaba hacerlo en un ano y tardoocho (version definitiva hacia 1989)
1aproximadamente
Notas:
3
Preparacion de documentos con LATEX
TEX (2/2)
• Las versiones de TEX convergenal numero π (pi)
• Este documento se ha generadocon la version 3.141592
• Cuando Knuth muera, su deseo esque TEX versione a π
• A partir de ese momento los erroresseran considerados como caracterısticas
• Si alguien encuentra un error en TEX,Knuth da 327.68$ y una camiseta (yuhu)
LATEX (1/2)
• TEX es un sistema de bajo nivel,de gran potencia pero difıcil de utilizar
• Unos anos despues, Leslie Lamport decide facilitarel uso de TEX mediante la creacion de macrosque recubren el sistema con una interfaz mas amigable
• Ademas anade algunas funcionalidades nuevascomo la edicion mas sencilla de ındices analıticos,bibliografıas, etc
• Permite al usuario centrarse en la estructura del documento• Le llamo LATEX por su apellido y por la flexibilidad
y facilidad de uso que le habıa dado a TEX
Notas:
4
Preparacion de documentos con LATEX
LATEX (2/2)
ResumiendoLATEX es un comodo familiar con el motor de un Formula 1
¿Como funciona?
ficheros .tex latex.exe DVI
PrevisualizacionPS
Impresion
pdflatex.exe
PDF Acrobat
Notas:
5
Preparacion de documentos con LATEX
Ventajas (1/3)
• Multiplataforma• Un documento se puede repartir en diferentes ficheros• Separacion de la presentacion (maquetacion) del contenido
(WYSIWYM)• Permite definir plantillas• En el proceso de documentacion puede haber roles• Se pueden reutilizar partes de diferentes documentos
• Trabajamos con ficheros de texto• Los documentos son pequenos y no se corrompen• Se puede hacer control de versiones
Ventajas (2/3)
• Mucha documentacion tanto on-line como en papel• Obliga a estructurar el documento• Resultado portable (PDF)• Formulas matematicas (ei·π + 1 = 0)• Facilidad para generar ındices, notas al pie, etc.• Gran cantidad de paquetes para hacer de todo
Notas:
6
Preparacion de documentos con LATEX
Ventajas (3/3)
4
2
3
765
HORIZONTALES
1 Lo pone el perro en el parque (4)2 Rıo catalan con famoso delta (4)3 El pito del mus (2)4 Nota musical, al reves (2)
VERTICALES
5 102 (4)6 Morro, jeta, rostro (4)7 Pozo, al reves (4)
� � ��
� � �� ��� �
44
� ��
��
x = −b±√
b2−4ac2a
r
r r
r
r r
A
×
r
r r r
r
D
r
r r
r
r r
Bm
Desventajas
• Conseguir resultados requiere tiempo• No vemos como va quedando el documento• Redisenar profundamente un documento es difıcil• Casi toda la documentacion esta en ingles• No dispone de muchas fuentes
(no, no esta Comic Sans)
• Es difıcil escribir documentos desorganizados ,
Notas:
7
Preparacion de documentos con LATEX
MiKTEX
• http://www.miktex.org
• Es la distribucion mas extendida para Windows• Se instala facilmente (Siguiente Siguiente, etc.)• Se puede instalar el paquete mınimo y luego MiKTEX
instalara los paquetes conforme se vayan necesitando• Ademas dispone de sistema de gestion de paquetes
y un actualizador.• No incluye ningun editor, solo el sistema
MiKTEX
Notas:
8
Preparacion de documentos con LATEX
Editores disponibles
• Editores “a pelo”
• Vim• Emacs• Notepad ,
• Editores orientados aLATEX
• TeXnicCenter• WinEDT
• Cuasi-procesadores detexto:
• LyX• Scientific Word
Otras herramientas
Ademas del sistema y un editor necesitamos otras herramientas:• Un visor de PDF: Acrobat, Foxit, xpdf, ...• Un visor DVI (MiKTEX instala YAP)• GhostScript para soporte Postscript• Conversores de imagen, etc.
Notas:
9
Preparacion de documentos con LATEX
LATEX
4 LATEXIntroduccionPreambuloEstructuracionNotas al pieFuentesListasTablasFlotantesReferencias
holamundo.tex
Mi primer documento
Jorge
30 de octubre de 2006
1. Primera seccion
¡Hola Mundo!
1
% Preambulo del documento\documentclass[a4paper,12pt]{article}% Paquetes\usepackage[latin1]{inputenc}\usepackage[spanish]{babel}% Datos del documento\title{Mi primer documento}\author{Jorge}\date{\today}%Inicio del texto\begin{document}%Portada\maketitle%Seccion\section{Primera seccion}%Texto¡Hola Mundo!
\end{document}%Fin del documento
Notas:
10
Preparacion de documentos con LATEX
Escribiendo en LATEX
Entrada Resultado
Un salto de lınea Un espacioDos o mas saltos de lınea Cambio de parrafoUno o mas espacios Un espacio% Comentario\# \$ \% \& \_ \{ \} # $ % & { }
Preambulo (1/3)
Clase de documento\documentclass[opciones]{clase}
Clases:
• article
• letter
• report
• book
Opciones:• landscape• oneside — twoside• titlepage — notitlepage• 10pt — 11pt — 12pt• a4paper
Notas:
11
Preparacion de documentos con LATEX
Preambulo (2/3)
Paquetes\usepackage[opciones]{paquete}
• Fuentes• fontenc• times• eurosym• bookhands
• Idioma• inputenc• babel
• Formato
• fancyhdr
• multicol
• booktabs
• Matematicas• amsmath• amssymb
• Otros• graphicx• hyperref• pdfpages• beamer
Preambulo (3/3)
Atributos
• \title{Tıtulo}• \author{Autor}• \date{Fecha}
• \maketitle
Notas:
12
Preparacion de documentos con LATEX
Estructuracion (1/2)
Niveles
• \part{}• \chapter{}• \section{}• \subsection{}
• \subsubsection{}
• \paragraph{}
• \subparagraph{}
• \appendix • \tableofcontents
Estructuracion (2/2)
Comandos
• \section{Tıtulo}• \section*{Tıtulo}• \section[Tıtulo breve]{Tıtulo mas largo}
Notas:
13
Preparacion de documentos con LATEX
Notas al pie
Texto por aquı, texto poralla\footnote{Texto de lanota al pie.}.
Texto por aquı, texto por alla2.
2Texto de la nota al pie.
Fuentes (1/3)
No usarlas directamente
• Mejor el alto nivel que elbajo nivel
Como
• Con comandos que hablende significado, no deformato
• \emph{}↔\textit{}
Definir nuestros propios comandos
• \newcommand{\micomando}[1]{acciones}• Usando #1 para referirse al argumento
Notas:
14
Preparacion de documentos con LATEX
Fuentes (2/3)
Comandos de bajo nivel
Serie \textmd{Media} Media\textbf{Negrita} Negrita
Familia \textrm{Roman} Roman\textsf{Sans Serif} Sans Serif\texttt{Maquina} Maquina
Forma \textup{Recta} Recta\textsl{Torcida} Torcida\textit{Cursiva} Cursiva\textsc{Versalita} VERSALITA
Fuentes (3/3)
Tamanos
\begin{tamano}Texto
\end{tamano}
\tamano Texto...
Tamanos:
• tiny
• scriptsize
• footnotesize• small• normalsize
• large
• Large
• LARGE
• huge
• Huge
Notas:
15
Preparacion de documentos con LATEX
Listas (1/3)
Lista sin numerar (itemize)
\begin{itemize}\item Uno\item Dos\begin{itemize}\item Uno\item Dos\item Tres
\end{itemize}\item Tres
\end{itemize}
• Uno
• Dos
• Uno
• Dos
• Tres
• Tres
Listas (2/3)
Lista numeradas (enumerate)
\begin{enumerate}\item Uno\item Dos\begin{enumerate}\item Uno\item Dos\item Tres
\end{enumerate}\item Tres
\end{enumerate}
1 Uno
2 Dos
1 Uno
2 Dos
3 Tres
3 Tres
Notas:
16
Preparacion de documentos con LATEX
Listas (2/3)
Lista de definiciones (description)
\begin{description}\item[Uno]
Antes del dos.\item[Dos]
Antes del tres.\end{description}
Uno Antes del dos.
Dos Antes del tres.
Tablas (tabular)
\begin{tabular}{|r|r|r|}\hlineNombre & Altura & Peso \\\hlineAlex & 1,76 & 84 \\Juan & 1,83 & 91 \\\hline\end{tabular}
Nombre Altura PesoAlex 1,76 84Juan 1,83 91
Notas:
17
Preparacion de documentos con LATEX
Tablas (booktabs + tabular)
\usepackage{booktabs}[...]\begin{tabular}{rrr}\topruleNombre & Altura & Peso \\\midruleAlex & 1,76 & 84 \\Juan & 1,83 & 91 \\\bottomrule\end{tabular}
Nombre Altura Peso
Alex 1,76 84Juan 1,83 91
Entornos flotantes (table, figure)
float: Objeto que flota, es decir, no aparece necesariamente en el punto deltexto donde se coloca, sino en el ‘mejor’ sitio posible.
Insertando una tabla\begin{table/figure}{pos}[...]\caption{Pie de
figura/cuadro}\end{table/figure}
• pos puede tomar variosvalores por orden depreferencia (p.e. htb)
• \listoftables,\listoffigures
pos Significado
h (here) Ponlo aquıt (top) Ponlo al principiob (bottom) Ponlo al finalp (page) Ponlo aparteH (HERE) Al estilo Word (con float)
Notas:
18
Preparacion de documentos con LATEX
Ejemplo de figure e inclusion de imagenes
Insertando una figura\usepackage{graphicx}[...]\begin{figure}[!tb]\includegraphics[width=0.3\textwidth]
{imgs/mascotas.jpg}\caption{Luisa hace amigos}
\end{figure}
Figura: Luisa hace amigos
Insertando imagenes vectoriales
FilterRasterDialogPanel
(from org::cresques::ui::raster::FilterRasterDialogPanel)
LayerScaleDialog
<< create >>+LayerScaleDialog(lyr:FLyrArcIMS):LayerScaleDialog
ArcImsRasterPropsDialog
<< create >>+ArcImsRasterPropsDialog(layer:FLyrArcIMS,rangeR:int[][],rangeG:int[][],rangeB:int[][]):ArcImsRasterPropsDialog
<< create >>+ArcImsRasterPropsDialog():ArcImsRasterPropsDialog
-loadInfoData():void
+setRasterFilterStackManager(stackManager:RasterFilterStackManager):void+getAssignedBand(flag:int):int
+processBandPanel():boolean
+processTransparencyPanel():boolean
+processEnhancedPanel():boolean
-addFileBand(e:ActionEvent):void
-delFileBand(e:ActionEvent):void
ArcImsPropsDialog
-layerName:String
-hostURL:URL
-svcName:String
-svcType:String
<< create >>+ArcImsPropsDialog(layer:FLayer):ArcImsPropsDialog
-getNewLayerConfig():void
+getArcImsWizard(info:HashMap):ArcImsWizard
-isCorrectlyConfigured():boolean
Package Overview: es.prodevelop.cit.gvsig.arcims.gui.dialogs
<< interface >>
View
(from com::iver::andami::ui::mdiManager::View)
Figura: Diagrama de clases
Notas:
19
Preparacion de documentos con LATEX
Referencias
Insertando referencias\section{Estructuracion}\label{miref}[...]La estructuracion de un documento en \LaTeX{}se trata en la seccion˜\ref{miref}(pagina˜\pageref{miref}).
ResultadoLa estructuracion de un documento en LATEX se trata enla seccion 3 (pagina 25).
Especialidades en LATEX
5 EspecialidadesBibliografıaIndices analıticosGlosariosCodigoMultimedia en PDF
Notas:
20
Preparacion de documentos con LATEX
Citas bibliograficas con BibTEX (1/4)
• BibTEX mejora el tratamiento estandarde bibliografıas
• Permite mantener una base de datosfuera del documento
• Se pueden insertar libros, artıculos,manuales, direcciones web, ...
• Las referencias se insertan por una clave• La presentacion de las referencias
y la bibliografıa puede personalizarse
Citas bibliograficas con BibTEX(3/4)
Insertando referencias bibliograficasSe han estudiado \cite{cerqueira:2002}modelos estandar de segmentos......
\bibligraphystyle{plain}\bibliography{mibbdd} %Sin el .bib
ResultadoSe han estudiado [3] modelos estandar de segmentos...
Referencias. . .[3] Manuel D Cerqueira...
Notas:
21
Preparacion de documentos con LATEX
Citas bibliograficas con BibTEX(4/4)
cardio.bib
@Article{cerqueira:2002,author = "{Manuel D Cerqueira} and {Neil J Weissman}and {Vasken Dilsizian} and {Alice K Jacobs} and {SanjivKaul} and {Warren K Laskey} and {Dudley J Pennell} and{John A Rumberger} and {Thomas Ryan} and {Mario S Verani}",title = {Standardized Myocardial Segmentation andNomenclature for Tomographic Imaging of the Heart},journal = "Circulation",pages = "105--539",year = 2002,publisher = "American {H}eart {A}ssociation",url = "http://circ.ahajournals.org/full/105/4/539"
}
Citas bibliograficas con BibTEX(4/4)JabRef nos puede ayudar a gestionar los ficheros BibTEX
Notas:
22
Preparacion de documentos con LATEX
Indices analıticos
• En documentos grandes puede ser de utilidadcrear un ındice analıtico
• Hay que elegir las entradas y subentradasaplicando un criterio coherente
• Para marcar una palabra se utilizael comando \index{entrada}
• Se pueden indicar referencias(p.ej. figure, vease graficos)
• Hay que tener cuidado con loscaracteres especiales (acentos, etc.)
• Finalmente, si se ha utilizado MAKEINDEX,el ındice se genera con el comando \printindex
Glosarios
• Se utiliza el paquete \gloss• Se escribe el glosario como una bibliografıa• Se puede identificar cada entrada
con un nombre largo y uno corto(p.ej. Interfaz Grafica de Usuario (IGU))
• En el texto se referencian comolas citas bibliograficas
• Podemos mostrar tanto el nombre corto,como el largo, o los dos
• En el PDF se generan hipervınculos:pinchando vamos a la entrada rapidamente
Notas:
23
Preparacion de documentos con LATEX
Insertando codigo fuente con listings (1/4)
• El paquete listings permite incluircodigo fuente de forma sencilla
• Soporta unos 80 lenguajes (y dialectos)• Se pueden definir nuevos lenguajes• Insertar desde ficheros directamente,
completos o solo una parte• Cambiar el aspecto de los listados• Numerar las lıneas• Insertar los listados como objetos “flotantes”• Generar un Indice de listados
Insertando codigo fuente con listings (2/4)
Definiendo el aspecto del listado\usepackage{listings}\lstset{
tabsize=4,%inputencoding=latin1,%extendedchars=true,%basicstyle=\ttfamily\small,%keywordstyle=\bfseries,%commentstyle=\itshape,%breaklines=true,%showstringspaces=false,}
\lstdefinestyle{SQL}{
language={SQL},keywordstyle=\color{red}\bfseries,commentstyle=\color{green}\itshape
}
Notas:
24
Preparacion de documentos con LATEX
Insertando codigo fuente con listings (3/4)
Insertando el listado directamente en el documento
\begin{lstlisting}[style=SQL]DELETE FROM USER_SDO_GEOM_METADATAWHERE TABLE_NAME=’POLIGONOS’ AND COLUMN_NAME=’GEOMETRIA’ ;
INSERTINTO USER_SDO_GEOM_METADATA...
8307);\end{lstlisting}
Insertando el listado desde el codigo fuente
\lstinputlisting[style=SQL,firstline=4,lastline=13]{scripts/ejemplo.sql}
Insertando codigo fuente con listings (4/4)
ResultadoDELETE FROM USER_SDO_GEOM_METADATAWHERE TABLE_NAME = ’POLIGONOS’ AND COLUMN_NAME = ’GEOMETRIA’ ;
INSERTINTO USER_SDO_GEOM_METADATA
(TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)VALUES (
’POLIGONOS’, --Nombre de la tabla’GEOMETRIA’, --Nombre del campo con la geometrıaMDSYS.SDO_DIM_ARRAY
(...
4285138.924922460,4782919.839447332,0.000000050)),8307
);
Notas:
25
Preparacion de documentos con LATEX
Multimedia en PDF
El paquete multimedia (en Beamer proporciona el comando\movie con el que presentar video y audio. Es de esperar quepronto se soporten las pelıculas Flash
Video: cerdovolador.avi Audio: xomu.wav
Conclusiones
• LATEX proporciona un entorno potente y versatilpara realizar todo tipo de documentos
• Muchas tareas son complicadas, y requieren aprendizaje pero elresultado es de una gran calidad
• No es la panacea, muchas tareasno requieren esta herramienta
• La separacion de la presentacion y el contenido,el uso de ficheros de texto y la cantidadde funcionalidad ya resuelta son las grandesbazas de este sistema
• Aunque pequena, la comunidadde usuarios es muy activa
Notas:
26
Preparacion de documentos con LATEX
Para saber mas
Libros
• El libro de LATEX. Pearson Prentice Hall• LATEX Companion. Addison Wesley
Sitios web
• Webs de diferentes TUG:CervaTEX, UKTUG, Indian TUG, ...
• Comprehensive TEX Archive Network: CTAN
Comunicacion
• Grupos de news:• es.comp.lenguajes.tex• comp.text.tex
• Lista de correo: ES-TEX en RedIRIS
Preparacion de documentos con LATEX
Jorge Gaspar Sanz Salinas
Diciembre de 2006
Notas:
27
Preparacion de documentos con LATEX
Reconocimiento
Parte del documento que se presenta ha sido tomadodel trabajo realizado por Sergio Gil, que esta publicado en:
http://sgil.blogspot.com/2005/10/latex.html
Gracias al uso de licencias Creative Commons,y al esfuerzo de personas como Sergio, este trabajo
ha sido mucho mas sencillo y gratificante.
Licencia de este documento
Notas:
28