Estructuras básicas de LaTeX

Tras configurar el entorno y probar un primer documento muy sencillo, llega el momento de empezar a escribir el contenido. Evidentemente, en cualquier documento es necesario disponer de estructuras más complicadas que los sencillos párrafos del primer ejemplo. Se necesita estructurar el documento en diversas divisiones, crear listas, insertar tablas o figuras, generar índices… En esta entrega de la serie se describe cómo se realizan todas estas acciones.

Los elementos básicos de cualquier documento pueden dividirse en cuatro grandes apartados: estructura, formato, listas, figuras, tablas y ecuaciones. En el ejemplo se dispone de un documento completo en el que se muestra un ejemplo de cada una de las estructuras indicadas.

Estructura del documento

Cuando un documento empieza a crecer es necesario estructurar su contenido. Dependiendo del tipo de documento se dispone de más o menos divisiones:

  1. \part disponible únicamente en los estilos book y report.
  2. \chapter disponible únicamente en los estilos book y report.
  3. \section
  4. \subsection
  5. \subsubsection
  6. \paragraph
  7. \subparagraph

Todas ellas se usan de la misma manera. En el punto donde se desea iniciar la nueva división se añade la instrucción apropiada junto con su título: \chapter{Título de capítulo}.

Formato básico

Dentro del formato básico solamente es necesario describir tres mandatos. Al escribir en LaTeX se utiliza muy pocas marcas de formato puesto que es la plantilla utilizada quién se encarga de todos los detalles.

\emph
Se utiliza para destacar un pequeño fragmento. Erróneamente, se suele usar negrita para este cometido pero utilizando esta instrucción se obtendrá el formato adecuado (cursiva redonda).
\textit
Únicamente se aplica para indicar texto en idiomas ajenos al principal del documento. Se trata de una letra inclinada.
\textbf
Se corresponde con la negrita. Esta instrucción no debe utilizarse dentro de un párrafo y su utilidad se restringe a destacar las cabeceras de tablas o similares.

El texto sobre el que se aplica en formato debe seguir a la instrucción entre llaves: \emph{texto destacado}.

Listas y definiciones

Es muy habitual realizar enumeraciones de elementos dentro de un documento. Estas enumeraciones suelen estar precedidas de un símbolo especial (sin orden) o de un número (listas ordenadas). En LaTeX se encuentran definidas tres tipos de listas básicas (aunque pueden definirse nuevas variantes):

itemize
Se trata de una lista sin orden. Cada elemento está precedido de un símbolo (habitualmente un círculo o caja).
enumerate
Para definir una lista con orden. Cada elemento está precedido del número que indica su posición en la lista.
description
Es un conjunto de definiciones. Cada elemento se precede del término a definir (indicado en la propia lista) que será destacado.

Todas las listas tienen un formato básico:

\begin{tipo lista}
\item[término (sólo para description)] elemento 1
\item[término (sólo para description)] elemento 2
\item ...
\end{tipo lista}

Elementos flotantes: figuras y tablas

Cualquier documento suele incluir información en forma gráfica o tabular. LaTeX proporciona mecanismos para incluir este tipo de contenido de dos formas diferentes.

Tablas

Una tabla se define mediante el entorno tabular. Su estructura básica es la siguiente:

 
\begin{tabular}{especificadores de columnas}
celda11 & celda12 & ... & celda1N \\
celda21 & celda22 & ... & celda2N \\
...
celdaM1 & celdaM2 & ... & celdaMN \\
\end{tabular}

Los especificadores de formato indican por cada columna si esta se encuentra alineada a la izquierda, centro o derecha.

Existen muchas formas de personalizar las tablas que serán descritas en próximas entregas.

Figuras

En LaTeX las figuras son ficheros externos que se incluyen mediante la instrucción \includegraphics. Si se dispone de la imagen prueba.jpg en la misma carpeta en la que se encuentra el fichero LaTeX se cargará con \includegraphics[width=0.9\textwidth,keepaspectratio]{prueba.jpg}.
Debido a la dificultad que supone su inclusión se dedicará una entrada entera para ellas.

Elementos flotantes

Tanto las figuras como las tablas pueden situarse en un elemento flotante. Cuando esto sucede la maquetación posiciona el elemento en la posición más apropiada (pasándolo a la página siguiente si no entra en la actual) y rellenando con el texto siguiente a la figura hasta completar correctamente la página. En este caso, se puede añadir un epígrafe al elemento y referenciarlo en otro sitio.

Para indicar que el elemento flota y el tipo de epígrafe que hay que añadir se utilizan los entornos figure y table para figuras y tablas, respectivamente. La sintaxis es:

 
\begin{figure}[htb]
descripción de la figura
\caption[Texto del índice (opcional)]{texto del pie de figura}\label{fig:idfigura}
\end{figure}

En el caso de las tablas es equivalente reemplazando figure por table.

Ecuaciones

