在中LaTeX
,默认情况下编号样式会根据嵌套列表的深度而变化,如下所示。
\begin{enumerate}
\item First level item
\item First level item
\begin{enumerate}
\item Second level item
\item Second level item
\begin{enumerate}
\item Third level item
\item Third level item
\begin{enumerate}
\item Fourth level item
\item Fourth level item
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
上述输出:
问题:在中LaTeX
,我们如何才能实现类似于Microsoft WORD中的嵌套编号列表的功能,如下所示?
答案1
您可以使用这个enumitem
软件包轻松完成此操作。
该enumitem
包允许您确定列表类的任何级别或所有级别的编号系统。在此示例中,我使用了:
\setlist[enumerate,2]{label=\theenumi.\arabic*.,ref=\theenumi.\arabic*}
这意味着“将的第二级标签设置enumerate
为第一级标签(\theenumi
)加上当前级别的阿拉伯数字表示形式(\arabic*
)。”
由于您可能不希望在参考文献的数字后面加点,因此我为参考文献添加了单独的规范以排除该点。如果您想对其他级别执行此操作,可以为每个子级别添加格式:
\setlist[enumerate,2]{label=\theenumi.\arabic*.,ref=\theenumi.\arabic*}
\setlist[enumerate,3]{label=\theenumii.\arabic*.,ref=\theenumii.\arabic*}
顶层计数器是enumi
,下一级是enumii
,等等。这些计数器的输出表示是\theenumi
,,\theenumii
等等。因此每个定义都必须在其定义中引用上一级计数器的表示。
\documentclass{article}
\usepackage{enumitem}
\setlist[enumerate,2]{label=\theenumi.\arabic*.,ref=\theenumi.\arabic*}
\begin{document}
\begin{enumerate}
\item First level item
\item First level item
\begin{enumerate}
\item Second level item
\item Second level item
\end{enumerate}
\end{enumerate}
\end{document}