I saw these command when i searching sth. I wonder if we can increase numbers if conditions.

it's like if{0} = a, if{1}=b, if{2}=c, if{3}=d etc.

\if{#1 != 0}
Some text, because it's nonzero
Some other text, because it's zero

  • 1
    TeX has the \ifnum conditional (and also \ifcase), but you may be better off using etoolbox's arithmetic tests. Commented Dec 17, 2013 at 18:28

2 Answers 2


You can do much better: a \newcasecommand that can deal with arbitrary labels, not only numbers.


\NewDocumentCommand{\newcasecommand}{ m m O{No~default~value} }
  \cs_new_protected:Npn #1 ##1
    \str_case:nnF { ##1 } { #2 } { #3 }

 {0}{The number is zero}
 {1}{The number is one}
 {x}{We have x}







The syntax is

  {<string-a>}{<text for case a>}
  {<string-b>}{<text for case b>}
 }[<text for no match>]

The final argument is optional; the default is printing an informative text, which could be turned into a warning.

enter image description here

  • thats exacly what i need.
    – mert
    Commented Dec 17, 2013 at 18:48

You might like \ifcase ...\or...\fi for this situation- here's a complete example to play with

% arara: pdflatex
% !arara: indent: {overwrite: yes}

    Some text, because it's zero
    Some other text, because it's one
    Some other text, because it's two
    % keep going if you need 3, 4, 5, etc


You must log in to answer this question.

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