Suponha que você precise saber que o argumento de seu comando está vazio: isto é, distinguir entre \cmd
{}
e \cmd
{blah}
. É muito simples:
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\def\cmd#1{% \def\tempa{}% \def\tempb{#1}% \ifx\tempa\tempb\else \fi }
\@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!