如何将 ref 应用于带有数字的项目

如何将 ref 应用于带有数字的项目

我将enumitem它们用作数字。如果可能的话,我希望按编号对项目进行排序。例如,在下面的代码中,想要的行为是“这一步4.1很棒”,但我根本没有得到任何项目编号。

代码:

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

\begin{document}
\begin{enumerate}[wide, labelwidth=!,itemindent=!,labelindent=0pt,label*=\arabic*.]
    \item[(1)]
        one \label{one}
    \item[(2)]
        two \label{two}
    \item[(3)]
        three \label{three}
    \item[(4)]
        four \label{four}
    \item[(4.1)]
        fourone \label{fourone}
\end{enumerate}

This step~\ref{fourone} is great.  % I want to get: This step 4.1] is great.
This step~\cref{fourone} is great.  % I want to get: This step 4.1 is great.

\end{document}

基本代码取自:https://tex.stackexchange.com/a/128608/127048

答案1

如果您不需要手动枚举,那么实现您想要的东西应该不难。这是第一个近似值。

(如果您有其他样式的列表,您可能只想将选项放在s[...]后面\begin{enumerate},而不是使用\setlist。但\setlist如果您想要所有这种样式,可能会更容易。)

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

\setlist[1]{wide, labelwidth=!,itemindent=!,labelindent=0pt,label=(\arabic*),ref=\arabic*}
\setlist[2]{wide, labelwidth=!,itemindent=!,labelindent=0pt,label=(\arabic{enumi}.\arabic*),ref=\arabic{enumi}.\arabic*}

\crefname{enumi}{}{}
\crefname{enumii}{}{}

\begin{document}
\begin{enumerate}
    \item
        one \label{one}
    \item
        two \label{two}
    \item
        three \label{three}
    \item
        four \label{four}
    \begin{enumerate}
        \item
        fourone \label{fourone}
    \end{enumerate}
\end{enumerate}

This step~\ref{fourone} is great.  % I want to get: This step 4.1 is great.
This step~\cref{fourone} is great.  % I want to get: This step 4.1 is great.

\end{document}

在此处输入图片描述

相关内容