Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm trying to use the cases environment inside an equation environment. The sample code is quite simple:

\begin{equation*}
        X(\omega) = \begin{cases}
                        1 \text{se $\omega \in A$} \\
                        0 \text{se $\omega \in A^c$}
                    \end{cases}

\end{equation*}

Compiling it with Kile results in this error:

Missing $ inserted

and some other messages about ending delimiters not present.

I have \usepackage{amsmath} at the beginning of my document.

Also I must tell you that I have an other piece of code, which is identical, and which works fine:

 \begin{equation*}
  B_i = \begin{cases}
        A_i^c \text{se $i \in I$,}
        \\
        A_i \text{se $i \in I \smallsetminus I'$}.
        \end{cases}
 \end{equation*}

Also this piece gave me some errors the other day, then I changed the \begin{equation*} ... \end{equation*} to $$ and $$ and it worked. Replace $$ with the equation environment and the error was magically gone.

I've already tried doing this with that piece of code, but nothing changes.

share|improve this question
3  
Try delimiting the error; it's probably due to something that comes before that cases environment. You should be putting & in front of \text, but this isn't related to the error. –  egreg Aug 18 '12 at 14:45
2  
Right now I realized that removing the blankline between \end{cases} and \end{equation*} fixes this issue. But I'm still interested in why something like this happens. I'll do some tests when I've got time, maybe this error is caused by the defn environment I'm using(defined using \newtheorem). –  Bakuriu Aug 18 '12 at 14:52
    
@Bakuriu, you are aright. I got the same error with the blank line. Maybe this line is interpreted as a new line for equation and should be non empty. –  Sigur Aug 18 '12 at 15:19
add comment

2 Answers

up vote 14 down vote accepted

In the displaymath mode, you can not use any paragraph triggering commands such as blank lines or \par commands. (Not a good idea, but you can use it inside the cases environment). Also you don't need to switch to text mode and then again to math mode. You can just use text on the text and leave the rest as it is.

Another point is the use of & characters which is the column delimiter that should be used inside the cases environment. This would be apparent if one of the cases starts with 1250 and the other is 1 which would lead to a bad alignment (try without the & characters!).

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
X(\omega) = \begin{cases}
1 &\text{se $\omega\in A$}\\
1250 &\text{se $\omega \in A^c$}
\end{cases}
\end{equation*}

\end{document}

enter image description here

Also mathtoolspackage provides some nice extensions and bugfixes of amsmath, so here is an example of dcases* environment which automatically switches to text mode in the second entry of the case declaration:

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[
X(\omega) = \begin{dcases*}
1 & se $\omega\in A$\\
0 & se $\omega \in A^c$
\end{dcases*}
\]
\end{document}

enter image description here

If you are using the standalone class (which gives errors) then you have to use it as

\documentclass[preview]{standalone}
share|improve this answer
    
@GonzaloMedina, I guess that the author edited the code in his question. –  Sigur Aug 18 '12 at 15:28
    
Thank you for your reply. I did not think that leaving blank lines in math mode would cause such troubles. I thought that they'd simply be ignored. –  Bakuriu Aug 19 '12 at 11:49
add comment

I've found that \begin{cases} wants to be wrapped in $ to not generate an error. I am just learning LaTeX, but when I make sure to being and \end{cases} within a math environment, my error goes away.

share|improve this answer
3  
In the original posting, the cases environment was contained in an equation* environment, which is provided by the amsmath package and automatically initiates (and terminates) displaymath. displaymath material is typeset centered on a separate line (or lines) by itself. The issue with the OP's code was not a missing switch to a math environment but, rather, the fact that the amsmath package doesn't permit blank lines in a displaymath setting. In contrast, you seem to be proposing a switch to an inline math environment, which will not display its contents centered. –  Mico Sep 26 '13 at 17:12
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.