使用 paralist 与 enumitem 有什么区别

使用 paralist 与 enumitem 有什么区别

我正在寻求建议,了解应该使用哪个软件包?在什么情况paralist下会优先使用哪个软件包enumitem

答案1

我通常将其用作enumitem文档中的标准包。以下列表中对两者进行了快速比较:(e)-enumitem 和 (p)-paralist

  • 在段落枚举(p)
  • 列举为第 (p) 款
  • 恢复枚举(e)
  • 设置默认值 (e,p)
  • 紧凑列表 (e,p)
  • 键值参数 (e)
  • 更改标签 (e,p)
  • 更改参考(e)
  • 合法或堆叠列表类型标签 (e,p)
  • Trivlist 修正(e)

Enumitem是更高级的软件包,例如 trivlist 校正不会改变引号等间距环境,而 keyvalue 参数可以轻松更改标签和引用。中断后枚举计数器的恢复也是一个很大的优点。

其强项paralist在于段落内的列举,但我并不经常使用。

答案2

paralist还提供了标准列表的“紧凑”变体。您可以enumitem使用以下命令模拟它们:

\newlist{compactitem}{itemize}{3}
\setlist[compactitem]{topsep=0pt,partopsep=0pt,itemsep=0pt,parsep=0pt}
\setlist[compactitem,1]{label=\textbullet}
\setlist[compactitem,2]{label=---}
\setlist[compactitem,3]{label=*}

\newlist{compactdesc}{description}{3}
\setlist[compactdesc]{topsep=0pt,partopsep=0pt,itemsep=0pt,parsep=0pt}

\newlist{compactenum}{enumerate}{3}
\setlist[compactenum]{topsep=0pt,partopsep=0pt,itemsep=0pt,parsep=0pt}
\setlist[compactenum,1]{label=\arabic*}
\setlist[compactenum,2]{label=\alph*}
\setlist[compactenum,3]{label=\roman*}

编辑:感谢@Alan指出我的误读。 enumitem允许嵌套列表最多6深度,至少对于新创建的枚举类列表而言。(这消除了我对enumitem与原生列表相比的任何争论,因为我认为原生列表默认不会嵌套那么深 :-p)

我还没有找到enumitem段落内列表的等效方法,但正如另一个答案指出的那样,这种支持正在添加到 enumitem v3.0 中。

相关内容