174

I'm somewhat of a LaTeX noob, and this is driving me completely nuts.

When I type

\documentclass{article}
\usepackage{enumitem}

\begin{document}
    Some text
    \begin{itemize}[noitemsep]
        \item Item 1
        \item Item 2
        \item Item 3
    \end{itemize}
\end{document}

I don't want the space which appears in between the text "Some text" and the itemization to be there:

screenshot

When I search around on Google all I see is tons of long, complicated advice on this site, StackOverflow, forums, etc. on how to not fix the problem ("parskip is evil", etc.), or tons of vague/confusing answers on what package to look at, with no actual example for me to learn from.

So while this question is already asked many times, I have never found a single concrete answer to this question.

The question couldn't be simpler: How do I "properly" get rid of this extra space?

5 Answers 5

189

That space is governed by topsep. Set it to 0pt.
You can customize itemize/enumerate environments very easily using the enumitem package.

enter image description here

\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\begin{document}
\noindent Some text
\begin{itemize}[noitemsep]
  \item Item 1
  \item Item 2
  \item Item 3
\end{itemize}
\bigskip\bigskip
Some text
\begin{itemize}[noitemsep,topsep=0pt]
  \item Item 1
  \item Item 2
  \item Item 3
\end{itemize}
\end{document}

To set this globally, use

\setlist[itemize]{noitemsep, topsep=0pt}

See section 5 Global settings (p 9) of the enumitem documentation for more details on this and perhaps creating your own list environment that has these predefined settings.

16
  • 2
    Bonus question: Do you happen to know if there's any way to change the default value for the whole document? :)
    – user541686
    Dec 8, 2012 at 3:32
  • 11
    Is this answer still valid? I didn't work for me.
    – piepi
    Feb 4, 2018 at 5:33
  • 2
    @piepi: Yes. You must be doing something different. For example, using the beamer class (or something else).
    – Werner
    Feb 5, 2018 at 16:15
  • 1
    Please mention that you are using the package enumitem. Just copying the itemize block won't work.
    – Thomas
    Apr 21, 2020 at 11:19
  • 1
    @Thomas: You'll see that I have \usepackage{enumitem} in the preamble, so that means that I am "using the package enumitem."
    – Werner
    Apr 21, 2020 at 15:18
13

The enumitem package now provides [nosep] to suppress the space above and below lists as well as the space between items. However, this option does not suppress the space above and below the list if you are also using the parskip package in your document.

9
  • 1
    This answer doesn't make sense... parskip doesn't provide a nosep option.
    – Werner
    Oct 13, 2016 at 21:20
  • Are you meaning enumitem rather than parskip? But it's not a package option anyway.
    – egreg
    Oct 13, 2016 at 21:27
  • 1
    Sorry, I was not as explicit as I should have been: the [nosep] option in the enumitem package does not work if you are also using the parskip package in the document. Oct 23, 2016 at 21:17
  • 1
    So how do I suppress the space above and below lists if I am using parskip? Feb 14, 2018 at 8:49
  • 1
    You have to do it manually: \kern-\parskip\begin{itemize} then your \items and then \end{itemize}\kern-\parskip. I am assuming there is a typographical reason why you want to do this: if you use parskip then you presumably expect space above and below lists. It looks a little weird having space between paragraphs but not before and after lists. Feb 15, 2018 at 20:30
10

An alternative to this is to just use:

\usepackage{paralist}

And the compactitem environment:

\begin{compactitem} 
    \item This is entry number one, compact 
    \item This is entry number two, compact 
\end{compactitem}

to see more on this, check: Compact lists with paralist.

3
  • Can you please check the link, looks suspicious, it redirects me to a scam website Sep 1, 2019 at 4:20
  • Broken link indeed. You will have to Google "Compact lists paralist".
    – PLG
    Sep 2, 2019 at 8:03
  • This is incompatible with beamer
    – Spenhouet
    Sep 8, 2019 at 13:52
4

In some cases you might need to add \nointerlineskip after an itemize environment to get rid of spacing below.

3
  • This makes the vertical spacing after the environment inconsistent. Apr 21, 2019 at 11:45
  • 1
    This is the only thing that worked for me with beamer
    – Spenhouet
    Sep 8, 2019 at 13:53
  • Is there another option to get rid of the space above itemize / enumerate?
    – mhellmeier
    Jan 12, 2021 at 14:38
2

This worked for me, add minus topsep=-8pt

\begin{itemize}[noitemsep,topsep=-8pt]
1
  • When I try this, the text noitemsep,topsep=-8pt is appearing verbatim at each item, instead of being used to adjust the spacings.
    – Della
    8 mins ago

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.