我喜欢将枚举的标签更改为以下结构:
1 First Item
1.1 First Sub-Item
1.1.1 First Subsub-Item
1.1.2 Second Subsub-Item
1.2 Second Sub-Item
2 Second Item
3 Third Item
类似问题已经被问过,并且使用以下代码label*=\arabic*.
(并且也是官方的一部分enumitem 文档)始终是可接受的答案:
\documentclass{article}
\usepackage{enumitem}
\usepackage{enumitem}
\newlist{legal}{enumerate}{10}
\setlist[legal]{label*=\arabic*.}
\begin{document}
\begin{legal}
\item First Item
\begin{legal}
\item First Sub-Item
\begin{legal}
\item First Subsub-Item
\item Second Subsub-Item
\end{legal}
\item Second Sub-Item
\end{legal}
\item Second Item
\item Third Item
\end{legal}
\end{document}
不幸的是,该解决方案在枚举的最后一级后面放置了一个点.
,因此给出了以下结果:
1. First Item
1.1. First Sub-Item
1.1.1. First Subsub-Item
1.1.2. Second Subsub-Item
1.2. Second Sub-Item
2. Second Item
3. Third Item
是否可以这样定义标签:不是 [1.1., 1.1.1., 等等] 而是 [1.1, 1.1.1, 等等]?
答案1
实现@moewe 的评论,这是一个只需要两个单独\setlist
指令的解决方案。第一个\setlist
指令适用于所有列表级别;第二个指令仅影响 1 级项目的数字标签。
此外,如果您不希望任何项目之间有任何额外的垂直空白,只需在指令\setlist[legal]{nosep}
后提供说明即可\newlist
。
\documentclass{article}
\usepackage{enumitem}
\newlist{legal}{enumerate}{10}
\setlist[legal]{label*=.\arabic*}
\setlist[legal,1]{label=\arabic*}
\begin{document}
\begin{legal}
\item First Item
\begin{legal}
\item First Sub-Item
\begin{legal}
\item First Subsub-Item
\item Second Subsub-Item
\begin{legal}
\item First Subsubsub-Item
\item Second Subsubsub-Item
\end{legal}
\item Third Subsub-Item
\end{legal}
\item Second Sub-Item
\end{legal}
\item Second Item
\end{legal}
\end{document}