Suponha que você precise saber que o argumento de seu comando está vazio: isto é, distinguir entre \cmd{}
e \cmd{blah}. É muito simples:
\def\cmd#1{%
\def\tempa{}%
\def\tempb{#1}%
\ifx\tempa\tempb
\else
\fi
}
O caso em que você queira ignorar um argumento que consista em nada além de espaços, em vez de algo completamente vazio, é mais complicado. Ele é solucionado pelo fragmento de código ifmtarg, que define comandos \@ifmtarg e \@ifnotmtarg, que examinam o primeiro argumento deles e selecionam (em direções opostas) o segundo ou terceiro argumento. O código do pacote também aparece na classe memoir do LaTeX
class.
O Ifmtarg torna a leitura desafiadora; há também uma discussão sobre a questão no número dois dos artigos “around the bend” do falecido Mike Downes.
This question on the Web: http://latex.net.br/faq/FAQ-empty.html
Do you have any question? Ask on: latex.net.br - we love qood questions!