32
votes

I'd like to align some equations in Latex using the AMS packages. Each equation has two equal signs that need to be aligned. So something in the line of

A = B = C
D = E = F

I've tried using the align-environment like this

\begin{align}
A &= B &= C \\
D &= E &= F
\end{align}

This works in principle (it aligns), however it adds ridiculously large spaces before the second equal sign in each line. But I just want the line to runs as if there was no additional alignment tab. Only when I replace for example "B" by "BBB" I want the equal sign before "F" to shift to right the exact amount of space.

Could anyone help me out on that one? It's kind of driving me crazy since I don't get the idea of that strange behavior and I just can't find any solution. Maybe alignat could help, but I don't really get how that environment works or in how it differs from normal align.

Cheers, Oliver

3
You might want to consider posting this on the TeX Stack Exhange site: tex.stackexchange.comFreddie Witherden
Thanks man, this site looks great. I'm just puzzled how I never came across it before.. I've posted my question there in case people are interested: tex.stackexchange.com/questions/6572/…janitor048
Better fit for TeX.stackexchange.comkolossus

3 Answers

21
votes

This should work:

\begin{alignat}{2}
  A &= B & &=  C \\
  D &= E & &=  F
\end{alignat}

From ams guide:

A variant environment alignat allows the horizontal space between equations to be explicitly specified. This environment takes one argument, the number of “equation columns”: count the maximum number of &s in any row, add 1 and divide by 2.

Its not exactly intended for what you are trying to do, but since align insists on adding space... The idea behind align is:

l&=r   &   l&=r \\
l&=r   &   l&=r

One '&' per function, and a '&' between functions.

I would hope there is a better solution though.

2
votes

(6½ to 8 years later)

What about using array with a custom separator?

\begin{array}{r@{\ }c@{\ }l}
A &= B &= C \\
D &= E &= F
\end{array}
-5
votes

What about the below? They produce aligned "=" signs for me...

\begin{tabular}{lllll}
 A  &  =  &  B  &  =  &  C  \\
 D  &  =  &  E  &  =  &  F  \\
\end{tabular}


\begin{tabular}{lllll}
 A  &  =  &  BBB  &  =  &  C  \\
 D  &  =  &  E  &  =  &  F  \\
\end{tabular}