Listas anidadas

Las listas se pueden anidar. Simplemente escribe otro entorno de lista dentro del cuerpo de un \item de un itemize o enumerate. LaTeX cuenta la profundidad de anidamiento (el nivel) por usted y cambia la etiqueta al principio de cada línea automáticamente con esa profundidad. También puedes mezclar tipos, por ejemplo, una lista numerada dentro de otra con viñetas. Sin embargo, hay un límite: tanto itemize como enumerate anidan hasta cuatro niveles de profundidad. Esta página cubre cómo anidar, la etiqueta predeterminada en cada nivel, cómo mezclar tipos y qué hacer cuando necesita más de cuatro niveles.

Cómo anidar

Puedes crear una lista anidada simplemente colocando un entorno de lista dentro del cuerpo del \item de otra lista. Escribe un nuevo \begin{itemize}\end{itemize} (o enumerate) después de uno de los \items externos. La lista interna entonces "pertenece" a esa entrada externa, y LaTeX ajusta la etiqueta y la sangría automáticamente con la profundidad. No se necesita ningún comando u opción especial.

document.tex
\begin{itemize}
  \item 果物
  \begin{itemize}
    \item りんご
    \item みかん
  \end{itemize}
  \item 野菜
\end{itemize}

Aquí “Frutas” y “Verduras” se ubican en el nivel 1, y “Manzana” y “Naranja” debajo de ellos en el nivel 2. La lista interna debe cerrarse antes que la externa \end (los ambientes deben anidarse limpiamente). La sangría es solo para su propia legibilidad y no afecta la salida; lo que determina el nivel es únicamente la estructura de anidamiento \begin/\end.

Etiquetas predeterminadas por nivel

La etiqueta (el marcador o número al principio de cada línea) cambia automáticamente con el nivel. Para itemize los valores predeterminados son: nivel 1 una viñeta sólida •, nivel 2 un guión en negrita –, nivel 3 un asterisco * y nivel 4 un punto centrado ·. Cada uno vive en un comando: \labelitemi, \labelitemii, \labelitemiii y \labelitemiv (los i / ii / iii / iv son números romanos que nombran el nivel).

Para enumerate los valores predeterminados son: nivel 1 “1.”, nivel 2 “(a)”, nivel 3 “i.” y nivel 4 “A”. Esos formatos se encuentran en \labelenumi hasta \labelenumiv, mientras que los números en sí están contenidos en cuatro contadores, desde enumi hasta enumiv. La siguiente tabla recopila ambos conjuntos de valores predeterminados.

Niveldetallar (marcador)comando de detallarenumerar (número)comando enumerar
Level 1• viñeta\labelitemi1.\labelenumi
Level 22do– guión (negrita)\labelitemii(a)\labelenumii
Level 3* asterisco\labelitemiiii.\labelenumiii
Level 44to· punto centrado\labelitemivA.\labelenumiv

Algunas clases de documentos establecen diferentes valores predeterminados, pero las clases estándar (article y amigos) usan los valores anteriores. Cómo se *imprime* cada contador enumerate lo decide \theenumi hasta \theenumiv; de forma predeterminada, estos son \arabic{enumi}, \alph{enumii}, \roman{enumiii} y \Alph{enumiv} respectivamente (los comandos \labelenum… agregan el “.” y los paréntesis circundantes). El número combinado que se muestra cuando un elemento tiene una referencia cruzada con \label/\ref se genera a partir del contador principal: para hacer que una referencia de nivel 2 se lea como “2.1”, por ejemplo, se redefine con el prefijo \theenumi principal: \renewcommand{\theenumii}{\theenumi.\arabic{enumii}}.

Tipos de listas de mezcla

