我在 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}