Jean-Philippe Rey schrieb am 24.05.2019 um 13:49:
Hello Everybody,
Le 8 avr. 2019 à 15:26, Henning Hraban Ramm <te...@fiee.net> a écrit :
How would you approach serial letters, e.g. to all members of a club?
(Actually I need to send out donation receipts.)
I’d like to use the letter module, since my usual letter design is using it.
I can export the addresses to CSV, JSON, Lua tables or whatever or transfer
them to a SQLite db.
Would it make more sense to read them in Lua and combine this data with a
buffer, or to write a single tex file for every letter?
I know how to do the latter, but I’d like to learn a more ConTeXt-ish way.
Would it make sense to use the bibliographies module?
I have the same need. I tried a basic solution:
======================= Start failing example
\usemodule[letter]
\setupletter[
signature={JPR},
closing={Sincerely yours,}
]
\def\GenLetter[#1]{
\getparameters[GL][#1]
\startletter[
toname={\GLto},
toaddress={\GLadr},
opening={\GLciv},
]
Blah blah \GLciv.
\stopletter
}
\starttext
\GenLetter[civ={M.}, to={Pierre Durand}, adr={Trifouillis-les-Oies}]
\stoptext
======================= End failing example
My idea being to generate as many letters I like by multiplying the \GenLetter
line.
However, I get an error message I don’t understand. Can someone point to the
thing I am doing wrong ?
The problem is that you put the letter-environment in a command but the
environment uses the buffer mechanism to store the content which doesn't
work when it is used in a command definition.
What you have to do is to move the content of the letters out of the
\GenLetter command, you can use the lettercontent-environment for this.
In the \GenLetter command you now use the \placeletter command to flush
the content of the letter with the current values for the address etc.
%%%% begin example
\usemodule[letter]
\setupletter
[signature={JPR},
closing={Sincerely yours,}]
\setupletter
[ toname=\correspondenceparameter{to},
toaddress=\correspondenceparameter{adr},
opening=\correspondenceparameter{civ}]
\startlettercontent
Blah blah \correspondenceparameter{civ}.
\stoplettercontent
\def\GenLetter[#1]%
{\begingroup
\setupletter[#1]%
\placeletter
\endgroup}
\starttext
\GenLetter[civ={M.}, to={Pierre Durand}, adr={Trifouillis-les-Oies}]
\stoptext
%%%% end example
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://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________