# How to make \left\{ and \right. work in an new environment?

I have tried to define a new environment numcases, which just like the cases except tagging the equations as a whole, and

\newenvironment{numcases}{$$\left\{\begin{array}{rll}}% {\end{array}\right.$$}


also I know the cases package, but it will tag all lines of equations (not as a whole). I guess that the problem in my definition is that the \left{ and \right. not in a block (i.e., a {}), so any solution?

-
Is there really a need for it? Why not \begin{cases} ... \end{cases} which would be clearer? (Needs \usepackage{amsmath}) – egreg Nov 8 '12 at 9:30
As David pointed out in his answer, the code works just ok. This means that in the present form, there's nothing to answer. – yo' Nov 8 '12 at 10:30

Please always post complete documents that show the problem. There is nothing wrong with your fragment so presumably your problem is in a part you have not shown.

\documentclass{article}
\newenvironment{numcases}{$$\left\{\begin{array}{rll}}% {\end{array}\right.$$}

\begin{document}

\begin{numcases}
a&1&x\\
b&2&y\\
c&3&z
\end{numcases}

\end{document}

-
Thanks, you were definitely right, the problem is in other part. My definition works perfectly. – user19832 Nov 8 '12 at 13:19
@user19832: Then I think you should accept this answer of David. – canaaerus Nov 9 '12 at 17:59

The environ package allows you to define such a environment, that first reads the whole body and then puts it into some command. (compare also http://tex.stackexchange.com/a/67849/15616)

In your case this should look something like:

\usepackage{environ}
\NewEnviron{numcases}{%
$$\left\{\begin{array}{rll}% \BODY% \end{array}\right.$$}

-
It does. but there is nothing wrong with there definition as posted either. – David Carlisle Nov 8 '12 at 9:21
@DavidCarlisle: Ok, just saw your answer. Good to know, I just did not try it myself ;-) – canaaerus Nov 8 '12 at 9:22
Yes, it quite helpful in some other circumstances. – user19832 Nov 8 '12 at 13:20