Am 06.11.2013 um 20:26 schrieb Pablo Rodriguez <oi...@gmx.es>:

> Dear list,
> 
> I’m trying to define a command that has a conditional argument:
> 
>    \def\MyCommand#1#2#3{#1, #2, \doifemptyelse{#3}{#1}{#3}}
>    \starttext
>    \MyCommand{first}{second}
>    \stoptext
> 
> The problem is that \doifemtpyelse only works if there the third
> argument is there as {}. And the third argument is actually an exception
> to workaround an unwanted behavior of the command in very few
> exceptional cases.
> 
> Is there no way to make \MyCommand above work with \doifemptyelse even
> if its third argument is not defined?

\def\MyCommand
  {\dotriplegroupempty\doMyCommand}
  
\def\doMyCommand#1#2#3%
  {#1, #2, \ifthirdargument #3\else #1\fi}

\starttext

\MyCommand{first}{second}{third}

\MyCommand{first}{second}

\stoptext

Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to