如何创建不同的交叉引用类型

如何创建不同的交叉引用类型

我需要参考连续的点,有时应该用“和”连接,有时用“或”连接,即

1.1a、b、c 和 d

或者

1.1a、b、c 或 d

这是一个提供第一种引用类型的 MWE(使用“and”)。但是,我仍在寻找一种方法来提供第二种引用类型(使用“or”)。有办法吗?

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

相关内容