使用 cleveref 格式化对嵌套列表中项目的引用

使用 cleveref 格式化对嵌套列表中项目的引用

我正在使用cleveref 包格式化文档中的引用。但是,我在为引用枚举列表(尤其是嵌套列表)的标签实现不同的格式时遇到了困难。

这是一个简单的例子:

\documentclass{article}

\usepackage{enumerate}
\usepackage{cleveref}

\creflabelformat{enumi}{#1(#2)#3}
\creflabelformat{enumii}{#1(#2)#3}


\begin{document}

\begin{enumerate}[(i)]
  \item\label{fi} The first item
  \item the second item
  \begin{enumerate}[(a)]
    \item the first sub-item
    \item\label{ssi} the second sub-item
  \end{enumerate}
\end{enumerate}

This is a fancy reference to the first item: \labelcref{fi}.

The second sub-item can be referred to as \labelcref{ssi}.

\end{document}

理想情况下,我希望第一个参考文献的格式为 (i),第二个参考文献的格式为 (ii-b)。

实际输出如下: 在此处输入图片描述

我们可以看到,两个标签看起来不同,是 i() 而不是 (i);是 iib 而不是 (b) [我不知道如何使用 `creflabelformat 来获取 (ii-b),所以我选择了 (b) 但即使这样也不起作用。]

我知道有几个问题,有些是最近的,询问有关列表项引用的格式,但它们并没有真正帮助我。

非常感谢。

答案1

您可以使用包中的label,键来控制标签和引用的格式(我为第三和第四个嵌套级别添加了一些设置只是为了说明):refenumitem

\documentclass{article}
\usepackage{enumitem}
\usepackage{cleveref}

\setlist[enumerate,1]{label=(\roman*),ref=(\roman*)}
\setlist[enumerate,2]{label=(\alph*),ref=(\roman{enumi}-\alph*)}
\setlist[enumerate,3]{label=(\Alph*),ref=(\roman{enumi}-\alph{enumii}-\Alph*)}
\setlist[enumerate,4]{label=(\arabic*),ref=(\roman{enumi}-\alph{enumii}-\Alph{enumiii}-\arabic*)}

\begin{document}

\begin{enumerate}
  \item\label{fi} The first item
  \item the second item
  \begin{enumerate}
    \item the first sub-item
    \item\label{ssi} the second sub-item
    \begin{enumerate}
      \item\label{fssi} the first subsub-item
        \begin{enumerate}
          \item the first subsubsub-item
          \item\label{ssssi} the second subsubsub-item
        \end{enumerate}
      \item the second subsub-item
    \end{enumerate}
  \end{enumerate}
\end{enumerate}

This is a fancy reference to the first item: \cref{fi}.

The second sub-item can be referred to as \cref{ssi}.

The second subsub-item can be referred to as \cref{fssi}.

The second subsubsub-item can be referred to as \cref{ssssi}.

\end{document}

在此处输入图片描述

相关内容