# Aligning multiple equation environments with cases

I have some code that works but I wish to align the environments according to the descriptions. I've tried various combinations of align, equation and cases, but can't seem to find a functional solution.

$$\textit{Initial conditions} \qquad \begin{cases} C\left(X,0\right) = S\left(X,0\right) = 0\\ C\left(0,T\right) = 1 \end{cases} \label{eq:dimensionless_initcond}$$
$$\textit{Continuous injection} \qquad C\left(0,T\right) = 1 \label{eq:dimensionless_continuous}$$
$$\textit{Finite injection} \qquad C\left(0,T\right) = \begin{cases} 1 \text{ for } 0 < T < T_0\\ 0 \text{ for } T_0 < T < \infty \end{cases} \label{eq:dimensionless_finite}$$


Optimal case would be to have the environments such that both descriptions and equations are left aligned as seen in my badly done mspaint picture here:

My initial thought would be to place everything in an align environment as follows:

\documentclass{article}
\usepackage{amsmath,amssymb}
\pagestyle{empty}
\begin{document}

\begin{align}
\mytext{Initial conditions}
& \begin{cases}
C\left(X,0\right) = S\left(X,0\right) = 0\\
C\left(0,T\right) = 1
\end{cases}
\label{eq:dimensionless_initcond}
\\[2ex]
\mytext{Continuous injection}
&
C\left(0,T\right) = 1
\label{eq:dimensionless_continuous}
\\[2ex]
\mytext{Finite injection}
&
C\left(0,T\right)
=
\begin{cases}
1 \text{ for } 0 < T < T_0\\
0 \text{ for } T_0 < T < \infty
\end{cases}
\label{eq:dimensionless_finite}
\end{align}

\end{document}


Since the align environment wants to make the material in the first column right aligned, I create a box to wrap the text there \mytext which you can format as you want. It uses a \makebox whose syntax is:

\makebox[<width>][<alignment>]{<text>}


The <alignment> here can be left l, right r, or center which is the default.

• Implementing your solution it gives a lot of Undefined control sequence errors when I added the \newcommand in my preamble file. It works perfectly with the \newcommand in the specific .tex file itself however. Not as pretty code-wise, but it works :) cheers! Oct 28, 2013 at 12:39