La gran potencia de LaTeX es la sencillez y potencia que proporciona para escribir ecuaciones. Lo único que se necesita es activar el modo matemático indicando los límites de la ecuación con $ecuación en línea$$$ecuación individual$$. La primera versión permite insertar una ecuación dentro del texto mientras que la segunda reserva una línea en exclusividad para la ecuación. Asimismo, existe el entorno equation para numerar ecuaciones y hacer referencias a ellas.

Resultado de la equacion LaTeX x_i=\sqrt[n]{\frac{a_i}{b_i}}La sintaxis para mostrar una ecuación es similar a la utilizada en los lenguajes de programación aunque existen múltiples estructuras que permiten formar ecuaciones extremadamente complejas. Como ejemplo, la imagen adjunta se genera con x_i=\sqrt[n]{\frac{a_i}{b_i}}

Índices de contenidos, figuras, tablas

En un documento no demasiado grande puede ser difícil encontrar información agravándose según se incrementa el número de páginas. Para evitar este problema se utilizan los índices.

LaTeX proporciona un mecanismo automático para generar todos los índices. No es necesario hacer nada especial para definirlo: las propias instrucciones divisorias o los bloques de elementos flotantes son añadidos automáticamente. Lo único necesario es indicar dónde debe aparecer el índice mediante la instrucción \tableofcontents, \listoffigures o \listoftables.

