使用分层数字进行枚举

使用分层数字进行枚举

我希望的标签和引用是enumerate分层数字,就像节/子节/...一样。我使用包为 4 个级别编写了此代码enumitem,但我宁愿使用更简单的代码来同时处理所有级别。

这是一个 MWE。

\documentclass{article}
\usepackage{enumitem}

\setlist[enumerate]{labelsep=*, leftmargin=*}
\setlist[enumerate,1]{
    label = \arabic*.,
    ref   = \arabic*
}
\setlist[enumerate,2]{
    label = \arabic*.,
    ref   = \theenumi.\arabic*
}
\setlist[enumerate,3]{
    label = \arabic*.,
    ref   = \theenumii.\arabic*
}
\setlist[enumerate,4]{
    label = \arabic*.,
    ref   = \theenumiii.\arabic*
}

\begin{document}

\begin{enumerate}
    \item Enumerate                         \label{itm:1}
    \item Enumerate                         \label{itm:2}
        \begin{enumerate}
            \item Enumerate                 \label{itm:2.1}
            \item Enumerate                 \label{itm:2.2}
            \item                           \label{itm:2.3}
                \begin{enumerate}
                    \item Enumerate         \label{itm:2.3.1}
                    \item Enumerate         \label{itm:2.3.2}
                \end{enumerate}
        \end{enumerate}
    \item                                   \label{itm:3}
        \begin{enumerate}
            \item Enumerate                 \label{itm:3.1}
            \item Enumerate                 \label{itm:3.2}
            \item Enumerate                 \label{itm:3.3}
                \begin{enumerate}
                    \item Enumerate         \label{itm:3.3.1}
                    \item Enumerate         \label{itm:3.3.2}
                    \item Enumerate         \label{itm:3.3.3}
                    \begin{enumerate}
                        \item Enumerate     \label{itm:other}
                        \item Enumerate     \label{itm:other2}
                    \end{enumerate}
                \end{enumerate}
        \end{enumerate}
\end{enumerate}

\ref{itm:1} \ref{itm:2} \ref{itm:3}

\ref{itm:2.1} \ref{itm:2.2} \ref{itm:2.3}

\ref{itm:2.3.1} \ref{itm:2.3.2}

\ref{itm:3.1} \ref{itm:3.2} \ref{itm:3.3}

\ref{itm:3.3.1} \ref{itm:3.3.2}

\ref{itm:other} \ref{itm:other2}

\end{document}

答案1

对于标签,您有一个label*键,它将父标签添加到当前标签的前面。如果要删除最后一个点,则必须指定每个级别的引用格式:

\documentclass{article}
\usepackage{enumitem}

\setlist[enumerate]{label*=\arabic*.,labelsep=*, leftmargin=*}
 \setlist[enumerate,1]{ref=\arabic*}
 \setlist[enumerate,2]{ref=\theenumi.\arabic*}
 \setlist[enumerate,3]{ref=\theenumii.\arabic*}
 \setlist[enumerate,4]{ref=\theenumiii.\arabic*}

\begin{document}

\begin{enumerate}
    \item Enumerate \label{itm:1}
    \item Enumerate \label{itm:2}
        \begin{enumerate}
            \item Enumerate \label{itm:2.1}
            \item Enumerate \label{itm:2.2}
            \item \label{itm:2.3}
                \begin{enumerate}
                    \item Enumerate \label{itm:2.3.1}
                    \item Enumerate \label{itm:2.3.2}
                \end{enumerate}
        \end{enumerate}
    \item \label{itm:3}
        \begin{enumerate}
            \item Enumerate \label{itm:3.1}
            \item Enumerate \label{itm:3.2}
            \item Enumerate \label{itm:3.3}
                \begin{enumerate}
                    \item Enumerate \label{itm:3.3.1}
                    \item Enumerate \label{itm:3.3.2}
                    \item Enumerate \label{itm:3.3.3}
                    \begin{enumerate}
                        \item Enumerate \label{itm:other}
                        \item Enumerate \label{itm:other2}
                    \end{enumerate}
                \end{enumerate}
        \end{enumerate}
\end{enumerate}

\ref{itm:1} \ref{itm:2} \ref{itm:3}

\ref{itm:2.1} \ref{itm:2.2} \ref{itm:2.3}

\ref{itm:2.3.1} \ref{itm:2.3.2}

\ref{itm:3.1} \ref{itm:3.2} \ref{itm:3.3}

\ref{itm:3.3.1} \ref{itm:3.3.2}

\ref{itm:other} \ref{itm:other2}

\end{document} 

在此处输入图片描述`

相关内容