enumitem es el paquete estándar para remodelar itemize, enumerate y description mediante opciones clave=valor. En lugar de anular manualmente los comandos internos con \renewcommand, escriba la configuración entre corchetes del entorno: \begin{enumerate}[label=(\alph*), leftmargin=*]. Formato de etiqueta, espacio entre elementos, márgenes, dónde comienza o se reanuda la numeración, incluso listas en línea (ejecutadas) y tipos de listas recién definidas: casi todo lo relacionado con las listas vive aquí.
La idea clave=valor
Cárguelo en el preámbulo con \usepackage{enumitem}, y los tres entornos de lista básicos obtienen un argumento opcional. Escriba pares key=value separados por comas dentro de los corchetes (\begin{itemize}[...]) y esa lista estará configurada. Si un valor está completamente entre llaves, el par exterior se elimina (el comportamiento de keyval predeterminado), por lo que para mantener las llaves, las duplica. El paquete lo mantiene Javier Bezos; la versión actual de CTAN es v3.11 (2025-02-06).
\usepackage{enumitem}
% ...
\begin{itemize}[itemsep=1ex, leftmargin=1cm]
\item 余白と項目間を調整した箇条書き
\item 二つめの項目
\end{itemize}Las mismas claves se pueden anular en una jerarquía: para todo el documento, por tipo de lista o para una lista (a través de \setlist, a continuación). El valor más específico gana, por lo que puede establecer una política global y anularla solo cuando sea necesario.
Etiqueta y formato de referencia (etiqueta, ref)
En enumerate, la etiqueta se establece con label=. Dentro del valor, las formas destacadas de \arabic, \alph, \Alph, \roman y \Roman (\arabic* y amigos) representan el contador actual en ese nivel. Entonces label=(\arabic*) da (1) (2) (3), label=\alph*) da a) b) c), y label=\Roman*. da I. II. III. Estas formas estrelladas no aceptan argumentos; son las grafías especiales que se expanden hasta el valor del contador dentro de una etiqueta.
\begin{enumerate}[label=(\alph*)]
\item りんご
\item みかん
\item ぶどう
\end{enumerate}De forma predeterminada, la configuración label= también rige el aspecto de las referencias cruzadas (\ref). Para dar a las referencias un formato diferente, agregue ref=. Por ejemplo, puede imprimir la etiqueta en la lista como (1) con paréntesis mientras hace que \ref produzca un 1 simple.
\begin{enumerate}[label=(\arabic*), ref=\arabic*]
\item \label{step:one} 下ごしらえ
\item 加熱する
\end{enumerate}
手順~\ref{step:one} に戻る。Tenga en cuenta que los valores label y ref son argumentos en movimiento, por lo que los comandos frágiles pueden necesitar \protect (los contadores destacados en sí están bien). También ayuda recordar que cambiar label= actualiza la representación del contador en ese nivel (\theenumi y así sucesivamente) junto con él.
Espaciado y márgenes (itemsep, leftmargin,…)
Las longitudes que LaTeX usa internamente se convierten en nombres clave directamente en enumitem. Verticalmente: topsep (arriba y debajo de la lista), partopsep (un bit extra cuando la lista sigue a un párrafo), parsep (entre párrafos dentro de una entrada) y itemsep (entre entradas). Horizontalmente: leftmargin / rightmargin (los márgenes laterales), labelsep (espacio entre la etiqueta y el cuerpo), labelwidth (el ancho del cuadro de la etiqueta), itemindent y el propio labelindent de enumitem (el espacio desde el exterior hasta el borde izquierdo del cuadro de la etiqueta).
| Clave | Significado | Eje |
|---|---|---|
topsep | Espacio encima y debajo de la lista | Vertical |
partopsep | Espacio extra cuando la lista sigue a un párrafo | Vertical |
parsep | Espacio entre párrafos dentro de una entrada | Vertical |
itemsep | Espacio entre entradas | Vertical |
leftmargin | Margen izquierdo del cuerpo de la lista | Horizontal |
labelsep | Espacio entre la etiqueta y el cuerpo de la entrada | Horizontal |
labelwidth | Ancho de la caja que contiene la etiqueta | Horizontal |
labelindent | Espacio desde el exterior hasta el cuadro de etiqueta (agregado por enumitem) | Horizontal |
align | Alineación de etiquetas (left / right (predeterminado) / parleft) | — |
Estos no son independientes; están atados por \leftmargin + \itemindent = \labelindent + \labelwidth + \labelsep. Entonces, dar * o ! a algunas claves permite a enumitem calcular el resto. En particular, leftmargin=* es el patrón cotidiano que ajusta el tamaño del margen izquierdo a la etiqueta, y labelsep=* es útil cuando desea que el cuerpo comience en un lugar fijo. align= controla si la etiqueta se ubica al ras a la izquierda, al ras a la derecha (el valor predeterminado) o en un parbox alineado a la izquierda, ordenando cómo se alinean los números y los marcadores.
Listas compactas y atajos (nosep, noitemsep, ancho)
Algunos atajos ajustan el espaciado rápidamente. nosep pone a cero todo el espacio vertical alrededor y entre las entradas (topsep, partopsep, parsep y itemsep juntos en 0pt) para obtener una lista muy completa. noitemsep elimina solo el espacio entre elementos y entre párrafos (itemsep=0pt, parsep=0pt) mientras mantiene el espacio encima y debajo de la lista.
\begin{itemize}[nosep]
\item 詰まった項目その一
\item 詰まった項目その二
\item 詰まった項目その三
\end{itemize}Otra clave conveniente es wide. Anula el margen izquierdo para que la etiqueta se lea como parte del texto y las entradas se establezcan como párrafos normales (internamente se expande a align=left, leftmargin=0pt, labelindent=\parindent, labelwidth=0pt, itemindent=! y similares). Para cambiar la sangría, pase un valor, como en wide=\parindent.
Y para escribir etiquetas enumerate en el estilo corto del paquete enumerate, cárgalo con \usepackage[shortlabels]{enumitem}. Luego, escribir A, a, I, i o 1 como primer elemento entre paréntesis significa \Alph*, \alph*, \Roman*, \roman* o \arabic* respectivamente (por ejemplo, \begin{enumerate}[(1)]).
Números iniciales y reanudadores (iniciar, reanudar)
También hay claves para la numeración. start= establece el número del primer elemento (start=5 comienza en 5). Para dividir un párrafo y luego continuar numerando desde el enumerate anterior, use resume. Para transferir también la configuración de opciones de esa lista anterior, use resume* (esta forma destacada solo tiene sentido entre paréntesis del entorno).
\begin{enumerate}
\item 最初の項目
\item 二つめの項目
\end{enumerate}
途中に説明の段落が入る。
\begin{enumerate}[resume]
\item 三つめの項目(番号が続く)
\end{enumerate}resume continúa localmente. Para encadenar la numeración en varias listas separadas como una unidad global, use la función "serie": etiquete la lista inicial con series=name, luego en listas posteriores proporcione resume=name o resume*=name.
Configuración global y nuevos tipos de listas (\setlist, \newlist)
Escribir la misma configuración cada vez es tedioso. \setlist aplica la configuración de forma masiva a un tipo y nivel de lista elegidos. \setlist[enumerate,1]{...} apunta al nivel 1 de enumerate, \setlist[itemize]{...} apunta a todos los niveles de itemize y \setlist{...} (sin corchetes) alcanza todos los niveles de cada lista. El \setlist* destacado se suma a la configuración anterior en lugar de anularla.
% プリアンブルで一括設定
\setlist{nosep} % すべてのリストの空きを詰める
\setlist[itemize]{leftmargin=*} % itemize の左余白を自動調整
\setlist[enumerate,1]{label=(\arabic*), ref=\arabic*}Yendo más allá, puedes definir tus propios tipos de lista. \newlist{name}{type}{max-depth} clona una de las tres listas básicas (enumerate, itemize o description) en un nuevo entorno y luego le echas un vistazo con \setlist[name]{...} (al menos debes configurar la etiqueta). Como puedes darle un nombre lógico, la intención del manuscrito se lee más claramente.
\newlist{steps}{enumerate}{1}
\setlist[steps]{label=\textbf{Step \arabic*.}, leftmargin=*}
% 本文では独自の環境として使える
\begin{steps}
\item お湯を沸かす
\item 麺を入れる
\end{steps}Listas en línea (de ejecución)
También puede configurar listas horizontalmente dentro de un párrafo: “listas en línea”. Cargue el paquete como \usepackage[inline]{enumitem} y obtendrá los entornos destacados enumerate*, itemize* y description*. Comparten el etiquetado de sus homólogos mostrados y claves como label= funcionan como de costumbre.
\usepackage[inline]{enumitem}
% ...
必要なものは
\begin{enumerate*}[label=(\arabic*)]
\item 小麦粉
\item 砂糖
\item 塩
\end{enumerate*}
の三つです。La puntuación en una lista en línea se ajusta con teclas como itemjoin (entre elementos; un espacio de forma predeterminada), itemjoin* (para un separador diferente justo antes del último elemento) y afterlabel (justo después de la etiqueta; ~ de forma predeterminada). Tenga en cuenta que los elementos de la lista en línea están encuadrados de forma predeterminada, por lo que los elementos flotantes, las listas anidadas y las matemáticas mostradas no pueden entrar (use mode=unboxed si los necesita). Se adaptan a frases breves.