5

I have an item list that I would like to start on a new line, but without a full paragraph space before the first item. I try the different options in enumitem to control this and they work they way I expect. However, when I use the parskip package, the behaviour changes dramatically.

For example, the following has the desired spacing:

\documentclass[12pt, a4paper, pdftext, draft]{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[compact]{titlesec}
%
\usepackage{enumitem}
%
\begin{document}
Bunch of text here.

New paragraph here\newline
New line here.
\begin{itemize}[partopsep=0pt, topsep=0pt, parsep=0pt, itemsep=0pt, leftmargin=*]
\item First item
\item second one
\item etc.
\end{itemize}
More here.
\end{document}

But when I introduce the parskip, it adds a bunch of extra space before the list:

\documentclass[12pt, a4paper, pdftext, draft]{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[compact]{titlesec}
%
\usepackage[parfill]{parskip}
\parfillskip = 2em plus 1fil %Override parfill default (\parfillskip = 30pt plus 1fil)
%
\usepackage{enumitem}

%
\begin{document}
Bunch of text here.

New paragraph here\newline
New line here.
\begin{itemize}[partopsep=0pt, topsep=0pt, parsep=0pt, itemsep=0pt, leftmargin=*]
\item First item
\item second one
\item etc.
\end{itemize}
More here.
\end{document}

Is there a way to have the list spacing I want AND the paragraph formatting I get from parskip?

4

If you want bad typography, just set topsep=-\parskip; if you want less bad typography, don't use parskip.

\documentclass[12pt, a4paper]{article}
\usepackage[a4paper,margin=1in]{geometry}
\usepackage[compact]{titlesec}
\usepackage[parfill]{parskip}

\usepackage{enumitem}

\begin{document}
Bunch of text here.

New paragraph here\newline
New line here.
\begin{itemize}[partopsep=0pt, topsep=-\parskip, parsep=0pt, itemsep=0pt, leftmargin=*]
\item First item
\item second one
\item etc.
\end{itemize}
More here.
\end{document}

enter image description here

  • OK, I replace \usepackage{parskip} with \setlength{\parindent}{0pt}, manually end paragraphs ('\\') and live without the parfill behaviour. – user28325 May 1 '14 at 10:14
  • 1
    @pff That's even wronger. – egreg May 1 '14 at 10:15
  • Do you mind to explain? – user28325 May 1 '14 at 10:18
  • @pff Ending paragraphs with \\ is wrong. What do you think parfill does? I think you have not it clear. – egreg May 1 '14 at 10:23
  • Ah, I see, seems I can't have it both ways then. If I leave out parskip the subsequent paragraphs get squeezed together. So, it looks like I will have to live with topsep=-\parskip – user28325 May 1 '14 at 10:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy