Как создать перекрестные ссылки на вложенные списки перечислений? (Расширенное форматирование перекрестных ссылок с помощью CleverEf)

Как создать перекрестные ссылки на вложенные списки перечислений? (Расширенное форматирование перекрестных ссылок с помощью CleverEf)

Мне нужно ссылаться на вложенные списки перечисления и не хочу повторять самый высокий уровень, если последовательно упоминаются несколько пунктов более низкого уровня. Таким образом, вместо списка типа

1.1а(и), 1.1б, 1.1в

Я хотел бы получить следующий результат

1.1а(и), б, в

К сожалению, я не нахожу подходящего решения. Вот 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.1а(и), б, в и 1.2.

Я получаю следующий странный результат:

1.1а(и), 11.1б, 11.1в и 1.2

Однако если я не буду использовать самый низкий уровень и заменю ссылку следующим кодом, то все будет работать нормально:

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

Есть ли у кого-нибудь идеи, как решить эту проблему и для самого низкого уровня?

Связанный контент