编辑

编辑

我想让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

leftmargin0pt非零的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}

它将仅使用这些设置进行第一级枚举。

相关内容