ネストされた列挙リストを相互参照するにはどうすればよいでしょうか? (cleveref を使用した高度な相互参照フォーマット)

ネストされた列挙リストを相互参照するにはどうすればよいでしょうか? (cleveref を使用した高度な相互参照フォーマット)

ネストされた列挙リストを参照する必要があり、下位レベルのいくつかのポイントが連続して言及されている場合に最上位レベルを繰り返すことは望ましくありません。したがって、次のようなリストの代わりに

1.1a(i)、1.1b、1.1c

次のような結果を得たい

1.1a(i)、b、c

残念ながら、適切な解決策は見つかりません。以下は標準的なアプローチに基づいた MWE ですがcleveref、奇妙な結果を生み出します。

\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}

の代わりに

1.1a(i)、b、cおよび1.2。

次のような奇妙な結果が得られます。

1.1a(i)、11.1b、11.1c、および1.2

ただし、最低レベルを使用せず、参照を次のコードに置き換えると、正常に動作します。

\labelcref{en:apples,,en:bananas,,en:pears,,en:vegetables}.

これを最低レベルでも解決する方法を知っている人はいますか?

関連情報