How can I pass a blank to this command
\newcommand{\iam}[1][happy]{I am #1.}
so that I get this result
I am .
Note: My actual command operates in the math mode, so the space between "am" and "." is of no concern.
To pass an empty optional argument, thus overriding the non-blank default, just use []:
\iam[]
\iam[]? ........ ... – cfr Oct 25 '14 at 20:54