# Extra space added after equation when it is coloured

For some reason space is added after my equation when I colour it. This does not happen if the colour is added to text.

Is there a simple way to prevent this from happening, like a global setting (I am not interested in manually adjusting the space with \vspace{-1cm})? Perhaps there is a better way to colour my equation (another package, another command, etc), or in other words, am I doing something wrong?

\documentclass[12pt]{standalone}

\usepackage{amsmath}
\usepackage{color}

\begin{document}

\begin{minipage}{4cm}
\begin{equation*}
a = b + c
\end{equation*}
\begin{align*}
a - b &= c\\
a-c & b
\end{align*}
\end{minipage}

\vline

\begin{minipage}{4cm}
\begin{equation*}
\color{blue}    a = b + c
\end{equation*}
\begin{align*}
a - b &= c\\
a-c & b
\end{align*}
\end{minipage}

\end{document}


For reference, the closest question I found to this one doesn't seem to solve my problem, ie, adding \fboxsep0pt to my preamble did not change the output.

EDIT Kurt's comment solves part of the problem, but it doesn't work when using for example align (it gives an error):

\begin{align*}
{\color{blue}    a - b &= c}\\
a-c &= b
\end{align*}


If I try to fix this using the command twice leaving the & outside, the spacing around = is wrong:

\begin{align*}
{\color{blue}    a - b} &{\color{blue}= c}\\
a-c &= b
\end{align*}

-
With {\color{blue}a = b + c} there is no additional space ... – Kurt Jan 13 '13 at 3:40
Spacing can be fixed via {\color{blue}{}= c}. – Peter Grill Jan 13 '13 at 3:59
I'm not convinced this has anything to do with color. Two math environments should not be placed 'back to back' like this- you should use gather*. When you use gather*, the spacing is the same in both – cmhughes Jan 13 '13 at 4:45
@Vivi I won't vote to close this one yet. I think this one merits a definite answer since this deals with a more specific setting. Eventually though, it might get closed. Answering this in the linked post is not within context, I think. Although it was mentioned there that one needs to scope the effect of \color inside {} . – hpesoj626 Jan 13 '13 at 5:43
@cmhughes: You shouldn't use align* as the inner environment; I didn't even know that this is possible. With aligned as the inner environment, everything works nicely, Vivi. – Hendrik Vogt Jan 13 '13 at 8:39

Oh. It's an AMS bug, the alignment is not color safe . Never noticed that before:-) In that case you need explicit grouping (use begingroup rather than bgroup or { as it's rather less intrusive into math spacing)

\documentclass[12pt]{standalone}

\usepackage{amsmath}
\usepackage{color}

\begin{document}

\begin{minipage}{4cm}
\begin{equation*}
a = b + c
\end{equation*}
\begin{align*}
a - b &= c\\
a-c & b
\end{align*}
\end{minipage}

\vline

\begin{minipage}{4cm}
\begin{equation*}
\begingroup\color{blue}    a = b + c\endgroup
\end{equation*}
\begin{align*}
a - b &= c\\
a-c & b
\end{align*}
\end{minipage}

\end{document}


It's actually a bit harsh to call it an AMS bug, the same effect is seen with \[ in LaTeX however rather than grouping each case, this is probably the correct fix (anywhere in the preamble after loading amsmath. I'll ping @barbarabeeton

\def\foo#1$$#2!!{\def\mathdisplay##1{#1$$\begingroup#2}}
\expandafter\foo\mathdisplay{#1}!!

\long\def\foo#1$$#2!!{\def\endmathdisplay##1{#1\endgroup$$#2}}
\expandafter\foo\endmathdisplay{#1}!!

-
Aren't \patchcmd{\mathdisplay}{$$}{$$\begingroup}{}{} and \patchcmd{\endmathdisplay}{$$}{\endgroup$$}{}{} easier? ;-) – egreg Aug 14 '15 at 20:49

while there is indeed extra (unwanted) space when two display environments are adjacent, and this space increases when color is added, the amsmath display environments are not designed to be used in this manner. all display material between two blocks of text should instead be placed into a single environment, which can then be subdivided into "subsidiary" nested environments as appropriate. (someone mentioned that in a comment, but it didn't make it into david's answer.) here is an expanded example showing the desired outcome in the last column. (i've changed blue to red because blue tends to disappear on my screen.)

\documentclass[12pt]{standalone}

\usepackage{amsmath}
\usepackage{color}

\begin{document}

\begin{minipage}{4cm}
\begin{equation*}
a = b + c
\end{equation*}
\begin{align*}
a - b &= c\\
a-c &= b
\end{align*}
\end{minipage}

\vline

\begin{minipage}{4cm}
\begin{equation*}
\color{red}    a = b + c
\end{equation*}
\begin{align*}
a - b &= c\\
a-c & b
\end{align*}
\end{minipage}

\vline

\begin{minipage}{4cm}
\begin{equation*}
\begingroup\color{red}    a = b + c\endgroup
\end{equation*}
\begin{align*}
a - b &= c\\
a-c &= b
\end{align*}
\end{minipage}

\vline

\begin{minipage}{4cm}
\begin{gather*}
\begingroup\color{red}    a = b + c\endgroup\\
\begin{split}
a - b &= c\\
a-c &= b
\end{split}
\end{gather*}
\end{minipage}

\end{document}


so is this a bug in amsmath? if this extra space appears when a "simple" one-environment instance comes between two text blocks, then it is definitely a bug. if there is no extra space in that context, then it's not a bug, since the behavior is what amsmath is designed to do. here's the example to decide the matter.

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{color}

\begin{document}

\begin{equation*}
a = b + c
\end{equation*}
some more text.  make this also a rather long line.
\begin{equation*}
\color{red}    a = b + c
\end{equation*}
still more text.  make this also a rather long line.

\end{document}


no extra space. thus i interpret the problem as misuse of the environments, and not a bug.

-