Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I know that you're generally told to align binary operators to the right of a relation symbol like this (using {align*}):

\begin{align*}
x={}&a+b+c\\
    &+d+e+f
\end{align*}

But would it look better (though be more error prone) to do something like this to get the + exactly flush with the a?

\begin{align*}
x={}&a+b+c\\
    &{+}\: d+e+f
\end{align*}

(That is, use braces to turn the + into an ordinary symbol and add the medium space between the + and the d by hand.)

Edit: I'm trying to do exactly what's said in rule 3.3.5b, "Break at conjunctions and align to the right of the first verb", on page 46 of Mathematics into Type (updated edition, 1999).

share|improve this question
3  
I'd never want to align the + to the a. :) –  egreg Sep 14 '12 at 17:39
    
I know a lot of folks would consider this a hack, but I'd use \phantom in the following way \begin{align*} x&=a+b+c\&\phantom{ {}=a}+d+e+f \end{align*} which looks like this –  cmhughes Sep 14 '12 at 17:59
add comment

2 Answers

up vote 5 down vote accepted

First I want to summarize and discuss the variants.

\begin{align*}
x={}&a+b+c\\
    &+d+e+f
\end{align*}

Unaligned

TeX adds space around binary operators in display and text style, thus the + is moved to the right and destroys the alignment.

The variant of cmhughes aligns the + signs. Because the horizontal space matters only, the example uses \hphantom:

\begin{align*}
x={}&a+b+c\\
    &\hphantom{a}+d+e+f
\end{align*}

Alignment on plus signs

The alignment on the first binary operator on the right side of the equation is a little arbitrary. Also a could be a huge summand moving the second line far to the right margin.

I agree with MSC that suppressing the white space before the plus sign makes sense. He removes the property of a binary operator of the plus sign and manually adds the space for the following operand:

\begin{align*}
x={}&a+b+c\\  
    &{+}\: d+e+f
\end{align*}

Alignment on the right side

It can also be implemented the other way round by removing the space in front of the binary operator:

\begin{align*}
x={}&a+b+c\\
    &\mskip-\medmuskip+ d+e+f
\end{align*}

This can also be implemented as macro:

\newcommand*{\leftbin}{%
  \nonscript\mskip-\medmuskip
  \mathbin
}

\begin{align*}
x={}&a+b+c\\
    &\leftbin+d+e+f
\end{align*}

It can also be used as \leftbin{+}. The space is only added in text and display math styles. Therefore \nonscript is used (see comment of egreg). \mathbin ensures that the next math atom or sub formula is treated as binary operator.

share|improve this answer
3  
Wouldn't \nonscript\mskip-\medmuskip be better than \mathchoice? –  egreg Sep 14 '12 at 18:58
    
Thanks, shorter. –  Heiko Oberdiek Sep 14 '12 at 19:18
    
Not a very frequently used primitive indeed. :) –  egreg Sep 14 '12 at 19:21
    
@egreg The perfect one for this purpose. It seems that Knuth had similar problems. ;-) –  Heiko Oberdiek Sep 14 '12 at 19:23
add comment

I like

\begin{align*}
   x&=a+b+c\\
    &\quad+d+e+f
\end{align*}

Blockquote

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.