16

I am trying to compile a simple cases example, but I'm having trouble with the tabular separator &. Here's my code:

\begin{equation}
    f(x) = 
    \begin{cases}
        x + 1 & \mbox{blabla} \\
        x & \mbox{otherwise}
    \end{cases}
\end{equation}

I am getting the following errors:

Misplaced alignment tab character &. x + 1 &

Misplaced alignment tab character &. x &

What could be wrong?

6
  • 10
    Welcome to tex exchange! Are you loading the amsmath or mathtools package? The following MWE works for me \documentclass{article} \usepackage{amsmath} \begin{document} \begin{equation} f(x) = \begin{cases} x + 1 & \mbox{blabla} \ x & \mbox{otherwise} \end{cases} \end{equation} \end{document}
    – cmhughes
    Jul 23, 2012 at 16:32
  • I'll also confirm that @cmhughes MWE works for me. When I remove \usepackage{amsmath}, I get the "Misplaced alignment tab character &." error that you mention. Jul 23, 2012 at 16:34
  • 8
    It's a known problem: for historical reasons, LaTeX has an undocumented \cases macro inherited from Plain TeX, which has a very different syntax than the cases environment provided by amsmath.
    – egreg
    Jul 23, 2012 at 16:55
  • @egreg: Interesting. Jul 23, 2012 at 17:15
  • 1
    I think this question and especially the answer are quite helpful to a broader audience. Hence, I am voting for reopen. Dec 22, 2022 at 9:31

1 Answer 1

30

Short answer

The cases environment requires the amsmath package:

\usepackage{amsmath}

Long answer

For historical reasons, LaTeX defines a \cases macro: on page 232 of Lamport's manual one reads

Most Plain TeX commands can be used in LaTeX, but only with care.

and \cases is indeed a Plain TeX command which has quite a different syntax than the cases environment. It would be possible to use it without loading amsmath, but the features of this package are much better than the Plain TeX commands: more flexible and with a uniform syntax.

By the way, here's how one could input the equation with this method:

\begin{equation}
f(x) = 
\cases{
  x + 1 & blabla \cr
  x & otherwise \cr
}
\end{equation}

It's evident that the syntax is foreign to LaTeX: the second column is typeset in text mode and not math mode and the lines must be terminated by \cr. Most important, the alignment must go between braces: this is the main cause of the error.

Don't use it and stick to \usepackage{amsmath}.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .