使用 paralist 更改项目内的段落间距

使用 paralist 更改项目内的段落间距

我在 paralist 包中使用 compactenum。我希望项目内的段落之间有间距,但项目之间没有额外的间距。选项:

\plparsep:项目内段落之间的间距,此环境的 parskip。

看起来应该是这样。但是使用它也会在两个项目之间产生空间。我怎样才能获得额外的垂直空间,但仅限于一个项目内?

平均能量损失

\documentclass[12pt]{report}
\usepackage{paralist}
\plparsep 0.2in

\begin{document}
  \begin{compactenum}
   \item foo

   bar

   \item foo
   \item bar
  \end{compactenum}
\end{document}

如上所述,我得到了我想要的第一个项内的间距,但第二个和第三个项之间也得到了额外的间距。注释掉 \plparsep 0.2in 则得到完全相反的结果:第一个项内没有间距,第二个和第三个项之间也没有间距。

答案1

我们\plparsep=0.2in在中使用了负值\plitemsep\plitemsep=-0.2in。目前这是我们的结果。

%! *latex mal-spacing.tex
\documentclass[12pt]{report}
\pagestyle{empty}
\usepackage{paralist}
\plparsep=0.2in
\plitemsep=-0.2in
\begin{document}
Text before.
  \begin{compactenum}
   \item foo\par
   bar1\par
   bar2\par
   \item foo
   \item bar
  \end{compactenum}
Text after.
\end{document}

姆韦

答案2

enumitem您可以使用功能更加多样的包获得相同的结果。

这里有两个例子,我选择让标签缩进等于段落缩进:

\documentclass[12pt, a4paper]{report}

\usepackage[utf8]{inputenc}
\usepackage[textheight = 24cm]{geometry}
\pagestyle{empty}
\usepackage{lipsum}
\usepackage{enumitem}
\setlist[enumerate, 1]{labelindent=\parindent, labelwidth=0.5em, leftmargin=!, align=left}

\begin{document}

\lipsum[1]
  \begin{enumerate}[noitemsep, parsep = 0.5cm, itemsep = -\parsep ]
   \item foo\par
   bar1\par
   bar2\par
   \item foo
   \item bar
  \end{enumerate}

  \lipsum[2]
  \begin{enumerate}[nosep, parsep = 1cm, itemsep = -\parsep ]
   \item foo\par
   bar1\par
   bar2\par
   \item foo
   \item bar
  \end{enumerate}

  \lipsum[3]

\end{document} 

在此处输入图片描述

相关内容