段落之间的垂直间距和 \usepackage{enumitem} 中的 `topsep` 相互抵消

段落之间的垂直间距和 \usepackage{enumitem} 中的 `topsep` 相互抵消

我用\setlength{\parskip}{\baselineskip}它来在文档的段落之间插入垂直空间。然而,这会与我的列表环境产生冲突。为了解决这个问题,我使用包来enumitem设置我的 itemize 环境之前的最后一行和我的第一个项目之间的空间,=0pt但是,用 创建的段落间距\setlength{\parskip}{\baselineskip}会抵消它。我可以通过设置topsep为 ~ 来获得它-9pt,但是这样我会丢失最后一项和下一段之间的间距(MWE 在下面)。我特意选择了这个,noitemsep因为我也希望单个项目之间的间距更小,我想保留这个。

我试图摆脱的空间

\documentclass{article}

% insert vertical space between paragraphs
\setlength{\parskip}{\baselineskip} 

% Modifies itemized lists with enumitem http://www.ctan.org/pkg/enumitem
\usepackage{enumitem}
 \setlist[itemize]{noitemsep, topsep=0pt} % , topsep=-9pt

 % http://tug.ctan.org/tex-archive/macros/latex/contrib/blindtext/blindtext.pdf
\usepackage{blindtext} 

\begin{document} 

\blindtext

\noindent
This is the things cancel each other out:
% space I would like to get rid of is here!
\begin{itemize}
\item dummy first item
\item insert vertical space between paragraphs
\item \verb|[topsep=0pt]| in \verb| \usepackage{enumitem} |
\item dummy last item
\end{itemize}

\blindtext

\blindtext

\end{document}

答案1

添加before={\vspace*{-\baselineskip}}您的itemize选项:

\setlist[itemize]{noitemsep, topsep=0pt, before={\vspace*{-\baselineskip}}}

梅威瑟:

\documentclass{article}

% insert vertical space between paragraphs
\setlength{\parskip}{\baselineskip}

% Modifies itemized lists with enumitem http://www.ctan.org/pkg/enumitem
\usepackage{enumitem}
 \setlist[itemize]{noitemsep, topsep=0pt, before={\vspace*{-\baselineskip}}} % , topsep=-9pt

 % http://tug.ctan.org/tex-archive/macros/latex/contrib/blindtext/blindtext.pdf
\usepackage{blindtext}

\begin{document}

\blindtext

\noindent
This is the things cancel each other out:
% space I would like to get rid of is here!
\begin{itemize}
\item dummy first item
\item insert vertical space between paragraphs
\item \verb|[topsep=0pt]| in \verb| \usepackage{enumitem} |
\item dummy last item
\end{itemize}

\blindtext

\blindtext

\end{document} 

输出:

在此处输入图片描述

答案2

karlkoeller 的答案在一段时间内很有效,但您应该注意以下几点:

vspace对环境使用负面可能会产生不良的副作用,例如这个问题我也遇到过这种情况。 操作vspace会导致 Latex 计算错误的垂直尺寸,并可能导致页面内容溢出,例如脚注区域。

相反,您应该\topsep在环境之前(如果需要,也可以在环境之后)进行操作,以使其消耗更少的垂直空间。

相关内容