据我所知,定义单个列表样式有两种方法:
1 )使用enumitem
包和\newlist
命令\setlist
2)定义单独的环境,如下例所示:
\newenvironment{exampleEnumeration}
{\begin{enumerate}[leftmargin=*, itemsep=2pt, parsep=0pt]}
{\end{enumerate}}
现在我的问题是:我应该选择哪种方式?这仅仅是便利性上的差异,还是还有我不知道的更重要的方面?谢谢!
答案1
\newlist
主要用于定义新的枚举/逐项列表集。例如
\newlist{exampleEnumeration}
\setlist[exampleEnumeration]{leftmargin=*, itemsep=2pt, parsep=0pt}
是违法的,因为你必须指定label
(以及可选的ref
)。如果您不指定级别,则所有级别都将使用相同的标签。因此,您应该输入,例如,
\newlist{exampleEnumeration}
\setlist[exampleEnumeration,1]{leftmargin=*, itemsep=2pt, parsep=0pt, label=\arabic*.}
\setlist[exampleEnumeration,2]{leftmargin=*, itemsep=2pt, parsep=0pt, label=(\alph*)}
等等。
将使用与\newenvironment
当前嵌套级别对应的标签。
更好的定义是
\newenvironment{exampleEnumeration}[1][]
{\enumerate[leftmargin=*, itemsep=2pt, parsep=0pt, #1]}
{\endenumerate}
这样您就可以传递更多选项给exampleEnumeration
;此外,使用\enumerate
和\endenumerate
当嵌套错误时您会得到更有意义的错误消息。