段落之間的垂直空間和 \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在環境之前(以及之後,如果需要)進行操作,以使其消耗更少的垂直空間。

相關內容