[Tex/LaTex] Parskip: Suppressing parskip in some places

parskip

I use the package parskip, but want to suppress the parskip in some places, i.e. after headings inserted by a specific macro.

A negative vspace doesn't work, since parskip's spacing can stretch.

The only workaround I found is using \\ instead of a paragraph, but that feels wrong. Is there a better way?

Best Answer

\documentclass{article}
\usepackage{parskip}

\begin{document}
foo\par bar\par baz

{\parskip=0pt
foo\par bar\par baz\par}

foo\par bar\par baz
\end{document} 

enter image description here

Or as a command:

\documentclass{article}
\usepackage{parskip}
\newcommand\foo[1]{\par#1\par\vspace{-\parskip}}
\begin{document}
bar\par bar

\foo{some nonsense}

bar\par bar

\foo{some nonsense}

bar

\end{document}