# Why does align character & remove horizontal space?

This is something I've been wondering and annoyed about for a long time but cannot find an answer to.

Assume that I have a chain of equations:

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


looking like

Now assume that the terms in a and b are just too long to put both of them into one line. Therefore, I would like to break the line after a, continue with the equals sign in the next line, and have a, b and c aligned - so I try:

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


However, this produces the output

so that the horizontal space between the equals sign and the terms is too small. It seems to me that this is because I try to use the align character & to the right side of the equals sign instead of the left side, because it works fine like this:

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


produces

My only idea for a workaround to get rid of the equals sign in the first line was to just add a phantom:

\begin{align*}
&\hphantom{=} a \\
&= b \\
&= c
\end{align*}


but firstly it does not work anyway (why??):

and secondly, if I start to use different characters (<, \Leftrightarrow, ...) that have different sizes, I need to to put different phantoms all over the place, which is pretty cumbersome. Also, I'd like to avoid any way of manual spacing, like \;, \, etc., because I don't know which one would be the right one and it also seems to be a dirty workaround rather than the optimal solution.

What is the underlying problem here, and how can I solve it? I'd appreciate any help, thanks in advance.

• What you note is that = is defined as an operator which adds space to the left and right if there are operands. If you put it into a phanom-box, no space will be added. A quick fix would be \hphantom{{}={}}, with {} taking the role of operands. Apr 26, 2022 at 8:38
• The problem is that the cell border separates the = and the letter and so the mathrel space is not added. Try = {}&b instead. Apr 26, 2022 at 8:38
• Putting = to the left of & runs a bit against the intended use of align. Maybe have a look into the amsmath documentation and use aligned or something similar to arrange the parts of your equation. If you are not satisfied in the end, it may help to show us the whole equation. Apr 26, 2022 at 8:41

This is not directly related to & you see this in an example just using inline math

\documentclass{article}

\begin{document}

1 $a=b$

2 {$a=$}{$b$}

3 {$a={}$}{$b$}

4 {$a$}{${}=b$}

\end{document}


In an AMS alignment, odd numbered columns are set as \hfil$\displaystyle#$ so right aligned displaystyle math. Even numbered columns are set as $\displaystyle{}#$\hfil so left aligned, but with a leading {} so that &= aligns on = while keeping the \mathrel spacing.

So, to align after the operator, you need to add the {}, and use ={}&