zl程序教程

您现在的位置是:首页 >  其他

当前栏目

LaTeX 排版(1):列表

2023-04-18 14:45:50 时间

本系列基于前文《在 Fedora 上用 LaTex 和 TeXstudio 排版你的文档》和《LaTeX 基础》,本文即系列的第一部分,是关于 LaTeX 列表的。

列表类型

LaTeX 中的列表是封闭的环境,列表中的每个项目可以取一行文字到一个完整的段落。在 LaTeX 中有三种列表类型:

  • itemize无序列表unordered list/项目符号列表bullet list
  • enumerate有序列表ordered list
  • description描述列表descriptive list

创建列表

要创建一个列表,需要在每个项目前加上控制序列 item,并在项目清单前后分别加上控制序列 egin{<类型>} 和 end{<类型>}(将其中的<类型>` 替换为将要使用的列表类型),如下例:

itemize(无序列表)

  1. egin{itemize}
  2. item Fedora
  3. item Fedora Spin
  4. item Fedora Silverblue
  5. end{itemize}

 

enumerate(有序列表)

  1. egin{enumerate}
  2. item Fedora CoreOS
  3. item Fedora Silverblue
  4. item Fedora Spin
  5. end{enumerate}

 

description(描述列表)

  1. egin{description}
  2. item[Fedora 6] Code name Zod
  3. item[Fedora 8] Code name Werewolf
  4. end{description}

 

列表项目间距

可以通过在导言区加入 usepackage{enumitem} 来自定义默认的间距,宏包 enumitem 启用了选项 noitemsep 和控制序列 itemsep,可以在列表中使用它们,如下例所示:

使用选项 noitemsep

将选项 noitemsep 封闭在方括号内,并同下文所示放在控制序列 egin 之后,该选项将移除默认的间距。

  1. egin{itemize}[noitemsep]
  2. item Fedora
  3. item Fedora Spin
  4. item Fedora Silverblue
  5. end{itemize}

 

使用控制序列 itemsep

控制序列 itemsep 必须以一个数字作为后缀,用以表示列表项目之间应该有多少空间。

  1. egin{itemize} itemsep0.75pt
  2. item Fedora Silverblue
  3. item Fedora CoreOS
  4. end{itemize}

 

嵌套列表

LaTeX 最多最多支持四层嵌套列表,如下例:

嵌套无序列表

  1. egin{itemize}[noitemsep]
  2. item Fedora Versions
  3. egin{itemize}
  4. item Fedora 8
  5. item Fedora 9
  6. egin{itemize}
  7. item Werewolf
  8. item Sulphur
  9. egin{itemize}
  10. item 2007-05-31
  11. item 2008-05-13
  12. end{itemize}
  13. end{itemize}
  14. end{itemize}
  15. item Fedora Spin
  16. item Fedora Silverblue
  17. end{itemize}

 

嵌套有序列表

  1. egin{enumerate}[noitemsep]
  2. item Fedora Versions
  3. egin{enumerate}
  4. item Fedora 8
  5. item Fedora 9
  6. egin{enumerate}
  7. item Werewolf
  8. item Sulphur
  9. egin{enumerate}
  10. item 2007-05-31
  11. item 2008-05-13
  12. end{enumerate}
  13. end{enumerate}
  14. end{enumerate}
  15. item Fedora Spin
  16. item Fedora Silverblue
  17. end{enumerate}

 

每种列表类型的列表样式名称

enumerate(有序列表) itemize(无序列表)
alph* (小写字母) $ullet$ (●)
Alph* (大写字母) $cdot$ (•)
arabic* (阿拉伯数字) $diamond$ (◇)
oman* (小写罗马数字) $ast$ (✲)
Roman* (大写罗马数字) $circ$ (○)
  $-$ (-)

按嵌套深度划分的默认样式

嵌套深度 enumerate(有序列表) itemize(无序列表)
1 阿拉伯数字 (●)
2 小写字母 (-)
3 小写罗马数字 (✲)
4 大写字母 (•)

设置列表样式

下面的例子列举了无序列表的不同样式。

  1. % 无序列表样式
  2. egin{itemize}
  3. item[$ast$] Asterisk
  4. item[$diamond$] Diamond
  5. item[$circ$] Circle
  6. item[$cdot$] Period
  7. item[$ullet$] Bullet (default)
  8. item[--] Dash
  9. item[$-$] Another dash
  10. end{itemize}

 

有三种设置列表样式的方式,下面将按照优先级从高到低的顺序分别举例。

方式一:为各项目单独设置

将需要的样式名称封闭在方括号内,并放在控制序列 item 之后,如下例:

  1. % 方式一
  2. egin{itemize}
  3. item[$ast$] Asterisk
  4. item[$diamond$] Diamond
  5. item[$circ$] Circle
  6. item[$cdot$] period
  7. item[$ullet$] Bullet (default)
  8. item[--] Dash
  9. item[$-$] Another dash
  10. end{itemize}

方式二:为整个列表设置

将需要的样式名称以 label= 前缀并封闭在方括号内,放在控制序列 egin 之后,如下例:

  1. % 方式二
  2. egin{enumerate}[label=Alph*.]
  3. item Fedora 32
  4. item Fedora 31
  5. item Fedora 30
  6. end{enumerate}

方式三:为整个文档设置

该方式将改变整个文档的默认样式。使用  enewcommand 来设置项目标签的值,下例分别为四个嵌套深度的项目标签设置了不同的样式。

  1. % 方式三
  2. enewcommand{labelitemi}{$ast$}
  3. enewcommand{labelitemii}{$diamond$}
  4. enewcommand{labelitemiii}{$ullet$}
  5. enewcommand{labelitemiv}{$-$}

总结

LaTeX 支持三种列表,而每种列表的风格和间距都是可以自定义的。在以后的文章中,我们将解释更多的 LaTeX 元素。