释放小七猫的分享欲

对比学一下 HTML 和 Latex 的常用输入输出——列表

categories: 技术 tags: Latex
@ 12/11/2021

平时看文章最讨厌的就是杂乱无章的标号(我厌我自己),所以列表还是得好好学学。

参考链接

https://www.runoob.com/html/html-lists.html

https://www.cnblogs.com/ahhylau/p/4586167.html

HTML 列表

列表标签 作用
ol 定义有序列表
ul 定义无序列表
li 定义列表项
dl 定义列表
dt 自定义列表项目
dd 定义自定列表项的描述

在各类富文本编辑器中也提供了这样的列表功能。

可见,常用的列表也就这两种。

无序列表

<ol>
    <!--无序列表-->
    <li>我是猪</li>
    <li>我是狗</li>
</ol>

有序列表

只需将 ol 替换为 ul 即可。

自定义列表

它不仅仅是一列项目,而是项目及其注释的组合。

自定义列表以 <dl> 标签开始。每个自定义列表项以 <dt> 开始。每个自定义列表项的定义以 <dd> 开始。

<dl>
    <dt>Coffee</dt>
    <dd>- black hot drink</dd>
    <dt>Milk</dt>
    <dd>- white cold drink</dd>
</dl>

提示: 列表项内部可以使用段落、换行符、图片、链接以及其他列表等等。

在这样的特性下,嵌套操作就比 word 好用很多。

Latex 列表

Latex 的列表基本也就是这些东西,但是相比较而言更为细节。

常见的有三种:

有序列表 enumerate

\begin{enumerate}
    \item This is the first item
    \item This is the second item
    \item This is the third item
\end{enumerate}

语法和之前提到的内容是类似的,\item 表示列表项开始了。排版试卷的时候经常会用到\item。

圆点标签 itemize

\begin{itemize}
    \item This is the first item
    \item This is the second item
    \item This is the third item
\end{itemize}

解说列表 description,可以指定标签

%\usepackage{pifont}
\begin{description}
    \item[\ding{47}] This is the first item
    \item[\ding{47}] This is the second item
    \item[\ding{47}] This is the third item
\end{description}

列表环境也可以互相嵌套,默认情况下不同层级的标签不同,以体现分级层次。

上述三种列表都是基于 list 列表环境定制的,也就是说 list 环境是功能最强大的列表环境,只是由于它使用起来比较麻烦,所以很少被使用。其实上述的三种列表在通过一定的扩展后可以产生许多样式的列表,这些基本就可以满足平时的需要了。下面说一下怎么进行功能扩展。enumitem 宏包可以对 enumerate、itemize 和 description 环境进行功能扩展,并且提供了简便的语法。enumitem 宏包允许用户在上述三种列表中通过 key=value 的键值方式进行设置。可选的设置项包括:

  • 垂直距离

    –  topsep
    –  partopsep
    –  parsep
    –  itemsep

  • 水平距离

    –  leftmargin
    –  rightmargin
    –  listparindent
    –  labelwidth
    –  labelsep
    –  itemindent

这些距离的含义可以从图示中清楚的反映出来,更详细的说明可以参看 enumitem 宏包的说明文档。

根据不同需求的场景,需要使用的列表样式也不同。