scieee AI-readable full text Open interactive document viewer

Latex para Investigadores

Molina Cabrera, Daniel

Abstract

Este es el material un curso en español sobre Latex de 10 horas. La idea es profundizar en el conocimiento de Latex, mostrando paquetes útiles tanto para publicaciones científicas, como para documentos propios, o presentaciones.

Full text

L A T EX para Investigadores: Documentos Propios Daniel Molina Cabrera 20 de Octubre de 2025 Esquema 1Sobre latex para documentos 2Paquetes imprescindibles 3Márgenes y cabeceras 4Espacios 5Fuentes y tamaño 6Listados 7Títulos y Secciones 8Personalizar Portada 9Proyecto en múltiples ficheros 10 Otros formatos Latex para documentos ¿Para qué usar Latex para nuestros documentos? Gran formato. Formato centrado en contenido (plantilla define el estilo). Paquetes para casi todo. Problema: ¿Cómo hacer. . . ? 1No es intuitivo el formato. 2Uso de paquetes para facilitarlo. 3Gran desconocido. Latex para documentos ¿Para qué usar Latex para nuestros documentos? Gran formato. Formato centrado en contenido (plantilla define el estilo). Paquetes para casi todo. Problema: ¿Cómo hacer. . . ? 1No es intuitivo el formato. 2Uso de paquetes para facilitarlo. 3Gran desconocido. Latex para documentos Es más sencillo de lo que parece Paquetes permiten hacerlo fácil. Consistencia Mantiene consistencia. Grandes recursos. Dificultad Documentación extensa. falta de ejemplos. Malos mensajes de error. Paquetes imprescindibles Es común ficheros latex con muchos paquetes: copy-paste,ChatGPT, . . . ¿Son necesarios? ¿Qué hacen? Fichero mínimo \ documentclass { article } \ begin { document } Puedo empezar a escribir ya , los paquetes son \ emph { opcionales }. \ end { document } Paquetes imprescindibles Listado de paquetes babel Permite indicar el idioma del documento (spanish, english, . . .). hyperref Añadir enlaces, y estructura del PDF. graphicx Permite imágenes en formato jpg, png, gif, . . . inputenc utf8|latin1 (ya no suele ser necesario). fontenc T1 (para evitar problemas al copiar). lmodern Uso de Times new Roman actualizado. microtype Pequeñas mejoras tipográficas. xcolor Para uso de colores en el documento. amsmath Para mejorar el soporte matemático. Idioma del documento: Babel Babel Por defecto uso en inglés (sin detallar). Se puede indicar el idioma (usado por muchos paquetes). Usado en términos (Table/Cuadro/Tabla, Contents/Índice). Ejemplos % Espa ñ ol \ usepackage [ spanish ,es - tabla ]{ babel } % British %\ usepackage [ british ]{ babel } % American %\ usepackage [ english ]{ babel } Hyperref Paquete hyperref Permite crear enlaces, después de biblatex. Se puede configurar directamente como parámetros o con hypersetup. Opciones recomendadas de color: colorlinks=true Evita las cajas y usa colores. urlcolor=blue Los enlaces son azules, como estamos acostumbrados. linkcolor=black Los enlaces de otro tipo son negros. anchorcolor=XXX enlaces tipo anchor. Personalizando el color Ajustando intensidad Se puede ajustar la intensidad de un color usando !. También se puede combinar. Ejemplo Esto es \ textcolor { blue !40}{ azulillo } y esto es \ textcolor { blue !80}{ intenso } Y esto es una \ textcolor { blue !20! black !30! green }{ Mezcla }. Esto es azulillo y esto es intenso Y esto es una Mezcla. Se puede definir también así \ colorlet { LightRubineRed }{ RubineRed !70} Personalizando caption en Figuras ¿Habéis visto que los caption no pone Figura XX? Eso es por el paquete captions, que permite personalizar. Ejemplo %\ captionsetup { labelformat = empty , aboveskip =0, bellowskip =0} Otras opciones de interés labelformat Tipo de etiqueta (empty lo quita, simple, brace). labelsep Separador de la etiqueta. format=hang|plain Tabula si hay varias líneas o no. justification Justificación. labelfont|textfont Fuente. position=top|bottom Dónde poner el caption. . . . Crear texto falso Crear texto falso Para probar el formato es importante tener contenido. Existen paquetes blindtext ylipsum para crearlo. Márgenes: Formato por defecto No parece un formato práctico. Partes de imagen Hemos marcado partes importantes (márgenes, pie). Definiendo márgenes: geometry Geometry Permite especificar tipo de documento (a4, . . . ). Especificar márgenes. •Formato común (margin=xx) o por detalle (left=. . . , right=. . . ). Ejemplo: Menor márgenes \ usepackage [a4paper , margin =3cm , top =3 cm , bottom =5 cm ]{ geometry } Resultado de geometry Mucho mejor personalizado. Cabeceras Cabeceras Es común usar cabeceras en documento con información. Ejemplos Título del documento. Título del capítulo/sección. Autor. Número de página. . . . Variables leftmark Título del capítulo. thechapter Número de capítulo. rightmark Título de la sección. thesection Título de la sección. thepage Número de página. Cabeceras: fancyhdr Cabeceras: fancyhdr Permite definir cabeceras y pies de páginas. Permite especificar la información. Cabeceras: fancyhdr Posición LIzquierda. CCentro. RDerecha. LO Derecha en páginas impares. . . . Componentes: fancyhead Permite especificar la cabecera. fancyfoot Especificar el pié de página. No olvidar Añadir pagestyle{fancy} al documento. Algunos paquetes Fontsize Permite especificar un tamaño (y el espaciado). El espaciado debería de ser mayor o igual que el tamaño. Hay paquetes que pueden servir moresize Para menor tamaño (ssmall) y mayor tamaño (HUGE). scalefnt Permite usar scalefont{factor} para escalar el tamaño. Ejemplos Ver \ fontsize {15}{15.5}\ selectfont más grande \ normalsize seguimos . Ver \scalefont {1.5} más grande (1.5) \ normalsize del original . Personalizar itemizes y enumerates Posibles personalizaciones Tipo de letras (árabes, romanas, a-z). Continuar un enumerado de donde se quedó. Distinta y símbolo en un itemize Personalizando: enumitem \ usepackage { enumitem } Continuando enumerate Ejemplo \ begin { enumerate } \ item Primero . \ item Segundo . \ item Tercer punto . \ end { enumerate } Comentario necesario . \ begin { enumerate }[ resume *] \ item Cuarto punto . \ item Quinto punto . \ end { enumerate } Cambiando el tipo de enumerado Distintos tipos arabic* Números normales. alph* Con letras (a-z). roman* Números romanos. Roman* Números romanos en mayúsculas. Ejemplo: (1), (2) \ begin { itemize }[ label =(\ arabic *)] \ item Primero . \item Segundo \ end { itemize } Ejemplo: I., II., III., IV. \ begin {itemize }[ label =\ Roman *.] \ item Primero . \ item Segundo . \ end { itemize } Personalizar títulos de Secciones titlesec Nos puede interesar personalizar las secciones y subsecciones Cambiar tamaño, o tipo de letra. Cambiar color. Tipo de mayúsculas. Personalizando títulos: titlesec Nos permite especificar los títulos de chapter, section, subsection, . . . Se aplica a todos por igual. Titlesec: titleformat \ titleformat {name=XX }{ format }{ number }{ sep }{ Inicio }{ Fin } Formato: name Se puede indicar directamente, es section, subsection, con la barra . . . format Formato del texto. number Cómo poner el número de sección. sep Separación entre número y texto. before antes del texto. after Después. Ejemplos Ejemplo 1: Recuadro \ titleformat {\ section }{\ normalfont \ bfseries \ filcenter }{\ fbox {\ itshape \ thesection }}{1 em }{} Texto Negrita y centrado. Número en Itálica, y en un recuadro. Separación tamaño de 1 letra. Ejemplos Ejempo 2: Sección grande y Azul \ titleformat {\ section }{\ normalfont \ large \ bfseries \ color { blue }}{\ thesection }{1 em }{} Texto Negrita, color azul. Número normal. Ejemplos Ejempo 3: Subsección en rojo \ titleformat {\ subsection }{\ normalfont \ bfseries \ color { red }}{\ thesubsection }{1 em }{} Texto Negrita, Grande, color rojo. Número normal. Ejemplos Ejemplo 4: Mayúsculas \ usepackage { titlecaps } \ titleformat {\ section }{\ normalfont \large \ bfseries }{\ thesection }{1 em }{\ uppercase } \ titleformat {\ subsection }{\ normalfont \ bfseries }{\ thesection }{1 em }{\ titlecap } ¿Y el texto normal? Estaría muy bien poder cambiar el texto normal, ¿no? Puedes definir de cierta forma todo el texto, y mantener las secciones y subsecciones. Ejemplo: \ titleformat {\ section }{\ normalfont \ Large \ bfseries \ color { black }}{\ thesection }{1 em }{\ uppercase } \ begin { document } \ color { green } ... \ end { document } Personalizar Portada Las portadas de un documento son muy similares: Personalizarlo ¿Cómo puedo personalizarlo? titlesec tiene un nombre confuso. Personalizar Portada Las portadas de un documento son muy similares: Personalizarlo ¿Cómo puedo personalizarlo? titlesec tiene un nombre confuso. Personalizar portada Bloque titlepage Permite especificar el formato de la página de título. Será el creado usando maketitle. Ejemplo \ begin { titlepage } \ centering \ vspace *{1 cm } {\ Huge \ textbf { Tí tulo :} Curso de Latex } \\[1.5 cm] {\ Large \ textbf { Autor :} Daniel } \\[0.5 cm] {\ large \textbf { Fecha :} Septiembre 2025} \\[2 cm] \ vfill \ end { titlepage } ¿Cómo acceder a los datos del propio título? Por defecto no se puede: authoraftertitle MyTitle Nuestro título. MyAuthor El autor. MyDate La fecha Ejemplo arreglado \ begin { titlepage } \ centering \ vspace *{1 cm } {\ Huge \ textbf { Tí tulo :} \ MyTitle } \\[1.5 cm] {\ Large \ textbf { Autor :} \ MyAuthor } \\[0.5 cm] {\ large \ textbf { Fecha :} \ MyDate } \\[2 cm ] \ vfill \ end { titlepage } Resultado Ejemplo de guión \ begin { titlepage } \ begin { center } {\ fontsize {25}{45} \ textbf { UNIVERSIDAD DE GRANADA \\ ETSIIT I N F O R M T I C A Y\\ \ vspace *{1 em }\\ TELECOMUNICACI N}} \ vspace *{1 em } \ begin { center } \ includegraphics [ width =0.4\ textwidth ]{ common / ugr .png } \ end { center } \ vspace *{3 em } {\ huge Departamento de Ciencias de la \\ Computaci ón e Inteligencia Artificial } \ vspace *{5 em } {\ Huge \ textbf { Metaheur í sticas }\\} \ vspace *{2 em } {\ Huge \ textbf { Gui ón de Pr á cticas }\\ \ vspace *{1 em } } {\ textbf {\ huge\ thetitle }\\} \ vspace *{2 em } {\ huge \ textbf {\ titlecap {\ thedate }}\\}} \ vspace *{4 em } {\ huge Tercero en Grado en Ingenier ía Inform á tica } \ vfill \ end { center } \ end { titlepage } Guión de MH: Resultado Otro ejemplo \ begin { titlepage } \ begin { center } \ vspace *{1 cm } \Huge \ textbf { Thesis Title } \ vspace {0.5 cm } \ LARGE Thesis Subtitle \ vspace {1.5 cm } \ textbf { Author Name } \ vfill A thesis presented for the degree of\\ Doctor of Philosophy \ vspace {0.8 cm } %\ includegraphics [ width =0.4\ textwidth ]{ university } \ Large Department Name \\ University Name \\ Country\\ Date \ end { center } \ end { titlepage } Ejemplo Dividiendo el proyecto [main [capitulo1.tex] [capitulo2.tex] [capitulo3.tex] [...]] Se puede dividir al mismo nivel o usando subdirectorios. Mejor si hay varias imágenes por capítulos, como una tesis. Para un TFG no hay esa necesidad. División Distintas opciones input El más básico, es como el include de C++, sin límites. include Lo considera partes, páginas aparte, sin cabecera. paquete subfiles Se indica en el subfichero la clase subfile. Consejos de cada uno input Para reutilizar información de cabera/plantilla. include Permite no incluir de forma repetida. subfiles Mayoría de casos, compila cada fichero por separado. Input main.tex \ input { cabecera . tex } \ input { portada . tex } \ input { cap / capitulo 1. tex } % \ input { cap / capitulo 2. tex } ... capitulo1.tex \ section { Cap ítulo 1: Motivaci ón} La IA cuá ntica es muy interesante porque ... cabecera.tex \ documentclass { article } \ usepackage [ spanish ,es - tabla ]{ babel } \ usepackage [T 1]{ inputenc } ... Include main.tex \ input { cabecera . tex } \ includeonly { cap/ capitulo 1. tex } \ input { portada . tex } \ include { cap / capitulo 1. tex} \ include { cap / capitulo 2. tex} \ include { cap / capitulo 3. tex} ... capitulo1.tex \ section { Cap ítulo 1: Motivaci ón} La IA cuá ntica es muy interesante porque ... cabecera.tex \ documentclass { article } \ usepackage [ spanish ,es - tabla ]{ babel } \ usepackage [T 1]{ inputenc } ... Uso de subfiles Problemas de input y include No indica bien línea del error. No se pueden compilar por separado. subfiles Permite tener cada fichero su cabecera para compilar por separado. •Se ignora al compilarlos todos. Requiere cargarlo tanto el principal como el parcial. Ejemplo de subfiles main.tex ... \ usepackage { subfiles } \ begin { document } \ input { cabecera . tex } \ input { portada . tex } \ subfile { cap / capitulo 1. tex} % \ input { cap / capitulo 2. tex } ... capitulo1.tex \ documentclass [../ main . tex ]{ subfiles } \ usepackage { spanish ,es - tabla ]{ babel } \ usepackage { graphicx } % uso figura % para dar buen mensaje de error si no encuentra \ graphicspath {{\ subfix {../ common _images /}}\ subfix {./ images /}} \ begin { document } \ section { Cap ítulo 1: Motivaci ón} La IA cuá ntica es muy interesante porque ... Formatos de documentos Es bueno reutilizar formatos: Recursos https://www.latextemplates.com/ https://www.overleaf.com/latex/templates/ Ejemplos de formatos CV Awesome CV,Twenty Seconds ResumeCV Calendario Eventos Libros T EX-Book-Template,Victoria Regia,Memoir,Orange,Tufte KOMAScript Muy utilizada, en particular para libros. Opciones de configuración. Conflicto con algunos paquetes comentados. Otros formatos Pandoc/Quarto Permiten convertir de un formato a otro, muy bien soportado markdown. Sirve para documento completo o partes (ej: markdown a capítulos en Latex). Markdown en formato extendido para incluir directivas comunes (tamaño). Mejor integración con git que ciertos formatos (Docx, Notebook). Tipos de formato Notebook Muy útil para demostraciones en ML. Markdown Extensiones al estándar, muy útil para convertir al resto. Docx/ODS Puede usar plantillas con el estilo. Beamer/Reveal.js Formato slides en markdown que permite exportar a distintos formatos de transparencias. epub Muy bien soportado. Dudas