Re: liste numerate nidificate

#23417
Up
0
Down
::

Buogiorno a tutti.
Ho il seguente codice:
`
\documentclass[a4paper,11pt,titlepage]{scrreprt}
\usepackage[italian]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{paralist}
%\usepackage{enumerate}

\renewcommand{\theenumi}{\arabic{enumi}}
\renewcommand{\theenumii}{\alph{enumii}}
\renewcommand{\theenumiii}{\arabic{enumiii}}

\begin{document}

\begin{enumerate}
\item punto 1
\item punto 2
\begin{enumerate}
\item dovrebbe essere 2.a
\item dovrebbe essere 2.b
\begin{enumerate}
\item dovrebbe essere 2.b.1
\item dovrebbe essere 2.b.2
\end{enumerate}
\end{enumerate}
\item punto 3
\end{enumerate}

\end{document}
`

Vorrei ottenere una lista annidata dove il livello più interno venga numerato riportando i numeri (o le lettere) dei livelli più esterni (es: 1, 2, 2.a, 2.b, 2.b.1, 2.b.2, ecc.).
Nel caso specifico desidero che il secondo livello venga identificato con una lettera miniscula.
Purtroppo però non riesco, quello che ottengo è

1. punto 1
2. punto 2
a) dovrebbe essere 2.a
b) dovrebbe essere 2.b
1. dovrebbe essere 2.b.1
2. dovrebbe essere 2.b.2
3. punto 3

Dove sbaglio?

ciao a tutti.

Eh, la questione non è semplice: occorre conoscere \labelenumi e compagnia:
`\newenvironment{enumerate*}
{% Cambiamo la rappresentazione dei contatori
\renewcommand\labelenumi{\arabic{enumi}}%
\renewcommand\labelenumii{\labelenumi.\alph{enumii}}%
\renewcommand\labelenumiii{\labelenumii.\arabic{enumiii}}%
\begin{enumerate}}
{\end{enumerate}}

\begin{enumerate*}
\item punto 1
\item punto 2
\begin{enumerate*}
\item dovrebbe essere 2.a
\item dovrebbe essere 2.b
\begin{enumerate*}
\item dovrebbe essere 2.b.1
\item dovrebbe essere 2.b.2
\end{enumerate*}
\end{enumerate*}
\item punto 3
\end{enumerate*}`
Se vuoi però che funzioni anche con \label e \ref, occorre studiare \p@enumi e compagnia.

Ciao
Enrico

Go to top