Cómo crear diferentes tipos de referencias cruzadas

Cómo crear diferentes tipos de referencias cruzadas

Necesito hacer referencia a puntos consecutivos, que a veces deben conjugarse con "y" y a veces con "o", es decir,

1.1a, b, cyd

o

1.1a, b, c o d

Aquí hay un MWE que proporciona el primer tipo de referencias (con "y"). Sin embargo, todavía estoy buscando una manera de tener también disponible el segundo tipo (con "o"). ¿Hay una manera de hacerlo?

\documentclass[ngerman, 12pt]{article}
\usepackage{enumitem}
\usepackage[german]{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
\item \label{en:bananas} Bananas
\item \label{en:pears} Pears
\item \label{en:ananas} Ananas
\end{enumerate}
\item \label{en:vegetables} Vegetables
\end{enumerate}

The first type of references (with ``and'') works perfectly fine: \labelcref{en:apples,,en:bananas,,en:pears,,en:ananas}.

\end{document}

información relacionada