conditional argument and \doifemptyelse
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
Am 06.11.2013 um 20:26 schrieb Pablo Rodriguez
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
On 11/06/2013 10:33 PM, Wolfgang Schuster wrote:
Am 06.11.2013 um 20:26 schrieb Pablo Rodriguez
: [...] 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
participants (2)
-
Pablo Rodriguez
-
Wolfgang Schuster