LaTeX – Control de la numeración de las listas

Objetivo: aprender a controlar la numeración de las listas numeradas en LaTeX.

En los primeros compases de la serie, al presentar los rudimentos de \LaTeX, recorrimos los diversos tipos de listas básicos, entre las que se encontraban las listas numeradas, caracterizadas por que cada elemento aparece precedido por un número de orden. Continuaremos el artículo mostrando algunas técnicas que nos proporcionarán un mayor control de la numeración.

Para crear una lista numerada en \LaTeX, como vimos, disponemos del entorno enumerate, indicando cada elemento de la lista mediante el comando \item, como en este ejemplo:

\begin{enumerate}
\item Pepino
\item Berenjena
\item Pimiento
\end{enumerate}

La técnica básica es simple, no tiene mayor misterio. Como resultado obtenemos una lista en la que cada elemento aparece numerado, comenzando, como es de esperar, por el uno y prosiguiendo consecutivamente.

Este esquema es lo suficientemente inteligente para adaptarse y renumerar el conjunto adecuadamente si introducimos nuevos elementos a la lista en cualquier posición. Pero, ¿cómo podemos hacer para que la lista comience su numeración por el valor que deseemos, no necesariamente por el uno?

Para controlar el valor inicial de multitud de estructuras numéricas, \LaTeX dispone del concepto de contador. En concreto, el contador que gestiona la numeración de las listas numeradas se denomina enumi. Si queremos que nuestra lista de vegetales se muestre a partir del número 5, por ejemplo, debemos incluir el siguiente comando dentro del entorno enumerate, antes de cualquier descripción de elemento:

Lista 1
\begin{enumerate}
\setcounter{enumi}{4}
\item Pepino
\item Berenjena
\item Pimiento
\end{enumerate}

latex-ln1

El valor que se establece como contador es el entero inmediatamente anterior al que deseamos que sirva de inicio. Observa que he dicho entero, y no natural. En efecto, este contador puede ser negativo también. Si, por ejemplo, indicáramos un -3, el primer elemento de la lista sería -2, seguido de -1, 0, 1, etc. En particular, si quieres que la lista comience por el cero, el valor de enumi será -1.

Presta atención también la sintaxis de setcounter, que requiere dos argumentos obligatorios (entre llaves, no en corchetes): el nombre del contador seguido del valor numérico.

Es importante que setcounter se introduzca dentro del bloque enumerate, pues si estuviera fuera se restablecería automáticamente a su valor por defecto al encontrarse con el begin de apertura del entorno. Además, debe figurar antes que los elementos; de lo contrario, la renumeración sólo aparecería desde su posición en adelante. Prueba tú mismo lo que sucedería si situaras setcounter entre medias de la lista.

Otra cuestión que se plantea a menudo es cómo gestionar la numeración de varias listas, generadas cada una por sus respectivos entornos enumerate, cuando deseamos que las sucesivas continúen a partir donde finalizaron las anteriores.

Naturalmente, siempre podemos resolverlo a mano: contamos los elementos existentes en cada lista y ajustamos el contador apropiadamente. Pero eso presenta el inconveniente de que, si añadimos más elementos a las listas habremos de reajustar los contadores para que reflejen el cambio.

Existen varios modos de obtener una numeración automática. La más simple consiste en recurrir a un paquete que se ocupe de ese trasiego, como enumitem, un excelente trabajo de Javier Bezos.

\usepackage{enumitem}

A partir de ese momento, dispondremos de un argumento opcional para el entorno enumerate, resume, que se ocupará de retomar la numeración justo en el punto donde finalizó la anterior.

Lista 1 
\begin{enumerate}
\item Pepino
\item Berenjena
\item Pimiento
\end{enumerate}

Lista 2
\begin{enumerate}[resume]
\item Calabacín
\item Zanahoria
\item Remolacha
\end{enumerate}

latex-ln3

El paquete enumiten hace mucho más que eso, desde luego; consulta su documentación si sientes curiosidad. Presiento que volveremos a él en alguna que otra ocasión.

Las posibilidades de \LaTeX, virtualmente ilimitadas a través de sus innumerables paquetes, hacen que la única manera de no perderse en ellas sea manteniendo una especie de diario personal donde anotemos aquellas técnicas que nos resulten de utilidad práctica. No es una labor en absoluto enciclopédica: registra únicamente las que verdaderamente puedas necesitar. Y, por supuesto, no debiera hacer falta decirlo, escrito en \LaTeX. ¿En qué, si no?

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2015/10/latex-control-de-la-numeracion-de-las-listas/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Safe Creative #1510245609313

3 opiniones en “LaTeX – Control de la numeración de las listas”

  1. Hola,
    Necesito modificar la posición de una lista. Necesito colocar la lista 2cm a la derecha. No deseo alinear ni al centro, ni a la derecha, quisiera controlar la posición de la lista. Cómo lo hago? Se puede controlar la posición vertical de una parte del texto también?
    Saludos.

    1. Qué tal, Carlos:
      En La(TeX) se puede generar absolutamente TODO. Si no directamente, recurriendo a infinidad de paquetes que extienden su funcionalidad o, en última instancia, programándolo en TeX (aunque no es una labor precisamente sencilla).
      ¿Has revisado las posibilidades que te ofrece el paquete que se menciona en el artículo?
      Saludos

  2. disculpa como hago para manejar dos listas, por ejemplo:
    Supongamos que esta es nuestra lista 1:
    1 definición a.
    2 definición b.
    3 definición c.

    Supongamos que es nuestra lista 2:
    1 tarea a.
    2 tarea b.
    3 tarea c.

Deja un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies