Spacing – Resolving Extra Space Added After Colored Equations

colorequationsspacing

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?

enter image description here

\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
The comment With {\color{blue}a = b + c} there is no additional space ... 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*}

Best Answer

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)

enter image description here

\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}!!