[NTG-context] What's the difference between \dodoubleargument and \dodoubleempty?

Wolfgang Schuster schuster.wolfgang at googlemail.com
Tue Oct 21 14:17:14 CEST 2008


On Tue, Oct 21, 2008 at 2:03 PM, Ruini Xue <xueruini at gmail.com> wrote:
> Hans Hagen <pragma <at> wxs.nl> writes:
>
>>
>> Ruini Xue wrote:
>> > It's difficult to understand them from the code.
>>
>> the first one issues a warning when no argument is given
>
> You mean both of them ask the following \command to take two mandatory
> arguments? I try this example:
>
> ======================================
> \def\test
>  {\dodoubleargument\dotest} % use \dodoubleempty
>
> \def\dotest[#1][#2]

You need a comment sign at the end of the line.

\def\dotest[#1][#2]%

>  {\iffirstargument
>   First arg: #1
>  \fi
>  \ifsecondargument
>   Second arg: #2
>  \fi}
>
> \test[ok][ok] % 1. this is ok
>
> \test [ok] [] % 2. warning?

This is just a empty argument.

> \test [wrong] % 3. Error: lack one arg
> ==================================
>
> both 1 and 2 can print "First arg" and "Second arg", so I am confused what's
> "no argument is given"

Wolfgang


More information about the ntg-context mailing list