Hi all,

Preface


most of the discussions in the last weeks on the list
concerned LuaTeX and MkIV with the topic fonts, xml and bugs,
currently not implemented functions and bug and in the last
few days also mplib. I will try start with this mail a
hopefully interesting discuassions wuth many people about the
current state to use ConTeXt for correspondence in personal
and business live.



Introduction


Although ConTeXt has many features and can be used for nearly
every type of document with many features to adapt the layout
to ones personal requirements we have still a few places where
something is missing or force us to use another tool. I will
focus myself for the moment on the missing support for a real
module to write letter and other correspondence.



The Past and the present


A few modules had been written in the past to write letter but
wether they are not available like Hans own module or it is to
complicated to use.

Hans own module m-letter.tex was never included in the main
distribution and the documentation [1] was never finished but
it is now possible to find a older version in the list
archives. The strong point on the module are the possibility
to change the size and position of the address and reference
fields but it was nearly impossible to add extra information
like values for sender or to make big changes in the layout.

The second option to write a letter was and is Holger Schöners
letterstyle environment [2], he provided a layout for german
letters with a DIN style and macros to store address and
sender information. What looked like a good solution to me at
first glance had also many disadvatages, the names for the
fields in the refrence line used hard to memorize name like
\lettersenderkey... and no high level interface to set them.
Another point to me which prevented me from using the style
was the hard way to change the layout, the environment
provided commands to change the values but all was done with
simple definition and no setup command.

A few user write their own simple setups and environemnts to
write letter [2,3] but none of them was really confugrable or
provided a real interface.



The future


The lack of any good soution for this topic forced me to write
my own letter module for ConTeXt. I started myself with Hans
letter module and added a extra field to add my own address
but this was at a time where I was still new to ConTeXt and
most of the content in m-letter.tex where confusing to me and
I had problem to adapt the layout to my own requirements.
After I gained a little bit more knowledge in TeX and ConTeXt
is started to write a new module from scratch with the option
to load style files and set the information for the address
and all other information with a better interface.

After nearly one and a helf years and 2 major revisions I have
nearly finished my module and would will make it now available
also to other users. But before I make my last stable version
online I want to discuss a few points with interested users.



The discussion


Before I start to give you information about my module and
give you the chance to mention your own wishes or thoughts
about the inteface I'm interested what do you use currently to
write you own correspondence (letter, invoices etc.).

After this interesting question for me I will now make a few
information about my module available.

The module use by default the definition for german business
letters as layout where the position for the address block and
the reference line are defined. To change the layout for your
own letter I provide the option to change the default settings
with the one for all command \setupletterstyle, you could use
it to set the page layout, the position for the different
blocks for address and sender information and also for the
bodyfontsize and parskip and parindent. To use once defined
for many letter you could save them in so called letterstyle
files which can be loaded either with the module
\usemodule[letter][style=...] or within the letter with the
command \useletterstyle[...].

The lettertext is written between the \startletter ...
\stopletter environment and it is possible to write in
adcouemnt as many letters as you want, you could write serial
letters and use the correspodence modul to save the address
information in a XMl file.

The values for letter are set with the \setupletter command
but this is one of the still open points, the current
implemtation requires sometimes to many lines for just a few
information and I plan to replace it with a simpler system.

Take the following minimal example

\usemodule[letter]

\setupletter
  [sender]
  [name={Mike Meiers},
   address={Mustergasse 12\\25694 Musterstadt}]

\setupletter
  [address]
  [name={Hans Hansen},
   address={Zielweg 34\\78561 Tiny Town}]

\starttext

\startletter
  [opening={Dear Hans,}]

letter text

\stopletter

\stoptext

As you can see the opening for the letter is set as optional
argument for \startletter because it is also possible to write
it in the long form \setupletter[data][opening=...] but a
simpler system could be usefull especially if you want to set
only text for address and something like
\setupletter[fromname=...,address=...] or
\setlettervalue[address]{...} are options to replace the
current solution.

Before I release I first public bety version of the modul I
want to hear which interface to set the letter information do
you prefer and do you have things do want in the module. I
could provide more ready to use layout for the module (like
block style for americal letter) but I need information about
the layout and the position for the fields.


Wolfgang Schuster

[1] http://www.pragma-ade.com/show-man-29.htm
[2] http://wiki.contextgarden.net/Letter_style
[3] http://www.tug.org/pracjourn/2006-3/hogg/
___________________________________________________________________________________
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