段落間の垂直スペースと \usepackage{enumitem} 内の `topsep` は互いに打ち消し合う

段落間の垂直スペースと \usepackage{enumitem} 内の `topsep` は互いに打ち消し合う

\setlength{\parskip}{\baselineskip}ドキュメント内の段落間に垂直スペースを挿入するために を使用しています。ただし、これによりリスト環境と競合が発生します。これを解決するためにenumitem、パッケージを使用して、itemize 環境の前の最後の行と最初の項目の間にスペースを設定しています=0ptが、 で作成された段落のスペースによってこれがキャンセルされます。 ~ に\setlength{\parskip}{\baselineskip}設定することでこれを達成できますが、最後の項目と次の段落の間のスペースが失われます (MWE は以下のとおりです)。個々の項目間のスペースも少なくしたいため、意図的に を選択しました。これを維持したいと思います。topsep-9ptnoitemsep

取り除こうとしているスペース

\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}}}

MWE:

\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代わりに、環境の前(および必要に応じて後)を操作して、垂直方向のスペースの消費を抑える必要があります。

関連情報