lunes, 7 de noviembre de 2011

Listas y enumeraciones en LaTeX

En la siguiente entrada mostraré cómo se pueden crear fácilmente listas y enumeraciones con LaTeX. Nuestro archivo .tex tendrá la siguiente forma. Donde se carga también el paquete {enumerate}, que aunque no es necesario para trabajar con listas, sí que lo es para poder editar su formato:

\documentclass[a4paper,openright,12pt]{article}
\usepackage[spanish]{babel} % espanol
\usepackage[utf8]{inputenc} % acentos sin codigo
\usepackage{enumerate} % enumerados

\begin{document}

\end{document}



Las listas se crean entre los comandos \begin{itemize} e \end{itemize}, y cada elemento se indica con el comando \item, como se muestra a continuación:

Futuros viajes:

\begin{itemize}
    \item Madrid.
    \item Castilla la Mancha.
    \item Castilla y León.
    \begin{itemize}
         \item Segovia.
         \item Ávila.
    \end{itemize}
\end{itemize}


Si queremos cambiar el símbolo de un elemento en particular, usamos "\item[$*$]", donde dentro de los corchetes podemos escribir el símbolo que queramos. Si queremos cambiar todos los símbolos, usamos el comando "\renewcommand{\labelitemi}{$*$}". Donde \labelitemi, \labelitemii, \labelitemiii, \labelitemiv, etc... hacen referencia a los iconos de los niveles 1, 2, 3, 4, etc... respectivamente.

\renewcommand{\labelitemi}{$-$}
\renewcommand{\labelitemii}{$\cdot$}

Futuros viajes:

\begin{itemize}
    \item[$*$] Madrid.
    \item Castilla la Mancha.
    \item Castilla y León.
    \begin{itemize}
        \item Segovia.
        \item Ávila.
    \end{itemize}
\end{itemize}


Si queremos añadir una sangría en la lista, podemos hacerlo indicándo con "leftmargin". Para lo cual, es necesario cargar el paquete {enumerate}: 

\usepackage{enumerate}

Qué visitar en Cáceres:
\begin{itemize}[leftmargin=2cm]
  \item Ciudad vieja.
  \item Guadalupe.
  \item Trujillo.
  \item Plasencia.
\end{itemize}





De forma similar, las enumeraciones se crean con los comandos \begin{enumerate} e \end{enumerate}. Además, el formato de la enumeración se puede definir entre corchetes después de \begin{enumerate}. Podemos poner 1, I, a, A, etc... como se muestra en los ejemplos siguientes:

\usepackage{enumerate}

Lista de la compra:

\begin{enumerate}[1.]
    \item Manzanas.
    \item Plátanos.
    \item Pescado fresco.
    \begin{enumerate}[a)]
        \item Emperador.
        \item Gallo.
    \end{enumerate}
\end{enumerate}


\usepackage{enumerate}

\begin{enumerate}[{Ejercicio} 1.]
    \item Visitar tres lugares.
    \item Leer tres libros.
    \item Conocer tres personas.
\end{enumerate}




Un comando similar a los anteriores es \begin{description}. Es útil cuando se quiere dar una pequeña definición a una serie de palabras. Como se muestra a continuación:

Animales símbolo de países:

\begin{description}
    \item[Australia:] Canguro.
    \item[EEUU:] Águila calva.
    \item[España:] Toro.
    \item[México:] Águila real.
\end{description}

21 comentarios:

Aj dijo...

Hola, me ha sido de mucha ayuda este post de listas. En vista de que se puede continuar la numeración de una lista aun después de "salir" del entorno enumerate, me hace preguntarte, como hacer para que la numeración de las secciones queden independiente de los capítulos, por ejemplo

Capítulo 1
sección 1
sección 2
sección 3
Capítulo 2
sección 4
sección 5
etc

E incluso que tengan algún simbolo
en vez de "seccion 2" tener (en código latex)
$\S$ Nombre de la sección.

Esto lo he visto en un libro que asumo usa latex, así que pienso que es posible. Agradezco tu ayuda.

Luis dijo...

Hola Aj, ¿qué tal?

Sobre la numeración de las secciones, he creado una nueva entrada donde lo explico:

http://minisconlatex.blogspot.fr/2014/11/como-evitar-que-se-reinicie-la.html

Sobre lo del simbolito, creo que no entiendo muy bien el problema. Sale bien, por ejemplo, con

\section{$\spadesuit$ Nombre}

ELECTRONICA dijo...

Hola, muchas gracias por compartir tus conocimientos, tu blog está muy bien ordenado y la información es muy clara.

Saludos

Luis dijo...

Gracias Electrónica. :-)

Ana dijo...

Hola, me ha sido de gran ayuda este blog, aunque estoy buscando como numerar a la derecha ecuaciones etc.
con \begin{equation} me sale directamente a la derecha, pero cuando no tengo una ecuacion no se como puedo numerarlo. Muchas gracias

Luis dijo...

Hola Ana, creo que no entiendo la pregunta. ¿Qué es lo que quieres numerar si no tienes una ecuación? Quizás podrías poner una ecuación ficticia. Algo así

\begin{equation}
\,
\end{equation}

Manuel Alejandro Junior Espejo Zeballos dijo...

