LyX: listas con numeración personalizada, segunda parte

En un artículo anterior vimos cómo utilizar el módulo enumitem para personalizar listas numeradas particulares en LyX, y comentamos que si bien el método era potente resultaba un tanto «pesado» por la necesidad de tener que actuar individualmente en cada nivel de cada lista.

Aquí presentaré un método que modifica todas las listas del documento de una sola vez.

Supongamos que queremos que cada subnivel de nuestra lista numerada muestre el número del nivel superior además del suyo propio y que se tenga algo del tipo

I. Primer nivel

I.A Segundo nivel

I.A.1 Tercer nivel

I.A.1.a Cuarto nivel

Es decir, el primer nivel con números romanos en mayúsculas y negrita, el segundo con letras mayúsculas en bastardilla, el tercero con números en bastardilla y el cuarto con letras minúsculas normales, cada nivel mostrando la numeración de los niveles anteriores. Insertando una caja para código \TeX (usando la barra de herramientas o presionando Ctrl-L) al principio del documento (o al menos antes de la primer lista), debemos escribir algo como lo que sigue

\renewcommand{\theenumi}{\Roman{enumi}} 
\renewcommand{\labelenumi}{\textbf{\theenumi}} 
\renewcommand{\theenumii}{\Alph{enumii}} 
\renewcommand{\labelenumii}{\textbf{\theenumi}.\textit{\theenumii}} 
\renewcommand{\theenumiii}{\arabic{enumiii}} 
\renewcommand{\labelenumiii}{\textbf{\theenumi}.\textit{\theenumii}.\textit{\theenumiii}} 
\renewcommand{\theenumiv}{\alph{enumiv}} 
\renewcommand{\labelenumiv}{\textbf{\theenumi}.\textit{\theenumii}.\textit{\theenumiii}.{\theenumiv}}

donde, si queremos desviarnos del ejemplo aquí propuesto solo tenemos que alternar entre \Roman, \roman, \Alph, \alph y \arabic como mejor nos sirva.

¿Qué significa esta ráfaga de comandos \LaTeX?

Pues bien, sin entrar en detalles sobre qué es y qué no es \renewcommand (todo un mundo allí), lo más importante a notar es son los comandos \theenum y \labelenum. Como pueden ver del código, estos comandos están seguidos de i, ii, iii y iv: Sí, son números romanos en minúsculas y sirven para indicar el nivel de la lista numerada. \theenum define el tipo de numeración y \labelenum qué se muestra en cada nivel.

Los comandos \texbf y \textit dan formato a cada ítem (negrita y bastardilla, respectivamente), es posible anidarlos y como puede verse en la definición del cuarto nivel no son necesarios.

Las referencias cruzadas (insertar una etiqueta en un elemento de la lista y llamarla a continuación) funcionan… más o menos bien: el tipo de numeración elegido es presentado, pero si como en el presente ejemplo elegimos que un subnivel muestre los niveles anteriores, en la referencia cruzada no se mostrarán los separadores.

Claramente, si solo queremos que un dado nivel solo muestre su número y no el de los niveles superiores, es suficiente quitar lo que no corresponda. Algo así:

\renewcommand{\theenumi}{\Roman{enumi}} 
\renewcommand{\labelenumi}{\textbf{\theenumi}} 
\renewcommand{\theenumii}{\Alph{enumii}} 
\renewcommand{\labelenumii}{\textit{\theenumii}} 
\renewcommand{\theenumiii}{\arabic{enumiii}} 
\renewcommand{\labelenumiii}{\textit{\theenumiii}} 
\renewcommand{\theenumiv}{\alph{enumiv}} 
\renewcommand{\labelenumiv}{\theenumiv}

En este caso las referencias cruzadas no darán problemas.

El formato de numeración asignado será válido hasta el final del documento, o hasta que ingresemos nuevamente una caja \TeX con un nuevo formato.

Anuncios

A %d blogueros les gusta esto: