LATEX
Para Linux Debian ´ Con ejemplos practicos.
Por Paco Aldarias Raya Impreso: 18 de mayo de 2006
LATEX Email: pacolinux arroba inicia punto es Web: http://www.iespana.es/pacolatex ˜ Con Linux Debian. En Valencia (Espana) ´ siempre que se cite su fuente. Este documento es de libre reproduccion A Realizado con: LTEX
Por Paco Aldarias
1/77
LATEX
´Indice general
´Indice general
2
´Indice de cuadros
3
´Indice de figuras
4
´ 1. Prologo
6
´ Que es LATEX, 6 • Beneficios de usar LaTeX, 6 • Me conviene usar LaTeX, 6 • Instalacion, 7 • Ayuda de latex, 7 • Pasar la ortograf´ıa a ficheros latex, 7 • Editores de latex, 8.
1.7.1. Para linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.2. Para windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 8
´ del documento, 8 • Dejarlo bonito: tex-pretty, 9 • El comando latex, 9. Transformacion
2. Tipos de documentos
10
´ 10 • Documento art´ıculo, 10 • Documento libro, 10 • Documento libro con Introduccion, varios archivos, 11 • Otras documentclass, 12 • Agregar en el directorio ra´ız todos los ficheros de los que depende un documento: listfiles, 12 • Separar el prologo: frontmatter, ´ 12 • Crear constantes: macros, 13 • Crear una pagina en blanco, 13.
3. Partes de un documento: Cap´ıtulos, Secciones
14
´ 14 • Niveles, 14 • Numeracion, ´ 14. Introduccion,
´ . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3.1. Quitarla numeracion 4. Listas
16
´ 16 • Lista de items, 16 • Lista de ordenada, 16 • Listas anidadas numeradas, Introduccion, 16 • Lista de descripciones, 17 • Lista personalizadas, 17 • Lista personalizadas con dedo, 18 • Lista con letras, 18 • Lista con paralist, 18.
5. Elementos flotantes
20
Tablas, 20.
5.1.1. 5.1.2. 5.1.3. 5.1.4.
Tabla sin lineas . . . . . . . . Tabla simple . . . . . . . . . Tabla de longuitud controlada Tabla especial . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
20 20 21 21
Convertir una imagen jpg a eps: convert . . Ejemplo de imagen jpg . . . . . . . . . . . ´ Poner varias imagenes juntas con figure . . ´ Poner varias imagenes juntas con minipage Poner una imagen y a la derecha un texto . ´ Poner varias imagenes juntas con picture .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
22 22 23 23 24 24
´ Imagenes, 22.
5.2.1. 5.2.2. 5.2.3. 5.2.4. 5.2.5. 5.2.6.
Por Paco Aldarias
2/77
LATEX Referencias a elementos flotantes, 24 • Cambiar las fuentes del caption, 25 • Como hacer un logo, 25 • Utilidades, 25 • Poner una imagen de fondo, 25.
5.7.1. Poner una imagen de fondo con fancybox . . . . . . . . . . . . . . . 25 5.7.2. Poner una imagen de fondo con eso-pic . . . . . . . . . . . . . . . . 26 ´ ´ graficos, ´ Imagenes que no flotan, 26 • Generar 28 • Hacer una linea que ocupe toda la anchura, 29.
6. Referencias cruzadas: enlaces
30
Enlaces a internet, 30 • Enlaces a internet que no se corte, 30 • Enlaces a partes del documento: referencias cruzadas, 30 • Ejercicio, 31.
´ 7. Documentos a medida: recetas, examenes
32
´ 32 • Hacer tarjetas de visita, 32 • Escribir en griego:teubner, 32 • Latex para Introduccion, documentar codigo fuente, 33 • Recetas de cocina:recipe, 34 • Examenes: examdesign, 34 • Horarios: shedule, 34 • El indic, 34 • Superponer texto encima de imagenes: overpic, 35.
8. Entornos
36
Entorno verbatim, 36 • Entorno Fancy verbatim, 36 • Entorno Listings, 37 • Los comenta´ rios, 37 • Entorno minipage, 37 • Minipage y graficos, 38 • Notas al pie, 38.
8.7.1. Poner las notas entre parentesis . . . . . . . . . . . . . . . . . . . . 38 ´ ´ ´ Crear un ´ındice alfabetico, 38 • Numero total de paginas: lastpage, 39 • Indice general mas ´ completo: tocbibinf, 39 • LLaves, 40 • Crear marcos multipagina: framed, 40.
9. S´ımbolos
41
El simbolo del euro, 41.
´ 10. Funciones matematicas
42
´ Entorno matematico, 42 • Ecuaciones Simples Numeradas, 42 • Ecuaciones Simples sin numerar, 42 • Ecuaciones Simples Alineadas, 43.
´ ´ 11. Graficos de funciones matematicas: gnuplot
44
´ 12. Cabeceras y pies de pagina
45
´ ´ ˜ Personalizar las cabeceras y pies de pagina, 45 • Eliminar los pies de pagina, 46 • Tamano ´ de la pagina: geometry, 46 • Personalizar los cap´ıtulos, 46.
13. Notas al pie al final del documento: endnotes
47
´ 47 • Ejemplo de notas finales: endnotes, 47. Introduccion,
14. Tipos de textos y parrafos
48
´ Crear un parrafo sin sangrado: noindent, 48 • Alineacion del parrafo, 48 • Fuentes del texto, 49 • Enfatizar texto, 50 • Tipos de letra helvetica, 50 • Acortar la anchura del parrafo, 50 • Formatos personalizados, 50 • Poner todo el texto en helvetica, 50.
15. Formatos
51
Conversores de formato, 51.
´ de tex . 15.1.1. Herramientas de conversion ´ de html 15.1.2. Herramientas de conversion ´ de pdf . 15.1.3. Herramientas de conversion ´ de ps . 15.1.4. Herramientas de conversion ´ de dvi . 15.1.5. Herramientas de conversion ´ de sgml 15.1.6. Herramientas de conversion
Por Paco Aldarias
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
51 52 52 52 52 53
3/77
LATEX Pasar de png a eps, 53 • Poner dos caras de hoja en una sola, 53 • Visores, 54 • Hacer documentos grandes, 54.
16. Glosarios
55
´ 55 • Uso, 55 • Generar el glosario, 55. Introduccion,
17. Base de datos bibliograficas
56
Bibliografias en el mismo fichero, 56 • Fichero externo de bibliografias, 56.
17.2.1. fichero latex.bib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 17.2.2. Al final del documento hay q poner . . . . . . . . . . . . . . . . . . . 56 17.2.3. Se compilar con . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Herramientas, 57.
17.3.1. Gbib . . . . . . . . . . . . 17.3.2. Pybliographic . . . . . . . 17.3.3. Bibview . . . . . . . . . . 17.3.4. cb2Bib . . . . . . . . . . . 17.3.5. Tellico . . . . . . . . . . . 17.3.6. Script para Bibliographer
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
57 57 57 57 57 58
Poner una y en los autores, 58 • Poner varios autores en el fichero .bib, 58.
17.5.1. Bibtex y mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Unir ficheros bib: bibtopic, 58.
18. Bibliografia
60
˜ ´ 60 • Bibliograf´ıa en Internet en Paquetes, 60 • Libros en Espanol., 60 • Libros en Ingles., ˜ 60 • Bibliograf´ıa en Internet en Ingles, ´ 61. Espanol,
A. Plantilla Latex
62
´ 62 • fichero datos.tex, 62 • platilla.tex, 62 • plantilla.sh, 64. Introduccion,
´ de ficheros B. Script de Generacion
65
´ 65 • genera.sh, 65 • pdf2.sh, 67. Introduccion,
´ C. Script para imagenes
68
´ 68 • ejemplo.tex, 68 • Imagenes jpg, 69. Introduccion,
C.3.1. jpgbb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 C.3.2. jpgtops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Imagenes png, 69.
C.4.1. pngbb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 C.4.2. pngtops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 ´ Imagenes gif, 70.
C.5.1. gifbb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 D. Latex con make
71
´ 71 • Varios comandos en una regla del fichero Makefile, 71 • Como make Introduccion, procesa makefile, 72 • Comandos del make, 72 • Ejemplos en latex, 72.
´ D.5.1. Ejemplo con genericos y varios pasadas en latex . . . . . . . . . . . 72 ´ D.5.2. Ejemplo con genericos . . . . . . . . . . . . . . . . . . . . . . . . . 72 Ejemplos en c, 73.
D.6.1. Ejemplo simple en c . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 D.6.2. Ejemplo de programa en c . . . . . . . . . . . . . . . . . . . . . . . 74 D.6.3. Ejemplo de programa en c con variables . . . . . . . . . . . . . . . 74 Make para latex con plantilla, 74.
D.7.1. makefile.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Por Paco Aldarias
4/77
LATEX D.7.2. makefileplantilla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 ´ 76 • Bibliografia, 76. Mas informacion,
Bibliograf´ıa
Por Paco Aldarias
77
5/77
LATEX
´Indice de cuadros
5.1. Ejemplo de tabla sin lineas . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.2. Ejemplo de tabla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.3. Ejemplo de tabla controlada . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Por Paco Aldarias
6/77
LATEX
´Indice de figuras
5.1. Ejemplo de imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2. Titulo del ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Por Paco Aldarias
7/77
LATEX
Glosario
´ Palabra1 Descripcion1, pagina 40. ´ Palabra2 Descripcion2, pagina 40. ´ Palabra3 Descripcion3, pagina 40.
Por Paco Aldarias
8/77
LATEX
CAPITULO 1
´ Prologo
1.1. Que es LATEX LATEX es una forma de preparar documentos mediante una lenguaje de marcas. Es una forma estructurada y organizada de construir documentos. Separa el texto del estilo. Genera documentos de gran calidad. ˜ LATEX (pron. lei-tej) es un programa disenado para componer documentos, es´ caracteres de impresion, ´ formando las to es: para poner juntas las letras y los demas ´ l´ıneas y las paginas de un texto. Es particularmente util ´ cuando el texto incluye s´ımbolos ´ ´ matematicos. Se ha convertido en un formato estandar con el cual se pueden presentar ´ art´ıculos a muchas revistas y publicaciones tecnicas. En rigor, LaTeX es simplemente ´ comoda ´ una interfaz mas al programa TeX de Donald Kunth.
1.2. Beneficios de usar LaTeX 1. Enfatiza el darle estructura a un documento 2. Facilita que el autor se concentre en el mensaje del documento en lugar de preocuparse de su apariencia. ´ 3. Permite escribir simbolog´ıa matematica arbitrariamente complicada ´ ´ de las partes del 4. Produce automaticamente tablas de contenido y la numeracion documento, de la bibliograf´ıa, las notas al pie, las ecuaciones, las tablas y las figuras. 5. Muchas revistas cient´ıficas aceptan art´ıculos en LaTeX
1.3. Me conviene usar LaTeX 1. Cuando es preferible que la computadora haga el trabajo de componer el texto para que uno pueda concentrarse en lo que escribe (p. ej. al redactar un art´ıculo o una tesis). ´ 2. Cuando hay que incluir s´ımbolos matematicos. 3. Cuando no se quiera gastar dinero para comprarse un procesador de palabras comercial.
Por Paco Aldarias
9/77
LATEX
´ 1.4. Instalacion Desde consola, como usuario root: apt-get install tetex-base tetex-extra tetex-bin latex2html ktexmaker2 ispell ispanish xpdf kate kghostview a2ps psutils gv libjpeg-progs tth linuxdoc-tools-latex acroread htmldoc texdoctk Siendo: Programas para latex. tetex-base tetex-extra tetex-bin. ´ Utilidades para generar paginas web: latex2html Instalaremos el editor de latex: ktexmaker2 kate ´ El corrector ortografico: ispell ispanish El visor pdf adobe acrobat reader: acroread El visor ps: kghostview ´ La ayuda grafica: texdoctk Utilidades de conversion: a2ps Utilidades de ficheros ps: psutils El visor ps: gv La utilidad: htmldoc Utildad para transformar jpg: libjpeg-progs Utilidades de sgml y latex: linuxdoc-tools-latex Utilidad para pasar de latex a html: tth
1.5. Ayuda de latex Escribir desde consola escribir: Para ver el ayuda del paquete hyperef: texdoc hyperref ´ o tambien: texdoctk Plusar especial elements - Hiperlink in latex.
1.6. Pasar la ortograf´ıa a ficheros latex Desde consola poner: ispell -d castellano -T latin1 fichero.tex Siendo: -d El diccionario -T Tipo de formato. Por Paco Aldarias
10/77
LATEX
1.7. Editores de latex ´ Para hacer un docuamento de LATEX se puede hacer facilmente con cualquir editor. Despues se llama a latex fichero.tex y genera un fichero dvi.
1.7.1. Para linux ktexmaker2 Editor con resaltado y botones con ordenes. Kate . Editor con resaltado y linea de comandos. Entorno integrado q contiene editor, compilador, resaltado de comandos, conversores a pdf, html, ps. LyX . Procesador de textos wysiwing. Emacs Entorno integrado q contiene editor, compilador, resaltado de comandos, Aqui hay q ver el resultado con visores externos. Vim Editor con resaltado de comandos. Quanta Editor con resaltado de comandos. Vi Editor solo. nano Editor solo. kedit Editor solo.
1.7.2. Para windows ˜ TeXnicCenter es un editor de texto tipo Winedt, expresamente disenado para ser usado con LaTeX, por lo que tiene facilidades, tipo botones y menus ´ para insertar s´ımbolos, entornos, etc. Winedt ´ TeX/LaTeX. MikTeX Es una distribucion http://www.miktex.org
´ del documento 1.8. Transformacion Crear el documentos .tex en formato texto. Para ello usaremos cualquier editor o ktexmaker. Pasamos el corrector latex: latex archivo.tex Esto nos genera un fichero .dvi el cual se puede usar para ver el resultado o imprimirlo. Pasamos el fichero a formato pdf: pdflatex archivo.tex
Por Paco Aldarias
11/77
LATEX Pasamos el fichero a formato html: latex2html archivo -no subdir -split 0 -local icons 1 -show section numbers -no auto link -no navigation -no images Siendo: archivo: el fichero.tex -no subdir: No crea una carpeta para meter el html, -split 0 : divide el docuemento html en 0 documentos. -local icons 1: Pone los iconos como locales, a las secciones. -show section numbers: Pone numeros ´ -no auto link : No crea un fichero index.html
1.9. Dejarlo bonito: tex-pretty Si quieremos dejar bonito el codigo latex, podemos usar tex-pretty Descargar el programa de: http://www.math.utah.edu/pub/texpretty/ Ejemplo: tex-pretty fichero.tex > fichero-bonito.tex
1.10. El comando latex La orden latex comprueba los errores y genera un fichero dvi. Al poner en consola: latex fichero.tex, puede que se pare pq aparece un error. En dicho texto nos indica donde esta el error, con su numero de linea. ´ Para abortar pulsamos x (exit), si le damos a intro, sigue comprobando errores.
Por Paco Aldarias
12/77
LATEX
CAPITULO 2
Tipos de documentos
´ 2.1. Introduccion ´ Basimente hay 2 tipos de documentos: article(art´ıculos) y libro(book). Indicamos el la clase de documento con: \documentclass
2.2. Documento art´ıculo Debemos tener en cuenta, que un documento article, no tiene chapter. \documentclass[12pt,a4paper]{article} \usepackage[spanish, activeacute]{babel} %Espa~ nolizacion \usepackage[latin1]{inputenc} %Letras con acentos, e~ nes \title{Titulo} \author{Autor} \date{Impreso: \today} \begin{document} \maketitle \tableofcontents \section{Secci´ on A} Parrafo \subsection{Secci´ on A1} Parrafo \section{Secci´ on B} Parrafo \end{document}
2.3. Documento libro \documentclass[12pt,a4paper]{book} \usepackage[spanish, activeacute]{babel} %Espa~ nolizacion Por Paco Aldarias
13/77
LATEX \usepackage[latin1]{inputenc} %Letras con acentos, e~ nes \title{Titulo} \author{Autor} \date{Impreso: \today} \begin{document} \maketitle \tableofcontents \section{Secci´ on A} Parrafo \subsection{Secci´ on A1} Parrafo \section{Secci´ on B} Parrafo \end{document}
2.4. Documento libro con varios archivos Tendremos un archivo principal llamado bookvarios.tex, y los cap´ıtulos separados en los archivos cap1.tex, y cap2.tex. ´ teLos chapter los definimos en el documento principal (bookvarios.tex). Solo nemos que generar el documentos principal, no los cap´ıtulos. Documento principal. fichero bookvarios.tex \documentclass[12pt,a4paper]{book} \usepackage[spanish, activeacute]{babel} %Espa~ nolizacion \usepackage[latin1]{inputenc} %Letras con acentos, e~ nes \title{Titulo} \author{Autor} \date{Impreso: \today} \begin{document} \maketitle \tableofcontents \chapter{Titulo del capitulo1} \input{cap1} \chapter{Titulo del capitulo2} \input{cap2} \end{document}
Por Paco Aldarias
14/77
LATEX Capitulo 1: fichero cap1.tex \section{Secci´ on A del cap1} Parrafo \subsection{Secci´ on A1} Parrafo \section{Secci´ on B del cap1} Parrafo Cap´ıtulo 2: fichero cap2.tex \section{Secci´ on A del cap2} Parrafo \subsection{Secci´ on A1} Parrafo \section{Secci´ on B del cap2} Parrafo
2.5. Otras documentclass \documentclass[11pt,a4paper,twoside,openright,titlepage]{report} \documentclass[11pt,a4paper,oneside]{book}
2.6. Agregar en el directorio ra´ız todos los ficheros de los que depende un documento: listfiles ´ mediante la cual agrega en el directorio ra´ız todos los Tenemos una opcion ficheros de los que depende un documento, de forma tal que se pueda enviar a otra ´ en si mismo sea autoconsistente y no haya que instalar ningun persona y la informacion ´ paquete nuevo ya que todo esta´ en el directorio del documento. \listfiles \documentclass{article}
2.7. Separar el prologo: frontmatter ´ La clase libro nos permite ademas: \begin{document} \frontmatter % las p´ aginas ser´ an numeradas en n´ umeros romanos % los cap´ ıtulos definidos no sacar´ an ep´ ıgrafe "Cap´ ıtulo n´ umero" % otras partes del documento se tratar´ an igual (mejor ponerles en asterisco) \mainmatter % aqu´ ı se incluir´ an los cap´ ıtulos que constituyen el libro % se renumera desde 1 Por Paco Aldarias
15/77
LATEX \backmatter % los ap´ endices \end{document}
2.8. Crear constantes: macros Utilizaremos la orden newcommand ... \title{\titulo} \begin{document} \newcommand{\titulo}{Teoria de Redes. Anexo IV: Encaminamiento} ...
´ 2.9. Crear una pagina en blanco \clearpage\hbox{}\thispagestyle{empty}\newpage
Por Paco Aldarias
16/77
LATEX
CAPITULO 3
Partes de un documento: Cap´ıtulos, Secciones
´ 3.1. Introduccion Segun ´ el tipo de documento tiene varios niveles o apartados.
3.2. Niveles 1. part 2. chapter 3. section 4. subsection 5. paragraph 6. subparagraph La clase book es la unica que puede llevar part y chapter. ´
´ 3.3. Numeracion ´ con: Podemos cambiar el nivel de numeracion \setcounter{secnumdepth}{3} Siendo el valor de secnumdepth corresponde al ultimo nivel que se numera. ´ Los niveles section subsection subsubsection paragraph subparagraph
1 2 3 4 5
En book y report part chapter
Por Paco Aldarias
-1 0
17/77
LATEX En article part
0
´ 3.3.1. Quitarla numeracion ´ Poniendo un * eliminamos la numeracion. ´ no numerada: Ejemplo se seccion \section*{Numeraci´ on}
Por Paco Aldarias
18/77
LATEX
CAPITULO 4
Listas
´ 4.1. Introduccion Las listas permiten organizar el texto en apartados.
4.2. Lista de items Item 1 Item 2 Item 3 En latex ser´ıa: \begin{itemize} \item Item 1 \item Item 2 \item Item 3 \end{itemize}
4.3. Lista de ordenada 1. Item 1 2. Item 2 3. Item 3 En latex ser´ıa: \begin{enumerate} \item Item 1 \item Item 2 \item Item 3 \end{enumerate}
4.4. Listas anidadas numeradas ´ se aprecia en ficheros pdf. Nota: Esto solo 1. Aqui tenemos otra lista: Por Paco Aldarias
19/77
LATEX a) Item 1 b) Item 2 c) Item 3 2. Item 2 3. Item 3 Podemos cambiar la lista para q el segundo nivel salga asi: 1. Aqui tenemos otra lista: 1. Item 1 2. Item 2 3. Item 3 2. Item 2 3. Item 3 Para ello deberemos poner: \renewcommand{\theenumii}{\arabic{enumii}} \renewcommand{\labelenumii}{\theenumii.}
4.5. Lista de descripciones Descripcion1 Texto 1. Descripcion1 Texto 1. Descripcion1 Texto 1. En latex ser織覺a: \begin{description} \item [Descripcion1] \item [Descripcion1] \item [Descripcion1] \end{description}
Texto 1. Texto 1. Texto 1.
4.6. Lista personalizadas . Item 1 . Item 2 . Item 3 En latex ser織覺a: {\renewcommand{\labelitemi}{$\triangleright$} \begin{itemize} \item Item 1 \item Item 2 \item Item 3 \end{itemize} Por Paco Aldarias
20/77
LATEX
4.7. Lista personalizadas con dedo Debemos usar el paquete pifont. ☞ Item 1 ☞ Item 2 ☞ Item 3 En latex ser´ıa: \usepackage{pifont} %Listas con dedo .. \begin{document} ... {\renewcommand{\labelitemi}{\ding{43}} \begin{itemize} \item Item 1 \item Item 2 \item Item 3 \end{itemize}
4.8. Lista con letras a. Item 1 b. Item 2 c. Item 3 En latex ser´ıa: ... \usepackage{enumerate} ... \begin{enumerate}[a.] \item Item 1 \item Item 2 \item Item 3 \end{enumerate}
4.9. Lista con paralist Debemos usar el paquete paralist ? Item 1.1 ☞ Item 2.1 • Item 2.1.1 • Item 2.1.2 Por Paco Aldarias
21/77
LATEX ☞ Item 2.2 ? Item 1.2 En latex ser´ıa: \usepackage{paralist} \begin{document} ... \begin{enumerate}[$\star$] \item Item 1.1 \begin{itemize} \item Item 2.1 \begin{itemize} \item Item 2.1.1 \item Item 2.1.2 \end{itemize} \item Item 2.2 \end{itemize} \item Item 1.2 \end{enumerate} ´ permite hacerlo de forma permanente para todo el documento, para los cuatro Tambien primeros niveles ponendo esto \setdefaultitem{\textbullet}{$\star$}{$\circ$}{\textperiodcentered} ? Item 1.1 • Item 2.1 ? Item 2.1.1 ? Item 2.1.2 • Item 2.2 ? Item 1.2
Por Paco Aldarias
22/77
LATEX
CAPITULO 5
Elementos flotantes
5.1. Tablas 5.1.1. Tabla sin lineas En latex ser´ıa: \begin{table} \begin{center} \begin{tabular}{lr} A & B \\ 11 & 12 \\ 21 & 22 \\ \end{tabular} \end{center} \caption{Ejemplo de tabla sin lineas} \label{tablasinlineasin} \end{table}
5.1.2. Tabla simple Tabla sin l´ıneas. En latex ser´ıa: \begin{table}[hptbH] \begin{center} \begin{tabular}{|l ||r ||c |} \hline \hline 11 & 12 & 13 \\ \hline \hline 21 & 22 & 23 \\ \hline 31 & 32 & 33 \\ \hline \end{tabular} \end{center} \caption{Ejemplo de tabla}
A 11 21
B 12 22
Cuadro 5.1: Ejemplo de tabla sin lineas
Por Paco Aldarias
23/77
LATEX 11 21 31
12 22 32
13 23 33
Cuadro 5.2: Ejemplo de tabla
\end{table}
5.1.3. Tabla de longuitud controlada ´ Cuando tenemos tablas cuya longuitud se sale de la anchura de la pagina, debemos usar la orden p que indica la longuitud de la tabla. Un ejemplo ser´ıa la tabla 5.3. texto texto texto texto texto texto texto texto texto texto texto texto
texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto
Cuadro 5.3: Ejemplo de tabla controlada
En latex ser´ıa: \begin{table}[hptbH] \begin{center} \begin{tabular}{lp{.5\linewidth}} \hline texto texto texto texto texto texto & texto texto texto texto texto texto texto texto texto texto texto texto \\ texto texto texto texto texto texto & texto texto texto texto texto texto texto texto texto texto texto texto \\ \hline \end{tabular} \end{center} \caption{Ejemplo de tabla controlada} \label{tablac1} \end{table} ´ La expresion: p{.5\linewidth} indica la lonquitud de la linea menos 0.5
5.1.4. Tabla especial 0
16 31 A B C D En latex ser´ıa: Por Paco Aldarias
24/77
LATEX \begin{tabular}{|c|c|} \multicolumn{1}{l}{\hspace{-0.9em}0} & \multicolumn{1}{r}{\hspace{-0.9em}16 \hfill 31} \hline A & B \\ \hline C & D \\ \hline \end{tabular}
\\
´ 5.2. Imagenes ´ ´ puede En LATEX las imagenes son elementos flotantes. Los documentos dvi solo ´ visualizar imagnes eps. Sin embargo, los pdf y html si admiten imagenes de los tipos, .bmp, jpg, gif, png, pdf. LaTeX, por s´ı solo, no soporta *.jpg, es posible que este´ ocurriendo alguna con´ jpg a eps. version Hay dos opciones: 1. Convierte por tu cuenta el jpg (o de donde proceda) a eps (con ImageMagick o algun de que la calidad del eps es la que te interesa. ´ otro programa) y asegurate ´ Luego ya lo puedes insertar con includegraphics ´ directamente un pdf, no un dvi, y 2. Utiliza pdflatex en lugar de latex. Obtendras ´ soporta jpg y png (pero no eps, estos ´ ademas los tendras que convertir a pdf). ´ Personalmente, yo prefiero esta opcion.
5.2.1. Convertir una imagen jpg a eps: convert Desde consola como root: apt-get install imagemagick Desde consola en la carpeta donde esta la imagen: convert imagen.jpg imagen.eps
5.2.2. Ejemplo de imagen jpg Deberemos generar el documento con pdflatex para obtener un fichero pdf. En latex ser´ıa: ... \usepackage{graphicx} ... \begin{document} ... \begin{figure}[hbt] \begin{center} \includegraphics[width=0.90\textwidth]{iconos-tux} \end{center} \caption{Ejemplo de imagen} \label{imagen} \end{figure} Por Paco Aldarias
25/77
LATEX
Figura 5.1: Ejemplo de imagen
Nota: El 0.9 indica que coga el 90 % de la anchura de la l´ınea la imagen. Podemos poner las imagenes en una carpeta as´ı: \graphicspath{{/home/angel/archivosps/}}
´ 5.2.3. Poner varias imagenes juntas con figure ´ que usar subfigure, sino Si necesitas que cada figura tenga su c¸aption”tendras puede que con poner las dos figuras dentro de un entorno figure pueda ser suficiente: \begin{figure}[p] \includegraphics{figura1.png} \hbox{\separacion}} \includegraphics{figura2.png} \caption{etiqueta com´ un} \end{figure}
´ 5.2.4. Poner varias imagenes juntas con minipage
\begin{figure} \begin{minipage}[t]{.45\textwidth} %0.45 por el ancho del texto %aqu´ ı metes tu figura \end{minipage} \hfill %la siguiente figura estar´ a separada en horizontal 0.1 por el ancho del texto (porq \begin{minipage}[t]{.45\textwidth} %0.45 por el ancho del texto, como la anterior %aqu´ ı metes tu segunda figura \end{minipage} \end{figure} Por Paco Aldarias
26/77
LATEX
Texto
Figura 5.2: Titulo del ejemplo
5.2.5. Poner una imagen y a la derecha un texto \begin{figure} \begin{minipage}[c]{0.5\columnwidth}% \centering /* el includegraphics */ \end{minipage}% \hfill{} \begin{minipage}[c]{0.5\columnwidth}% /* la descripcion */ \end{minipage}% \caption{Titulo del ejemplo} \end{figure}
´ 5.2.6. Poner varias imagenes juntas con picture Existe otro procedimiento, que permite colocar las figuras como a uno le de´ la gana: con un entorno picture. Por ejemplo \setlength{\unitlengtth}{1cm}\begin{picture}(12,6) \put(0,0){\includegraphics[width=6cm]{figura1.ps}} \put(6,0){\includegraphics[width=6cm]{figura2.ps}} \end{picture} Incluso as´ı puedes evitar el problema de la l´ınea en blanco, y puedes hacer que una figura se superponga sobre otra (como si fueran fotos en una mesa).
5.3. Referencias a elementos flotantes ´ Para refrencias tablas, graficos, debemos usar lo que contiene label. Vease la tabla 5.1 , que esta en la pagina 20, y tambien la figura 5.1 , que esta en la pagina 23. En latex ser´ıa: Vease la tabla \ref{tabla} , que esta en la pagina \pageref{tabla}, y tambien la figura \ref{imagen} , que esta en la pagina \pageref{imagen}. Por Paco Aldarias
27/77
LATEX
5.4. Cambiar las fuentes del caption ´ Colocando lo siguiente en el preambulo de tu documento: \usepackage[sf,sl]{caption2} \renewcommand{\captionfont}{\small} ˜ small. Con eso se te cambia el tipo a sans serif slanted de tamano
5.5. Como hacer un logo Veamos un ejemplo: \documentclass{article} \usepackage{graphicx} \newsavebox{\logo} \sbox{\logo}{\includegraphics{logo}} \pagestyle{headings} \makeatletter \def\@oddhead{% \usebox{\logo}\hfill% Nombre de la empresa% \hfill Telefono% } \makeatother \begin{document}
5.6. Utilidades 1. Pasar las tablas excel a latex http://www.jam-software.com/freeware/ 2. Hacer tablas en entorno amigable: btw,LaTable http://www.g32.org/latable/
5.7. Poner una imagen de fondo 5.7.1. Poner una imagen de fondo con fancybox Debemos poner antes del begin document: \usepackage{fancybox} ´ del begin document: Debemos poner despues \thisfancyput(2cm,-19cm){\includegraphics[width=15cm]{imagen.jpg}} Por Paco Aldarias
28/77
LATEX
5.7.2. Poner una imagen de fondo con eso-pic Debemos poner antes del begin document: \usepackage{eso-pic} \newcommand\BackgroundPicture{% \put(0,0){% \parbox[b][\paperheight]{\paperwidth}{% \vfill \centering \includegraphics[width=\paperwidth,height=\paperheight,% keepaspectratio]{imagen.jpg}% \vfill }}} % The picture is centered on the page background \AddToShipoutPicture{\BackgroundPicture}
´ 5.8. Imagenes que no flotan ´ Esta es una pregunta bastante frecuente entre los novatos. ¿Como puedo hacer que una figura salga en el texto exactamente en el lugar que yo quiero, y no en el ´ obvia consiste en no poner la figura dentro de un que quiera LaTeX? La respuesta mas entorno figure, ya que es este entorno quien le dice a LaTeX que tiene permiso para ponerla donde prefiera. S´ı, Quiero mi figura AQUI ´ Esta es una pregunta bastante frecuente entre los novatos. ¿Como puedo hacer que una figura salga en el texto exactamente en el lugar que yo quiero, y no en el ´ obvia consiste en no poner la figura dentro de un que quiera LaTeX? La respuesta mas entorno figure, ya que es este entorno quien le dice a LaTeX que tiene permiso para ponerla donde prefiera. S´ı, Quiero mi figura AQUI ´ Esta es una pregunta bastante frecuente entre los novatos. ¿Como puedo hacer que una figura salga en el texto exactamente en el lugar que yo quiero, y no en el ´ obvia consiste en no poner la figura dentro de un que quiera LaTeX? La respuesta mas entorno figure, ya que es este entorno quien le dice a LaTeX que tiene permiso para ponerla donde prefiera. S´ı, \includegraphics puede ser usado sin necesidad de estar dentro de un figure, pues el entorno figure sim´ y que su caption debe plemente indica que su contenido puede ”flotar.a otra posicion, ´ llevar la palabra ”Figura”, pero no que su contenido sea necesariamente un grafico. Esto suele sorprender a los principiantes. ´ muchas veces no es satisfactoria, ya que necesitaNo obstante, esta solucion ´ y aparezca en la ”Lista de figuras”del mos que la figura tenga un pie, una numeracion ´ se logran a traves ´ del comando documento, y todas estas caracter´ısticas solo \caption ´ puede aparecer dentro del entorno figure (u otro flotante). En teor´ıa, LaTeX , el cual solo admite el posicionador [h] para indicar que la figura aparezca en el punto en que aparece Por Paco Aldarias
29/77
LATEX en el fuente, en lugar de ”flotar”hacia otro punto. Por desgracia esto no es una orden tajante para LaTeX, sino una sugerencia que suele ignorar. ´ tajanEn muchas ocasiones he leido que el posicionador [h!] es una orden mas ´ (o quizas ´ no este´ imte, pero parece que LaTeX suele desobedecerla a menudo tambien plementada en todas las versiones de LaTeX). El caso es que colocar una figura .aqui, ´ aunque quede fea, bajo mi responsabilidad”no parece facil. Pero en realidad es tan sencillo como incluir el paquete float y especificar el posicionador [H] (observar que va en mayuscula) ´ ˜ Para quienes prefieren hacer las cosas de forma retorcida, es posible anadir un caption en cualquier lugar del texto, sin estar necesariamente dentro de un entorno figure. Para ello puede usarse el paquete capt-of o el paquete captdef. Ambos proporcionan una funcionalidad muy similar, y en el fondo usan el mismo mecanismo, por lo que puedes ´ te guste. Usando capt-of, anadir´ ˜ elegir el que mas ıas el pie de figura escribiendo \captionof{figure}{Texto del pie de figura} , mientras que usando captdef el comando a usar ser´ıa \figcaption{Texto del pie de figura} ˜ . Ambos paquetes son flexibles y permiten anadir captions de tablas o de otros floats que puedas haber definido tu´ mismo con ayuda del paquete float. Puede usarse un entorno tabular para asegurarse de que la figura y el ”falso pie”van siempre juntos. puede ser usado sin necesidad de estar dentro de un figure, pues el entorno figure simplemente ´ y que su caption debe llevar la indica que su contenido puede ”flotar.a otra posicion, ´ palabra ”Figura”, pero no que su contenido sea necesariamente un grafico. Esto suele sorprender a los principiantes. ´ muchas veces no es satisfactoria, ya que necesitaNo obstante, esta solucion ´ y aparezca en la ”Lista de figuras”del mos que la figura tenga un pie, una numeracion ´ ´ del comando documento, y todas estas caracter´ısticas solo se logran a traves \caption ´ puede aparecer dentro del entorno figure (u otro flotante). En teor´ıa, LaTeX , el cual solo admite el posicionador [h] para indicar que la figura aparezca en el punto en que aparece en el fuente, en lugar de ”flotar”hacia otro punto. Por desgracia esto no es una orden tajante para LaTeX, sino una sugerencia que suele ignorar. ´ tajanEn muchas ocasiones he leido que el posicionador [h!] es una orden mas ´ (o quizas ´ no este´ imte, pero parece que LaTeX suele desobedecerla a menudo tambien plementada en todas las versiones de LaTeX). El caso es que colocar una figura .aqui, ´ aunque quede fea, bajo mi responsabilidad”no parece facil. Pero en realidad es tan sencillo como incluir el paquete float y especificar el posicionador [H] (observar que va en mayuscula) ´ ˜ Para quienes prefieren hacer las cosas de forma retorcida, es posible anadir un caption en cualquier lugar del texto, sin estar necesariamente dentro de un entorno figure. Para ello puede usarse el paquete capt-of o el paquete captdef. Ambos proporcionan una funcionalidad muy similar, y en el fondo usan el mismo mecanismo, por lo que puedes ´ te guste. Usando capt-of, anadir´ ˜ elegir el que mas ıas el pie de figura escribiendo \captionof{figure}{Texto del pie de figura} , mientras que usando captdef el comando a usar ser´ıa Por Paco Aldarias
30/77
LATEX \figcaption{Texto del pie de figura} ˜ . Ambos paquetes son flexibles y permiten anadir captions de tablas o de otros floats que puedas haber definido tu´ mismo con ayuda del paquete float. Puede usarse un entorno tabular para asegurarse de que la figura y el ”falso pie”van siempre juntos. puede ser usado sin necesidad de estar dentro de un figure, pues el entorno figure simplemente ´ y que su caption debe llevar la indica que su contenido puede ”flotar.a otra posicion, ´ palabra ”Figura”, pero no que su contenido sea necesariamente un grafico. Esto suele sorprender a los principiantes. ´ muchas veces no es satisfactoria, ya que necesitaNo obstante, esta solucion ´ y aparezca en la ”Lista de figuras”del mos que la figura tenga un pie, una numeracion ´ se logran a traves ´ del comando documento, y todas estas caracter´ısticas solo \caption ´ puede aparecer dentro del entorno figure (u otro flotante). En teor´ıa, LaTeX , el cual solo admite el posicionador [h] para indicar que la figura aparezca en el punto en que aparece en el fuente, en lugar de ”flotar”hacia otro punto. Por desgracia esto no es una orden tajante para LaTeX, sino una sugerencia que suele ignorar. ´ tajanEn muchas ocasiones he leido que el posicionador [h!] es una orden mas ´ (o quizas ´ no este´ imte, pero parece que LaTeX suele desobedecerla a menudo tambien plementada en todas las versiones de LaTeX). El caso es que colocar una figura .aqui, ´ aunque quede fea, bajo mi responsabilidad”no parece facil. Pero en realidad es tan sencillo como incluir el paquete float y especificar el posicionador [H] (observar que va en mayuscula) ´ ˜ Para quienes prefieren hacer las cosas de forma retorcida, es posible anadir un caption en cualquier lugar del texto, sin estar necesariamente dentro de un entorno figure. Para ello puede usarse el paquete capt-of o el paquete captdef. Ambos proporcionan una funcionalidad muy similar, y en el fondo usan el mismo mecanismo, por lo que puedes ´ te guste. Usando capt-of, anadir´ ˜ elegir el que mas ıas el pie de figura escribiendo \captionof{figure}{Texto del pie de figura} , mientras que usando captdef el comando a usar ser´ıa \figcaption{Texto del pie de figura} ˜ . Ambos paquetes son flexibles y permiten anadir captions de tablas o de otros floats que puedas haber definido tu´ mismo con ayuda del paquete float. Puede usarse un entorno tabular para asegurarse de que la figura y el ”falso pie”van siempre juntos. ´ informacion ´ en http://ltx.blogspot.com/2003/10/quiero-mi-figura-aqui. Mas html
´ graficos ´ 5.9. Generar Programas: • Bardiag http://www.ibiblio.org/pub/packages/TeX/graphics/bardiag/ • rlplot http://rlplot.sourceforge.net/Examples/index.html Por Paco Aldarias
31/77
LATEX
5.10. Hacer una linea que ocupe toda la anchura Definimos la macro: \newcommand{\linea}{\noindent\rule{\textwidth}{.1pt}\\} Ahora donde queramos poner una linea pondremos \linea
Por Paco Aldarias
32/77
LATEX
CAPITULO 6
Referencias cruzadas: enlaces
6.1. Enlaces a internet ˜ ´ Debemos anadir el paquete hyperref en el prologo del documento, es decir, antes del begin document. ´ Una pagina web: http://www.google.es Un email: mailto://paco25abril@tiscali.es En latex ser´ıa: \usepackage{hyperref} ... \begin{document} .. Una p´ agina web: \url{http://www.google.es} Una email: \url{mailto://paco25abril@tiscali.es} ..
6.2. Enlaces a internet que no se corte Debemos poner antes del inicio del documento: \usepackage{url}
6.3. Enlaces a partes del documento: referencias cruzadas En latex se puede referenciar cualquier objeto siempre que haya sido previamente equiquetado con: \label{etiqueta} Podemos referenciar a este elemento con: \ref{etiqueta} ´ Podemos referenciar la pagina a este elemento con: \pageref{etiqueta}
Por Paco Aldarias
33/77
LATEX
6.4. Ejercicio Hacer un articulo, en donde aparencan referencias a sectiones y el numero de ´ ´ pagina donde se encuentra.
Por Paco Aldarias
34/77
LATEX
CAPITULO 7
´ Documentos a medida: recetas, examenes
´ 7.1. Introduccion Vamos a ver clases de documentos interesantes. Deberemos copiar el tipo de documento en /usr/share/texmf/tex/latex/base/ y desde consola como root poner: mktexlsr
7.2. Hacer tarjetas de visita Aqui hay ejemplos: http://www.debian.org/events/materials/business-cards/
7.3. Escribir en griego:teubner ´ Se puede escribir en griego clasico veremos un ejemplo (de un escrito de un ´ ´ correcto sin maestro de filosof´ıa que esta fascinado con LaTeX) no se si sea lo mas embargo la referencia al paquete teubner http://www.ctan.org/tex-archive/macros/ latex/contrib/teubner/teubner-doc.pdf %%%%%%%%%%%%%%%%%%%% inicio del documento. \documentclass[letterpaper,10pt]{article} \usepackage[T1]{fontenc} \usepackage[greek,spanish]{babel} \usepackage{teubner} document_datosoporte para babel y griego \usepackage[latin1]{inputenc} \usepackage{parallel}% Permite escribir en "Columnas Paralelas".
\begin{document} \bigskip \begin{small} \begin{Parallel}[c]{0.45\textwidth}{0.45\textwidth} \tolerance=1000 \ParallelLText{\noindent El texto de \emph{El Sofista} es el siguiente:} \ParallelRText{\noindent \noindent He aqu´ ı una propuesta de traducci´ on al espa~ nol:} \ParallelPar
Por Paco Aldarias
35/77
LATEX \ParallelLText{\noindent"<\griego{ >Epeid‘h to` ınun <hme~is >hpor’hkamen,}} \ParallelRText{\noindent "<Puesto que nosotros estamos en un aprieto,} \ParallelPar \ParallelLText{\noindent \griego{ <ume\~is a>ut` a <hm\~in >emfan’izete <ikan\~wc,}} \ParallelRText{\noindent mostradnos en forma adecuada} \ParallelPar \ParallelLText{\noindent \griego{ t’i pote bo’uleste shma’inein <op’otan >’on fj’egghsje.}} \ParallelRText{\noindent qu´ e quer´ eis manifestar cuando mencion´ ais lo que es.} \ParallelPar \ParallelLText{\noindent \griego{ D\~hlon g’ar <ws <ume\~is m` en ta\~uta p’alai gign’wskete,}} \ParallelRText{\noindent Es evidente que se trata de algo que vosotros conoc´ eis desde hace mucho,} \ParallelPar \ParallelLText{\noindent \griego{ <hme\~is d` e pr` o to\~u m` en >w|’omeja,}} \ParallelRText{\noindent y que nosotros mismos compren\-d´ ıamos hasta este momento,} \ParallelPar \ParallelLText{\noindent \griego{ n \~un d> >hpor’hkamen
\dots ">.}}
\ParallelRText{\noindent pero que ahora nos pone en dificultades">.}
\end{Parallel} \end{small} \noindent \footnote{El texto est´ a tomado de Plat´ on, \emph{Theaithetos. Der Sophist. Der Staatsmann.} Griechischer Text von Auguste Di` es. Deutsche ¨ Ubersetzung von Friedrich Schleiermacher. WBG. Alemania. 1990.} \hfill \footnote{As´ ı es como est´ a traducido en Plat´ on, \emph{Di´ alogos. V. Parm´ enides. Teeteto. Sofista. Pol´ ıtico.} Gredos. Traducci´ on de Ma. Isabel Santa Cruz, Alvaro Vallejo Campos, N´ estor Luis Cordero. Madrid. 1998. p. 407.} \end{document} %%%%%%%%%%%%%%%%%%%% Fin del documento
Por Paco Aldarias
36/77
LATEX
7.4. Latex para documentar codigo fuente Se puede buscar aqu´ı: ·http://tug.ctan.org/tex-archive/macros/latex/ contrib/ • highlight es un sencillo programa que acepta un fichero en C++ por ejemplo y que genera el codigo para TeX, LaTeX, HTML, XHTML, RTF en el que pueden elegir unos tenmas con colores para palabras clave o para fondos, genera un codigo completo con begin-document end-document de modo que si queremos hacer un include hay que borrar algunas lineas, es muy sencillo de usar. ´ apt-get install highlight Instalacion: Ejemplos: http://www.andre-simon.de/doku/highlight/highlight bsp en.html • listings • algorithms • algorithm2e • pseudocode • algorithmx
7.5. Recetas de cocina:recipe Permite hacer un libros de recetas. Copiar el fichero recipe.cls en /usr/share/texmf/tex/latex/base/
7.6. Examenes: examdesign ´ ´ Permite realizar rapidamente examenes con enumciados y soluciones. Aqu´ı se puede encontrar: ftp://ftp.dante.de/tex-archive/macros/latex/ contrib/examdesign Copiar el fichero exam.cls en /usr/share/texmf/tex/latex/base/
7.7. Horarios: shedule Aqui se puede encontrar: http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/ tex/schedule.html
7.8. El indic El comando printindex se limita a incluir el archivo.ind. Este archivo a su vez simplemente contiene un entorno heindex dentro del cual va todo el ´ındice. Por tanto si ´ del entorno theindex. Yo lo quieres hacer cosas especiales, debes modificar la definicion tengo hecho en un documento para que el ´ındice salga a doble columna y con un texto ´ ´ introductorio. Mi codigo es el siguiente (en el preambulo del documento):
Por Paco Aldarias
37/77
LATEX %------------8X-------------------------------------------------------\makeatletter \renewenvironment{theindex} {\section*{\indexname}% usar chapter en vez de section si se requiere \@mkboth{\MakeUppercase\indexname}% {\MakeUppercase\indexname}% Texto introductorio, aparece tras el t´ ıtulo de secci´ on y antes del ´ ındice \thispagestyle{plain}\parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem \setlength{\columnseprule}{.2mm} \begin{multicols}{2}} % iniciar doble columna (requiere paquete multicol) {\end{multicols}} \makeatother %-------------8X----------------------------------------------------------------
7.9. Superponer texto encima de imagenes: overpic Descargar los ficheros de overpic de : http://www.ctan.org/tex-archive/macros/latex/contrib/overpic/?action=/tex-archive/ macros/latex/contrib/ Siendo root: Copiar el fichero sty: cp overpic.sty /usr/share/texmf/tex/latex/base/ Regenerar estilos: mktexlsr
Por Paco Aldarias
38/77
LATEX
CAPITULO 8
Entornos
8.1. Entorno verbatim Este entorno permite poner comandos latex. Es para poner el texto tal cual. Ejemplo: \begin{verbatim} Texto tal cual \end{verbatim}
8.2. Entorno Fancy verbatim Deberemos poner antes de begin document: \usepackage{fancyvrb} ´ en el documento usaremos: Despues \begin{verbatim} Esto es texto tal cual, podemos poner \begin{enumerate} y no lo interpreta. \end{verbatim} ´ permite anadirle ˜ ´ en el comenTambien opciones, por ejemplo que cree marcos: Despues to usaremos: \begin{verbatim}{frame=single} Esto es texto tal cual, podemos poner \begin{enumerate} y no lo interpreta. \end{verbatim} ˜ ´ en el comento usaremos: Podemos anadir ficheros externos con: Despues \verbatimInput{fichero.txt}
Por Paco Aldarias
39/77
LATEX
8.3. Entorno Listings Deberemos poner antes de begin document: \usepackage{listings} ´ en el documento usaremos: Despues \begin{lstlisting} Esto es texto tal cual, podemos poner \begin{enumerate} y no lo interpreta. \end{lstlisting} ´ permite anadirle ˜ Tambien opciones, por ejemplo que cree marcos: \begin{lstlisting}{frame=single} Esto es texto tal cual, podemos poner \begin{enumerate} y no lo interpreta. \end{lstlisting} ˜ Podemos anadir ficheros externos con: \lstinputlisting{fichero.txt}
8.4. Los comentarios Un comentario es un texto que no se ve en el documento, pero sirve para acalarar cosas. Si desamos que una linea sea un comentario usaremos %: Si desamos que mas de una linea sea comentario usaremos: \begin{comment} ... ... \end{comment}
8.5. Entorno minipage Este texto esta dentro del entorno minipage. Minipage empieza aqui: Esto es el texto de despues de minipage Apreciar como se queda el texto. con 2cm. Como veis se empieza despues del texto, inicial. En latex seria:
Por Paco Aldarias
40/77
LATEX Minipage empieza aqui: \begin{minipage}{2cm} Este texto esta dentro del entorno minipage. Apreciar como se queda el texto. \end{minipage} Esto es el texto de despues de minipage con 2cm. Como veis se empieza despues del texto, inicial.
´ 8.6. Minipage y graficos ´ Esto permite poner un texto a la izquierda del grafico. \begin{figure}[!h] \begin{minipage}[c]{0.5\columnwidth}% \centering \includegraphics[]{dibujo} \end{minipage}% \hfill{} \begin{minipage}[c]{0.5\columnwidth}% descripcion del grafico o codigo fuente del diagrama de flujo (grafico) \end{minipage}% \caption{titulo del grafico} \end{figure}
8.7. Notas al pie 1 ´ Esto es una nota al pie de pagina En latex ser´ıa:
Esto es una nota al pie de p´ agina \footnote{Esto es el texto del pie}
8.7.1. Poner las notas entre parentesis ´ Deberemos poner esto en el preambulo: \renewcommand{\thefootnote}{(\arabic{footnote})}
´ 8.8. Crear un ´ındice alfabetico ´ 1. Incluir en el preambulo 1
Esto es el texto del pie
Por Paco Aldarias
41/77
LATEX \usepackage{makeidx} \makeindex ´ el ´ındice, (se suele poner antes del 2. Poner en el lugar donde quieres que aparezcan end document: \printindex ˜ 3. Senalar todas las entradas que quieres se usen en el ´ındice, con: \index{texto} o tb \begin{texto ! apartado} ´ ”.idx” 4. Se compila el documento; entre otros se creara´ el fichero auxiliar de extension 5. Compilar el documento, con: latex fichero.tex 6. Generar el ´ındice con formato; en linux la orden es: makeindex archivo.idx 7. Volver a compilar el documento, con: latex fichero.tex
´ 8.9. Numero ´ total de paginas: lastpage El paquete lastpage permite usar la variable LastPage para conocer el numero ´ ´ ´ del comando: total de paginas del documento a traves ´ La ultima pagina de este domumento es: 77 ´ As´ı se emplea: ... \usepackage{lastpage} ... \begin{document} La ´ ultima p´ agina de este domumento es: \pageref{LastPage} \end{document}
´ completo: tocbibinf 8.10. Indice general mas ´ Podemos poner en el ´ındice general, o tableofcontents, el numero de pagina del ´ ´ mismo indice, de la lista de figuras, la lista de tablas, ´ındice alfabetico,etc. Deberemos usar el paquete tocbibind, antes del inicio del documento: \usepackage{tocbibind} ... \begin{document} ... Por Paco Aldarias
42/77
LATEX
8.11. LLaves Primer item Segundo item Cuarto item Tercer item En latex ser´ıa: $\left. \begin{tabular}{l} Primer item\\ Segundo item\\ Tercer item \end{tabular} \right\} $Cuarto item
8.12. Crear marcos multipagina: framed ´ pon lo que quieras dentro del environment Utiliza el paquete framed y despues framed. As´ı: \documentclass{article} \usepackage{framed} \begin{document} \begin{framed} %todo el texto que quieras, yo he probado con uno que ocupaba tres p´ aginas% \end{framed} \end{document}
Por Paco Aldarias
43/77
LATEX
CAPITULO 9
S´ımbolos
9.1. El simbolo del euro Necesita tener instalado el paquete tetex-eurosym y usar \usepackage{eurosym} esto es un e \euro ´ informacion ´ en http://www.debian.org/doc/manuals/debian-euro-support/ Mas ch-applications.en.html#s4.2.11
Por Paco Aldarias
44/77
LATEX
CAPITULO 10
´ Funciones matematicas
´ 10.1. Entorno matematico c=
p
a2 + b2
En latex ser´ıa: \begin{displaymath} c = \sqrt{ a^{2} + b^{2} } \end{displaymath} ´ se pueden poner formulas ´ Tambien como esta c2 = a2 + b2 dentro del parrafo as´ı: Tambi´ en se pueden poner f´ ormulas como esta $c^{2}=a^{2}+b^{2}$ dentro del parrafo as´ ı:
10.2. Ecuaciones Simples Numeradas Asumimos que usamos el paquete amsmath. ax + by + c = 0
(10.1)
En latex ser´ıa: \begin{equation} ax+by+c = 0 \end{equation}
10.3. Ecuaciones Simples sin numerar Asumimos que usamos el paquete amsmath. El s´ımbolo * elimina la numera´ cion. ax + by + c = 0 En latex ser´ıa: \begin{equation*} ax+by+c = 0 \end{equation*} Por Paco Aldarias
45/77
LATEX
10.4. Ecuaciones Simples Alineadas
x + y − 4444z = 1
(10.2)
x+y−z =1
(10.3) (10.4)
En latex ser´ıa: \begin{align} x + y - 4444z & = 1\\ x + y - z & = 1\\ \end{align}
Por Paco Aldarias
46/77
LATEX
CAPITULO 11
´ ´ Graficos de funciones matematicas: gnuplot
Por Paco Aldarias
47/77
LATEX
CAPITULO 12
´ Cabeceras y pies de pagina
´ 12.1. Personalizar las cabeceras y pies de pagina Se utiliza el paquete fancyhdr. Vamos a poner en la cabecera en el centro latex, ´ en el pie izquierdo Paco Aldarias y en pie derecho la pagina. En latex ser´ıa: \usepackage{fancyhdr} % Cabeceras/Pies \pagestyle{fancy} % Cabeceras/Pies \usepackage{lastpage} ... \addtolength{\headwidth}{\marginparwidth} \addtolength{\headwidth}{\marginparsep} ... \fancypagestyle{plain}% Para la primera p´ agina {% \fancyhead[l]{} \fancyhead[r]{} \fancyhead[c]{\bfseries \LaTeX{}} \renewcommand{\headrulewidth}{0.5pt} \fancyfoot[l]{Por Paco Aldarias} \fancyfoot[c]{} \fancyfoot[r]{\thepage/\pageref{LastPage}} \renewcommand{\footrulewidth}{0.5pt} } % Para el resto de p´ aginas \lhead{} \chead{\bfseries \LaTeX{}} \rhead{} \renewcommand{\headrulewidth}{0.4pt} \lfoot{Por Paco Aldarias} \cfoot{} \rfoot{\thepage/\pageref{LastPage}} \renewcommand{\footrulewidth}{0.4pt} ... \begin{document} Nota: Son funciones propias de latex : { Por Paco Aldarias
48/77
LATEX \LaTeX{) \thepage
Escribe latex bonito Escribe el n´ umero de p´ agina
´ 12.2. Eliminar los pies de pagina Debemos poner al inicio del documento: \def\thefootnote{\relax}
˜ de la pagina: ´ 12.3. Tamano geometry \usepackage{geometry} ´ ´ comoda ´ Te permite especificar los margenes de una forma mucho mas que tratando de manipular directamente las correspondientes variables de LaTeX. Ejemplo: \geometry{left=1cm, right=1cm, top=1cm, bottom=1cm}
12.4. Personalizar los cap´ıtulos ´ informacion ´ escribir en consola texdoc Debemos usar el paquete titlesec. Mas titlesec. Uso: \usepackage{titlesec} \titleformat{\chapter}[frame] {\normalfont} {\filright \footnotesize \enspace CAPITULO \thechapter\enspace} {8pt} {\Large\bfseries\filcenter} \begin{document}
Por Paco Aldarias
49/77
LATEX
CAPITULO 13
Notas al pie al final del documento: endnotes
´ 13.1. Introduccion Vamos a ver un ejemplo en donde las notas al pie las pone al final del documento.
13.2. Ejemplo de notas finales: endnotes \documentclass{book} \usepackage{multicol} \usepackage{endnotes} \renewcommand\enoteheading{\indent} \begin{document} Esta es l primera nota \endnote{Quiero esta nota con sangria} Esta es la seguna nota \endnote{Asi como la lleva esta} Esta es la tercera nota \endnote{Esta es la numero tres} \begin{multicols}{2}[\chapter{Notas}] \theendnotes \end{multicols} \end{document}
Por Paco Aldarias
50/77
LATEX
CAPITULO 14
Tipos de textos y parrafos
´ 14.1. Crear un parrafo sin sangrado: noindent Por defecto un parrafo queda sangrado a la derecha, para evitar eso debebmos poner antes del inicio noident. Ejemplos: ´ Esto es un parrafo normal sangrado. ´ Esto es un parrafo sin sangrado sangrado. En latex ser´ıa: Esto es un p´ arrafo normal sangrado. \noindent Esto es un p´ arrafo sin sangrado sangrado. Si deseamos que no idente en todo el documento seria poniendo en la cabecera: \parindent=0mm ´ para identar 15mm seria: O tambien \setlength{\parindent}{15 mm} \parindent=15mm
14.2. Alineacion del parrafo Esto es un texto a la izquierda Esto es un texto a la derecha Esto es un texto al centro. En latex seria: \begin{flushleft} Esto es un texto a la izquierda \end{flushleft} \begin{flushrigh} Por Paco Aldarias
51/77
LATEX Esto es un texto a la derecha \end{flushrigh} \begin{center} Esto es un texto al centro. \end{enter}
14.3. Fuentes del texto • Texto estilo Roman En latex seria: \textrm { Texto estilo Roman } • Texto estilo San serif En latex seria: \textsf{ Texto estilo San serif } •
Texto estilo Typewriter En latex seria: \texttt { Texto estilo Typewriter}
• Texto estilo Medium En latex seria: \textmd { Texto estilo Medium } • Texto estilo Boldfade En latex seria: \textbf { Texto estilo Boldfade} • Texto estilo Upright En latex seria: \textup { Texto estilo Upright } • Texto estilo Italica En latex seria: \textit { Texto estilo Italica } • Texto estilo Slanted En latex seria: \textsl { Texto estilo Slanted } • T EXTO ESTILO S MALL C AP En latex seria: \textsc { Texto estilo Small Cap} • Tambien se pueden combinar: Texto sanserif y bold face Texto roman y Slante En latex seria: Por Paco Aldarias
52/77
LATEX Tambien se pueden combinar: \textsf{ \textbf{ Texto sanserif y bold face} } \textrm{ \textsl{ Texto roman y Slante} }
14.4. Enfatizar texto Aqui hay una palabra enfatizada. En latex seria: Aqui hay una \emph{palabra} enfatizada.
14.5. Tipos de letra helvetica Debemos poner antes del inicio del documento: \renewcommand{\rmdefault}{phv} \renewcommand{\sfdefault}{phv} ´ Nota: Las formulas segiran usando el tipo de letra computer modern.
14.6. Acortar la anchura del parrafo Esto es un ejemplo acorada su anchura en ambos lados 4cm. Escribiendo este texto se puede apreciar como queda. En latex seria: {\leftskip=4cm \rightskip=4cm Esto es un ejemplo acorada su anchura en ambos lados 4cm. Escribiendo este texto se puede apreciar como queda. \par }
14.7. Formatos personalizados Ë&#x153; Asi definimos mi tamano: \newcommand{\miTamano}{\fontsize{10}{8pt}\normalfont\rmfamily} Asi lo usamos: {\miTamano ..... blablabla ..... }
14.8. Poner todo el texto en helvetica Poner antes del begin document: \usepackage{helvet} \def\rmdefault{\sfdefault} Por Paco Aldarias
53/77
LATEX
CAPITULO 15
Formatos
15.1. Conversores de formato Un documento en latex debe transformarse para poder se impreso o visto por ´ pasarlo a pdf y html. un visor. Lo corriente es hacer un fichero tex y despues Formatos de los ficheros: 1. tex. Fuente en latex 2. dvi. Los que genera latex directamente con latex fichero.tex 3. pdf. son para imprimir con adobe, 4. ps. Ficheros Postscript. Similar a pdf. ´ 5. html. Paginas web.
´ de tex 15.1.1. Herramientas de conversion 1. pdflatex. Convierte .tex en .pdf 2. latex2rtf-doc. Convierte .tex to .rtf 3. latex2html. Transforma tex a html. Mirar ejemplo previo. Nota: Para eliminar las direcciones absolutas y poder ver las imagenes, debes hacer:
sed -e ’s:/hdd/pagina/pacodebian//::g’ fichero.html > temp.html mv temp.html fichero.html ´ de la pagina. ´ Siendo /hdd/pagina/pacodebian/ la ubiacion 4. tth. Transforma tex a html. Ejemplo. fichero.tex ¿fichero.html http://hutchinson.belmont.ma.us/tth/manual.cgi#epsf 5. hevea. Transforma tex a html.
Por Paco Aldarias
54/77
LATEX
´ de html 15.1.2. Herramientas de conversion 1. htmldoc. Herramienta para pasar documentos de html a pdf o de html a ps. Es util para poder imprimir paginas web. Ejemplo. htmldoc -t pdf fichero.html -f fichero.pdf 2. html2ps. Convierte html en ps. Ejemplo. html2ps fichero.html >fichero.ps 3. gnuhtml2latex. Convierte html en tex. Ejemplo: gnuhtml2latex ht9.html 4. lynx. Convierte de html a txt Ejemplo: lynx -dump index.html > html.txt
´ de pdf 15.1.3. Herramientas de conversion 1. pdftotext. Convierte pdf a .txt 2. pdftops. Convierte pdf a ps. Ejemplo. pdftops fichero.pdf 3. pdf2ps. Convierte el pdf en ps. Ejemplo. pdf2ps fichero.pdf 4. pdfimages extrae las imagenes del fichero a jpg. ´ que se encuentra en el paquete: xpdf-utils Aplicacion Ejemplo. pdfimages -j fichero.pdf imagen Podemos incluir paginas de un fichero en nuestro fichero: \usepackage{pdfpages} . \begin{document} \includepdf[pages={3-7,9}]{/path/to/other.pdf} \end{document}
´ de ps 15.1.4. Herramientas de conversion 1. ps2pdf. Convierte ps a pdf. Ejemplo. ps2pdf fichero.ps ´ de doc. 2. catdoc. Herramientas de conversion Convierte .doc a .txt/.tex 3. psrip. Extrae imagenes de ficheros ps. Ejemplo. psrip fichero.ps
´ de dvi 15.1.5. Herramientas de conversion 1. divps. Convierte un dvi en ps dvips fichero.dvi -o fichero.ps 2. dvipdfm. Convierte dvi a pdf. Ejemplo: dvipdfm fichero.dvi Por Paco Aldarias
55/77
LATEX
´ de sgml 15.1.6. Herramientas de conversion 1. sgml2latex. Convierte un sgml a latex Ejemplo: sgml2latex –output=tex fichero.sgml Nota: Requiere instalar linuxdoc-tools-latex
15.2. Pasar de png a eps Debemos crear los archivos: pngtoeps.sh, pngtoepsvarios.sh Darles permiso de ´ chmod 700 pngtoeps.sh pngtoepsvarios.sh ejecucion: Contenido del fichero pngtoeps.sh: pngtopnm $1.png > $1.pnm pnmtops -noturn $1.pnm pnmtops -noturn $1.pnm > $1.ps ps2eps $1.ps rm $1.ps rm $1.pnm Contenido del fichero pngtoepsvarios.sh #Creacion de EPS (Encapsulated PostScript) a partir de png for i in ‘ls *.png‘; do f=‘basename $i .png‘ ./pngtoeps.sh $f done Llamada para pasar un fichero: pngtoeps fichero Llamada para pasar un directorio: pngtoespvarios
15.3. Poner dos caras de hoja en una sola 1. mpage. Es un programa para reducir e imprimir multiples paginas de textp por hoja sobre una impresora compatible PostScript. Ejem. Imprimir dos hojas en 1 cara. mpage -2 nombrearchivo.ps 2. pstops. Convierte un ps a una cara en dos. pstops "2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)" $1.ps $12.ps 3. psnup y psselect. Ejemplo: Para obtener dos caras en una hoja: psnup -2 midocumento.ps temporal.ps Para sacar las pares y las impares en un documento aparte: psselect -e temporal.ps ¿pares.ps psselect -o temporal.ps ¿impares.ps
Por Paco Aldarias
56/77
LATEX
15.4. Visores xpdf Visor de .PDF. Permite navegar por los enlaces, buscar texto, seleccionar texto, Ideal para visualzar. acroread (Adobe Acrobat). Visor de .PDF. Permite buscar texto, seleccionar texto, Ideal para imprimir. gv Visor de PDF,PS. kghostview Visor de PS,PDF,EPS. Es el que usa linux por defecto. kdvi Visor de .dvi. xdvi Visor de .dvi. dvisvga Visor de .dvi en consola.
15.5. Hacer documentos grandes Cuando generamos un documento muy grande, de mas de 200 hojas latex se queja que no tiene memoria. ˜ de pool: Editar el fichero como root, aumentando los tamano nano /usr/share/texmf/web2c/texmf.cnf % Max number of characters in all strings, including all error messages, % help texts, font names, control sequences. These values apply to TeX and MP. pool_size.context = 750000 pool_size = 1250000 % Minimum pool space after TeX/MP’s own strings; must be at least % 25000 less than pool_size, but doesn’t need to be nearly that large. string_vacancies.context = 450000 string_vacancies = 250000 % Maximum number of strings. max_strings.context = 550000 max_strings = 150000 % min pool space left after loading .fmt pool_free.context = 475000 pool_free = 50000
Por Paco Aldarias
57/77
LATEX
CAPITULO 16
Glosarios
´ 16.1. Introduccion ˜ El glosario que vamos a ver, permite ir anadiendo definiciones de palabra y luego al final, se hara´ un resumen de todas las definiciones hechas en el documento.
16.2. Uso \documentclass[a4paper,twoside,12pt]{book} \usepackage[spanish]{babel} \usepackage[refpage,spanish]{nomencl} \renewcommand{\nomname}{Glosario} \renewcommand{\nomlabel}[1]{\textbf{#1}\hfil} \renewcommand{\nomentryend}{.} \makeglossary \begin{document} \nomenclature{Palabra1}{Descripcion1} \nomenclature{Palabra2}{Descripcion2} \nomenclature{Palabra3}{Descripcion3} \printglossary[2cm] \end{document}
16.3. Generar el glosario latex fichero.tex makeindex -s nomencl.ist -o fichero.gls fichero.glo latex fichero.tex
Por Paco Aldarias
58/77
LATEX
CAPITULO 17
Base de datos bibliograficas
17.1. Bibliografias en el mismo fichero El libro [4]. El libro \cite{GOS88}. \begin{the bibliography}{99} \bibitem{GOS88} M. Goossens, F. Mittelbach, and A. Samarin, The LaTeX Companion, published by Addison-Wesley, ISBN 0-201-54199-8} \end{the bibliography}
17.2. Fichero externo de bibliografias El libro [4] de la bibliograf´ıa. En latex ser´ıa: El libro
\cite{GOS88} de la bibliograf´ ıa.
Siendo GOS88 la etiqueta del libro.
17.2.1. fichero latex.bib @BOOK{GOS88, AUTHOR = {Goossens - F. Mittelbach and A. Samarin}, TITLE = {The LaTeX Companion}, PUBLISHER = {Addison-Wesley}, YEAR= {1988}, EDITION = {1}, NOTE = {Libro en ingles} }
17.2.2. Al final del documento hay q poner \bibliographystyle{alpha} \bibliography{latex} %% .bbl
Por Paco Aldarias
59/77
LATEX
17.2.3. Se compilar con latex ficherotex bibtex ficherobib latex ficherotex latex ficherotex Nota: si queremos una libro q salga en la bibliograf´ıa que no se haya citado pondremos: \nocite{CAS00} Nota: si queremos todos los libros: \nocite{*}
17.3. Herramientas ´ de Hay distintos tipo de herramientas para gestionar los ficheros.bib, ademas hacerlo con cualquier editor.
17.3.1. Gbib ´ http://gbib.seul.org/ Este es un editor de BD Bibtex; esta´ bastante simpatico e interactua con otros editores como Kile o LyX. Respeta los acentos. Trabaja directa˜ Permite ordenar por mente con ficheros .bib, no hace falta importarlos. Esta en espanol. campos. Integrada en kile (editor de latex)
17.3.2. Pybliographic Trabaja directamente con ficheros .bib, no hace falta importarlos. Herramien´ ta grafica, que permite obtener ficheros html, latex, Permite pasarle ficheros xml para personalizar la salida html. Herramienta para gnome. http://www.pybliographer.org/
17.3.3. Bibview Herramienta para ver o buscar usando ficheros .bib Necesita importar el fichero .bib creando su propio formato.
17.3.4. cb2Bib http://www.kde-apps.org/content/show.php?content=14148 Permite trans´ en otro formato, p.e. si copiamos la refeformar a formato bibtex referencias que esten ´ adecuada, el programa nos rencia que aparece en el IEEEXplore, con la configuracion genera la entrada bibtex correspondiente, sin tener que editarla manualmente.
17.3.5. Tellico No es precisamente para bibtex, pero puede exportar las entradas en el formato adecuado.
Por Paco Aldarias
60/77
LATEX
17.3.6. Script para Bibliographer cat pybformat.sh # Por Paco Aldarias # http://arch.pybliographer.org/documentation/script-scripting-existing.html echo "BIBLIOGRAFIAS" > cabecera.txt echo "Por Paco Aldarias." > pie.txt echo "Actualizado " $(date +%d-%m-%Y-%H:%M) >> pie.txt pybformat -s /usr/share/pybliographer/Styles/paco.xml \ -f Html \ -o libros1.html \ -H cabecera.txt \ -F pie.txt \ libros.bib rm -f cabecera.txt pie.txt
17.4. Poner una y en los autores Si deseamos poner una y en lugar de and cuando hay varios autores, adaparemos el paquete de estilo. Siendo root: cd /usr/share/texmf/bibtex/bst/base cp cp alpha.bst alpha-new.bst cambaremos el and por y en format.names en el fichero alpha-new.bst mktexlsr usaremos el fichero as織 覺: \bibliographystyle{alpha-new}
17.5. Poner varios autores en el fichero .bib @book{CCM03, author = {CELMA, MATILDE and CASAMAYOR, JUAN CARLOS and MOTA, LAURA}, title = {Bases de datos relacionales}, publisher = {Prentice Hall. Pearson}, year = {2003}, note = {ER,Relacional,SQL} }
17.5.1. Bibtex y mysql Permite integrar bibtex y mysql. http://www.nongnu.org/biborb/download.html
Por Paco Aldarias
61/77
LATEX
17.6. Unir ficheros bib: bibtopic Buscar aqu織覺 los ficheros a instalar: http://www.ctan.org/tools/filesearch? action=/search/ README (Nov bibtopic.dtx bibtopic.ins bibtopic.pdf
6 02:34) (Nov 6 01:14) (Nov 6 10:47) (Nov 6 10:55)
Generar ficheros: latex bibtopic.in Copiar el fichero generado bibtopic.sty cp /wind/soft/linux/latex/bibtopic/bibtopic.sty /usr/share/texmf/tex/latex/base/ Actualizar estilos: mktexlsr Suponiendo que tenermos dos ficheros: librosbd.bib y librosredes.bib, creamos el fichero librostodos.tex ... \usepackage{bibtopic} begin{document} ... \begin{btSect}{librosbd} \section{Libros de Bases de Datos} \btPrintAll \end{btSect} \begin{btSect}{librosredes} \section{Libros de Redes} \btPrintAll \end{btSect} ... \bibliographystyle{alpha} Generar indices: bibtex librostodos1 bibtex librostodos2
Por Paco Aldarias
62/77
LATEX
CAPITULO 18
Bibliografia
18.1. Paquetes 1. Ctan. Busqueda de paquetes: http://www.ctan.org/find.html
˜ 18.2. Libros en Espanol. ˜ 2003. 1. Cascales Salinas Bernardo, El libro de latex + cdrom, Ed. Prentice Hall, Ano. ISBN 84-205-3779-9. Precio. 34Eur. ˜ 2000. ISBN: 2. Bernardo Cascales. Latex una imprenta en sus manos. Ed. ADI. Ano. 84-920381-9-5
´ 18.3. Libros en Ingles. 1. M. Goossens, F. Mittelbach, and A. Samarin, The LaTeX Companion, published by Addison-Wesley, ISBN 0-201-54199-8 (essential for the serious LaTeX hackers).
˜ 18.4. Bibliograf´ıa en Internet en Espanol 1. Latex para windows http://www.udlap.mx/∼ma108907/latex/taller.html 2. Cervantes http://filemon.mecanica.upm.es/CervanTeX/ ˜ ıa 3. LaTeX y compan´ http://ltx.blogspot.com/2003 09 01 ltx archive.html#106457963703677895 4. Manual de Latex de Aritz Beraza http://evangelion.homelinux.net/cgi-bin/cvsweb/cvstest/ 5. Manual latex. http://xm1.net.free.fr/linux/documentation.html 6. Latex world: http://latexworld.blogspot.com/ 7. Lista de correo sptex. http://www2.cica.es/servlist/listinfo/sptex
Por Paco Aldarias
63/77
LATEX 8. Crear Curriculum: http://www.tug.org/tex-archive/macros/latex/contrib/currvita/ ´ 9. Crear caratulas de cd: http://www.tug.org/tex-archive/macros/latex/contrib/cd-cover/ 10. Manual de latex: http://www.uco.es/∼i62napia/man latex/ 11. Faq Cervantes: http://corbu.aq.upm.es/∼agmartin/latex/FAQ-CervanTeX/FAQ-CervanTeX.html 12. Manual de Latex: http://www.sindominio.net/ayuda/latex/ 13. Manual de Latex: http://gimp.hispalinux.es/cgi-bin/cvsweb/doc-tutorial-latex/doc-tutorial-latex. txt 14. LaTeX para las Humanidades http://rt0016xp.eresmas.net/lplh/latex-humanidades.pdf Fuentes: http://rt0016xp.eresmas.net/lplh/lplh.tar.gz
´ 18.5. Bibliograf´ıa en Internet en Ingles 1. Introduction to LaTeX. Nicola Talbot. (Muy bueno) http://theoval.cmp.uea.ac. uk/∼nlct/latex/csed/handout.pdf 2. UK List of TeX Frequently Asked Questions. http://www.tex.ac.uk/cgi-bin/texfaq2html 3. ktexmaker2: http://xm1.net.free.fr/linux/index.html ´ Muy completo: 4. Manual de latex. En Ingles. http://sarovar.org/download.php/120/ltxprimer-1.0.pdf 5. Hypertext Help with LaTeX. En Ingles. Navegable en html: http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/ ltx-2.html 6. Latex tricks. Ingles http://www.iam.ubc.ca/∼newbury/tex/title.html 7. The Not So Short. Introduction to LATEX2 htp://libertonia.escomposlinux.org/story/2002/7/31/1486/16530 8. UK List of TeX Frequently Asked Questions on the Web http://www.tex.ac.uk/cgi-bin/texfaq2html?introduction=yes 9. Hacer pdf. How to Create PDF from LATEX Ki-Joo Kim. http://www.ce.cmu.edu/∼kijoo/latex2pdf.pdf
Por Paco Aldarias
64/77
LATEX
CAPITULO A
Plantilla Latex
´ A.1. Introduccion Vamos a ver la forma de generar rapidamente documentos. Se trata de hacer un fichero latex llamado fichero datos.tex que se unira a una plantilla previa. El fichero datos.tex puede ir en un article o un book, pudiendose unir varios ´ ficheros en uno solo. Disponemos de tres ficheros: 1. fichero datos.tex Fichero con el texto q queremos q salga. 2. plantilla.tex ´ Es un fichero latex que con la cabecera y un input a un fichero datos.tex generico. 3. plantilla.sh Script que genera el fichero final, q lo llamara´ fichero.tex. Sustituye en la plantilla el ´ texto fichero por el q se le pasa como parametro.
A.2. fichero datos.tex \section{MI seccion} Mi texto
A.3. platilla.tex \documentclass[12pt,a4paper]{article} \usepackage[spanish, activeacute]{babel} %Espa~ nolizacion \usepackage[latin1]{inputenc} %Letras con acentso, e~ nes \usepackage{listings} \usepackage{makeidx} % Indice de materias \makeindex % Indice de materias \usepackage{ifpdf} \ifpdf \usepackage[pdftex]{graphicx} \else \usepackage[dvips]{graphicx} \DeclareGraphicsExtensions{.eps,.ps,.eps.gz,.ps.gz,.jpg,.gif} \DeclareGraphicsRule{.jpg}{eps}{.jpg.bb}{‘jpgtops #1} Por Paco Aldarias
65/77
LATEX \DeclareGraphicsRule{.gif}{eps}{.gif.bb}{â&#x20AC;&#x2DC;giftops #1} \DeclareGraphicsRule{.png}{eps}{.png.bb}{â&#x20AC;&#x2122;pngtops #1} \fi \usepackage{fancyhdr} \pagestyle{fancy} \usepackage{graphicx} \usepackage{hyperref} \title{titulo} \author{Por Paco Aldarias Raya} \date{Impreso: \today} \usepackage{lastpage} %Ultima pagina. \addtolength{\headwidth}{\marginparwidth} \addtolength{\headwidth}{\marginparsep} \fancypagestyle{plain} {% \fancyhead[l]{} \fancyhead[r]{} \fancyhead[c]{\bfseries titulo} \renewcommand{\headrulewidth}{0.5pt} \fancyfoot[l]{Por Paco Aldarias} \fancyfoot[c]{} \fancyfoot[r]{\thepage/\pageref{LastPage}} \renewcommand{\footrulewidth}{0.5pt} } \lhead{} \chead{\bfseries titulo} \rhead{} \renewcommand{\headrulewidth}{0.4pt} \lfoot{Por Paco Aldarias} \cfoot{} \rfoot{\thepage/\pageref{LastPage}} \renewcommand{\footrulewidth}{0.4pt} \usepackage{tocbibind} \begin{document} \maketitle \input{prologo1} \tableofcontents \input{fichero_datos} \printindex
Por Paco Aldarias
66/77
LATEX \end{document}
A.4. plantilla.sh echo Uso: ./plantilla.sh fichero "Titulo" echo Creando $1.tex con titulo $2 cp plantilla.tex ${1}.tex sed -e "s/fichero/${1}/g" ${1}.tex > temp.tex mv temp.tex ${1}.tex sed -e "s/titulo/${2}/g" ${1}.tex > temp.tex mv temp.tex ${1}.tex
Por Paco Aldarias
67/77
LATEX
CAPITULO B
´ de ficheros Script de Generacion
´ B.1. Introduccion Vamos a ver scripts para generar ficheros. Disponemos de tres ficheros: 1. genera.sh Fichero que permite generar pdf, html. ./genera.sh fichero 2. pdf2.sh Permite conviertir pdf en dos paginas. ./pdf2 fichero
B.2. genera.sh echo xxxxxxxxxxxxxxxxxxx #echo Creando el indice echo xxxxxxxxxxxxxxxxxxx makeindex $1.idx echo xxxxxxxxxxxxxxxxxxxxxxx echo Creando fichero $1.dvi echo xxxxxxxxxxxxxxxxxxxxxxxx #latex \\nonstopmode \\input latex \\input $1.tex #kdvi $1.dvi &
$1.tex
#echo xxxxxxxxxxxxxxxxxxxxxxxxxxxx #echo Creando fichero $11.ps a 1 cara #echo xxxxxxxxxxxxxxxxxxxxxxxxxxxx #dvips $1.dvi -o $11.ps echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxx echo Creando fichero $1.pdf Por Paco Aldarias
68/77
LATEX echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #dvipdfm $1.dvi pdflatex $1.tex #xpdf $1.pdf & #pstops "2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)" $11.ps $12.ps xpdf $1.pdf & #echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxx #echo Creando ficheros pdf #echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #ps2pdf $1.ps #ps2pdf $12.ps echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx echo Creando fichero $1.htm echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx latex2html $1 -no_subdir -split 0 -local_icons 1 \ -show_section_numbers \ -no_auto_link -no_navigation # Eliminano direcciones absolutas. sed -e ’s:/wind/pagina/pacodebian//::g’ $1.html > $1.html1 mv $1.html1 $1.html #echo Creando fichero $1.txt ##pdftotext $1.pdf #echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #dest=/hdd/pagina/pacodebian/ #echo Copiandolo a la pagina a $dest #echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #cp $1.tex $dest #cp $1*.tex $dest #cp $1.txt $dest #cp $1*.pdf $dest #cp $1.html $dest #cp $1.css $dest #cp *.png $dest #cp *.jpg $dest #cp *.gif $dest
# Limpiando #rm *.log *.toc rm *.log #rm -f *.ps
Por Paco Aldarias
*.out *.dvi *.aux
69/77
LATEX rm *.dvi rm *.out rm *.aux echo Documento latex
$1 generado | festival --tts --language spanish
B.3. pdf2.sh echo Crendo pdf a doble cara echo Creando ps pdftops $1.pdf echo creadno ps s dos carasa pstops "2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)" $1.ps $12.ps echo creado pdf del ps a dos caras ps2pdf $12.ps echo Borrando los ps creados rm $12.ps rm $1.ps #xpdf $12.pdf acroread $12.pdf &
Por Paco Aldarias
70/77
LATEX
CAPITULO C
´ Script para imagenes
´ C.1. Introduccion ´ Vamos a ver como se pueden introducir imagenes (no eps): jpg, png, gif. ´ Cuando generamos un fichero latex, las imagines no eps, no son admintidas en ˜ (boundign box). la orden latex fichero.tex, ya que no conoce el tamano Para ello nos generamos ficheros imagen.x.bb (siendo x extension no eps), que ˜ definen los tamanos. Disponemos de los siguientes ficheros. 1. ejemplo.tex 2. Para jpg: jpgbb, jpgtops 3. Para gif: gifbb, giftops 4. Para png: pngbb, pngtops
C.2. ejemplo.tex \documentclass[12pt,a4paper]{article} \usepackage[spanish, activeacute]{babel} %Espa~ nolizacion \usepackage[latin1]{inputenc} %Letras con acentso, e~ nes
\usepackage{ifpdf} \ifpdf \usepackage[pdftex]{graphicx} \else \usepackage[dvips]{graphicx} \DeclareGraphicsExtensions{.eps,.ps,.eps.gz,.ps.gz,.jpg,.gif} \DeclareGraphicsRule{.jpg}{eps}{.jpg.bb}{‘jpgtops #1} \DeclareGraphicsRule{.gif}{eps}{.gif.bb}{‘giftops #1} \DeclareGraphicsRule{.png}{eps}{.png.bb}{‘pngtops #1} \fi \usepackage{fancyhdr} \pagestyle{fancy}
\title{titulo} Por Paco Aldarias
71/77
LATEX \author{Por Paco Aldarias Raya} \date{Impreso: \today}
\begin{document} \maketitle \tableofcontents \input{fichero_datos} \end{document}
C.3. Imagenes jpg C.3.1. jpgbb if [ $# = "0" ] ; then djpeg | pnmtops -noturn 2> /dev/null | \ awk ’/^%[%]*BoundingBox/ {print; exit}’ ; else for jpg in $* ; do djpeg $jpg | pnmtops -noturn 2> /dev/null | \ awk ’/^%[%]*BoundingBox/ {print; exit}’ > $jpg.bb ; done ; fi
C.3.2. jpgtops #! /bin/sh # jpgtops - Use # The output is # to be used as djpeg -pnm $* |
this to convert a SINGLE jpg file into ps sent to stdout, as this is intended a filter pnmtops -noturn 2> /dev/null
C.4. Imagenes png C.4.1. pngbb if [ $# = "0" ] ; then pngtopnm | pnmtops -noturn 2> /dev/null | \ awk ’/^%[%]*BoundingBox/ {print; exit}’ ; else for png in $* ; do pngtopnm $png | pnmtops -noturn 2> /dev/null | \ awk ’/^%[%]*BoundingBox/ {print; exit}’ > $png.bb ; done ; fi
Por Paco Aldarias
72/77
LATEX
C.4.2. pngtops #! /bin/sh pngtopnm $* | pnmtops -noturn 2> /dev/null
´ C.5. Imagenes gif C.5.1. gifbb #! /bin/sh if [ $# = "0" ] ; then giftopnm | pnmtops -noturn 2> /dev/null | \ awk ’/^%[%]*BoundingBox/ {print; exit}’ ; else for gif in $* ; do giftopnm $gif | pnmtops -noturn 2> /dev/null | \ awk ’/^%[%]*BoundingBox/ {print; exit}’ > $gif.bb ; done ; \end{lstlisting} \subsection{giftops} \begin{lstlisting} #! /bin/sh giftopnm $* | pnmtops -noturn 2> /dev/null
Por Paco Aldarias
73/77
LATEX
CAPITULO D
Latex con make
´ D.1. Introduccion Sacado del man make: ”Make es una utilidad de GNU para mantener grupos de programas.” Es necesario tener el fichero makefile, para que llamar al make desde consola sepa que hacer.
D.2.
Varios comandos en una regla del fichero Makefile La forma en la que se escriben las reglas es esta:
etiqueta : [dependencia1 ...] [;comandos] [# comentarios] [(tabulaci´ on) comandos] [# comentarios] o objetivo: requisito comando1; comando2; comando3 o objetivo: requisito comando1; comando2; comando3 o destino ... : prerequisito .. comando comando comando Siendo destino es el nombre del fichero q es generado por make. prerequisito es el fichero que es usado como entrada paracrear destino comando es una accion que lleva a cabo. ´ de una linea. Debemos poner una tabulacion Nota: Una regla puede tener mas ´ al principio de cada comando. Cada linea se ejecuta en paralelo con las demas. Por Paco Aldarias
74/77
LATEX
D.3. Como make procesa makefile Por defecto make comienza con el primer destino. Esto es llamado destino por defecto. Puede que los otros destinos o targets se activen si forman parte de los prerrequisitos. Si queremos que make solo haga un destino debemos poner make destino
D.4. Comandos del make 1. make -f mimake -f permite especificar el fichero de configuracion.
D.5. Ejemplos en latex ´ D.5.1. Ejemplo con genericos y varios pasadas en latex TEX = latex %.dvi:%.tex # pattern rule para LaTeX $(TEX) $< ; $(TEX) $<
´ D.5.2. Ejemplo con genericos all: tutorial.ps plantilla-1.ps plantilla-2.ps transparencias.ps \ tutorial-2pag.ps plantilla-2-tex.ps clean: rm -f tutorial.ps tutorial-2pag.ps plantilla-1.ps \ plantilla-2.ps transparencias.ps tutorial-2pag.ps \ plantilla-2-tex.ps *.dvi *.log *.aux *.toc *~ # C´ odigo plantilla a transparencia plantilla-2-tex.ps: plantilla-2.tex a2ps -p -8 -1 -B plantilla-2.tex > plantilla-2-tex.ps # Tutorial a 2 paginas tutorial-2pag.ps: tutorial.ps mpage -A2 $< > $@ # Generica para generar postscript %.ps: %.dvi dvips -t a4 -o $@ $< # Generica para generar dvi %.dvi: %.tex latex $< latex $< latex $<
Por Paco Aldarias
75/77
LATEX
D.6. Ejemplos en c D.6.1. Ejemplo simple en c edit : main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o cc -o edit main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o main.o : main.c defs.h cc -c main.c kbd.o : kbd.c defs.h command.h cc -c kbd.c command.o : command.c defs.h command.h cc -c command.c display.o : display.c defs.h buffer.h cc -c display.c insert.o : insert.c defs.h buffer.h cc -c insert.c search.o : search.c defs.h buffer.h cc -c search.c files.o : files.c defs.h buffer.h command.h cc -c files.c utils.o : utils.c defs.h cc -c utils.c clean : rm edit main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o Con varialbles: objects = main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o edit : $(objects) cc -o edit $(objects) main.o : main.c defs.h cc -c main.c kbd.o : kbd.c defs.h command.h cc -c kbd.c command.o : command.c defs.h command.h cc -c command.c display.o : display.c defs.h buffer.h cc -c display.c insert.o : insert.c defs.h buffer.h cc -c insert.c search.o : search.c defs.h buffer.h cc -c search.c files.o : files.c defs.h buffer.h command.h cc -c files.c Por Paco Aldarias
76/77
LATEX utils.o : utils.c defs.h cc -c utils.c clean : rm edit $(objects)
D.6.2.
Ejemplo de programa en c
lista : lista.o main.c lista.h gcc lista.o creditos.o main.c -o lista lista.o : lista.c gcc -c lista.c creditos.o : creditos.c gcc -c creditos.c
D.6.3.
Ejemplo de programa en c con variables
FILES= flectura.c fagnadir.c agnadir.c ini.c \ estad.c varios.c mensaje.c flujo.c\ describe.c juntar.c selec.c ordenar.c OFILES=flectura.o fagnadir.o agnadir.o ini.o \ estad.o varios.o mensaje.o flujo.o\ describe.o juntar.o selec.o ordenar.o PFILE= main.c LIBS= -lm NOMBRE= pp all: $(OFILES) gcc -g -o $(NOMBRE) $(OFILES) $(PFILE) $(LIBS) comp: $(FILES) gcc -g -c $(FILES) save: tar cvfz /home/iolalla/pp.tgz /home/iolalla/pepe
D.7. Make para latex con plantilla D.7.1. makefile.sh echo "Uso: ./makefile.sh fichero [pdf|html|..]" cp makefileplantilla $1_make sed -e "s/fichero/${1}/g" $1_make > makefiletemp mv makefiletemp $1_make Por Paco Aldarias
77/77
LATEX
echo "make -f" $1_make $1.$2 make -f $1_make $1.$2
D.7.2. makefileplantilla TEX=latex f=fichero.tex
fichero_datos.tex
fichero.all: fichero.dvi fichero.pdf fichero2.pdf \ fichero.html fichero.zip fichero.mio: fichero.dvi fichero.pdf fichero.html fichero.latex: $(f) $(TEX) fichero.tex; fichero.dvi: $(f) $(TEX) fichero.tex; makeindex fichero.idx; $(TEX) fichero.tex;
fichero.bib: $(f) fichero.bib $(TEX) fichero.tex; bibtex fichero; makeindex fichero.idx; $(TEX) fichero.tex;
fichero.pdf: $(f) pdflatex fichero.tex; xpdf fichero.pdf; fichero.html: $(f) latex2html fichero -no_subdir -split 0 \ -local_icons 1 -show_section_numbers -no_auto_link fichero2.pdf: fichero.pdf pdftops fichero.pdf; pstops "2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)" \ fichero.ps fichero2.ps; ps2pdf fichero2.ps; rm fichero2.ps fichero.ps; fichero.zip: fichero.tex zip -u $(f) fichero.clean: Por Paco Aldarias
78/77
LATEX rm -f fichero.log fichero.ps \ fichero.dvi fichero.out fichero.aux fichero.txt: fichero.pdf pdftotext fichero.pdf
´ D.8. Mas informacion gunzip -c /usr/share/info/make.info-1.gz | less more gunzip -c /usr/share/info/make.info-2.gz | less more gunzip -c /usr/share/info/make.info-3.gz | less more ...
D.9. Bibliografia ´ al programa make 1. Introduccion http://www.unav.es/cti/curso-c/make.html
Por Paco Aldarias
79/77
LATEX
Bibliograf´ıa
[1] Cascales Salinas Bernardo. Latex una imprenta en sus manos. Prentice Hall, 1 ˜ ISBN 84-920381-9-5. edition, 2000. En Espanol, [2] Cascales Salinas Bernardo. El libro de latex. Prentice Hall, 1 edition, 2003. En ˜ ISBN 84-205-3779-9. Espanol, [3] DES. Manual latex. http://xm1.net.free.fr/linux/documentation.html. [4] Goossens F. Mittelbach and A. Samarin. The LaTeX Companion. Addison-Wesley, 1 edition, 1988. Libro en ingles.
Por Paco Aldarias
80/77