.png)
Preciso fazer referência a listas de enumeração aninhadas e não quero repetir o nível mais alto se vários pontos de nível inferior forem mencionados consecutivamente. Assim, em vez de uma lista como
1.1a(i), 1.1b, 1.1c
Gostaria de obter o seguinte resultado
1.1a(i), b, c
Infelizmente, não encontro uma solução adequada. Aqui está um MWE, baseado na cleveref
abordagem padrão, que produz um resultado estranho:
\documentclass[ngerman, 12pt]{article}
\usepackage{enumitem}
\usepackage{cleveref}
\parindent0pt
\labelcrefmultiformat{enumi}%
{\edef\crefstripprefixinfo{#1}#2#1#3}%
{ and~#2\crefstripprefix{\crefstripprefixinfo}{#1}#3}%
{, #2\crefstripprefix{\crefstripprefixinfo}{#1}#3}%
{, and~#2\crefstripprefix{\crefstripprefixinfo}{#1}#3}
\setlist[1]{leftmargin=*}
\setlist[2]{label=\alph*}
\setlist[3]{label=(\roman*)}
\begin{document}
\section{References}
\begin{enumerate}[ref=\thesection.\arabic*]
\item Fruits
\begin{enumerate}[ref=\theenumi\alph*]
\item \label{en:apples} Apples
\begin{enumerate}[ref=\theenumii(\roman*)]
\item \label{en:red} Red Apples
\item \label{en:green} Green Apples
\end{enumerate}
\item \label{en:bananas} Bananas
\item \label{en:pears} Pears
\end{enumerate}
\item \label{en:vegetables} Vegetables
\end{enumerate}
Now, I would like to reference to \labelcref{en:red,,en:bananas,,en:pears,,en:vegetables}.\\
\end{document}
Em vez de
1.1a(i), b, c e 1.2.
Recebo o seguinte resultado estranho:
1.1a(i), 11.1b, 11.1c e 1.2
No entanto, se eu não usar o nível mais baixo e substituir a referência pelo código a seguir, tudo funcionaria bem:
\labelcref{en:apples,,en:bananas,,en:pears,,en:vegetables}.
Alguém tem alguma ideia de como resolver isso também para o nível mais baixo?