![编辑](https://linux22.com/image/294212/%E7%BC%96%E8%BE%91.png)
我想让enumerate
环境看起来像这样:
1. First item [...]
[first item continued]
2. Second item [...]
也就是说,文本应该看起来像正常的正文,只是带有缩进的数字。我还想能够控制项目之间的垂直间距,这样我就可以选择将其从默认值更改为零。
以下是 MWE:
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\begin{enumerate}
\item \lipsum[1]
\item \lipsum[2]
\end{enumerate}
\end{document}
答案1
leftmargin
和0pt
非零的Aitemindent
起作用:
\documentclass{article}
\usepackage{enumitem,lipsum}
\begin{document}
\lipsum[1]
\begin{enumerate}[leftmargin=0pt,itemindent=2em]
\item \lipsum[2]
\item \lipsum[4]
\end{enumerate}
\lipsum[3]
\end{document}
可以通过 设置项目之间的垂直间距itemsep
。
答案2
这与 Werner 的答案并无不同,但项目标签不会溢出到边距中。也就是说,如果添加align=left
,项目编号将与文本区域左对齐,而不是与文本区域的左侧对齐。我发现这在理论上更令人满意,但承认这可能不合理!
我还为列表设置了段落缩进。正如 Gonzalo Medina 指出的那样,如果您删除项目之间的垂直分隔,您也需要删除项目内段落之间的垂直分隔。但您仍然需要一些东西来区分段落分隔符,因此您需要停止将段落缩进设置为零的列表环境。
\documentclass{article}
\usepackage{enumitem,lipsum}
\begin{document}
\lipsum[1]
\begin{enumerate}[labelindent=0pt, labelwidth=*, leftmargin=0pt, itemindent=!, itemsep=0pt, parsep=0pt, listparindent=\parindent]
\item \lipsum[2]
\item \lipsum[4-5]
\end{enumerate}
\lipsum[3]
\end{document}
编辑
正如 Gonzalo Medina 在评论中指出的那样,如果在序言中全局设置这些设置,则更容易一致地使用这些设置。
我将通过以下设置创建一个新的列表环境来实现此目的:
\documentclass{article}
\usepackage{enumitem}
\newlist{mylist}{enumerate}{1}
\setlist[mylist]{labelindent=0pt, labelwidth=*, leftmargin=0pt, itemindent=!, itemsep=0pt, parsep=0pt, listparindent=\parindent}
...
mylist
这样我就可以在文档本身中使用该环境:
\begin{mylist}
\item ...
\end{mylist}
因此,为了创建上述示例,我将使用以下代码:
\documentclass{article}
\usepackage{enumitem}
\newlist{mylist}{enumerate}{1}
\setlist[mylist]{label={\arabic*.}, labelindent=0pt, labelwidth=*, leftmargin=0pt, itemindent=!, itemsep=0pt, parsep=0pt, listparindent=\parindent}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{mylist}
\item \lipsum[2]
\item \lipsum[4-5]
\end{mylist}
\lipsum[3]
\end{document}
如果你仅有的enumerate
想要这种类型的编号列表,那么您可以使用以下方式更改序言中的默认设置:
\setlist[enumerate]{labelindent=0pt, labelwidth=*, leftmargin=0pt, itemindent=!, itemsep=0pt, parsep=0pt, listparindent=\parindent}
或者
\setlist[enumerate,1]{labelindent=0pt, labelwidth=*, leftmargin=0pt, itemindent=!, itemsep=0pt, parsep=0pt, listparindent=\parindent}
它将仅使用这些设置进行第一级枚举。