Las listas anidadas no necesitan ser del mismo tipo. Puedes poner libremente un enumerate dentro de un itemize, un itemize dentro de un enumerate, y así sucesivamente. El nivel (profundidad) se cuenta independientemente del tipo: la etiqueta se elige según la cantidad de listas de profundidad que tenga desde el exterior. Entonces, si coloca un enumerate dentro de un elemento de un itemize (nivel 1), ese enumerate está en nivel 2 y por lo tanto obtiene “(a) (b)…”.

El punto clave es que el límite de “cuatro niveles” para itemize y enumerate se cuenta por separado por tipo de entorno. Sólo existen cuatro conjuntos de etiquetas para itemize y cuatro para enumerate, por lo que las etiquetas se agotan cuando aparece una quinta lista del mismo tipo dentro de la cadena de anidamiento. Incluso en una pila mixta, alcanzar un quinto nivel de cualquiera de los tipos desencadena el error que se describe a continuación. Además de eso, las listas de *cualquier* tipo comparten un límite general de seis niveles anidados: LaTeX mantiene solo seis conjuntos de parámetros de formato de lista (sangría, separación de elementos, etc.), por lo que una séptima lista anidada, incluso mezclando tipos, todavía se detiene con el mismo error Too deeply nested.

Un ejemplo mixto de tres niveles

Aquí hay un ejemplo de tres niveles que combina tipos. La lista más externa es enumerate (nivel 1) con pasos numerados; dentro de él, un itemize (nivel 2) enumera los ingredientes como viñetas; y dentro de él, otro enumerate (nivel 3) da los subpasos numerados de la preparación.

document.tex
\begin{enumerate}
  \item 生地を作る
  \begin{itemize}
    \item 小麦粉
    \item\begin{enumerate}
      \item 半分を加えて混ぜる
      \item 残りを少しずつ加える
    \end{enumerate}
  \end{itemize}
  \item 寝かせる
\end{enumerate}

En la salida, “Hacer la masa” y “Déjala reposar” están en el nivel 1 enumerate, por lo que están numerados como “1”. y “2”. Debajo de ellos, “Harina” y “Agua” están en el nivel 2 itemize, por lo que llevan el guión en negrita –. El enumerate más interno, anidado dentro de “Agua”, está en el nivel 3, por lo que sus entradas por defecto son los números romanos “i”. y “ii”. Incluso con tipos mixtos, la misma regla se aplica en todas partes: la etiqueta siempre se decide por cuántos niveles de profundidad se encuentran esa lista desde el exterior.

Superando los cuatro niveles y cambiando etiquetas

Anidar itemize o enumerate en cinco niveles o más genera el error Too deeply nested. Esto se debe a que el LaTeX estándar proporciona solo cuatro juegos de etiquetas por tipo y, en los entornos estándar simples, ese es el techo. Cuando necesita un anidamiento más profundo o desea cambiar las etiquetas por nivel de forma limpia y de una sola vez, la solución estándar es el paquete enumitem.

Cargue enumitem y podrá aumentar la profundidad máxima de anidamiento con \setlistdepth{<integer>}, luego configure la etiqueta y el formato para un nivel determinado nombrando el tipo y el nivel, por ejemplo \setlist[itemize,5]{...}. Si, en cambio, solo desea cambiar la etiqueta de un nivel dentro de los cuatro habituales, redefinir el comando coincidente con \renewcommand es suficiente por sí solo.

latex
% 階層ごとに記号・番号を再定義(標準環境のまま)
\renewcommand{\labelitemii}{$\diamond$}      % itemize 第 2 階層 → 菱形
\renewcommand{\labelenumii}{\theenumii)}     % enumerate 第 2 階層 → a) b) ...

Este ejemplo cambia el marcador de nivel 2 de itemize a un diamante (⋄) y la etiqueta de nivel 2 de enumerate a la forma “a)”, “b)”. Cuando desea un estilo consistente en muchas listas, nombrarlo a través de las opciones de enumitem (como label=) es más fácil de administrar que esta redefinición manual. Consulte los enlaces a continuación para obtener más detalles.