ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Wolfgang Schuster <wolfgang.schuster@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: conditional argument and \doifemptyelse
Date: Wed, 6 Nov 2013 22:33:33 +0100	[thread overview]
Message-ID: <0D0FACCC-B06A-433A-B9C0-F73122A23F4B@gmail.com> (raw)
In-Reply-To: <527A97E2.1080003@gmx.es>


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
___________________________________________________________________________________


  reply	other threads:[~2013-11-06 21:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-06 19:26 Pablo Rodriguez
2013-11-06 21:33 ` Wolfgang Schuster [this message]
2013-11-07 19:07   ` Pablo Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0D0FACCC-B06A-433A-B9C0-F73122A23F4B@gmail.com \
    --to=wolfgang.schuster@gmail.com \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).