如何避免嵌套枚举中的 enumitem 标签出现多次?

如何避免嵌套枚举中的 enumitem 标签出现多次?

我想使用该enumitem包来得出以下枚举:

Article 1: An article
    Article 1.1: A sub article
    Article 1.2: A sub article

以下是我目前想到的:

\documentclass{article}
\usepackage{enumitem}

\begin{document}
\setlist{label*=\textbf{Article \arabic*.}}

\begin{enumerate}
    \item An article
    \begin{enumerate}
        \item A sub article
        \item A sub article
    \end{enumerate}
\end{enumerate}

\end{document}

不幸的是,这会导致以下结果:

在此处输入图片描述

我怎样才能调整代码使得“文章”一词只出现一次?

答案1

我建议你更换

\setlist{label*=\textbf{Article \arabic*.}}

至少

\setlist[enumerate,1]{label=\textbf{Article \arabic*.}}
\setlist[enumerate,2]{label=\theenumi\textbf{\arabic*.}}

此外,您还应该指定一级枚举列表的选项leftmargin=*,以便“文章”一词不会突出到左侧边距。并且,如果您打算交叉引用文章列表中的项目,您也应该指定适当的ref选项。

完整的 MWE(最小工作示例及其相关输出 - 蓝色来自包)hyperref

在此处输入图片描述

\documentclass{article}

\usepackage{enumitem}
\setlist[enumerate,1]{label=\textbf{Article \arabic*.},
                      ref  =\arabic*,
                      leftmargin=*}
\setlist[enumerate,2]{label=\textbf{Article \arabic{enumi}.\arabic{enumii}.},
                      ref  =\theenumi.\arabic{enumii}}
\usepackage[colorlinks,allcolors=blue]{hyperref} % optional

\begin{document}

\begin{enumerate}
    \item An article \label{item:1}
    \begin{enumerate}
        \item A sub article
        \item A sub article \label{item:1.2}
    \end{enumerate}
\end{enumerate}

\noindent
Cross-references to articles \ref{item:1} and \ref{item:1.2}.
\end{document}

答案2

您可以在可选参数中分别指定每个级别的格式\setlist

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem}
\newlist{articleenum}{enumerate}{9}
\setlist[articleenum]{label*=\textbf{\arabic*.}}
\setlist[articleenum,1]{label=\textbf{Article \arabic*.}}
\begin{document}

\begin{articleenum}
    \item An article
    \begin{articleenum}
        \item A sub article
        \item A sub article
        \begin{articleenum}
            \item A subsub article
        \end{articleenum}
    \end{articleenum}
\end{articleenum}

\end{document}

相关内容