From: Cecil Westerhof <cldwesterhof@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Using defaults and indexes
Date: Wed, 21 Jan 2009 18:11:22 +0100 [thread overview]
Message-ID: <bb8b59590901210911r36712190xa6cc802eb7f496b5@mail.gmail.com> (raw)
In-Reply-To: <30C27B4C-BEC1-47D7-82B1-643F689EC3A5@gmail.com>
2009/1/21 Wolfgang Schuster <schuster.wolfgang@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
___________________________________________________________________________________
next prev parent reply other threads:[~2009-01-21 17:11 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-21 15:02 Cecil Westerhof
2009-01-21 15:36 ` Wolfgang Schuster
2009-01-21 17:11 ` Cecil Westerhof [this message]
2009-01-21 17:44 ` Wolfgang Schuster
2009-01-21 18:28 ` Cecil Westerhof
2009-01-21 19:12 ` Wolfgang Schuster
2009-01-21 17:59 ` Tad Ashlock
2009-01-21 18:18 ` Wolfgang Schuster
2009-01-21 18:30 ` Cecil Westerhof
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=bb8b59590901210911r36712190xa6cc802eb7f496b5@mail.gmail.com \
--to=cldwesterhof@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).