As much as I have tried, it doesn't seem possible to use separate labels when using a casesconstruction (from the amsmath package).

Ideally, I would like to be able to write something like


and later refer to both cases at different places. What would be the best way to achieve this result?

4 Answers 4


You can use numcases from the cases package if you want each case labelled as a separate equation. There is also the subnumcases environment which gives you an alternative labelling:

enter image description here

   1 & $x\geq0$ \label{positive}
   0 & $x<0$ \label{negative}

See the second case \ref{negative} or the first \ref{positive}

   1 & $x\geq0$ \label{positive-subnum}
   0 & $x<0$ \label{negative-subnum}

See the second case \ref{negative-subnum} or the first \ref{positive-subnum}
  • 3
    Exactly what I needed! Worth mentioning is the subnum package option that turns every numcases environment into a subnumcases one.
    – FelixCQ
    Commented Oct 19, 2011 at 6:23
  • I've taken the liberty of adding the option preview to the \documentclass instruction. The default behavior of the standalone document class has changed since 2011, and your MWE won't compile correctly any longer without the preview option.
    – Mico
    Commented Aug 3, 2014 at 12:45
  • Hi, is it possible to use this method for a 'dcase' envirinment?
    – Fahim B
    Commented Nov 9, 2018 at 21:15
  • @FahimB: Good question. I don't know but would recommend you post a new question and link to this one as it is very much related. Commented Nov 9, 2018 at 22:29

Using only the amsmath package and no additional packages, it is possible with some box manipulation:

enter image description here

\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newsavebox{\mycases}% Store case "title" and brace
  \sbox{\mycases}{$\displaystyle f(x)=\left\{\begin{array}{@{}c@{}}\vphantom{1\ x\geq0}\\\vphantom{0\ x<0}\end{array}\right.\kern-\nulldelimiterspace$}
  \raisebox{-.5\ht\mycases}[0pt][0pt]{\usebox{\mycases}}1 \quad x\geq0\label{positive} \\
     0 \quad x<0\label{negative}
  • 6
    Your method has the virtue of producing \labels that are handled correctly by \cref (of the cleveref package) cross-referencing commands, whereas the solution produced by the cases package -- see @PeterGrill's parallel answer -- does not.
    – Mico
    Commented Aug 3, 2014 at 12:55
  • 1
    Also, it's compatible with the refcheck package, as opposed the subnumcases solution. Commented Mar 15, 2019 at 17:26

You can do this by the empheq package from the mh bundle.

\usepackage{empheq}   % loads »mathtools«, which in turn loads »amsmath«

    1 &\quad x\geq0\label{positive}\\
    0 &\quad x<0\label{negative}

You can combine the preceding solution with the subequations environment if you refer to the equations as a group. If you want to refer to the group, you have to introduce a \label just before entering the align environment. Here it is in action:




  \begin{align}[left ={Φ(A_n) = \empheqlbrace}]
    & \max \left [ L_n-A_n, 0 \right]\\
    & \max \left [ L_n-A_n, K \right]\label{eq:PayoffStopLosses}\\
    & \max \left [ L_n-A_n, K_1 \right] -\max \left [ A_n-L_n, K_2 \right]

As we can see in \cref{Phi:def}, and more specifically in \cref{eq:PayoffStopLosses},…


enter image description here

  • 3
    useful concept. please show what references (\eqref) would look like, for the group as a whole, and for one or more of the subequations. Commented May 28, 2014 at 18:55

You must log in to answer this question.

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