
我需要引用嵌套枚舉列表,並且如果連續提到較低級別的幾個點,則不想重複最高級別。因此,而不是像這樣的列表
1.1a(一)、1.1b、1.1c
我想得到以下結果
1.1a(一)、b、c
不幸的是,我沒有找到合適的解決方案。這是一個基於標準cleveref
方法的 MWE,它產生了一個奇怪的結果:
\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}.
有誰知道如何在最低級別解決這個問題?