我想使用该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}