### Detecting that something is empty

Suppose you need to know that the argument of your command is empty: that is, to distinguish between `\cmd` and `\cmd{blah}`. This is pretty simple:

>     \def\cmd#1{%
>       \def\tempa{}%
>       \def\tempb{#1}%
>       \ifx\tempa\tempb
>         <empty case>
>       \else
>         <non-empty case>
>       \fi
>     }

The case where you want to ignore an argument that consists of nothing but spaces, rather than something completely empty, is more tricky. It's solved in the code fragment ifmtarg, which defines commands `\@ifmtarg` and `\@ifnotmtarg`, which distinguish (in opposite directions) between a second and third argument. The fragment makes challenging reading; there's also a discussion of the issue in number two of the "around the bend" articles by the late lamented Mike Downes.

`Around the bend series`
  info/aro-bend (zip, browse)
`ifmtarg.sty`
  macros/latex/contrib/misc/ifmtarg.sty

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=empty