hola quisiera saber como puedo hacer para que la separacion entre los elemtos de la lista sea menor, ya que la lista se ve mas grande de lo que deseo en mi documento

Luis dijo...

Hola Manuel,

eso ya lo tengo explicado aquí

http://minisconlatex.blogspot.fr/2012/12/como-hacer-un-curriculum-con-latex.html

Elenística dijo...

Hola, tengo un problema. Necesito hacer una enumeración dentro de otra, pero Latex me permite hacer hasta 3 subnumeraciones. A la cuarta me dice que lo siente mucho pero que la red es demasiado extensa cuando lo intento compilar:

! LaTeX Error: Too deeply nested.See the LaTeX manual or LaTeX Companion for explanation.Type H for immediate help.... \begin{enumerate}

Ojalá me pudierais ayudar!! Gracias

Luis dijo...

Hola Elenística,

tienes razón. Un {enumerate} tiene un máximo de nivel de profundidad, de 4. Pero aún se pueden añadir dos niveles más, si en el cuarto nivel, metes un {itemize}. Más allá del sexto nivel, solo se me ocurre añadir más subniveles a mano. Por ejemplo:

\begin{itemize}
\item Nivel 1
\begin{itemize}
\item Nivel 2
\begin{itemize}
\item Nivel 3
\begin{itemize}
\item Nivel 4
\begin{enumerate}
\item Nivel 5
\begin{enumerate}
\item Nivel 6 \\
\mbox{\hspace{0mm}} I) Nivel 7 \\
\mbox{\hspace{0.5cm}} i) Nivel 8 \\
\mbox{\hspace{1.0cm}} + Nivel 9 \\
\mbox{\hspace{1.5cm}} - Nivel 10 \\
\end{enumerate}
\end{enumerate}
\end{itemize}
\end{itemize}
\end{itemize}
\end{itemize}

Hasta luego

Vinicio Caro dijo...

Hola, tengo una duda, ¿como puedo lograr que la numeración en las páginas pares me las ponga al pie de página y centrado y no lo haga en el encabezado y cargado a la izquierda?
Gracias.

Luis dijo...

Hola Vinicio, lo tengo todo explicado en la sección correspondiente. Hasta luego

Gerardo Moreu dijo...

Buenas!! Tengo una pequeña duda. Ya hemos escrito una lista a través de, por ejemplo, enumerate o itemize. Hay alguna forma/orden de LaTeX para que al compilar el texto, me ordene los \item del enumerate alfabéticamente?

Muchas gracias y un saludo :)

Luis dijo...

Hola Gerardo,
no creo que exista esa opción. Pero bueno, con copiar la lista en otro programa y ordenarla allí...

Stephanie Arias dijo...

Hola
Estoy haciendo una numeración pero pasa que la numeración inicia en una página y sigue en la siguiente, esto por el texto que va en cada index. El problema es q en la página inicial tiene un indentado y cuando pasa de página se le quita el indentado. Me gustaría saber si tiene alguna idea de como solucionar eso, ya que es para hacer mi tesis y no me gusta como se ve ese cambio de indentado de página a página
Gracias de antemano.

Oscar (de Cuenca) dijo...

Hola Luis!
¿Como puedo hacer para personalizar una lista? Lo que quiero es que en vez de poner 1., 2., 3... etc ponga Ejercicio 1., Ejercicio 2.,....

Gracias desde ya!!!

Unknown dijo...

Hola Luis

Realizo mi trabajo de grado, y debe ser con norma icontec, esta norma dice que la Lista de Figuras y Tablas debe enumerarse con "Tabla 1, Tabla 2.." Pero la Lista que crea el programa sólo tiene la numeración "1,2,3..". Podrías por favor decirme como puedo personalizarla?

Gracias.

Luis dijo...

Hola Óscar,

Se puede hacer de la forma:

\begin{enumerate}[{Ejercicio} 1.]

Hasta luego

Ainhoa dijo...

Hola Luis,

Estoy realizando una numeración y en cada item tengo una tabla. El problema es que en ocasiones al compilar en lugar de tener cada item con su texto y su tabla, me sale los items y textos juntos al principio y las tablas de cada uno de ellos al final juntas.

También me ha ocurrido con el \subsubsection, no me sale en el orden según lo he escrito en el código.

No sé si habré sabido explicarme.

Gracias de antemano :)

Luis dijo...

Hola Ainhoa,
Lo que pasa es que a LaTeX le gusta mover las tablas y figuras, hasta donde él considera que es bonito. Y muchas veces, se equivoca. Para evitarlo, tienes que poner \begin{table}[H] y usar el paquete {float}.
Hasta luego

Adrián Berges Enfedaque dijo...

Hola, a mí lo que me está pasando es que al enumerar con a), b), c) dentro de un teorema, no pone sangrado a la lista. Me explico, en vez de:

"Entonces, si [...]:
a) ...
b) ...
c) ..."

me está saliendo:

"Entonces, si [...]:
a) ...
b) ...
c) ..."

Qué puedo hacer para mantener el sangrado? En un enumerate normal, lo pone. Cuando pongo la opción [a)], pasa lo que comento.

Edición: no sé por qué blogger se carga los espacios al principio de la línea de la primera lista que he puesto, así que parecen iguales... bueno espero que se me entienda aun así.