# Remove vertical space around align

I need to display math in my report, but is it possible to remove the vertical space around align*?

A little example is the following (where I just want the align* to have the same vertical space as a \\

\documentclass[10pt,danish,a4paper,oneside,fleqn]{report}

\usepackage[english]{babel}
\usepackage{amsmath}

\begin{document}

ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
\begin{align*}
A{\cap}B\ & =\ {\left\{{b,d,e}\right\}}{\;}{\cap}{\;}{\left\{{a,b,f,g}\right\}}   \\
\nonumber\ & =\ {\left\{{b}\right\}}
\end{align*}
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss \\
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

\end{document}

-
Please, show a minimal example of what you find wrong. – egreg Mar 9 '12 at 13:41
You shouldn't, it makes the math harder to read – daleif Mar 9 '12 at 13:55
The math is taking to much space in my report as I have a page limit – The87Boy Mar 9 '12 at 13:56

## 1 Answer

\documentclass[10pt,danish,a4paper,oneside,fleqn]{report}

\usepackage[english]{babel}
\usepackage{amsmath,lipsum}

\begin{document}
\setlength{\abovedisplayskip}{0pt}
\setlength{\belowdisplayskip}{0pt}
\setlength{\abovedisplayshortskip}{0pt}
\setlength{\belowdisplayshortskip}{0pt}

\lipsum*[2]
\begin{align*}
A\cap B & = \{b,d,e\} \cap \{a,b,f,g\} \\
& = \{b\}
\end{align*}
\lipsum[3]

\end{document}


Note, however, that this is very poor typography. (lipsum is just to generate dummy text.)

The four parameters state how much vertical space is inserted between text and a math display. The "short" version is used for equation, when the last line of text is short.

You should also check the way you're inputting math. You're using too much redundant braces (that in some cases give very bad results). It's quite rare to use explicit spacing commands in math.

Here's the result of typesetting the test file

This is the principle. In case you use font size changing commands, you have to tell LaTeX that you want this zero spacing in all sizes by putting this in the preamble

\usepackage{etoolbox}
\newcommand{\zerodisplayskips}{%
\setlength{\abovedisplayskip}{0pt}
\setlength{\belowdisplayskip}{0pt}
\setlength{\abovedisplayshortskip}{0pt}
\setlength{\belowdisplayshortskip}{0pt}}
\appto{\normalsize}{\zerodisplayskips}
\appto{\small}{\zerodisplayskips}
\appto{\footnotesize}{\zerodisplayskips}


so that the example becomes

\documentclass[10pt,danish,a4paper,oneside,fleqn]{report}

\usepackage[english]{babel}
\usepackage{amsmath,lipsum}
\usepackage{etoolbox}
\newcommand{\zerodisplayskips}{%
\setlength{\abovedisplayskip}{0pt}
\setlength{\belowdisplayskip}{0pt}
\setlength{\abovedisplayshortskip}{0pt}
\setlength{\belowdisplayshortskip}{0pt}}
\appto{\normalsize}{\zerodisplayskips}
\appto{\small}{\zerodisplayskips}
\appto{\footnotesize}{\zerodisplayskips}

\begin{document}

\lipsum*[2]
\begin{align*}
A\cap B & = \{b,d,e\} \cap \{a,b,f,g\} \\
& = \{b\}
\end{align*}
\lipsum[3]

\end{document}

-
 Thanks for the comments, but the setlength's did not do it :( – The87Boy Mar 9 '12 at 14:04 It does. You probably have other display environments, I'll update my answer – egreg Mar 9 '12 at 14:06 It stills give me the same result, no space removed – The87Boy Mar 9 '12 at 14:29 Works for me as well, but makes me wondering why it doesn't work when the \setlength commands are set in the preamble. – Philipp Mar 9 '12 at 15:04 @Philipp The parameters' values are set by \normalsize and other size changing commands, which might account for the OP's problem. – egreg Mar 9 '12 at 15:17
show 2 more comments