23 comments

  1. list · julio 17, 2009

    Hola, soy nuevo en latex y tengo un documento básico en times, el problema es que quiero que determinados párrafos tengan otro tipo de fuente.

    ¿Como puedo cambiar la fuente en esos párrafos?

    Gracias

    • Oscar · julio 17, 2009

      En el sistema básico se pueden usar \textsf{texto} para usar un texto sin serifas o \texttt{texto} para mostrar un texto escrito a máquina.

      También es posible seleccionar una fuente especial con alguna de estas estructuras (información sobre fuentes en LaTeX):

      {\fontfamily{phv}\selectfont texto}
      {\fontencoding{OT1}\fontfamily{ppl} texto}

      Los códigos de las fuentes es necesario buscarlos y tenerlos instalados en LaTeX.

      En unos días seguiré la serie con un artículo comentando precisamente cosas de fuentes.

      • list · julio 17, 2009

        ok, gracias, entonces investigaré un poco y estaré pendiente de tu artículo

        Gracias

  2. list · julio 26, 2009

    Hola, pretendo hacer en mi documento un diccionario de términos para ciertas palabras que me permitan aparecer de igual forma escrita independientemente de la parte del documento que la escriba.

    Es decir, la palabra “red” y su traducción en inglés net, me debe aparecer red (net) y cuando la escriba en cualquier otra parte me aparezca igual.

    La idea es definirlo en alguna parte y no tener que escribirlo continuamente.

    Esto es posible realizarlo

    Gracias

    • Oscar · julio 26, 2009

      Creo que el paquete gloss está orientado precisamente esa necesidad aunque no para forzarlo siempre.

      Otra opción podría ser el paquete acronym.

      Y por último, la opción de definir una nueva macro que lo escriba: \newcommand{\nombre}{nombre}

  3. list · agosto 19, 2009

    Hola,

    Quería dar las gracias, desde que encontrado este blog, me esta siendo de gran ayuda para aprender Latex.

    También quería hacer una pregunta, no se si me pueden ayudar.

    He incluido un índice de contenido en mi documento y aparece de la siguiente forma:

    1. introducción 3
    1.1 apartado 2……………………4
    1.2 apartado3…………………….5

    Es decir en el primer nivel no aparece el punteado hasta la página. Quería saber si es posible incluir ese punteado

    Gracias

    • Oscar · agosto 19, 2009

      Para realizar cambios en el índice lo mejor es usar el paquete tocloft

  4. list · agosto 26, 2009

    Hola, estoy creando mi proyecto fin de carrera. Tengo varias carpetas que contienen los capítulos. el problema es que si compilo del capitulo no hay problema.

    El problema es cuando compilo mi fichero proyecto.tex en el que incluyo todos los ficheros *.tex de cada capítulos. Hay errores de path.

    Se me ha ocurrido intentar definir una variable path que indique apartir de la cual voy a compilar mi proyecto y despues incluirlo mediante

    \input{path\fichero}

    El problema es que no consigo hacer que me funcione esa variable, la he definido \def\path{c:/proyecto/}

    He probado también a usar los paquetes import y chapterfolder, pero no consigo hacerlo funcionar.

    Alguien ha intentado algo de esto

    Gracias

    • Oscar · agosto 27, 2009

      No es necesario definir rutas ni cosas similares. LaTeX considera el directorio del fichero principal (el que se compila) como la base de todos los inputs e includes.

      Si se tiene un directorio

      – main.tex
      – tex/capitulo1.tex
      – tex/capitulo2.tex

      basta con hacer un \include{tex/capitulo.tex} para incluir el primer capítulo.

      Evidentemente, el único fichero que define el doctype, preámbulos y demás es el main.tex.

  5. list · agosto 27, 2009

    El problema, es que quiero reutilizar partes de prácticas que he realizado, y al intentar incluirlas de otra ruta, las imagenes dan problemas.

    Por eso pretendía hacer uso de los paquetes import, chapterfolder o definir una variable path absoluta y pasarla a los include

    • Oscar · julio 7, 2010

      En ese caso, lo más adecuado es disponer de una carpeta prácticas con varios ficheros “principales” (uno para para cada una de ellas). Las rutas pasan a ser equivalentes en todos los casos y lo único necesario es compilar el fichero según sea necesario.

      Otra opción, es copiar los ficheros de cada tipo de una práctica a otra.

  6. carlos · enero 25, 2010

    estoy manejando un documento grande y quiero llamar la carpeta junto con el contenido que tiene la carpeta, como lo hago, gracias

  7. joana · julio 6, 2010

    Hola,

    esta entrada es un poco antigua pero voy a intentar-lo!

    Estoy intentando cambiar la fuente de las “caption” de latex, pero no lo consigo. En realidad, utilizando el paquete caption solo puedes cambiar (digamos fácilmente) la fuente del caption label, pero no consigo cambiar la fuente de todo el pie de figura. He estado buscando pero no encuentro la manera… alguna idea?

    gracias!

    • Oscar · julio 7, 2010

      Las últimas veriones del paquete caption permiten personalizar la fuente. Del propio manual (disponible en la web del paquete caption):

      \captionsetup[figure]{labelfont=bf,textfont=it}

      Los formatos pueden personalizarse con \DeclareCaptionFormat o \DeclareLabelFormat que permite definir cómo se generan las etiquetas. En el propio manual del paquete (sección 4) se describe cómo utilizarlas.

  8. joana · septiembre 13, 2010

    Listas:

    Hola Oscar,

    puedo empezar una lista numerada con el número 0?

    0. consideraciones previas
    1. paso 1
    2. paso 2
    3. paso3

    He encontrado el paquete \enumerate

    http://www.ctan.org/tex-archive/macros/latex/required/tools/

    pero solamente consigo que TODA la lista empiece en 0

    Alguna idea?

    Gracias, como siempre

    Joana

    • Oscar · septiembre 26, 2010

      El paquete que utilizo para personalizar las listas numeradas es enumitem. Permite crear listas en línea, personalizar el formato de los números y, si mal no recuerdo, cambiar la numeración.

      • joana · septiembre 29, 2010

        genial y fácil, gracias!

  9. Rayco · marzo 29, 2011

    Hola Oscar,

    me gustaría incluir en el índice de figuras el texto completo del comentario (es decir, sin necesidad de emplear el comando \caption[]). El problema es que si hago esto me llega al final del ancho de la página, sin respetar los márgenes, y me escribe hasta donde se pueda. Mi pregunta es la siguiente: ¿conoces alguna solución que permita poner el texto completo de la figura en el índice de figuras en varias líneas (según lo que necesite el texto del comentario claro)?

    Gracias de antemano,

    Rayco.

    • Oscar · abril 2, 2011

      La verdad es que no. De hecho para evitar que el índice contenga la descripción completa se tiene el \caption[title]{description}.

      El listado de figuras no es más que un listado de “punteros” para localizarlas rápidamente. No parece buena idea mostrar toda la descripción de la figura ya que dificulta la localización y extiende el listado de forma sustancial.

      Siento no ser de más ayuda.

  10. Gustavo · junio 1, 2011

    Existe alguna forma de dividir mi archivo en diferentes partes para luego importar fragmentos de estas, por ejemplo; crear un sólo archivo. tex “Ecuaciones.tex” que contenga TODAS las ecuaciones numeradas que voy a usar, otro archivo que me contenga TODAS las tablas, etcétera,,, Y luuego mandarlas llamar así:

    …Texto…
    incluir Ec. 17 y 21 del archivo: “Ecuaciones.tex”
    …Texto…
    incluir tabla 2.3…

    • Oscar · junio 6, 2011

      Un documento se puede dividir en varios e importarlos con \include o \input.

      Lo que no es posible es importar fragmentos del mismo, hasta dónde yo sé

  11. manuel · agosto 25, 2012

    Necesito ayuda para poder realizar un glosario con LaTeX.

  12. unai · noviembre 20, 2012

    Hola a todos, soy nuevo en esto de latex y tengo una pregunta en principio sencilla pero que no puedo solucionarla. Quiero poner en una linea dos ecuaciones (esto ya lo he consegido) pero luego me gustaria qu la ref seria un numero con dos letras, cada letra se refiere a una ecuacion. Por ejemplo

    x^2+1=z; x+ 5=z^2 (1a,b)

    Alguien me puede ayudar a meter esa ref como (1a,b)??? Gracias

Los comentarios están cerrados.