Tx · LaTeX & TikZ

How to Reduce Space Between a Proof and an Enumerated List

Published By the 9to5Science editorial team

At a glance

  1. 1. Set list spacing

    Use enumitem options on the enumerate environment, especially topsep, to reduce its surrounding vertical space.

  2. 2. Check the proof spacing

    If a gap remains, the proof environment’s own bottom spacing may be contributing.

  3. 3. Adjust only as needed

    Keep changes local where possible; avoid negative vertical skips as a first fix.

The space between a proof and an enumerate list usually comes from the vertical spacing around one or both environments. The quickest fix is to set the list’s topsep with the enumitem package. This changes spacing locally when you put the option on that particular list.

Reduce the enumerate spacing locally

Load enumitem, then pass topsep=0pt to the list:

\documentclass{article}
\usepackage{amsthm}
\usepackage{enumitem}

\begin{document}

\begin{proof}
The claim follows from the definition.
\end{proof}
\begin{enumerate}[topsep=0pt]
  \item First consequence.
  \item Second consequence.
\end{enumerate}

\end{document}

topsep controls the vertical space around a list. This local option affects only this enumerate; other lists retain their usual spacing. Adjust the value to taste, such as topsep=2pt, rather than assuming zero is always best for readability.

What the other spacing options do

If the list itself looks too loose, these options control different parts of its layout:

OptionControls
topsepSpace above and below the list
itemsepSpace between consecutive items
parsepSpace between paragraphs within one item
partopsepExtra space added when a list starts after a paragraph break

For example, to make the list compact in all these respects, write:

\begin{enumerate}[topsep=0pt, itemsep=0pt, parsep=0pt, partopsep=0pt]
  \item First item.
  \item Second item.
\end{enumerate}

You can also use nosep as a shorthand for suppressing the list’s vertical spacing:

\begin{enumerate}[nosep]

Use nosep when you want a compact list, but use explicit options when you want to preserve some space between items while reducing only the gap around the list.

If the gap remains after the proof

The amsthm package’s proof environment has its own vertical spacing. Therefore, setting the following list’s topsep to zero may reduce the gap without eliminating it: the remaining space can come from the bottom of the proof environment. This is especially relevant when the list is a separate environment after \end{proof}.

If you need finer control, adjust the proof environment’s spacing as well. The standard amsthm proof definition sets its list spacing internally, so simply setting \topsep before \begin{proof} may not work: the proof definition can overwrite that value. A custom proof environment can be based on amsthm’s definition with a smaller \topsep, but copy the definition for the version of amsthm you use and preserve its QED handling. For a one-off layout adjustment, a small, carefully tested \vspace between the environments is possible, but it is more fragile than setting the list and proof spacing deliberately.

If the enumerate is inside the proof instead, the list’s topsep controls the space between the proof text and the list. The same local option is usually the right first adjustment.

Common mistakes

  • Changing itemsep when the problem is above the list. itemsep changes gaps between items; use topsep for space around the list.
  • Setting \topsep globally and expecting it to control every environment. Packages and environments can set their own list spacing, and a global change may affect unrelated lists.
  • Using negative \vspace as the first fix. It can produce inconsistent results near page breaks or when surrounding content changes. Prefer list options, then adjust proof spacing if necessary.
  • Confusing spacing with indentation. Options such as leftmargin change the list’s horizontal position, not the vertical gap.

For most documents, begin with a local topsep setting. Add the other enumitem options only if you also want to change the spacing within the list.

References

  1. enumitem package documentation
  2. The amsthm package documentation

Spotted an error? Send a correction. Read how we write and check articles in our editorial policy.