12

In one big align environment, I want to put some cases environments. I would like the alignment of the cases environments to be the same. For example, if I write:

\begin{align}
f(x) &= 
  \begin{cases}
    x & \text{if } x\geq 0,\\
    -x & \text{if } x <0,
  \end{cases}\\
g(x) &=
  \begin{cases}
    \sqrt{x} & \text{if } x \geq 0,\\
    -\sqrt{-x} & \text{if } x < 0.
  \end{cases}
\end{align}

then the equation looks ugly because the two cases environment are aligned at different points. Is there a way to force the alignment point of the two environment to be the same?

David Carlisle
  • 757,742
antonio
  • 341

3 Answers3

15

You could also use a \hphantom{} to add the appropriate amount of horizontal space:

enter image description here

Code:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
f(x) &= 
  \begin{cases}
    x\hphantom{-\sqrt{-}} & \text{if } x\geq 0,\\
    -x & \text{if } x <0,
  \end{cases}\\
g(x) &=
  \begin{cases}
    \sqrt{x} & \text{if } x \geq 0,\\
    -\sqrt{-x} & \text{if } x < 0.
  \end{cases}
\end{align}
\end{document}
Peter Grill
  • 223,288
  • I was hoping in something that does not require some sort of manual spacing, that I could also use in more complicated examples. Thank you anyway! – antonio Feb 04 '13 at 17:16
11

You can enclose one of the entries in the first cases environment in a box whose width is that of the longest of the second cases environment.

\newlength{\temp}
\settowidth{\temp}{$-\sqrt{-x}$}
\begin{align}
f(x) &= 
  \begin{cases}
    \makebox[\temp][l]{$x$} & \text{if } x\geq 0,\\
    -x & \text{if } x <0,
  \end{cases}\\
g(x) &=
  \begin{cases}
    \sqrt{x} & \text{if } x \geq 0,\\
    -\sqrt{-x} & \text{if } x < 0.
  \end{cases}
\end{align}

enter image description here

Moriambar
  • 11,466
Guido
  • 30,740
3

Use a combination of hphantom and mathrlap provided by the package mathtools. Put the longest expression in hphantom and wrap mathrlap around the expression that hphantom is placed after.

In your example, the longest expression is -\sqrt{-x}. To place hphantom where x is, use

\mathrlap{x}\hphantom{-\sqrt{-x}}

For example:

\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{align}
  f(x) &= \begin{cases}
    \mathrlap{x}\hphantom{-\sqrt{-x}} & \text{if } x\geq 0,\\
    -x & \text{if } x <0,
  \end{cases}\\
  g(x) &= \begin{cases}
    \sqrt{x} & \text{if } x \geq 0,\\
    -\sqrt{-x} & \text{if } x < 0.
  \end{cases}
\end{align}
\end{document}
Taiki
  • 506