vertikaler Abstand zwischen Absätzen und `topsep` in \usepackage{enumitem} heben sich gegenseitig auf

vertikaler Abstand zwischen Absätzen und `topsep` in \usepackage{enumitem} heben sich gegenseitig auf

Ich verwende , \setlength{\parskip}{\baselineskip}um vertikalen Abstand zwischen den Absätzen in meinem Dokument einzufügen. Dies führt jedoch zu einem Konflikt mit meinen Listenumgebungen. Um das zu lösen, verwende ich das enumitemPaket, um den Abstand zwischen der letzten Zeile vor meiner Aufzählungsumgebung und meinem ersten Element auf 0 zu setzen. =0ptDer mit erstellte Absatzabstand \setlength{\parskip}{\baselineskip}hebt dies jedoch auf. Ich kann es erreichen, indem ich es topsepauf ~ setze -9pt, aber dann verliere ich den Abstand zwischen dem letzten Element und dem nächsten Absatz (MWE ist unten). Ich habe mich bewusst dafür entschieden, noitemsepda ich auch weniger Abstand zwischen den einzelnen Elementen haben möchte, ich möchte dies beibehalten.

Raum, den ich loswerden möchte

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

Antwort1

Fügen Sie before={\vspace*{-\baselineskip}}zu Ihren itemizeOptionen hinzu:

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

Ausgabe:

Bildbeschreibung hier eingeben

Antwort2

Die Antwort von karlkoeller funktioniert seit einiger Zeit hervorragend, Sie sollten sich jedoch über Folgendes im Klaren sein:

Die Verwendung von negativen vspaceUmwelteinflüssen kann unerwünschte Nebenwirkungen haben, wie z. B.diese Frageist mir schon passiert. Die Manipulation vspaceführt dazu, dass Latex die vertikale Größe falsch berechnet und es kann dazu kommen, dass der Seiteninhalt beispielsweise über den Fußnotenbereich hinausläuft.

\topsepStattdessen sollten Sie die Umgebung davor (und ggf. danach) so manipulieren , dass sie weniger vertikalen Raum einnimmt.

verwandte Informationen