跳到正文

Scissor LaTeX 中的 enumitem 和 paralist

enumitem 和 paralist 宏包在 Scissor LaTeX 中部分可用:enumitem 写在方括号中的选项(label=、start=、resume、noitemsep)会被接受但不起作用,\newlist 和行内列表不受支持;paralist 的 compactitem、compactenum 和 compactdesc 与标准列表的效果相同。

宏包的作用

enumitem 让你通过选项修改列表:\begin{enumerate}[label=(\alph*)] 用 (a)、(b)、(c) 编号,start=4 从 4 开始,resume 接续前面的列表,noitemsep 去掉列表项之间的间距。\setlist 为所有列表设置选项,\newlist 用来定义你自己的列表环境。

paralist 是一个较早的宏包,提供现成的紧凑列表(compactitem、compactenum、compactdesc)以及排在段落内的列表(inparaenum)。第三个小宏包 enumerate 提供 \begin{enumerate}[(a)]。

这里可用的功能

功能在 Scissor LaTeX 中说明
itemize, enumerate, description可用参见列表。
方括号中的选项:label=、start=、leftmargin=、noitemsep、nosep忽略会被接受,不显示提示;编号仍是 1、2、3。
resume忽略列表重新从 1 开始。两个列表之间没有其他内容时,编号会接续,见下文。
\setlist{...}忽略在导言区中被忽略;在正文中会被跳过并显示提示,它的参数会被输出。
\newlist, \setlist[name]{...}不支持新环境无法识别:它的列表项输出时没有标签。
enumerate*, itemize*(选项 inline)不支持列表项作为普通文本输出,没有标签。
compactitem, compactenum, compactdesc可用与 itemize、enumerate 和 description 相同。间距是正常的列表间距。
asparaenum, inparaenum部分可用排成普通的编号列表;inparaenum 不会留在段落内。
\begin{enumerate}[(a)](enumerate 宏包)忽略按 1、2、3 编号。

示例

enumitem 的选项会被接受,所以含有这些选项的文档可以打开并排版,但标签仍是 1、2、3:

label= 和 start= 被忽略

LaTeX导言区: \usepackage{enumitem}在编辑器中打开 (在新标签页中打开)
\begin{enumerate}[label=(\alph*), start=4, noitemsep]
  \item Numbered 1 here, (d) in a TeX installation.
  \item Numbered 2 here, (e) in a TeX installation.
\end{enumerate}

如果标签很重要,请在 description 列表中自己写出标签。标签会完全按照你输入的样子显示,在这里和任何 TeX 发行版中都一样:

用 description 自定义标签

\begin{description}
  \item[(a)] Erika Mustermann collects the samples.
  \item[(b)] John Doe weighs all 44 of them.
  \item[(c)] Hans Mustermann writes the report.
\end{description}
由 Scissor LaTeX 排版: 用 description 自定义标签

paralist 的紧凑列表与标准列表效果相同:

compactitem 和 compactenum

LaTeX导言区: \usepackage{paralist}在编辑器中打开 (在新标签页中打开)
Before you start:
\begin{compactitem}
  \item read the brief,
  \item check the equipment.
\end{compactitem}
Then:
\begin{compactenum}
  \item weigh the sample,
  \item write down the result.
\end{compactenum}
由 Scissor LaTeX 排版: compactitem 和 compactenum

resume 会被忽略。只有当两个列表之间除了空行之外没有其他内容时,后一个列表才会接续前一个的编号;中间若有一句话,编号就会重新从 1 开始:

resume:第二个列表从 1 开始

LaTeX导言区: \usepackage{enumitem}在编辑器中打开 (在新标签页中打开)
\begin{enumerate}
  \item Prepare the room.
\end{enumerate}
A short break follows.
\begin{enumerate}[resume]
  \item Start the test (2 in a TeX installation).
\end{enumerate}

兼容性

  • 从 TeX 发行版迁移到这里: 列表及其文本可以排版,但标签和间距都是标准样式。用 \newlist 定义的列表会丢失标签;请把它们换成 enumerate 或 description。
  • 从这里迁移到 TeX 发行版: 文档无需修改即可在那里编译,enumitem 的选项届时会生效。

完整手册见 CTAN:enumitem 和 paralist。关于列表的一般用法,请参阅列表:itemize、enumerate、description。

另请参阅列表和 multicol。

常见问题

如何用 (a)、(b)、(c) 给列表编号?

在 TeX 发行版中,配合 enumitem 使用 \begin{enumerate}[label=(\alph*)]。Scissor LaTeX 会忽略这个选项,所以如果字母必须在这里显示,请使用 description 列表并写 \item[(a)]。

如何去掉列表项之间的间距?

noitemsep 在这里会被忽略,间距是固定的。在 TeX 发行版中编译文档时,它会生效。

本页的每个示例都在构建网站时由 Scissor LaTeX 排版。 最后更新:2026-11-07