2009/1/21 Wolfgang Schuster <schuster.wolfg...@googlemail.com>:
>> And in the main file I have:
>>
>>   \letterclosing{Hoogachtend}{Cecil Westerhof}
>>
>> But I would like to have this as the default, so I could use:
>>
>>   \letterclosing
>>
>> Beside that I would like to have the possibility to use:
>>
>>   \letterclosing{business}
>> or
>>   \letterclosing{family}
>>
>> This would then use defined values.
>>
>> When the first parameter is filled, but not with a recognized value,
>> then the second parameter should be filled. If not, the compilation of
>> the file should generate an error. Is this something that can be done?
>
> \long\def\letterbody#1%
>  {{\blank[line]\setupindenting[yes,medium]#1\par}}
>
> \def\letterclosing
>  {\dodoublegroupempty\doletterclosing}
>
> \def\doletterclosing#1#2%
>  {\ifsecondargument
>     \dodoletterclosing{#1}{#2}%
>   \else
>     \doifelsenothing{#1}
>       {\doletterclosing{Hoogachtend,}{Cecil Westerhof}}%
>       {\processaction
>          [#1]
>          [  family=>{\dodoletterclosing{Informal closing,}{Cecil
> Westerhof}},
>           business=>{\dodoletterclosing{Formal closing}{Cecil Westerhof}},
>            unknown=>{\errorisfataltrue\waitonfatalerror}]}%
>   \fi}
>
> \def\dodoletterclosing#1#2%
>  {\blank[line]#1\blank[3*line]#2}
>
> \setupindenting[yes,none]
>
> \starttext
>
> \letterbody{\dorecurse{2}{\input knuth\par}}
> \letterclosing{Hoogachtend,}{Cecil Westerhof}
>
> \page
>
> \letterbody{\dorecurse{2}{\input knuth\par}}
> \letterclosing{family}
>
> \page
>
> \letterbody{\dorecurse{2}{\input knuth\par}}
> \letterclosing{business}
>
> \page
>
> \letterbody{\dorecurse{2}{\input knuth\par}}
> \letterclosing{unknown}
>
> \stoptext

Goes a long way. With two parameters it works. When using 'unknown' or
'dummy', I get \wait= messages. When giving enter, the document is
still generated. But that is not a real problem. But when using:
    \letterclosing
or
    \letterclosing{}

I get the same wait= message and there is no letterclosing generated
(or an empty one).

Found the problem.
     \doifelsenothing{#1}
       {\doletterclosing{Hoogachtend,}{Cecil Westerhof}}%
should be:
     \doifelsenothing{#1}
       {\doletterclosing{Hoogachtend,}{Cecil Westerhof}}%

Now it seems to do what I want.

-- 
Cecil Westerhof
___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to