It has a pretty clear effect to me:
\hrule
\begin{align}
f(x)&=x
\end{align}
\hrule
\vskip1cm
\belowdisplayskip=0pt
\hrule
\begin{align}
f(x)&=x
\end{align}
\hrule
Can you provide a minimal working example where it doesn't?
\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}
Best Answer
there is stretchable space inserted before and after any multi-line display structure when
amsmath
is used. (stretchable space is similarly inserted around single-line displays, but they aren't as susceptible to the surrounding context.)take a look at what appears on the following page. if there is another large multi-line display near the top (preceded by only one or two lines of text), it isn't by default allowed to break the display if it doesn't fit on the previous page. instead, the stretchable gaps (around displays, before section headings, between paragraphs -- all to a different degree) are stretched to produce a bottom-aligned page.
this isn't really what you usually want, as you have observed.
if you are willing to allow the long display on the second page to break, you can approach this in the following ways:
\allowdisplaybreaks
in the preamble;\displaybreak
immediately before the\\
in the display where it is to take effect.additional possibilities are described in the
amsmath
documentation (texdoc amsmath
).another possibility is that a box of some sort (e.g. a minipage) or other large unbreakable element appears near the top of the "second" page. the tactics for dealing with such a situation depend on what kind of element it is.