ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* conditional argument and \doifemptyelse
@ 2013-11-06 19:26 Pablo Rodriguez
  2013-11-06 21:33 ` Wolfgang Schuster
  0 siblings, 1 reply; 3+ messages in thread
From: Pablo Rodriguez @ 2013-11-06 19:26 UTC (permalink / raw)
  To: mailing list for ConTeXt users

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?

Many thanks for your help,


Pablo
-- 
http://www.ousia.tk
___________________________________________________________________________________
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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: conditional argument and \doifemptyelse
  2013-11-06 19:26 conditional argument and \doifemptyelse Pablo Rodriguez
@ 2013-11-06 21:33 ` Wolfgang Schuster
  2013-11-07 19:07   ` Pablo Rodriguez
  0 siblings, 1 reply; 3+ messages in thread
From: Wolfgang Schuster @ 2013-11-06 21:33 UTC (permalink / raw)
  To: mailing list for ConTeXt users


Am 06.11.2013 um 20:26 schrieb Pablo Rodriguez <oinos@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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: conditional argument and \doifemptyelse
  2013-11-06 21:33 ` Wolfgang Schuster
@ 2013-11-07 19:07   ` Pablo Rodriguez
  0 siblings, 0 replies; 3+ messages in thread
From: Pablo Rodriguez @ 2013-11-07 19:07 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On 11/06/2013 10:33 PM, Wolfgang Schuster wrote:
> Am 06.11.2013 um 20:26 schrieb Pablo Rodriguez <oinos@gmx.es>:
>> [...]
>> 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,

many thanks for your reply and the fix.


Pablo
-- 
http://www.ousia.tk
___________________________________________________________________________________
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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-11-07 19:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-06 19:26 conditional argument and \doifemptyelse Pablo Rodriguez
2013-11-06 21:33 ` Wolfgang Schuster
2013-11-07 19:07   ` Pablo Rodriguez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).