summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-10-30 23:56:37 +0000
committerKarl Berry <karl@freefriends.org>2008-10-30 23:56:37 +0000
commit8e91ccbf26f718cd193df15b81ddff7eb4a0ea24 (patch)
tree415095e54675d4c76dd6224955453a8786ef77ba
parent068c941a1838f5226ec3497580cf9f7890695840 (diff)
context-letter update (30oct08)
git-svn-id: svn://tug.org/texlive/trunk@11134 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/t-letter.tex112
-rw-r--r--Master/texmf-dist/tex/context/third/letter/extension/addrentry.nle68
-rw-r--r--Master/texmf-dist/tex/context/third/letter/extension/corres.nle87
-rw-r--r--Master/texmf-dist/tex/context/third/letter/extension/label.nle539
-rw-r--r--Master/texmf-dist/tex/context/third/letter/extension/optimize.nle84
-rw-r--r--Master/texmf-dist/tex/context/third/letter/extension/pragma.nle98
-rw-r--r--Master/texmf-dist/tex/context/third/letter/interface/default.nli1308
-rw-r--r--Master/texmf-dist/tex/context/third/letter/interface/knuth.nli116
-rw-r--r--Master/texmf-dist/tex/context/third/letter/interface/pragma.nli6
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/blockstyle.nls114
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/default.nls121
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/dina.nls4
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/dinb.nls11
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/dutch.nls7
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/english.nls48
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/french.nls139
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/fullblock.nls116
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/hanging.nls136
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/knuth.nls4
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/memo.nls142
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/modified.nls128
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/pragma.nls4
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/semiblock.nls106
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/simplified.nls123
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/user.ori59
25 files changed, 1960 insertions, 1720 deletions
diff --git a/Master/texmf-dist/tex/context/third/letter/base/t-letter.tex b/Master/texmf-dist/tex/context/third/letter/base/t-letter.tex
index e0647992b93..3ba2a36ee5a 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/t-letter.tex
+++ b/Master/texmf-dist/tex/context/third/letter/base/t-letter.tex
@@ -1,14 +1,16 @@
%D \module
%D [ file=t-letter,
-%D version=2008.07.08,
+%D version=2008.10.27,
%D title=\CONTEXT\ User Module,
%D subtitle=Framework for Letters,
%D author=Wolfgang Schuster,
%D date=\currentdate,
-%D copyright=Public Domain]
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
%M \loadsetups[cont-en.xml]
-%M \loadsetups[t-letter.xml]
+%M \loadsetups[letter.xml]
%D \subject{Constants and Variables}
@@ -18,54 +20,52 @@
%D I use a few extra constants and variables in my module.
-\startconstants all
-
- graphic: graphic
- head: head
- foot: foot
- backaddress: backaddress
- topmark: topmark
- botmark: botmark
- cutmark: cutmark
- endmark: endmark
- usermark: usermark
- foldmark: foldmark
- extension: extension
- interface: interface
- backgroundimage: backgroundimage
- whitespace: whitespace
- optimize: optimize
- nexthead: nexthead
- nextfoot: nextfoot
-\stopconstants
-
-\startvariables all
-
- letter: letter
- secondpage: secondpage
- backaddress: backaddress
- foot: foot
- topmark: topmark
- botmark: botmark
- cutmark: cutmark
- endmark: endmark
- reference: reference
- location: location
- option: option
- address: address
- foldmark: foldmark
- usermark: usermark
- opening: opening
- closing: closing
- layer: layer
- letternext: letternext
- lettermain: lettermain
- special: special
- notation: notation
- inside: inside
- nexthead: nexthead
- nextfoot: nextfoot
-\stopvariables
+\startinterface all
+ \setinterfaceconstant {graphic} {graphic}
+ \setinterfaceconstant {head} {head}
+ \setinterfaceconstant {foot} {foot}
+ \setinterfaceconstant {backaddress} {backaddress}
+ \setinterfaceconstant {topmark} {topmark}
+ \setinterfaceconstant {botmark} {botmark}
+ \setinterfaceconstant {cutmark} {cutmark}
+ \setinterfaceconstant {endmark} {endmark}
+ \setinterfaceconstant {usermark} {usermark}
+ \setinterfaceconstant {foldmark} {foldmark}
+ \setinterfaceconstant {extension} {extension}
+ \setinterfaceconstant {interface} {interface}
+ \setinterfaceconstant {backgroundimage} {backgroundimage}
+ \setinterfaceconstant {whitespace} {whitespace}
+ \setinterfaceconstant {optimize} {optimize}
+ \setinterfaceconstant {nexthead} {nexthead}
+ \setinterfaceconstant {nextfoot} {nextfoot}
+\stopinterface
+
+\startinterface all
+ \setinterfacevariable {letter} {letter}
+ \setinterfacevariable {secondpage} {secondpage}
+ \setinterfacevariable {backaddress} {backaddress}
+ \setinterfacevariable {foot} {foot}
+ \setinterfacevariable {topmark} {topmark}
+ \setinterfacevariable {botmark} {botmark}
+ \setinterfacevariable {cutmark} {cutmark}
+ \setinterfacevariable {endmark} {endmark}
+ \setinterfacevariable {reference} {reference}
+ \setinterfacevariable {location} {location}
+ \setinterfacevariable {option} {option}
+ \setinterfacevariable {address} {address}
+ \setinterfacevariable {foldmark} {foldmark}
+ \setinterfacevariable {usermark} {usermark}
+ \setinterfacevariable {opening} {opening}
+ \setinterfacevariable {closing} {closing}
+ \setinterfacevariable {layer} {layer}
+ \setinterfacevariable {letternext} {letternext}
+ \setinterfacevariable {lettermain} {lettermain}
+ \setinterfacevariable {special} {special}
+ \setinterfacevariable {notation} {notation}
+ \setinterfacevariable {inside} {inside}
+ \setinterfacevariable {nexthead} {nexthead}
+ \setinterfacevariable {nextfoot} {nextfoot}
+\stopinterface
%D Before we start the real module let us introduce two namespaces
%D for the style and content setup commands.
@@ -77,7 +77,7 @@
\startmodule[letter]
\setupmodule
- [\c!style=cont-ltr, % default letter style
+ [\c!style=, % default letter style
\c!extension=, % default letter extension
\c!interface=default] % default letter interface
@@ -452,6 +452,8 @@
\setupletterstyle
[#1][\v!option]
[\c!symbol=,
+ \c!alternative=\v!a,
+ \c!separator=\crlf,
\c!offset=\zeropoint,
\c!leftmargin=\zeropoint,
\c!rightmargin=\zeropoint]%
@@ -993,6 +995,12 @@
\useletterstyle [\currentmoduleparameter\c!style ]
\useletterextension[\currentmoduleparameter\c!extension]
+%D The special style \mono{user} is not included in the archive and has
+%D to be written by the user itself, it can be used to set default values
+%D for personal letters and to load additional extensions and styles.
+
+\useletterstyle[user] % don't rely on the name, it can change for the moment
+
\stopmodule
\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/extension/addrentry.nle b/Master/texmf-dist/tex/context/third/letter/extension/addrentry.nle
index b6c2b4d053d..947876c101a 100644
--- a/Master/texmf-dist/tex/context/third/letter/extension/addrentry.nle
+++ b/Master/texmf-dist/tex/context/third/letter/extension/addrentry.nle
@@ -1,33 +1,35 @@
-%D \module
-%D [ file=addrentry,
-%D version=2008.07.05,
-%D title=\CONTEXT\ Letter Extension,
-%D subtitle=KOMA-Script addrentry support,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\def\addrentry#1#2#3#4#5#6#7#8#9%
- {\doifsomething{#1}
- {\doifelsenothing{#2}
- {\setvalue{\????ld\????ld#9}{#1\\#3}}
- {\setvalue{\????ld\????ld#9}{#2\space#1\\#3}}}}
-
-\def\adrentry#1#2#3#4#5#6#7%
- {\addrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{}}
-
-\let\adrchar\gobbleoneargument
-
-\def\address!file!extension{adr}
-
-\def\useaddressfile
- {\dosingleargument\douseaddressfile}
-
-\def\douseaddressfile[#1]%
- {\def\dododouseaddressfile##1%
- {\readfile{##1.\address!file!extension}\donothing\donothing}%
- \processcommalist[#1]\dododouseaddressfile}
-
-\protect \endinput
+%D \module
+%D [ file=addrentry,
+%D version=2008.09.24,
+%D title=\CONTEXT\ Letter Extension,
+%D subtitle=KOMA-Script addrentry support,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\def\addrentry#1#2#3#4#5#6#7#8#9%
+ {\doifsomething{#1}
+ {\doifelsenothing{#2}
+ {\setvalue{\????ld\????ld#9}{#1\\#3}}
+ {\setvalue{\????ld\????ld#9}{#2\space#1\\#3}}}}
+
+\def\adrentry#1#2#3#4#5#6#7#8%
+ {\addrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{}{#8}}
+
+\let\adrchar\gobbleoneargument
+
+\def\address!file!extension{adr}
+
+\def\useaddressfile
+ {\dosingleargument\douseaddressfile}
+
+\def\douseaddressfile[#1]%
+ {\def\dododouseaddressfile##1%
+ {\readfile{##1.\address!file!extension}\donothing\donothing}%
+ \processcommalist[#1]\dododouseaddressfile}
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/extension/corres.nle b/Master/texmf-dist/tex/context/third/letter/extension/corres.nle
index 6a68de79d8e..21eb2612a70 100644
--- a/Master/texmf-dist/tex/context/third/letter/extension/corres.nle
+++ b/Master/texmf-dist/tex/context/third/letter/extension/corres.nle
@@ -1,43 +1,44 @@
-%D \module
-%D [ file=corres,
-%D version=2008.07.05,
-%D title=\CONTEXT\ Letter Extension,
-%D subtitle=XML Handling,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\startconstants all
-
- prefix: prefix
- suffix: suffix
- initials: initials
- formalname: formalname
- informalname: informalname
-\stopconstants
-
-\usemodule[corres]
-
-\setupletter
- [\c!prefix=\XMLflush{prefix},
- \c!suffix=\XMLflush{suffix},
- \c!initials=\XMLflush{initials},
- \c!formalname=\XMLflush{formalname},
- \c!informalname=\XMLflush{informalname}]
-
-\setupletter
- [\c!toaddress=\XMLflush{address}]
-
-\startsetups[letter:opening]
-\lettervalue\c!prefix
-\doiflettervalue\c!formalname\space
-\lettervalue\c!formalname
-\stopsetups
-
-\startsetups[contact:handle]
-\setups[letter:place]
-\stopsetups
-
-\protect \endinput
+%D \module
+%D [ file=corres,
+%D version=2008.10.27,
+%D title=\CONTEXT\ Letter Extension,
+%D subtitle=XML Handling,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\startinterface all
+ \setinterfaceconstant {prefix} {prefix}
+ \setinterfaceconstant {suffix} {suffix}
+ \setinterfaceconstant {initials} {initials}
+ \setinterfaceconstant {formalname} {formalname}
+ \setinterfaceconstant {informalname} {informalname}
+\stopinterface
+
+\usemodule[corres]
+
+\setupletter
+ [\c!prefix=\XMLflush{prefix},
+ \c!suffix=\XMLflush{suffix},
+ \c!initials=\XMLflush{initials},
+ \c!formalname=\XMLflush{formalname},
+ \c!informalname=\XMLflush{informalname}]
+
+\setupletter
+ [\c!toaddress=\XMLflush{address}]
+
+\startsetups[letter:opening]
+\lettervalue\c!prefix
+\doiflettervalue\c!formalname\space
+\lettervalue\c!formalname
+\stopsetups
+
+\startsetups[contact:handle]
+\setups[letter:place]
+\stopsetups
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/extension/label.nle b/Master/texmf-dist/tex/context/third/letter/extension/label.nle
index 78df3e84e60..5e1d344e087 100644
--- a/Master/texmf-dist/tex/context/third/letter/extension/label.nle
+++ b/Master/texmf-dist/tex/context/third/letter/extension/label.nle
@@ -1,268 +1,271 @@
-%D \module
-%D [ file=label,
-%D version=2008.07.03,
-%D title=\CONTEXT\ Letter Extension,
-%D subject=Labels,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\startconstants all
-
- yourref: yourref
- yourmail: yourmail
- myref: myref
- mymail: mymail
- customer: customer
- invoice: invoice
- subject: subject
- cc: cc
- enclosure: enclosure
- phone: phone
- fax: fax
- email: email
- url: url
- bank: bank
- name: name
- room: room
-% yourorder: yourorder -> Ihre Bestellung vom
-% ourinvoice: ourinvoice -> Unsere Rechnung vom
-\stopconstants
-
-%D Label: name
-
-\setuplabeltext[\s!en][\v!letter:\c!name=Name]
-\setuplabeltext[\s!nl][\v!letter:\c!name=]
-\setuplabeltext[\s!de][\v!letter:\c!name=Name]
-\setuplabeltext[\s!fr][\v!letter:\c!name=]
-\setuplabeltext[\s!it][\v!letter:\c!name=]
-\setuplabeltext[\s!es][\v!letter:\c!name=]
-
-%D Label: room
-
-\setuplabeltext[\s!en][\v!letter:\c!room=Room]
-\setuplabeltext[\s!nl][\v!letter:\c!room=]
-\setuplabeltext[\s!de][\v!letter:\c!room=Zimmer]
-\setuplabeltext[\s!fr][\v!letter:\c!room=]
-\setuplabeltext[\s!it][\v!letter:\c!room=]
-\setuplabeltext[\s!es][\v!letter:\c!room=]
-
-%D Label: yourref
-
-\setuplabeltext[\s!en][\v!letter:\c!yourref=Your ref.]
-\setuplabeltext[\s!nl][\v!letter:\c!yourref=Uw kenmerk]
-\setuplabeltext[\s!de][\v!letter:\c!yourref=Ihr Zeichen]
-\setuplabeltext[\s!fr][\v!letter:\c!yourref=Vos r\eacute f\eacute rences]
-\setuplabeltext[\s!it][\v!letter:\c!yourref=Vs./Rif.]
-\setuplabeltext[\s!es][\v!letter:\c!yourref=Su ref.]
-
-%D Label: yourmail
-
-\setuplabeltext[\s!en][\v!letter:\c!yourmail=Your letter of]
-\setuplabeltext[\s!nl][\v!letter:\c!yourmail=Uw brief van]
-\setuplabeltext[\s!de][\v!letter:\c!yourmail=Ihre Nachricht vom]
-\setuplabeltext[\s!fr][\v!letter:\c!yourmail=Votre lettre du]
-\setuplabeltext[\s!it][\v!letter:\c!yourmail=Vs.~lettera del]
-\setuplabeltext[\s!es][\v!letter:\c!yourmail=Su carta de]
-
-%D Label: myref
-
-\setuplabeltext[\s!en][\v!letter:\c!myref=Our ref.]
-\setuplabeltext[\s!nl][\v!letter:\c!myref=Ons kenmerk]
-\setuplabeltext[\s!de][\v!letter:\c!myref=Unser Zeichen]
-\setuplabeltext[\s!fr][\v!letter:\c!myref=Nos r\eacute f\eacute rences]
-\setuplabeltext[\s!it][\v!letter:\c!myref=Ns./Rif.]
-\setuplabeltext[\s!es][\v!letter:\c!myref=Nuestra ref.]
-
-%D Label: mymail
-
-\setuplabeltext[\s!en][\v!letter:\c!mymail=Our letter of]
-\setuplabeltext[\s!nl][\v!letter:\c!mymail=Ons brief van]
-\setuplabeltext[\s!de][\v!letter:\c!mymail=Unsere Nachricht vom]
-\setuplabeltext[\s!fr][\v!letter:\c!mymail=]
-\setuplabeltext[\s!it][\v!letter:\c!mymail=]
-\setuplabeltext[\s!es][\v!letter:\c!mymail=]
-
-%D Label: customer
-
-\setuplabeltext[\s!en][\v!letter:\c!customer=Customer no.]
-\setuplabeltext[\s!nl][\v!letter:\c!customer=Klant No.]
-\setuplabeltext[\s!de][\v!letter:\c!customer=Kundennummer]
-\setuplabeltext[\s!fr][\v!letter:\c!customer=Num\eacute ro de client]
-\setuplabeltext[\s!it][\v!letter:\c!customer=Nr.~cliente]
-\setuplabeltext[\s!es][\v!letter:\c!customer=No. de cliente]
-
-%D Label: invoice
-
-\setuplabeltext[\s!en][\v!letter:\c!invoice=Invoice no.]
-\setuplabeltext[\s!nl][\v!letter:\c!invoice=Rekening No.]
-\setuplabeltext[\s!de][\v!letter:\c!invoice=Rechnungsnummer]
-\setuplabeltext[\s!fr][\v!letter:\c!invoice=Num\eacute ro de facture]
-\setuplabeltext[\s!it][\v!letter:\c!invoice=Nr.~fattura]
-\setuplabeltext[\s!es][\v!letter:\c!invoice=No. de factura]
-
-%D Label: attention
-
-\setuplabeltext[\s!en][\v!letter:\c!attention=] % Attention
-\setuplabeltext[\s!nl][\v!letter:\c!attention=]
-\setuplabeltext[\s!de][\v!letter:\c!attention=]
-\setuplabeltext[\s!fr][\v!letter:\c!attention=]
-\setuplabeltext[\s!it][\v!letter:\c!attention=]
-\setuplabeltext[\s!es][\v!letter:\c!attention=]
-
-%D Label: subject
-
-\setuplabeltext[\s!en][\v!letter:\c!subject=] % Subject
-\setuplabeltext[\s!nl][\v!letter:\c!subject=] % Onderwerp
-\setuplabeltext[\s!de][\v!letter:\c!subject=] % Betrifft
-\setuplabeltext[\s!fr][\v!letter:\c!subject=] % Concernant
-\setuplabeltext[\s!it][\v!letter:\c!subject=] % Oggetto
-\setuplabeltext[\s!es][\v!letter:\c!subject=] % Asunto
-
-%D Label: cc
-
-\setuplabeltext[\s!en][\v!letter:\c!cc=cc]
-\setuplabeltext[\s!nl][\v!letter:\c!cc=Kopie aan]
-\setuplabeltext[\s!de][\v!letter:\c!cc=Kopien an]
-\setuplabeltext[\s!fr][\v!letter:\c!cc=Copie \agrave]
-\setuplabeltext[\s!it][\v!letter:\c!cc=Per conoscenza]
-\setuplabeltext[\s!es][\v!letter:\c!cc=Copias]
-
-%D Label: enclosure
-
-\setuplabeltext[\s!en][\v!letter:\c!enclosure=encl]
-\setuplabeltext[\s!nl][\v!letter:\c!enclosure=Bijlage(n)]
-\setuplabeltext[\s!de][\v!letter:\c!enclosure=Anlagen]
-\setuplabeltext[\s!fr][\v!letter:\c!enclosure=Annexes]
-\setuplabeltext[\s!it][\v!letter:\c!enclosure=Allegato]
-\setuplabeltext[\s!es][\v!letter:\c!enclosure=Adjunto]
-
-%D Label: to
-
-\setuplabeltext[\s!en][\v!letter:\c!to=To]
-\setuplabeltext[\s!nl][\v!letter:\c!to=Aan]
-\setuplabeltext[\s!de][\v!letter:\c!to=An]
-\setuplabeltext[\s!fr][\v!letter:\c!to=A]
-\setuplabeltext[\s!it][\v!letter:\c!to=A]
-\setuplabeltext[\s!es][\v!letter:\c!to=A]
-
-%D Label: toname
-
-\setuplabeltext[\s!en][\v!letter:\c!toname=To]
-\setuplabeltext[\s!nl][\v!letter:\c!toname=Aan]
-\setuplabeltext[\s!de][\v!letter:\c!toname=An]
-\setuplabeltext[\s!fr][\v!letter:\c!toname=A]
-\setuplabeltext[\s!it][\v!letter:\c!toname=A]
-\setuplabeltext[\s!es][\v!letter:\c!toname=A]
-
-%D Label: from
-
-\setuplabeltext[\s!en][\v!letter:\c!from=From]
-\setuplabeltext[\s!nl][\v!letter:\c!from=Van]
-\setuplabeltext[\s!de][\v!letter:\c!from=Von]
-\setuplabeltext[\s!fr][\v!letter:\c!from=De]
-\setuplabeltext[\s!it][\v!letter:\c!from=Da]
-\setuplabeltext[\s!es][\v!letter:\c!from=De]
-
-%D Label: fromname
-
-\setuplabeltext[\s!en][\v!letter:\c!fromname=From]
-\setuplabeltext[\s!nl][\v!letter:\c!fromname=Van]
-\setuplabeltext[\s!de][\v!letter:\c!fromname=Von]
-\setuplabeltext[\s!fr][\v!letter:\c!fromname=De]
-\setuplabeltext[\s!it][\v!letter:\c!fromname=Da]
-\setuplabeltext[\s!es][\v!letter:\c!fromname=De]
-
-%D Label: date
-
-\setuplabeltext[\s!en][\v!letter:\c!date=Date]
-\setuplabeltext[\s!nl][\v!letter:\c!date=Datum]
-\setuplabeltext[\s!de][\v!letter:\c!date=Datum]
-\setuplabeltext[\s!fr][\v!letter:\c!date=Date]
-\setuplabeltext[\s!it][\v!letter:\c!date=Data]
-\setuplabeltext[\s!es][\v!letter:\c!date=Fecha]
-
-%D Label: phone
-
-\setuplabeltext[\s!en][\v!letter:\c!phone=Phone]
-\setuplabeltext[\s!nl][\v!letter:\c!phone=Telefoon]
-\setuplabeltext[\s!de][\v!letter:\c!phone=Telefon]
-\setuplabeltext[\s!fr][\v!letter:\c!phone=T\eacute l\eacute phone]
-\setuplabeltext[\s!it][\v!letter:\c!phone=Telefono]
-\setuplabeltext[\s!es][\v!letter:\c!phone=Tel\eacute fono]
-
-%D Label: fax
-
-\setuplabeltext[\s!en][\v!letter:\c!fax=Fax]
-\setuplabeltext[\s!nl][\v!letter:\c!fax=Fax]
-\setuplabeltext[\s!de][\v!letter:\c!fax=Fax]
-\setuplabeltext[\s!fr][\v!letter:\c!fax=T\eacute l\eacute fax]
-\setuplabeltext[\s!it][\v!letter:\c!fax=Fax]
-\setuplabeltext[\s!es][\v!letter:\c!fax=Fax]
-
-%D Label: email
-
-\setuplabeltext[\s!en][\v!letter:\c!email=Email]
-\setuplabeltext[\s!nl][\v!letter:\c!email=E--mail]
-\setuplabeltext[\s!de][\v!letter:\c!email=E-Mail]
-\setuplabeltext[\s!fr][\v!letter:\c!email=E-mail]
-\setuplabeltext[\s!it][\v!letter:\c!email=Email]
-\setuplabeltext[\s!es][\v!letter:\c!email=Email]
-
-%D Label: url
-
-\setuplabeltext[\s!en][\v!letter:\c!url=Url]
-\setuplabeltext[\s!nl][\v!letter:\c!url=URL]
-\setuplabeltext[\s!de][\v!letter:\c!url=URL]
-\setuplabeltext[\s!fr][\v!letter:\c!url=URL]
-\setuplabeltext[\s!it][\v!letter:\c!url=Sito Web]
-\setuplabeltext[\s!es][\v!letter:\c!url=URL]
-
-%D Label: bank
-
-\setuplabeltext[\s!en][\v!letter:\c!bank=Bank account]
-\setuplabeltext[\s!nl][\v!letter:\c!bank=Bankrekening]
-\setuplabeltext[\s!de][\v!letter:\c!bank=Bankverbindung]
-\setuplabeltext[\s!fr][\v!letter:\c!bank=Compte en banque]
-\setuplabeltext[\s!it][\v!letter:\c!bank=Conto bancario]
-\setuplabeltext[\s!es][\v!letter:\c!bank=Cuenta bancaria]
-
-%D Label: date
-
-\setuplabeltext[\s!en][\v!memo:\c!date=Date: ]
-\setuplabeltext[\s!nl][\v!memo:\c!date=Datum: ]
-\setuplabeltext[\s!de][\v!memo:\c!date=Datum: ]
-\setuplabeltext[\s!fr][\v!memo:\c!date=Date: ]
-\setuplabeltext[\s!it][\v!memo:\c!date=Data: ]
-\setuplabeltext[\s!es][\v!memo:\c!date=Fecha: ]
-
-%D Label: fromname
-
-\setuplabeltext[\s!en][\v!letter:\c!fromname=From: ]
-\setuplabeltext[\s!nl][\v!memo:\c!fromname=Van: ]
-\setuplabeltext[\s!de][\v!memo:\c!fromname=Von: ]
-\setuplabeltext[\s!fr][\v!memo:\c!fromname=De: ]
-\setuplabeltext[\s!it][\v!memo:\c!fromname=Da: ]
-\setuplabeltext[\s!es][\v!memo:\c!fromname=De: ]
-
-%D Label: toname
-
-\setuplabeltext[\s!en][\v!memo:\c!toname=To: ]
-\setuplabeltext[\s!nl][\v!memo:\c!toname=Aan: ]
-\setuplabeltext[\s!de][\v!memo:\c!toname=An: ]
-\setuplabeltext[\s!fr][\v!memo:\c!toname=A: ]
-\setuplabeltext[\s!it][\v!memo:\c!toname=A: ]
-\setuplabeltext[\s!es][\v!memo:\c!toname=A: ]
-
-%D Label: subject
-
-\setuplabeltext[\s!en][\v!memo:\c!subject=Subject: ]
-\setuplabeltext[\s!nl][\v!memo:\c!subject=Onderwerp: ]
-\setuplabeltext[\s!de][\v!memo:\c!subject=Betrifft: ]
-\setuplabeltext[\s!fr][\v!memo:\c!subject=Concernant: ]
-\setuplabeltext[\s!it][\v!memo:\c!subject=Oggetto: ]
-\setuplabeltext[\s!es][\v!memo:\c!subject=Asunto: ]
-
-\protect \endinput
+%D \module
+%D [ file=label,
+%D version=2008.08.08,
+%D title=\CONTEXT\ Letter Extension,
+%D subject=Labels,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+% french labels: Olivier Guéry
+
+\startinterface all
+ \setinterfaceconstant {yourref} {yourref}
+ \setinterfaceconstant {yourmail} {yourmail}
+ \setinterfaceconstant {myref} {myref}
+ \setinterfaceconstant {mymail} {mymail}
+ \setinterfaceconstant {customer} {customer}
+ \setinterfaceconstant {invoice} {invoice}
+ \setinterfaceconstant {subject} {subject}
+ \setinterfaceconstant {cc} {cc}
+ \setinterfaceconstant {enclosure} {enclosure}
+ \setinterfaceconstant {phone} {phone}
+ \setinterfaceconstant {fax} {fax}
+ \setinterfaceconstant {email} {email}
+ \setinterfaceconstant {url} {url}
+ \setinterfaceconstant {bank} {bank}
+ \setinterfaceconstant {name} {name}
+ \setinterfaceconstant {room} {room}
+% \setinterfaceconstant {yourorder} {yourorder} -> Ihre Bestellung vom
+% \setinterfaceconstant {ourinvoice} {ourinvoice} -> Unsere Rechnung vom
+\stopinterface
+
+%D Label: name
+
+\setuplabeltext[\s!en][\v!letter:\c!name=Name]
+\setuplabeltext[\s!nl][\v!letter:\c!name=]
+\setuplabeltext[\s!de][\v!letter:\c!name=Name]
+\setuplabeltext[\s!fr][\v!letter:\c!name=Nom]
+\setuplabeltext[\s!it][\v!letter:\c!name=]
+\setuplabeltext[\s!es][\v!letter:\c!name=]
+
+%D Label: room
+
+\setuplabeltext[\s!en][\v!letter:\c!room=Room]
+\setuplabeltext[\s!nl][\v!letter:\c!room=]
+\setuplabeltext[\s!de][\v!letter:\c!room=Zimmer]
+\setuplabeltext[\s!fr][\v!letter:\c!room=Salle] % Salle or Pièce
+\setuplabeltext[\s!it][\v!letter:\c!room=]
+\setuplabeltext[\s!es][\v!letter:\c!room=]
+
+%D Label: yourref
+
+\setuplabeltext[\s!en][\v!letter:\c!yourref=Your ref.]
+\setuplabeltext[\s!nl][\v!letter:\c!yourref=Uw kenmerk]
+\setuplabeltext[\s!de][\v!letter:\c!yourref=Ihr Zeichen]
+\setuplabeltext[\s!fr][\v!letter:\c!yourref=Vos r\eacute f\eacute rences]
+\setuplabeltext[\s!it][\v!letter:\c!yourref=Vs./Rif.]
+\setuplabeltext[\s!es][\v!letter:\c!yourref=Su ref.]
+
+%D Label: yourmail
+
+\setuplabeltext[\s!en][\v!letter:\c!yourmail=Your letter of]
+\setuplabeltext[\s!nl][\v!letter:\c!yourmail=Uw brief van]
+\setuplabeltext[\s!de][\v!letter:\c!yourmail=Ihre Nachricht vom]
+\setuplabeltext[\s!fr][\v!letter:\c!yourmail=Votre lettre du]
+\setuplabeltext[\s!it][\v!letter:\c!yourmail=Vs.~lettera del]
+\setuplabeltext[\s!es][\v!letter:\c!yourmail=Su carta de]
+
+%D Label: myref
+
+\setuplabeltext[\s!en][\v!letter:\c!myref=Our ref.]
+\setuplabeltext[\s!nl][\v!letter:\c!myref=Ons kenmerk]
+\setuplabeltext[\s!de][\v!letter:\c!myref=Unser Zeichen]
+\setuplabeltext[\s!fr][\v!letter:\c!myref=Nos r\eacute f\eacute rences]
+\setuplabeltext[\s!it][\v!letter:\c!myref=Ns./Rif.]
+\setuplabeltext[\s!es][\v!letter:\c!myref=Nuestra ref.]
+
+%D Label: mymail
+
+\setuplabeltext[\s!en][\v!letter:\c!mymail=Our letter of]
+\setuplabeltext[\s!nl][\v!letter:\c!mymail=Ons brief van]
+\setuplabeltext[\s!de][\v!letter:\c!mymail=Unsere Nachricht vom]
+\setuplabeltext[\s!fr][\v!letter:\c!mymail=Notre lettre du]
+\setuplabeltext[\s!it][\v!letter:\c!mymail=]
+\setuplabeltext[\s!es][\v!letter:\c!mymail=]
+
+%D Label: customer
+
+\setuplabeltext[\s!en][\v!letter:\c!customer=Customer no.]
+\setuplabeltext[\s!nl][\v!letter:\c!customer=Klant No.]
+\setuplabeltext[\s!de][\v!letter:\c!customer=Kundennummer]
+\setuplabeltext[\s!fr][\v!letter:\c!customer=Num\eacute ro de client]
+\setuplabeltext[\s!it][\v!letter:\c!customer=Nr.~cliente]
+\setuplabeltext[\s!es][\v!letter:\c!customer=No. de cliente]
+
+%D Label: invoice
+
+\setuplabeltext[\s!en][\v!letter:\c!invoice=Invoice no.]
+\setuplabeltext[\s!nl][\v!letter:\c!invoice=Rekening No.]
+\setuplabeltext[\s!de][\v!letter:\c!invoice=Rechnungsnummer]
+\setuplabeltext[\s!fr][\v!letter:\c!invoice=Num\eacute ro de facture]
+\setuplabeltext[\s!it][\v!letter:\c!invoice=Nr.~fattura]
+\setuplabeltext[\s!es][\v!letter:\c!invoice=No. de factura]
+
+%D Label: attention
+
+\setuplabeltext[\s!en][\v!letter:\c!attention=] % Attention
+\setuplabeltext[\s!nl][\v!letter:\c!attention=]
+\setuplabeltext[\s!de][\v!letter:\c!attention=]
+\setuplabeltext[\s!fr][\v!letter:\c!attention=]
+\setuplabeltext[\s!it][\v!letter:\c!attention=]
+\setuplabeltext[\s!es][\v!letter:\c!attention=]
+
+%D Label: subject
+
+\setuplabeltext[\s!en][\v!letter:\c!subject=] % Subject
+\setuplabeltext[\s!nl][\v!letter:\c!subject=] % Onderwerp
+\setuplabeltext[\s!de][\v!letter:\c!subject=] % Betrifft
+\setuplabeltext[\s!fr][\v!letter:\c!subject=Concernant] % Concernant or Sujet
+\setuplabeltext[\s!it][\v!letter:\c!subject=] % Oggetto
+\setuplabeltext[\s!es][\v!letter:\c!subject=] % Asunto
+
+%D Label: cc
+
+\setuplabeltext[\s!en][\v!letter:\c!cc=cc]
+\setuplabeltext[\s!nl][\v!letter:\c!cc=Kopie aan]
+\setuplabeltext[\s!de][\v!letter:\c!cc=Kopien an]
+\setuplabeltext[\s!fr][\v!letter:\c!cc=Copie \agrave]
+\setuplabeltext[\s!it][\v!letter:\c!cc=Per conoscenza]
+\setuplabeltext[\s!es][\v!letter:\c!cc=Copias]
+
+%D Label: enclosure
+
+\setuplabeltext[\s!en][\v!letter:\c!enclosure=encl]
+\setuplabeltext[\s!nl][\v!letter:\c!enclosure=Bijlage(n)]
+\setuplabeltext[\s!de][\v!letter:\c!enclosure=Anlagen]
+\setuplabeltext[\s!fr][\v!letter:\c!enclosure=Annexes]
+\setuplabeltext[\s!it][\v!letter:\c!enclosure=Allegato]
+\setuplabeltext[\s!es][\v!letter:\c!enclosure=Adjunto]
+
+%D Label: to
+
+\setuplabeltext[\s!en][\v!letter:\c!to=To]
+\setuplabeltext[\s!nl][\v!letter:\c!to=Aan]
+\setuplabeltext[\s!de][\v!letter:\c!to=An]
+\setuplabeltext[\s!fr][\v!letter:\c!to=\Agrave]
+\setuplabeltext[\s!it][\v!letter:\c!to=A]
+\setuplabeltext[\s!es][\v!letter:\c!to=A]
+
+%D Label: toname
+
+\setuplabeltext[\s!en][\v!letter:\c!toname=To]
+\setuplabeltext[\s!nl][\v!letter:\c!toname=Aan]
+\setuplabeltext[\s!de][\v!letter:\c!toname=An]
+\setuplabeltext[\s!fr][\v!letter:\c!toname=\Agrave]
+\setuplabeltext[\s!it][\v!letter:\c!toname=A]
+\setuplabeltext[\s!es][\v!letter:\c!toname=A]
+
+%D Label: from
+
+\setuplabeltext[\s!en][\v!letter:\c!from=From]
+\setuplabeltext[\s!nl][\v!letter:\c!from=Van]
+\setuplabeltext[\s!de][\v!letter:\c!from=Von]
+\setuplabeltext[\s!fr][\v!letter:\c!from=De]
+\setuplabeltext[\s!it][\v!letter:\c!from=Da]
+\setuplabeltext[\s!es][\v!letter:\c!from=De]
+
+%D Label: fromname
+
+\setuplabeltext[\s!en][\v!letter:\c!fromname=From]
+\setuplabeltext[\s!nl][\v!letter:\c!fromname=Van]
+\setuplabeltext[\s!de][\v!letter:\c!fromname=Von]
+\setuplabeltext[\s!fr][\v!letter:\c!fromname=De]
+\setuplabeltext[\s!it][\v!letter:\c!fromname=Da]
+\setuplabeltext[\s!es][\v!letter:\c!fromname=De]
+
+%D Label: date
+
+\setuplabeltext[\s!en][\v!letter:\c!date=Date]
+\setuplabeltext[\s!nl][\v!letter:\c!date=Datum]
+\setuplabeltext[\s!de][\v!letter:\c!date=Datum]
+\setuplabeltext[\s!fr][\v!letter:\c!date=Date]
+\setuplabeltext[\s!it][\v!letter:\c!date=Data]
+\setuplabeltext[\s!es][\v!letter:\c!date=Fecha]
+
+%D Label: phone
+
+\setuplabeltext[\s!en][\v!letter:\c!phone=Phone]
+\setuplabeltext[\s!nl][\v!letter:\c!phone=Telefoon]
+\setuplabeltext[\s!de][\v!letter:\c!phone=Telefon]
+\setuplabeltext[\s!fr][\v!letter:\c!phone=T\eacute l\eacute phone]
+\setuplabeltext[\s!it][\v!letter:\c!phone=Telefono]
+\setuplabeltext[\s!es][\v!letter:\c!phone=Tel\eacute fono]
+
+%D Label: fax
+
+\setuplabeltext[\s!en][\v!letter:\c!fax=Fax]
+\setuplabeltext[\s!nl][\v!letter:\c!fax=Fax]
+\setuplabeltext[\s!de][\v!letter:\c!fax=Fax]
+\setuplabeltext[\s!fr][\v!letter:\c!fax=T\eacute l\eacute fax] % or Fax
+\setuplabeltext[\s!it][\v!letter:\c!fax=Fax]
+\setuplabeltext[\s!es][\v!letter:\c!fax=Fax]
+
+%D Label: email
+
+\setuplabeltext[\s!en][\v!letter:\c!email=Email]
+\setuplabeltext[\s!nl][\v!letter:\c!email=E--mail]
+\setuplabeltext[\s!de][\v!letter:\c!email=E-Mail]
+\setuplabeltext[\s!fr][\v!letter:\c!email=Courriel] % Adresse électronique
+\setuplabeltext[\s!it][\v!letter:\c!email=Email]
+\setuplabeltext[\s!es][\v!letter:\c!email=Email]
+
+%D Label: url
+
+\setuplabeltext[\s!en][\v!letter:\c!url=Url]
+\setuplabeltext[\s!nl][\v!letter:\c!url=URL]
+\setuplabeltext[\s!de][\v!letter:\c!url=URL]
+\setuplabeltext[\s!fr][\v!letter:\c!url=Site web]
+\setuplabeltext[\s!it][\v!letter:\c!url=Sito Web]
+\setuplabeltext[\s!es][\v!letter:\c!url=URL]
+
+%D Label: bank
+
+\setuplabeltext[\s!en][\v!letter:\c!bank=Bank account]
+\setuplabeltext[\s!nl][\v!letter:\c!bank=Bankrekening]
+\setuplabeltext[\s!de][\v!letter:\c!bank=Bankverbindung]
+\setuplabeltext[\s!fr][\v!letter:\c!bank=Compte en banque]
+\setuplabeltext[\s!it][\v!letter:\c!bank=Conto bancario]
+\setuplabeltext[\s!es][\v!letter:\c!bank=Cuenta bancaria]
+
+%D Label: date
+
+\setuplabeltext[\s!en][\v!memo:\c!date=Date: ]
+\setuplabeltext[\s!nl][\v!memo:\c!date=Datum: ]
+\setuplabeltext[\s!de][\v!memo:\c!date=Datum: ]
+\setuplabeltext[\s!fr][\v!memo:\c!date=Date\thinspace: ]
+\setuplabeltext[\s!it][\v!memo:\c!date=Data: ]
+\setuplabeltext[\s!es][\v!memo:\c!date=Fecha: ]
+
+%D Label: fromname
+
+\setuplabeltext[\s!en][\v!memo:\c!fromname=From: ]
+\setuplabeltext[\s!nl][\v!memo:\c!fromname=Van: ]
+\setuplabeltext[\s!de][\v!memo:\c!fromname=Von: ]
+\setuplabeltext[\s!fr][\v!memo:\c!fromname=De\thinspace: ]
+\setuplabeltext[\s!it][\v!memo:\c!fromname=Da: ]
+\setuplabeltext[\s!es][\v!memo:\c!fromname=De: ]
+
+%D Label: toname
+
+\setuplabeltext[\s!en][\v!memo:\c!toname=To: ]
+\setuplabeltext[\s!nl][\v!memo:\c!toname=Aan: ]
+\setuplabeltext[\s!de][\v!memo:\c!toname=An: ]
+\setuplabeltext[\s!fr][\v!memo:\c!toname=\Agrave\thinspace: ]
+\setuplabeltext[\s!it][\v!memo:\c!toname=A: ]
+\setuplabeltext[\s!es][\v!memo:\c!toname=A: ]
+
+%D Label: subject
+
+\setuplabeltext[\s!en][\v!memo:\c!subject=Subject: ]
+\setuplabeltext[\s!nl][\v!memo:\c!subject=Onderwerp: ]
+\setuplabeltext[\s!de][\v!memo:\c!subject=Betrifft: ]
+\setuplabeltext[\s!fr][\v!memo:\c!subject=Concernant\thinspace: ]
+\setuplabeltext[\s!it][\v!memo:\c!subject=Oggetto: ]
+\setuplabeltext[\s!es][\v!memo:\c!subject=Asunto: ]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/extension/optimize.nle b/Master/texmf-dist/tex/context/third/letter/extension/optimize.nle
index 05a7f182799..f5cea432a32 100644
--- a/Master/texmf-dist/tex/context/third/letter/extension/optimize.nle
+++ b/Master/texmf-dist/tex/context/third/letter/extension/optimize.nle
@@ -1,41 +1,43 @@
-%D \module
-%D [ file=optimize,
-%D version=2008.04.23,
-%D title=\CONTEXT\ Letter Extension,
-%D subtitle=Alternative input method,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-%D The \tex{minustwo} counter was added with the \CONTEXT\ version
-%D from \date[d=18,m=4,y=2008] and older versions will complain
-%D about a undefined control sequence, to prevend this problem
-%D I added a test if \tex{minustwo} is undefined and define it this
-%D is necessary.
-
-\ifx\minustwo\undefined \newcount\minustwo \minustwo=-2 \fi
-
-\newcount\letter!value!skip \letter!value!skip \plusten
-\newcount\letter!value!number \letter!value!number\zerocount
-
-\definetwopasslist\v!letter
-
-\setvalue{\v!letter\s!start\c!optimize\v!yes}%
- {\global\advance\letter!value!number\plusone
- \gettwopassdata{\v!letter}%
- \iftwopassdatafound
- \letter!value!skip\twopassdata
- \ctxparskip=\dimexpr\letter!value!skip\ctxparskip/10\relax
- \fi}
-
-\setvalue{\v!letter\s!stop\c!optimize\v!yes}%
- {\ifdim\pagetotal<.25\textheight
- \advance\letter!value!skip\minustwo
- \else\ifdim\pagetotal<.5\textheight
- \advance\letter!value!skip\plustwo
- \fi\fi
- \lazysavetwopassdata{\v!letter}{\number\letter!value!number}{\number\letter!value!skip}}
-
-\protect \endinput
+%D \module
+%D [ file=optimize,
+%D version=2008.04.23,
+%D title=\CONTEXT\ Letter Extension,
+%D subtitle=Alternative input method,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+%D The \tex{minustwo} counter was added with the \CONTEXT\ version
+%D from \date[d=18,m=4,y=2008] and older versions will complain
+%D about a undefined control sequence, to prevend this problem
+%D I added a test if \tex{minustwo} is undefined and define it this
+%D is necessary.
+
+\ifx\minustwo\undefined \newcount\minustwo \minustwo=-2 \fi
+
+\newcount\letter!value!skip \letter!value!skip \plusten
+\newcount\letter!value!number \letter!value!number\zerocount
+
+\definetwopasslist\v!letter
+
+\setvalue{\v!letter\s!start\c!optimize\v!yes}%
+ {\global\advance\letter!value!number\plusone
+ \gettwopassdata{\v!letter}%
+ \iftwopassdatafound
+ \letter!value!skip\twopassdata
+ \ctxparskip=\dimexpr\letter!value!skip\ctxparskip/10\relax
+ \fi}
+
+\setvalue{\v!letter\s!stop\c!optimize\v!yes}%
+ {\ifdim\pagetotal<.25\textheight
+ \advance\letter!value!skip\minustwo
+ \else\ifdim\pagetotal<.5\textheight
+ \advance\letter!value!skip\plustwo
+ \fi\fi
+ \lazysavetwopassdata{\v!letter}{\number\letter!value!number}{\number\letter!value!skip}}
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/extension/pragma.nle b/Master/texmf-dist/tex/context/third/letter/extension/pragma.nle
index 7453bd69182..7e73308f9ad 100644
--- a/Master/texmf-dist/tex/context/third/letter/extension/pragma.nle
+++ b/Master/texmf-dist/tex/context/third/letter/extension/pragma.nle
@@ -1,48 +1,50 @@
-%D \module
-%D [ file=pragma,
-%D version=2008.01.23,
-%D title=\CONTEXT\ Letter Extension,
-%D subtitle=Pragma ADE Example Text,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-%D Dummies
-
-\startsetups[letter:test]
-
- \startlocalsetups [letter:head]
- % nothing
- \stoplocalsetups
-
- \startlocalsetups[letter:address]
- A Fancy Name \endgraf
- A Nice Address \endgraf
- The Place To Go
- \stoplocalsetups
-
- \startlocalsetups[letter:reference]
- \rightaligned{\currentdate}
- \stoplocalsetups
-
- \startlocalsetups[letter:opening]
- Hi There,
- \stoplocalsetups
-
- \startlocalsetups[letter:content]
- \dorecurse{2}{\input tufte \blank}
- \stoplocalsetups
-
- \startlocalsetups[letter:closing]
- That Was Me
- \stoplocalsetups
-
- \startlocalsetups[letter:appendices]
- % nothing
- \stoplocalsetups
-
-\stopsetups
-
-\protect \endinput
+%D \module
+%D [ file=pragma,
+%D version=2008.01.23,
+%D title=\CONTEXT\ Letter Extension,
+%D subtitle=Pragma ADE Example Text,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+%D Dummies
+
+\startsetups[letter:test]
+
+ \startlocalsetups [letter:head]
+ % nothing
+ \stoplocalsetups
+
+ \startlocalsetups[letter:address]
+ A Fancy Name \endgraf
+ A Nice Address \endgraf
+ The Place To Go
+ \stoplocalsetups
+
+ \startlocalsetups[letter:reference]
+ \rightaligned{\currentdate}
+ \stoplocalsetups
+
+ \startlocalsetups[letter:opening]
+ Hi There,
+ \stoplocalsetups
+
+ \startlocalsetups[letter:content]
+ \dorecurse{2}{\input tufte \blank}
+ \stoplocalsetups
+
+ \startlocalsetups[letter:closing]
+ That Was Me
+ \stoplocalsetups
+
+ \startlocalsetups[letter:appendices]
+ % nothing
+ \stoplocalsetups
+
+\stopsetups
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/interface/default.nli b/Master/texmf-dist/tex/context/third/letter/interface/default.nli
index f11f1700564..cfada0a811c 100644
--- a/Master/texmf-dist/tex/context/third/letter/interface/default.nli
+++ b/Master/texmf-dist/tex/context/third/letter/interface/default.nli
@@ -1,634 +1,674 @@
-%D \module
-%D [ file=default,
-%D version=2008.07.08,
-%D title=\CONTEXT\ Letter Interface,
-%D subtitle=Default Interface,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-%M \loadsetups[letter.xml]
-
-%D \subject{Constants and Variables}
-
-\unprotect
-
-%D I define a few additional constants and variables, I will move them
-%D to the base some time.
-
-\startconstants all
-
- opening: opening
- content: content
- closing: closing
- signature: signature
- dispatch: dispatch
- appendices: appendices
- fromaddress: fromaddress
- frombank: frombank
- frommail: frommail
- fromfax: fromfax
- fromlogo: fromlogo
- fromname: fromname
- fromphone: fromphone
- fromurl: fromurl
- toname: toname
- toaddress: toaddress
- enclosure: enclosure
- copy: copy
- postscript: postscript
- attention: attention
- distribution: distribution
- salutation: salutation
- addressee: addressee
-\stopconstants
-
-\startvariables all
-
- e: e
- data: data
- sender: sender
- dispatch: dispatch
- enclosure: enclosure
- copy: copy
- nobreak: nobreak
- memo: memo
- addressee: addressee
-\stopvariables
-
-%D We have at the moment only the values from the core module, I use the settings
-%D from the dinb file as default settings, you could replace them in your own
-%D document but I won't use another letterstyle for this interface.
-%D
-%D The labels are stored in a common file, you could use them in your own interface
-%D but you have to live with my names.
-
-\useletterstyle [dinb] % layout
-\useletterextension[label] % labels
-
-%D \subject{Reference line}
-%D
-%D Dimen value to save the height of the reference line.
-
-\newdimen\letter!height!reference
-
-%D We come now to the new macros defined in this file, they are meant to place the
-%D information about date, phone number and more information. You could select on of
-%D the alternatives with \type{\setupletter[alternative=...]}.
-%D
-%D I define here only what I need myself but you're free to define your own
-%D alternatives but try to avoid to use the same names as I do. You could also send
-%D me your alternatives and I will include them.
-%D
-%D This is the first alternative a, it use the values from the style file without any
-%D change, this is the normal layout for a DIN letter.
-
-\long\def\doformatreferencelista#1%
- {\def\\{\egroup\hbox\bgroup}%
- \setupinterlinespace\hbox\bgroup#1\egroup\par}
-
-\long\def\formatreferencelista#1%
- {\bgroup
- \convertargument#1\to\ascii
- \vbox
- {\vbox{\doattributes{\????ld\ascii}\c!titlestyle\c!titlecolor
- {\doformatreferencelista{\labeltext{\v!letter:\ascii}}}}
- \vtop{\doattributes{\????ld\ascii}\c!textstyle\c!textcolor
- {\doformatreferencelista{\lettervalue\ascii}}}}%
- \egroup
- \hfill}
-
-\setvalue{\v!letter:\v!reference:\v!a}%
- {\setbox\scratchbox\hbox\!!to\hsize
- {\getcommacommandsize[\@@@@ldlist]% \@@@@ldreference?
- \ifnum\commalistsize<\plustwo\hfill\fi
- \processcommacommand[\@@@@ldlist]\formatreferencelista\unskip}%
- \global\letter!height!reference\dimexpr\ht\scratchbox+\dp\scratchbox\relax
- \box\scratchbox}
-
-\startsetups[letter:reference:\v!a]
-
-\setupletterstyle
- [\v!reference]
- [\c!hoffset=\backspace,
- \c!voffset=\dimexpr\letterstylevalue\v!address\c!voffset+\letterstylevalue\v!address\c!height+\plusthree\c!mm\relax,
- \c!width=\textwidth]
-
-\setupletterstyle
- [\v!firstpage]
- [\c!topspace=\dimexpr\letterstylevalue\v!reference\c!voffset+\letter!height!reference+\plustwo\lineheight\relax]
-
-\stopsetups
-
-%D This is the alternative b, you could use it if you want to place the information
-%D in a infoblock not just a simple line, it is also better suited if you want to
-%D place more infomration.
-
-\long\def\formatreferencelistb#1%
- {\bgroup
- \doifelse{#1}\v!line
- {\blank[\v!line]}
- {\hbox
- {\doattributes{\????ld#1}\c!titlestyle\c!titlecolor
- {\labeltext{\v!letter:#1}\lettervalue{#1\c!separator}}%
- \doattributes{\????ld#1}\c!textstyle\c!textcolor
- {\lettervalue{#1}}}}%
- \egroup}
-
-\setvalue{\v!letter:\v!reference:\v!b}%
- {\vtop % why not \vbox?
- {\processcommacommand[\@@@@ldlist]\formatreferencelistb}}
-
-\startsetups[letter:reference:\v!b]
-
-\setupletterstyle
- [\v!reference]
- [\v!layer]
- [\c!hoffset=125.7mm,
- \c!voffset=\letterstylevalue\v!address\c!voffset]
-
-\setupletterstyle
- [\v!reference]
- [\v!frame]
- [\c!width=\dimexpr\paperwidth-\letterstylevalue{\v!reference\v!layer}\c!hoffset-\cutspace\relax,
- \c!height=\v!fit]
-
-\stopsetups
-
-%D The third alternative c could used, if you want to place just a single line
-%D with text and nothing more, like your place and the date. You need only the
-%D following two lines in your document.
-%D
-%D \starttyping
-%D \setupletter[alternative=c,list=reference]
-%D \setupletter[reference=\rightaligned{Place, \currentdate}]
-%D \stoptyping
-
-\long\def\formatreferencelistc#1%
- {\bgroup
- \convertargument#1\to\ascii
- \doattributes{\????ld\ascii}\c!textstyle\c!textcolor
- {\lettervalue\ascii}%
- \egroup}
-
-\setvalue{\v!letter:\v!reference:\v!c}%
- {\hbox\!!to\hsize
- {\processcommacommand[\@@@@ldlist]\formatreferencelistc}}
-
-\startsetups[letter:reference:\v!c]
-
-\setups[letter:reference:\v!a]
-
-\stopsetups
-
-%D Alternative d, text is placed in a block like alternative bit the text
-%D is put in a table.
-
-\long\def\doformatreferencelistd#1%
- {\doifelse{#1}\v!line
- {\NC\NC\NC\NR} % ugly but working
- {\NC \doattributes{\????ld#1}\c!titlestyle\c!titlecolor
- {\labeltext{\v!letter:#1}\lettervalue{#1\c!separator}}%
- \NC\doattributes{\????ld#1}\c!textstyle\c!textcolor{\lettervalue{#1}}
- \NC\NR}}
-
-\def\formatreferencelistd#1%
- {\appendtoks\doformatreferencelistd{#1}\to\scratchtoks}
-
-\setvalue{\v!letter:\v!reference:\v!d}%
- {\vtop % why not \vbox?
- {\scratchtoks\emptytoks
- \processcommacommand[\@@@@ldlist]\formatreferencelistd
- \setuptabulate[\c!before=,\c!after=]%
- \starttabulate[|l|l|]
- \the\scratchtoks
- \stoptabulate}}
-
-\startsetups[letter:reference:\v!d]
-
-\setupletterstyle
- [\v!reference]
- [\v!layer]
- [\c!hoffset=125.7mm,
- \c!voffset=\letterstylevalue\v!address\c!voffset]
-
-\setupletterstyle
- [\v!reference]
- [\v!frame]
- [\c!width=\dimexpr\paperwidth-\letterstylevalue{\v!reference\v!layer}\c!hoffset-\cutspace\relax,
- \c!height=\v!fit]
-
-\stopsetups
-
-%D Alternative e, nearly the same as a but you could control the width of the
-%D fields with the width key for \tex{setupletter}.
-
-\long\def\doformatreferenceliste#1%
- {\def\\{\egroup\hbox\bgroup}%
- \setupinterlinespace\hbox\bgroup#1\egroup\par}
-
-\long\def\formatreferenceliste#1%
- {\bgroup
- \convertargument#1\to\ascii
- \doifelselettervalue{\ascii\c!width}
- {\hbox\!!to\lettervalue{\ascii\c!width}}
- {\hbox}%
- {\vbox
- {\vbox{\doattributes{\????ld\ascii}\c!titlestyle\c!titlecolor
- {\doformatreferenceliste{\labeltext{\v!letter:\ascii}}}}
- \vtop{\doattributes{\????ld\ascii}\c!textstyle\c!textcolor
- {\doformatreferenceliste{\lettervalue\ascii}}}}}%
- \egroup}
-
-\setvalue{\v!letter:\v!reference:\v!e}%
- {\hbox\!!to\hsize
- {\processcommacommand[\@@@@ldlist]\formatreferenceliste\hss}}
-
-\startsetups[letter:reference:\v!e]
-
-\setups[letter:reference:\v!a]
-
-\stopsetups
-
-%D The alternative \mono{none} could be used to disable the reference.
-%D
-%D The advantage is to change only the list alternative to nothing, another
-%D method to get this result to use alternative c and remove all values from
-%D the reference but the none key is better.
-
-\resetvalue{\v!letter:\v!reference:\v!none}
-
-\startsetups[letter:reference:\v!none]
-
- % Use the topspace value from the style
-
-\stopsetups
-
-%D \subject{Setup commands}
-%D
-%D \macros
-%D {setupletter,setlettervalue}
-%D
-%D The values for the letter field is set eitheir either with \tex{setupletter}
-%D or with \tex{setlettervalue}, the first commands allows you to input the data
-%D in a key-val list while the second is only able to accept a single value.
-%D
-%D The first definition for \tex{setupletter} was defined in \filename{t-letter.tex}
-%D and used till \date[d=20,m=4,y=2008] but I decided to replace it by a simpler
-%D method to avoid a few lines of code in my letter and the letter versions from
-%D \date[d=21,m=4,y=2008] will use the new user interface. The old definition from
-%D \filename{t-letter.tex} is now oveloaded in will eventually disappear.
-%D
-%D The second command to set \tex{setlettervalue} was developed as a alternative
-%D method to set values for the letter, I implemnted the command at the same time
-%D as I changed the user interface.
-%D
-%D Untill the old definition for \tex{setupletter} remains in \filename{t-letter.tex}
-%D I have to redefine also \tex{lettervalue}, \tex{doiflettervalue} and
-%D \tex{doifelselettervalue} because the old and new definitions differe in the
-%D number of arguments but the new definition will move to the core file as soon
-%D as I replace \tex{setupletter} in the core.
-
-%D \starttyping
-%D \def\setupletter
-%D {\dodoubleempty\dosetupletter}
-%D
-%D \def\dosetupletter[#1][#2]%
-%D {\ifsecondargument
-%D \dodosetupletter[#1][#2]%
-%D \else
-%D \dodosetupletter[#1][]%
-%D \fi}
-%D
-%D \def\dodosetupletter[#1][#2]%
-%D {\doifelsenothing{#2}
-%D {\getparameters[\????ld][#1]}
-%D {\def\dododosetupletter##1%
-%D {\getparameters[\????ld##1][#2]}%
-%D \processcommalist[#1]\dododosetupletter}}
-%D
-%D \def\lettervalue#1%
-%D {\csname\????ld#1\endcsname}
-%D
-%D \def\doiflettervalue#1%
-%D {\doiftextelse{\lettervalue{#1}}
-%D \firstofoneargument
-%D \gobbleoneargument}
-%D
-%D \def\doifelselettervalue#1%
-%D {\doiftextelse{\lettervalue{#1}}
-%D \firstoftwoarguments
-%D \secondoftwoarguments}
-%D
-%D \definecomplexorsimple\setlettervalue
-%D
-%D \def\complexsetlettervalue[#1]#2%
-%D {\setvalue{\????ld#1}{#2}}
-%D
-%D \def\simplesetlettervalue#1#2%
-%D {\setvalue{\????ld#1}{#2}}
-%D \stoptyping
-
-%D \subject{Letter environment}
-%D
-%D \macros
-%D {startletter}
-%D
-%D The main macro in this file, it is used to write the letter content.
-%D It is also possible to set the address and a few other values like
-%D the opening and closing with the optional argument, the values are
-%D local in this case and not global like the values you could set with
-%D \tex{setupletter}.
-%D
-%D \showsetup{startletter}
-
-\def\startletter
- {\bgroup\dodoubleempty\dostartletter}
-
-\def\dostartletter[#1][#2]%
- {\ifsecondargument
- \setupletter[#1]%
- \doifundefinedelse{\????ld\????ld#2}
- {\setvalue{\????ld\c!toaddress}{#2}}
- {\setvalue{\????ld\c!toaddress}{\getvalue{\????ld\????ld#2}}}%
- \else\iffirstargument
- \doifassignmentelse{#1}
- {\setupletter[#1]}
- {\doifundefinedelse{\????ld\????ld#1}
- {\setvalue{\????ld\c!toaddress}{#1}}
- {\setvalue{\????ld\c!toaddress}{\getvalue{\????ld\????ld#1}}}}%
- \fi\fi
- \def\stopletter
- {\setups[letter:place]\egroup
- \setupsubpagenumber[\c!state=\@@@@lsoptionstate]}%
- \dostartbuffer[lettercontent][startletter][stopletter]}
-
-%D Patched version of the \tex{flushbufferline} macro for \MKII,
-%D the changes are definition as long and removing of \tex{string}
-%D in the argument of the last write block.
-
-\long\def\flushbufferline#1%
- {\iftmpblockstarted
- \ifsegmentatebuffer
- \ifemptybufferline
- \immediate\write\tmpblocks{\string\stopbufferparagraph }%
- \immediate\write\tmpblocks{\string\startbufferparagraph}%
- \else
- \immediate\write\tmpblocks{#1}%
- \fi
- \else
- \immediate\write\tmpblocks{#1}%
- \fi
- \else
- \doifsomething{#1}
- {\tmpblockstartedtrue
- \immediate\write\tmpblocks{#1}}%
- \fi}
-
-%D \macros
-%D {startlettercontent}
-%D
-%D The letter content is saved in the value content, although I could
-%D place it in the corresponding I prefer this solution because you could
-%D now use it in your own macros and redefine the content setups to your
-%D own wishes.
-
-\setupletter
- [\c!content={\getbuffer[lettercontent]}]
-
-\def\startlettercontent
- {\dostartbuffer[lettercontent][startlettercontent][stoplettercontent]}
-
-%D After the definition of all macros I could now put the content
-%D in the corresponding setups, this is only important if you want
-%D to define your own layout for header, address etc.
-
-\startsetups[letter:head]
-\let\\\endgraf
-\lettervalue\c!fromname
-\doiflettervalue\c!fromname\endgraf
-\lettervalue\c!fromaddress
-\stopsetups
-
-%D \subject{Addressee field}
-%D
-%D The address field is separated into two different fields.
-%D The upper field is meant for dispatch information, the official height
-%D in germany is 3 lines but this would lead to different heights dependent
-%D of the font size and the fonts own height. The lower field contains the
-%D name and address of the receiver and has a height of 6 lines in germany.
-%D This value will lead to the same problem as the upper field, because the
-%D whole address field has a fixed height and both field should fit into
-%D this space. I solved this problem by assinging the upper field 1/3 of the
-%D address height and the lower field 2/3 of the address height.
-%D
-%D If you hace problem to put all information in the limited space you could
-%D try to reduce the font size or reduce the interlinespace in the field.
-
-\presetlocalframed[\????ls\v!dispatch]
-\presetlocalframed[\????ls\v!addressee]
-
-\startsetups[letter:address]
-\let\\\endgraf
-\offinterlineskip\vskip-\lineheight
-\doif\@@@@lsoptiondispatch \v!yes{\setups[letter:place:dispatch]}
-\doif\@@@@lsoptionaddressee\v!yes{\setups[letter:place:addressee]}
-\stopsetups
-
-\startsetups[letter:place:dispatch]
-
- \localframed
- [\????ls\v!dispatch]
- {\doadaptleftskip {\letterstylevalue\v!addressee\c!leftmargin}%
- \doadaptrightskip{\letterstylevalue\v!addressee\c!rightmargin}%
- \doattributes{\????ls\v!addressee}\c!style\c!color{\setups[letter:address:dispatch]}}
-
-\stopsetups
-
-\startsetups[letter:place:addressee]
-
- \localframed
- [\????ls\v!addressee]
- {\doadaptleftskip {\letterstylevalue\v!addressee\c!leftmargin}%
- \doadaptrightskip{\letterstylevalue\v!addressee\c!rightmargin}%
- \doattributes{\????ls\v!addressee}\c!style\c!color{\setups[letter:address:content]}}
-
-\stopsetups
-
-\startsetups[letter:address:dispatch]
-\lettervalue\c!dispatch
-\stopsetups
-
-\startsetups[letter:address:content]
-\lettervalue\c!toname
-\doiflettervalue\c!toname\endgraf
-\lettervalue\c!toaddress
-\stopsetups
-
-%D The following setups shouldn't be changed ar you will loose information
-%D in the output.
-%D
-%D The reference line is choosen with the alternative key or if you set
-%D a not defined alternative the definition a is choosen.
-
-\startsetups[letter:reference]
-\executeifdefined{\v!letter:\v!reference:\@@@@ldalternative}{\getvalue{\v!letter:\v!reference:\v!a}}
-\stopsetups
-
-\startsetups[letter:title]
-\doifelselettervalue\c!title
- {\lettervalue\c!title}
- {\doiflettervalue\c!attention
- {\labeltext{\v!letter:\c!attention}\lettervalue\c!attention}}
-\stopsetups
-
-\startsetups[letter:subject]
-\labeltext{\v!letter:\c!subject}\lettervalue\c!subject
-\stopsetups
-
-\startsetups[letter:opening]
-\doifelselettervalue\c!opening
- {\lettervalue\c!opening}
- {\doiflettervalue\c!salutation
- {\lettervalue\c!salutation}}
-\stopsetups
-
-\startsetups[letter:content]
-\lettervalue\c!content
-\stopsetups
-
-%D \subject{Closing and appendices}
-%D
-%D It is possible to attach a signature to the closing command, before the signature
-%D a skip is inserted but only if the the signature key has a value. The height of the
-%D closing environment itself has a height of 4 lines to provide a free space for your
-%D own handwritten signature and to have a little bit space between the closing text
-%D and the appendices.
-
-\setvalue{\v!letter:\v!closing:\v!a}%
- {\lettervalue\c!closing
- \doiflettervalue\c!signature{\letterstylevalue\v!closing\c!inbetween}%
- \lettervalue\c!signature}
-
-\startsetups[letter:closing]
-\let\\\crlf
-\executeifdefined{\v!letter:\v!closing:\@@@@lsclosingalternative}{\getvalue{\v!letter:\v!closing:\v!a}}
-\stopsetups
-
-\startsetups[letter:appendices]
-\let\\\crlf
-\doflushletterdescription
-\stopsetups
-
-\dodefineletterdescription[\v!enclosure]
-
-\startsetups[letter:enclosure]
-\processaction
- [\lettervalue\c!enclosure]
- [ \v!empty=>\vrule\!!height\zeropoint\!!height\zeropoint\!!width\hsize\relax\ifvmode\nowhitespace\fi,
- \s!unknown=>\lettervalue\c!enclosure]
-\stopsetups
-
-\dodefineletterdescription[\v!copy]
-
-\startsetups[letter:copy]
-\processaction
- [\lettervalue\c!copy]
- [ \v!empty=>\vrule\!!height\zeropoint\!!height\zeropoint\!!width\hsize\relax\ifvmode\nowhitespace\fi,
- \s!unknown=>\lettervalue\c!copy]
-\stopsetups
-
-\dodefineletterdescription[\v!postscript]
-
-\startsetups[letter:postscript]
-\processaction
- [\lettervalue\c!postscript]
- [ \v!empty=>\vrule\!!height\zeropoint\!!height\zeropoint\!!width\hsize\relax\ifvmode\nowhitespace\fi,
- \s!unknown=>\lettervalue\c!postscript]
-\stopsetups
-
-\setvalue{\v!letter:\v!backaddress:\v!yes}%
- {\lettervalue\c!fromname
- \doiflettervalue\c!fromaddress\\
- \lettervalue\c!fromaddress}
-
-\setvalue{\v!letter:\v!backaddress:\v!auto}%
- {\lettervalue\c!fromname
- \doiflettervalue\c!fromaddress\\
- \lettervalue\c!fromaddress}
-
-\resetvalue{\v!letter:\v!backaddress:\v!no}
-
-\setvalue{\v!letter:\v!backaddress:\s!unknown}%
- {\doifelselettervalue\c!backaddress
- {\lettervalue\c!backaddress}
- {\lettervalue\c!fromname
- \doiflettervalue\c!fromaddress\\
- \lettervalue\c!fromaddress}}
-
-\startsetups[letter:backaddress]
-\def\\{\lettervalue{\c!backaddress\c!separator}}
-\executeifdefined{\v!letter:\v!backaddress:\@@@@ldbackaddress}{\getvalue{\v!letter:\v!backaddress:\s!unknown}}
-\stopsetups
-
-%D To prevent a pagebreak between the last line of the text and
-%D the siganture a nonbreakable vertical space is necessary.
-%D The vertical space is inserted in the style file with the normal
-%D before and after commands where we control the distance between
-%D the elements.
-
-\defineblankmethod [\v!nobreak] {\penalty\plustenthousand}
-
-%D \subject{Additional settings}
-%D
-%D I set alternative a as default value for alternative, the only content
-%D is the date with a label. f you dont want a label choose alternative c
-%D or change the label.
-
-\startsetups[letter:optimize]
-
- \setbox\scratchbox\hbox % trial typesetting to get the heigth of the reference line
- {\executeifdefined{\v!letter:\v!reference:\@@@@ldalternative}{\getvalue{\v!letter:\v!reference:\v!a}}}
-
- \setups[letter:reference:\@@@@ldalternative]
-
-\stopsetups
-
-\setupletter
- [\c!alternative=\v!a,
- \c!backaddress=\v!yes,
- \c!list=\v!date,
- \c!date=\currentdate,
- \c!width=\zeropoint,
- \c!backaddress\c!separator=\textcomma\space]
-
-\setupletterstyle
- [\v!option]
- [\c!dispatch=\v!yes,
- \c!addressee=\v!yes]
-
-\setupletterstyle
- [\v!dispatch,\v!addressee]
- [\c!align=\v!right,
- \c!width=\hsize,
- \c!leftmargin=\zeropoint,
- \c!rightmargin=\zeropoint,
- \c!offset=\zeropoint,
- \c!frame=\v!off]
-
-\setupletterstyle
- [\v!dispatch]
- [\c!location=\v!bottom,
- \c!height=\dimexpr(\vsize/9)*3\relax]
-
-\setupletterstyle
- [\v!addressee]
- [\c!location=\v!top,
- \c!height=\dimexpr(\vsize/9)*6\relax]
-
-\setupletterstyle
- [\v!closing]
- [\c!after={\blank[\v!line]},
- \c!inbetween={\blank[\v!nobreak,2*\v!line]}]
-
-\protect \endinput
+%D \module
+%D [ file=default,
+%D version=2008.10.27,
+%D title=\CONTEXT\ Letter Interface,
+%D subtitle=Default Interface,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+%M \loadsetups[letter.xml]
+
+%D \subject{Constants and Variables}
+
+\unprotect
+
+%D I define a few additional constants and variables, I will move them
+%D to the base some time.
+
+\startinterface all
+ \setinterfaceconstant {opening} {opening}
+ \setinterfaceconstant {content} {content}
+ \setinterfaceconstant {closing} {closing}
+ \setinterfaceconstant {signature} {signature}
+ \setinterfaceconstant {dispatch} {dispatch}
+ \setinterfaceconstant {appendices} {appendices}
+ \setinterfaceconstant {fromaddress} {fromaddress}
+ \setinterfaceconstant {frombank} {frombank}
+ \setinterfaceconstant {frommail} {frommail}
+ \setinterfaceconstant {fromfax} {fromfax}
+ \setinterfaceconstant {fromlogo} {fromlogo}
+ \setinterfaceconstant {fromname} {fromname}
+ \setinterfaceconstant {fromphone} {fromphone}
+ \setinterfaceconstant {fromurl} {fromurl}
+ \setinterfaceconstant {toname} {toname}
+ \setinterfaceconstant {toaddress} {toaddress}
+ \setinterfaceconstant {enclosure} {enclosure}
+ \setinterfaceconstant {copy} {copy}
+ \setinterfaceconstant {postscript} {postscript}
+ \setinterfaceconstant {attention} {attention}
+ \setinterfaceconstant {distribution} {distribution}
+ \setinterfaceconstant {salutation} {salutation}
+ \setinterfaceconstant {addressee} {addressee}
+\stopinterface
+
+\startinterface all
+ \setinterfacevariable {e} {e}
+ \setinterfacevariable {data} {data}
+ \setinterfacevariable {sender} {sender}
+ \setinterfacevariable {dispatch} {dispatch}
+ \setinterfacevariable {enclosure} {enclosure}
+ \setinterfacevariable {copy} {copy}
+ \setinterfacevariable {nobreak} {nobreak}
+ \setinterfacevariable {endgraf} {endgraf}
+ \setinterfacevariable {memo} {memo}
+ \setinterfacevariable {addressee} {addressee}
+ \setinterfacevariable {french} {french}
+ \setinterfacevariable {simplified} {simplified}
+ \setinterfacevariable {fullblock} {fullblock}
+ \setinterfacevariable {hanging} {hanging}
+ \setinterfacevariable {modified} {modified}
+\stopinterface
+
+%D \subject{Reference line}
+%D
+%D Dimen value to save the height of the reference line.
+
+\newdimen\letter!height!reference
+
+%D We come now to the new macros defined in this file, they are meant to place the
+%D information about date, phone number and more information. You could select on of
+%D the alternatives with \type{\setupletter[alternative=...]}.
+%D
+%D I define here only what I need myself but you're free to define your own
+%D alternatives but try to avoid to use the same names as I do. You could also send
+%D me your alternatives and I will include them.
+%D
+%D This is the first alternative a, it use the values from the style file without any
+%D change, this is the normal layout for a DIN letter.
+
+\long\def\doformatreferencelista#1%
+ {\def\\{\egroup\hbox\bgroup}%
+ \setupinterlinespace\hbox\bgroup#1\egroup\par}
+
+\long\def\formatreferencelista#1%
+ {\bgroup
+ \convertargument#1\to\ascii
+ \vbox
+ {\vbox{\doattributes{\????ld\ascii}\c!titlestyle\c!titlecolor
+ {\doformatreferencelista{\labeltext{\v!letter:\ascii}}}}
+ \vtop{\doattributes{\????ld\ascii}\c!textstyle\c!textcolor
+ {\doformatreferencelista{\lettervalue\ascii}}}}%
+ \egroup
+ \hfill}
+
+\setvalue{\v!letter:\v!reference:\v!a}%
+ {\setbox\scratchbox\hbox\!!to\hsize
+ {\getcommacommandsize[\@@@@ldlist]% \@@@@ldreference?
+ \ifnum\commalistsize<\plustwo\hfill\fi
+ \processcommacommand[\@@@@ldlist]\formatreferencelista\unskip}%
+ \global\letter!height!reference\dimexpr\ht\scratchbox+\dp\scratchbox\relax
+ \box\scratchbox}
+
+\startsetups[letter:reference:\v!a]
+
+\setupletterstyle
+ [\v!reference]
+ [\c!hoffset=\backspace,
+ \c!voffset=\dimexpr\letterstylevalue\v!address\c!voffset+\letterstylevalue\v!address\c!height+\plusthree\c!mm\relax,
+ \c!width=\textwidth]
+
+\setupletterstyle
+ [\v!firstpage]
+ [\c!topspace=\dimexpr\letterstylevalue\v!reference\c!voffset+\letter!height!reference+\plustwo\lineheight\relax]
+
+\stopsetups
+
+%D This is the alternative b, you could use it if you want to place the information
+%D in a infoblock not just a simple line, it is also better suited if you want to
+%D place more infomration.
+
+\long\def\formatreferencelistb#1%
+ {\bgroup
+ \doifelse{#1}\v!line
+ {\blank[\v!line]}
+ {\hbox
+ {\doattributes{\????ld#1}\c!titlestyle\c!titlecolor
+ {\labeltext{\v!letter:#1}\lettervalue{#1\c!separator}}%
+ \doattributes{\????ld#1}\c!textstyle\c!textcolor
+ {\lettervalue{#1}}}}%
+ \egroup}
+
+\setvalue{\v!letter:\v!reference:\v!b}%
+ {\vtop % why not \vbox?
+ {\processcommacommand[\@@@@ldlist]\formatreferencelistb}}
+
+\startsetups[letter:reference:\v!b]
+
+\setupletterstyle
+ [\v!reference]
+ [\v!layer]
+ [\c!hoffset=125.7mm,
+ \c!voffset=\letterstylevalue\v!address\c!voffset]
+
+\setupletterstyle
+ [\v!reference]
+ [\v!frame]
+ [\c!width=\dimexpr\paperwidth-\letterstylevalue{\v!reference\v!layer}\c!hoffset-\cutspace\relax,
+ \c!height=\v!fit]
+
+\stopsetups
+
+%D The third alternative c could used, if you want to place just a single line
+%D with text and nothing more, like your place and the date. You need only the
+%D following two lines in your document.
+%D
+%D \starttyping
+%D \setupletter[alternative=c,list=reference]
+%D \setupletter[reference=\rightaligned{Place, \currentdate}]
+%D \stoptyping
+
+\long\def\formatreferencelistc#1%
+ {\bgroup
+ \convertargument#1\to\ascii
+ \doattributes{\????ld\ascii}\c!textstyle\c!textcolor
+ {\lettervalue\ascii}%
+ \egroup}
+
+\setvalue{\v!letter:\v!reference:\v!c}%
+ {\hbox\!!to\hsize
+ {\processcommacommand[\@@@@ldlist]\formatreferencelistc}}
+
+\startsetups[letter:reference:\v!c]
+
+\setups[letter:reference:\v!a]
+
+\stopsetups
+
+%D Alternative d, text is placed in a block like alternative bit the text
+%D is put in a table.
+
+\long\def\doformatreferencelistd#1%
+ {\doifelse{#1}\v!line
+ {\NC\NC\NC\NR} % ugly but working
+ {\NC \doattributes{\????ld#1}\c!titlestyle\c!titlecolor
+ {\labeltext{\v!letter:#1}\lettervalue{#1\c!separator}}%
+ \NC\doattributes{\????ld#1}\c!textstyle\c!textcolor{\lettervalue{#1}}
+ \NC\NR}}
+
+\def\formatreferencelistd#1%
+ {\appendtoks\doformatreferencelistd{#1}\to\scratchtoks}
+
+\setvalue{\v!letter:\v!reference:\v!d}%
+ {\vtop % why not \vbox?
+ {\scratchtoks\emptytoks
+ \processcommacommand[\@@@@ldlist]\formatreferencelistd
+ \setuptabulate[\c!before=,\c!after=]%
+ \starttabulate[|l|l|]
+ \the\scratchtoks
+ \stoptabulate}}
+
+\startsetups[letter:reference:\v!d]
+
+\setupletterstyle
+ [\v!reference]
+ [\v!layer]
+ [\c!hoffset=125.7mm,
+ \c!voffset=\letterstylevalue\v!address\c!voffset]
+
+\setupletterstyle
+ [\v!reference]
+ [\v!frame]
+ [\c!width=\dimexpr\paperwidth-\letterstylevalue{\v!reference\v!layer}\c!hoffset-\cutspace\relax,
+ \c!height=\v!fit]
+
+\stopsetups
+
+%D Alternative e, nearly the same as a but you could control the width of the
+%D fields with the width key for \tex{setupletter}.
+
+\long\def\doformatreferenceliste#1%
+ {\def\\{\egroup\hbox\bgroup}%
+ \setupinterlinespace\hbox\bgroup#1\egroup\par}
+
+\long\def\formatreferenceliste#1%
+ {\bgroup
+ \convertargument#1\to\ascii
+ \doifelselettervalue{\ascii\c!width}
+ {\hbox\!!to\lettervalue{\ascii\c!width}}
+ {\hbox}%
+ {\vbox
+ {\vbox{\doattributes{\????ld\ascii}\c!titlestyle\c!titlecolor
+ {\doformatreferenceliste{\labeltext{\v!letter:\ascii}}}}
+ \vtop{\doattributes{\????ld\ascii}\c!textstyle\c!textcolor
+ {\doformatreferenceliste{\lettervalue\ascii}}}}}%
+ \egroup}
+
+\setvalue{\v!letter:\v!reference:\v!e}%
+ {\hbox\!!to\hsize
+ {\processcommacommand[\@@@@ldlist]\formatreferenceliste\hss}}
+
+\startsetups[letter:reference:\v!e]
+
+\setups[letter:reference:\v!a]
+
+\stopsetups
+
+%D The alternative \mono{none} could be used to disable the reference.
+%D
+%D The advantage is to change only the list alternative to nothing, another
+%D method to get this result to use alternative c and remove all values from
+%D the reference but the none key is better.
+
+\resetvalue{\v!letter:\v!reference:\v!none}
+
+\startsetups[letter:reference:\v!none]
+
+ % Use the topspace value from the style
+
+\stopsetups
+
+%D \subject{Setup commands}
+%D
+%D \macros
+%D {setupletter,setlettervalue}
+%D
+%D The values for the letter field is set eitheir either with \tex{setupletter}
+%D or with \tex{setlettervalue}, the first commands allows you to input the data
+%D in a key-val list while the second is only able to accept a single value.
+%D
+%D The first definition for \tex{setupletter} was defined in \filename{t-letter.tex}
+%D and used till \date[d=20,m=4,y=2008] but I decided to replace it by a simpler
+%D method to avoid a few lines of code in my letter and the letter versions from
+%D \date[d=21,m=4,y=2008] will use the new user interface. The old definition from
+%D \filename{t-letter.tex} is now oveloaded in will eventually disappear.
+%D
+%D The second command to set \tex{setlettervalue} was developed as a alternative
+%D method to set values for the letter, I implemnted the command at the same time
+%D as I changed the user interface.
+%D
+%D Untill the old definition for \tex{setupletter} remains in \filename{t-letter.tex}
+%D I have to redefine also \tex{lettervalue}, \tex{doiflettervalue} and
+%D \tex{doifelselettervalue} because the old and new definitions differe in the
+%D number of arguments but the new definition will move to the core file as soon
+%D as I replace \tex{setupletter} in the core.
+
+%D \starttyping
+%D \def\setupletter
+%D {\dodoubleempty\dosetupletter}
+%D
+%D \def\dosetupletter[#1][#2]%
+%D {\ifsecondargument
+%D \dodosetupletter[#1][#2]%
+%D \else
+%D \dodosetupletter[#1][]%
+%D \fi}
+%D
+%D \def\dodosetupletter[#1][#2]%
+%D {\doifelsenothing{#2}
+%D {\getparameters[\????ld][#1]}
+%D {\def\dododosetupletter##1%
+%D {\getparameters[\????ld##1][#2]}%
+%D \processcommalist[#1]\dododosetupletter}}
+%D
+%D \def\lettervalue#1%
+%D {\csname\????ld#1\endcsname}
+%D
+%D \def\doiflettervalue#1%
+%D {\doiftextelse{\lettervalue{#1}}
+%D \firstofoneargument
+%D \gobbleoneargument}
+%D
+%D \def\doifelselettervalue#1%
+%D {\doiftextelse{\lettervalue{#1}}
+%D \firstoftwoarguments
+%D \secondoftwoarguments}
+%D
+%D \definecomplexorsimple\setlettervalue
+%D
+%D \def\complexsetlettervalue[#1]#2%
+%D {\setvalue{\????ld#1}{#2}}
+%D
+%D \def\simplesetlettervalue#1#2%
+%D {\setvalue{\????ld#1}{#2}}
+%D \stoptyping
+
+%D \subject{Letter environment}
+%D
+%D \macros
+%D {startletter}
+%D
+%D The main macro in this file, it is used to write the letter content.
+%D It is also possible to set the address and a few other values like
+%D the opening and closing with the optional argument, the values are
+%D local in this case and not global like the values you could set with
+%D \tex{setupletter}.
+%D
+%D \showsetup{startletter}
+
+\def\startletter
+ {\bgroup\dodoubleempty\dostartletter}
+
+\def\dostartletter[#1][#2]%
+ {\ifsecondargument
+ \setupletter[#1]%
+ \doifundefinedelse{\????ld\????ld#2}
+ {\setvalue{\????ld\c!toaddress}{#2}}
+ {\setvalue{\????ld\c!toaddress}{\getvalue{\????ld\????ld#2}}}%
+ \else\iffirstargument
+ \doifassignmentelse{#1}
+ {\setupletter[#1]}
+ {\doifundefinedelse{\????ld\????ld#1}
+ {\setvalue{\????ld\c!toaddress}{#1}}
+ {\setvalue{\????ld\c!toaddress}{\getvalue{\????ld\????ld#1}}}}%
+ \fi\fi
+ \def\stopletter
+ {\setups[letter:place]\egroup
+ \setupsubpagenumber[\c!state=\@@@@lsoptionstate]}%
+ \dostartbuffer[lettercontent][startletter][stopletter]}
+
+%D Patched version of the \tex{flushbufferline} macro for \MKII,
+%D the changes are definition as long and removing of \tex{string}
+%D in the argument of the last write block.
+
+\long\def\flushbufferline#1%
+ {\iftmpblockstarted
+ \ifsegmentatebuffer
+ \ifemptybufferline
+ \immediate\write\tmpblocks{\string\stopbufferparagraph }%
+ \immediate\write\tmpblocks{\string\startbufferparagraph}%
+ \else
+ \immediate\write\tmpblocks{#1}%
+ \fi
+ \else
+ \immediate\write\tmpblocks{#1}%
+ \fi
+ \else
+ \doifsomething{#1}
+ {\tmpblockstartedtrue
+ \immediate\write\tmpblocks{#1}}%
+ \fi}
+
+%D \macros
+%D {startlettercontent}
+%D
+%D The letter content is saved in the value content, although I could
+%D place it in the corresponding I prefer this solution because you could
+%D now use it in your own macros and redefine the content setups to your
+%D own wishes.
+
+\setupletter
+ [\c!content={\getbuffer[lettercontent]}]
+
+\def\startlettercontent
+ {\dostartbuffer[lettercontent][startlettercontent][stoplettercontent]}
+
+%D After the definition of all macros I could now put the content
+%D in the corresponding setups, this is only important if you want
+%D to define your own layout for header, address etc.
+
+\setvalue{\v!letter:\v!head:\v!a}%
+ {\lettervalue\c!fromname
+ \doiflettervalue\c!fromname\\
+ \lettervalue\c!fromaddress}
+
+\startsetups[letter:head]
+\def\\{\letterstylevalue\v!head\c!separator}%
+\executeifdefined{\v!letter:\v!head:\@@@@lsheadalternative}{\getvalue{\v!letter:\v!head:\v!a}}%
+\stopsetups
+
+\startsetups[letter:foot]
+\executeifdefined{\v!letter:\v!foot:\@@@@lsfootalternative}\donothing
+\stopsetups
+
+\startsetups[letter:nexthead]
+\executeifdefined{\v!letter:\v!nexthead:\@@@@lsnextheadalternative}\donothing
+\stopsetups
+
+\startsetups[letter:nextfoot]
+\executeifdefined{\v!letter:\v!nextfoot:\@@@@lsnextfootalternative}\donothing
+\stopsetups
+
+\setvalue{\v!letter:\v!header:\v!fullblock}%
+ {\hbox\!!to\hsize
+ {\rlap{\lettervalue\c!toname}%
+ \midaligned{\pagenumber}%
+ \llap{\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=\v!left]
+ {\lettervalue\c!date \\
+ \lettervalue\c!reference}}}}
+
+\setvalue{\v!letter:\v!header:\v!hanging}%
+ {\hbox\!!to\hsize
+ {\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=v!right]
+ {\lettervalue\c!toname \\
+ \lettervalue\c!date \\
+ \lettervalue\c!reference \\
+ \labeltext{page}\pagenumber}}\hss}
+
+\copycsname\v!letter:\v!header:\v!modified\endcsname\csname\v!letter:\v!header:\v!hanging\endcsname
+
+\startsetups[letter:header]
+\executeifdefined{\v!letter:\v!header:\@@@@lsheaderalternative}\donothing
+\stopsetups
+
+\startsetups[letter:footer]
+\executeifdefined{\v!letter:\v!footer:\@@@@lsfooteralternative}\donothing
+\stopsetups
+
+%D \subject{Addressee field}
+%D
+%D The address field is separated into two different fields.
+%D The upper field is meant for dispatch information, the official height
+%D in germany is 3 lines but this would lead to different heights dependent
+%D of the font size and the fonts own height. The lower field contains the
+%D name and address of the receiver and has a height of 6 lines in germany.
+%D This value will lead to the same problem as the upper field, because the
+%D whole address field has a fixed height and both field should fit into
+%D this space. I solved this problem by assinging the upper field 1/3 of the
+%D address height and the lower field 2/3 of the address height.
+%D
+%D If you hace problem to put all information in the limited space you could
+%D try to reduce the font size or reduce the interlinespace in the field.
+
+\presetlocalframed[\????ls\v!dispatch]
+\presetlocalframed[\????ls\v!addressee]
+
+\startsetups[letter:place:dispatch]
+
+ \localframed
+ [\????ls\v!dispatch]
+ {\doadaptleftskip {\letterstylevalue\v!dispatch\c!leftmargin}%
+ \doadaptrightskip{\letterstylevalue\v!dispatch\c!rightmargin}%
+ \doattributes{\????ls\v!dispatch}\c!style\c!color{\setups[letter:address:dispatch]}}
+
+\stopsetups
+
+\startsetups[letter:place:addressee]
+
+ \localframed
+ [\????ls\v!addressee]
+ {\doadaptleftskip {\letterstylevalue\v!addressee\c!leftmargin}%
+ \doadaptrightskip{\letterstylevalue\v!addressee\c!rightmargin}%
+ \doattributes{\????ls\v!addressee}\c!style\c!color{\setups[letter:address:content]}}
+
+\stopsetups
+
+\setvalue{\v!letter:\v!address:\v!a}%
+ {\doif\@@@@lsoptiondispatch \v!yes{\setups[letter:place:dispatch]}%
+ \doif\@@@@lsoptionaddressee\v!yes{\setups[letter:place:addressee]}}
+
+\startsetups[letter:address]
+\offinterlineskip\vskip-\lineheight
+\executeifdefined{\v!letter:\v!address:\@@@@lsaddressalternative}{\getvalue{\v!letter:\v!address:\v!a}}%
+\stopsetups
+
+\startsetups[letter:address:dispatch]
+\lettervalue\c!dispatch
+\stopsetups
+
+\startsetups[letter:address:content]
+\def\\{\letterstylevalue\v!address\c!separator}%
+\lettervalue\c!toname
+\doiflettervalue\c!toname\\
+\lettervalue\c!toaddress
+\stopsetups
+
+%D The following setups shouldn't be changed ar you will loose information
+%D in the output.
+%D
+%D The reference line is choosen with the alternative key or if you set
+%D a not defined alternative the definition a is choosen.
+
+\startsetups[letter:reference]
+\executeifdefined{\v!letter:\v!reference:\@@@@lsreferencealternative}{\getvalue{\v!letter:\v!reference:\v!a}}
+\stopsetups
+
+\resetvalue{\v!letter:\v!location:\v!a}
+
+\setvalue{\v!letter:\v!location:\v!french}%
+ {\lettervalue\c!place
+ \doiflettervalue\c!place{\lettervalue{\c!place\c!separator}}%
+ \lettervalue\c!date}
+
+\startsetups[letter:location]
+\executeifdefined{\v!letter:\v!location:\@@@@lslocationalternative}{\getvalue{\v!letter:\v!location:\v!a}}
+\stopsetups
+
+\startsetups[letter:title]
+\doifelselettervalue\c!title
+ {\lettervalue\c!title}
+ {\doiflettervalue\c!attention
+ {\labeltext{\v!letter:\c!attention}\lettervalue\c!attention}}
+\stopsetups
+
+\startsetups[letter:subject]
+\labeltext{\v!letter:\c!subject}\lettervalue\c!subject
+\stopsetups
+
+\setvalue{\v!letter:\v!opening:\v!a}%
+ {\doifelselettervalue\c!opening
+ {\lettervalue\c!opening}
+ {\doiflettervalue\c!salutation
+ {\lettervalue\c!salutation}}}
+
+\setvalue{\v!letter:\v!opening:\v!french}%
+ {\ExpandSecondAfter\doifsomething{\letterstylevalue\v!option\c!indenting}
+ {\setupindenting[\@@@@lsoptionindenting]}%
+ \getvalue{\v!letter:\v!opening:\v!a}}
+
+\startsetups[letter:opening]
+\executeifdefined{\v!letter:\v!opening:\@@@@lsopeningalternative}{\getvalue{\v!letter:\v!opening:\v!a}}
+\stopsetups
+
+\startsetups[letter:content]
+\lettervalue\c!content
+\stopsetups
+
+%D \subject{Closing and appendices}
+%D
+%D It is possible to attach a signature to the closing command, before the signature
+%D a skip is inserted but only if the the signature key has a value. The height of the
+%D closing environment itself has a height of 4 lines to provide a free space for your
+%D own handwritten signature and to have a little bit space between the closing text
+%D and the appendices.
+
+\setvalue{\v!letter:\v!closing:\v!a}%
+ {\lettervalue\c!closing
+ \doiflettervalue\c!signature{\letterstylevalue\v!closing\c!inbetween}%
+ \lettervalue\c!signature}
+
+\setvalue{\v!letter:\v!closing:\v!french}%
+ {\ExpandSecondAfter\doifsomething{\letterstylevalue\v!option\c!indenting}
+ {\setupindenting[\@@@@lsoptionindenting,\v!first]}%
+ \lettervalue\c!closing
+ \doiflettervalue\c!signature{\letterstylevalue\v!closing\c!inbetween}%
+ \raggedcenter\doadaptleftskip{.5\textwidth}% quick and dirty
+ \lettervalue\c!signature\endgraf}
+
+\setvalue{\v!letter:\v!closing:\v!simplified}%
+ {\doiflettervalue\c!signature{\letterstylevalue\v!closing\c!inbetween}%
+ \lettervalue\c!signature}
+
+\startsetups[letter:closing]
+\def\\{\letterstylevalue\v!closing\c!separator}%
+\executeifdefined{\v!letter:\v!closing:\@@@@lsclosingalternative}{\getvalue{\v!letter:\v!closing:\v!a}}%
+\stopsetups
+
+\startsetups[letter:appendices]
+\let\\\crlf
+\doflushletterdescription
+\stopsetups
+
+\dodefineletterdescription[\v!enclosure]
+
+\startsetups[letter:enclosure]
+\processaction
+ [\lettervalue\c!enclosure]
+ [ \v!empty=>\vrule\!!height\zeropoint\!!depth\zeropoint\!!width\hsize\relax\ifvmode\nowhitespace\fi,
+ \s!unknown=>\lettervalue\c!enclosure]
+\stopsetups
+
+\dodefineletterdescription[\v!copy]
+
+\startsetups[letter:copy]
+\processaction
+ [\lettervalue\c!copy]
+ [ \v!empty=>\vrule\!!height\zeropoint\!!depth\zeropoint\!!width\hsize\relax\ifvmode\nowhitespace\fi,
+ \s!unknown=>\lettervalue\c!copy]
+\stopsetups
+
+\dodefineletterdescription[\v!postscript]
+
+\startsetups[letter:postscript]
+\processaction
+ [\lettervalue\c!postscript]
+ [ \v!empty=>\vrule\!!height\zeropoint\!!depth\zeropoint\!!width\hsize\relax\ifvmode\nowhitespace\fi,
+ \s!unknown=>\lettervalue\c!postscript]
+\stopsetups
+
+\setvalue{\v!letter:\v!backaddress:\v!yes}%
+ {\lettervalue\c!fromname
+ \doiflettervalue\c!fromaddress\\
+ \lettervalue\c!fromaddress}
+
+\resetvalue{\v!letter:\v!backaddress:\v!no}
+
+\setvalue{\v!letter:\v!backaddress:\v!auto}%
+ {\doifelselettervalue\c!backaddress
+ {\lettervalue\c!backaddress}
+ {\lettervalue\c!fromname
+ \doiflettervalue\c!fromaddress\\
+ \lettervalue\c!fromaddress}}
+
+\startsetups[letter:backaddress]
+\def\\{\letterstylevalue\c!backaddress\c!separator}%
+\executeifdefined{\v!letter:\v!backaddress:\@@@@lsbackaddressalternative}{\getvalue{\v!letter:\v!backaddress:\v!no}}%
+\stopsetups
+
+%D To prevent a pagebreak between the last line of the text and
+%D the siganture a nonbreakable vertical space is necessary.
+%D The vertical space is inserted in the style file with the normal
+%D before and after commands where we control the distance between
+%D the elements.
+
+\defineblankmethod [\v!nobreak] {\penalty\plustenthousand}
+\defineblankmethod [\v!endgraf] {\endgraf}
+
+%D \subject{Additional settings}
+%D
+%D I set alternative a as default value for alternative, the only content
+%D is the date with a label. f you dont want a label choose alternative c
+%D or change the label.
+
+\startsetups[letter:optimize]
+
+ \setbox\scratchbox\hbox % trial typesetting to get the heigth of the reference line
+ {\executeifdefined{\v!letter:\v!reference:\@@@@lsreferencealternative}{\getvalue{\v!letter:\v!reference:\v!a}}}
+
+ %\setups[letter:reference:\@@@@lsreferencealternative]
+
+\stopsetups
+
+%D We have at the moment only the values from the core module, I use the settings
+%D from the dinb file as default settings, you could replace them in your own
+%D document but I won't change the default style.
+%D
+%D The labels are stored in a common file, you could use them in your own interface
+%D but you have to live with my names.
+
+\useletterstyle [dinb] % layout
+\useletterextension[label] % labels
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/interface/knuth.nli b/Master/texmf-dist/tex/context/third/letter/interface/knuth.nli
index 1ecddf56683..886f1da7a98 100644
--- a/Master/texmf-dist/tex/context/third/letter/interface/knuth.nli
+++ b/Master/texmf-dist/tex/context/third/letter/interface/knuth.nli
@@ -1,57 +1,59 @@
-%D \module
-%D [ file=knuth,
-%D version=2008.04.17,
-%D title=\CONTEXT\ Letter Interface,
-%D subtitle=Lettformat Interface, % Donald Knuth's own letter format
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\useletterstyle[knuth]
-
-\def\address
- {\startbuffer[address][address][body]}
-
-\def\body
- {\startbuffer[body][body][closing]}
-
-\def\closing
- {\def\endletter{\setups[letter:place]}%
- \startbuffer[closing][closing][endletter]}
-
-\def\annotations
- {\blank[line]\leftskip=0pt}
-
-\def\ps
- {\let\par\space
- \blank[medium]\leftskip=0pt}
-
-\startsetups[letter:reference]
-
-\stopsetups
-
-\startsetups[letter:opening]
-
- \obeylines
- \getbuffer[address]
-
-\stopsetups
-
-\startsetups[letter:content]
-
- \getbuffer[body]
-
-\stopsetups
-
-\startsetups[letter:closing]
-
- \leftskip=4in
- \obeylines
- \def\par{\normalpar\vskip1cm\let\par\normalpar}
- \getbuffer[closing]
-
-\stopsetups
-
-\protect \endinput
+%D \module
+%D [ file=knuth,
+%D version=2008.04.17,
+%D title=\CONTEXT\ Letter Interface,
+%D subtitle=Lettformat Interface, % Donald Knuth's own letter format
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\useletterstyle[knuth]
+
+\def\address
+ {\dostartbuffer[address][address][body]}
+
+\def\body
+ {\dostartbuffer[body][body][closing]}
+
+\def\closing
+ {\def\endletter{\setups[letter:place]}%
+ \dostartbuffer[closing][closing][endletter]}
+
+\def\annotations
+ {\blank[line]\leftskip=0pt}
+
+\def\ps
+ {\let\par\space
+ \blank[medium]\leftskip=0pt}
+
+\startsetups[letter:reference]
+
+\stopsetups
+
+\startsetups[letter:opening]
+
+ \obeylines
+ \getbuffer[address]
+
+\stopsetups
+
+\startsetups[letter:content]
+
+ \getbuffer[body]
+
+\stopsetups
+
+\startsetups[letter:closing]
+
+ \leftskip=4in
+ \obeylines
+ \def\par{\normalpar\vskip1cm\let\par\normalpar}
+ \getbuffer[closing]
+
+\stopsetups
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/interface/pragma.nli b/Master/texmf-dist/tex/context/third/letter/interface/pragma.nli
index 5bb287af0a5..f149c1ff7e0 100644
--- a/Master/texmf-dist/tex/context/third/letter/interface/pragma.nli
+++ b/Master/texmf-dist/tex/context/third/letter/interface/pragma.nli
@@ -5,7 +5,9 @@
%D subtitle=Pragma Style,
%D author=Wolfgang Schuster,
%D date=\currentdate,
-%D copyright=Public Domain]
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
\unprotect
@@ -158,7 +160,7 @@
\stopsetups
\def\startlettercontent
- {\startbuffer[texletter][startlettercontent][stoplettercontent]}
+ {\dostartbuffer[texletter][startlettercontent][stoplettercontent]}
\startsetups[letter:content]
\getvariable{letter:data}{content}
diff --git a/Master/texmf-dist/tex/context/third/letter/style/blockstyle.nls b/Master/texmf-dist/tex/context/third/letter/style/blockstyle.nls
index 165c41165b7..fcc0fb24de9 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/blockstyle.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/blockstyle.nls
@@ -1,56 +1,58 @@
-%D \module
-%D [ file=blockstyle,
-%D version=2008.05.28,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=Blockstyle initalization,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\useletterstyle[default]
-
-\def\letter!order!sections
- {\v!letter\v!head,\v!date\v!line,\v!reference\v!line,
- \v!special\v!notation,\v!inside\v!address,\v!title,
- \v!opening,\v!subject,\v!content,\v!closing,\v!appendices}
-
-\setupletter
- [\c!alternative=\v!none]
-
-\setupletterstyle
- [\v!option]
- [\c!backaddress=\v!no,
- \c!address=\v!no,
- \c!reference=\v!no,
- \c!marking=\v!no]
-
-\startsetups[letter:head]
-% sender information appear in a lettersection
-\stopsetups
-
-\startsetups[letter:\v!letter\v!head]
-\let\\\crlf
-\lettervalue\c!fromaddress
-\stopsetups
-
-\startsetups[letter:\v!date\v!line]
-\lettervalue\c!date
-\stopsetups
-
-\startsetups[letter:\v!reference\v!line]
-\lettervalue\c!reference
-\stopsetups
-
-\startsetups[letter:\v!special\v!notation]
-\lettervalue\c!dispatch
-\stopsetups
-
-\startsetups[letter:\v!inside\v!address]
-\let\\\crlf
-\doiflettervalue\c!toname {\lettervalue\c!toname \crlf}
-\doiflettervalue\c!toaddress{\lettervalue\c!toaddress\crlf}
-\stopsetups
-
-\protect \endinput
+%D \module
+%D [ file=blockstyle,
+%D version=2008.05.28,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Blockstyle initalization,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\useletterstyle[default]
+
+\def\letter!order!sections
+ {\v!letter\v!head,\v!date\v!line,\v!reference\v!line,
+ \v!special\v!notation,\v!inside\v!address,\v!title,
+ \v!opening,\v!subject,\v!content,\v!closing,\v!appendices}
+
+\setupletter
+ [\c!alternative=\v!none]
+
+\setupletterstyle
+ [\v!option]
+ [\c!backaddress=\v!no,
+ \c!address=\v!no,
+ \c!reference=\v!no,
+ \c!marking=\v!no]
+
+\startsetups[letter:head]
+% sender information appear in a lettersection
+\stopsetups
+
+\startsetups[letter:\v!letter\v!head]
+\let\\\crlf
+\lettervalue\c!fromaddress
+\stopsetups
+
+\startsetups[letter:\v!date\v!line]
+\lettervalue\c!date
+\stopsetups
+
+\startsetups[letter:\v!reference\v!line]
+\lettervalue\c!reference
+\stopsetups
+
+\startsetups[letter:\v!special\v!notation]
+\lettervalue\c!dispatch
+\stopsetups
+
+\startsetups[letter:\v!inside\v!address]
+\let\\\crlf
+\doiflettervalue\c!toname {\lettervalue\c!toname \crlf}
+\doiflettervalue\c!toaddress{\lettervalue\c!toaddress\crlf}
+\stopsetups
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/default.nls b/Master/texmf-dist/tex/context/third/letter/style/default.nls
index 4637dfec6a8..4878317b08b 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/default.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/default.nls
@@ -1,34 +1,87 @@
-%D \module
-%D [ file=default,
-%D version=2008.07.08,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=Blockstyle initalization,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\def\doresetletterlayer #1{\dododefineletterlayer[#1]}
-\def\doresetlettersection#1{\dodefinelettersection[#1]}
-
-\processcommacommand[\letter!list!layers ]\doresetletterlayer
-\processcommacommand[\letter!list!sections]\doresetlettersection
-
-\setupletterstyle
- [\v!firstpage,\v!secondpage]
- [\c!topspace=.08417508418\paperheight,
- \c!top=\!!zeropoint,
- \c!topdistance=\!!zeropoint,
- \c!header=.06734006734\paperheight,
- \c!headerdistance=\!!zeropoint,
- \c!height=.84175084175\paperheight,
- \c!footerdistance=\!!zeropoint,
- \c!footer=.06734006734\paperheight,
- \c!bottomdistance=\!!zeropoint,
- \c!bottom=\!!zeropoint,
- \c!backspace=.11904761905\paperwidth,
- \c!width=.71428571429\paperwidth,
- \c!bottomspace=\!!zeropoint]
-
-\protect \endinput
+%D \module
+%D [ file=default,
+%D version=2008.10.27,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Blockstyle initalization,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\def\doresetletterlayer #1{\dododefineletterlayer[#1]}
+\def\doresetlettersection#1{\dodefinelettersection[#1]}
+
+\processcommacommand[\letter!list!layers ]\doresetletterlayer
+\processcommacommand[\letter!list!sections]\doresetlettersection
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!topspace=.08417508418\paperheight,
+ \c!top=\!!zeropoint,
+ \c!topdistance=\!!zeropoint,
+ \c!header=.06734006734\paperheight,
+ \c!headerdistance=\!!zeropoint,
+ \c!height=.84175084175\paperheight,
+ \c!footerdistance=\!!zeropoint,
+ \c!footer=.06734006734\paperheight,
+ \c!bottomdistance=\!!zeropoint,
+ \c!bottom=\!!zeropoint,
+ \c!backspace=.11904761905\paperwidth,
+ \c!width=.71428571429\paperwidth,
+ \c!bottomspace=\!!zeropoint]
+
+\setupletter
+ [\c!alternative=\v!a,
+ \c!list=\v!date,
+ \c!date=\currentdate,
+ \c!width=\zeropoint]
+
+\setupletterstyle
+ [\v!option]
+ [\c!dispatch=\v!yes,
+ \c!addressee=\v!yes]
+
+\setupletterstyle
+ [\v!nexthead,\v!nextfoot]
+ [\c!state=\v!next]
+
+\setupletterstyle
+ [\v!reference]
+ [\v!option]
+ [%\c!list=\lettervalue\c!list, % not yet
+ \c!alternative=\lettervalue\c!alternative]
+
+\setupletterstyle
+ [\v!backaddress]
+ [\v!option]
+ [\c!alternative=\v!no,
+ \c!separator=\textcomma\space]
+
+\setupletterstyle
+ [\v!dispatch,\v!addressee]
+ [\c!align=\v!right,
+ \c!width=\hsize,
+ \c!leftmargin=\zeropoint,
+ \c!rightmargin=\zeropoint,
+ \c!offset=\zeropoint,
+ \c!frame=\v!off]
+
+\setupletterstyle
+ [\v!dispatch]
+ [\c!location=\v!bottom,
+ \c!height=\dimexpr(\vsize/9)*3\relax]
+
+\setupletterstyle
+ [\v!addressee]
+ [\c!location=\v!top,
+ \c!height=\dimexpr(\vsize/9)*6\relax]
+
+\setupletterstyle
+ [\v!closing]
+ [\c!after={\blank[\v!line]},
+ \c!inbetween={\blank[\v!endgraf,\v!nobreak,2*\v!line]}]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/dina.nls b/Master/texmf-dist/tex/context/third/letter/style/dina.nls
index 24b535b5fa4..54b87231216 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/dina.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/dina.nls
@@ -5,7 +5,9 @@
%D subtitle=DIN 676 A,
%D author=Wolfgang Schuster,
%D date=\currentdate,
-%D copyright=Public Domain]
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
\unprotect
diff --git a/Master/texmf-dist/tex/context/third/letter/style/dinb.nls b/Master/texmf-dist/tex/context/third/letter/style/dinb.nls
index 2714f536e99..69da94987e0 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/dinb.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/dinb.nls
@@ -5,10 +5,14 @@
%D subtitle=DIN 676 B,
%D author=Wolfgang Schuster,
%D date=\currentdate,
-%D copyright=Public Domain]
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
\unprotect
+\useletterstyle[default] % default values
+
\setupletterstyle
[\v!firstpage,\v!secondpage]
[\c!topspace=114.3mm,
@@ -29,7 +33,7 @@
\setupletterstyle
[\v!title,\v!subject,\v!opening,\v!appendices]
[\c!before=,
- \c!after={\blank[line]}]
+ \c!after={\blank[\v!line]}]
\setupletterstyle
[\v!title]
@@ -96,8 +100,7 @@
\c!height=5mm,
\c!voffset=\dimexpr\letterstylevalue\v!address\c!voffset-\letterstylevalue\v!backaddress\c!height\relax,
\c!width=85mm,
- \c!style=\c!tf\c!xx,
- \c!bottomframe=\v!on]
+ \c!style=\c!tf\c!xx]
\setupletterstyle
[\v!reference]
diff --git a/Master/texmf-dist/tex/context/third/letter/style/dutch.nls b/Master/texmf-dist/tex/context/third/letter/style/dutch.nls
index 43d69a381b7..841daf4e005 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/dutch.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/dutch.nls
@@ -5,7 +5,9 @@
%D subtitle=Dutch NEN Style,
%D author=Wolfgang Schuster,
%D date=\currentdate,
-%D copyright=Public Domain]
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
\unprotect
@@ -51,7 +53,8 @@
[\v!backaddress]
[\c!voffset=50mm,
\c!height=5mm,
- \c!width=80mm]
+ \c!width=80mm,
+ \c!bottomframe=\v!yes]
\setupletterstyle
[\v!address]
diff --git a/Master/texmf-dist/tex/context/third/letter/style/english.nls b/Master/texmf-dist/tex/context/third/letter/style/english.nls
index bcbfcdea3ff..64000adb8d3 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/english.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/english.nls
@@ -1,23 +1,25 @@
-%D \module
-%D [ file=english,
-%D version=2008.03.13,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=English style,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-%D This is the second letter style for my letter module. The first
-%D style was \mono{dina.nls} with its slightly different alternative
-%D \mono{dinb.nls} but both count only as one style.
-
-\def\letter!order!sections
- {\v!title,\v!opening,\v!subject,\v!content,\v!closing,\v!appendices}
-
-\setupletterstyle
- [\v!subject]
- [\c!style=]
-
-\protect \endinput
+%D \module
+%D [ file=english,
+%D version=2008.03.13,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=English style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+%D This is the second letter style for my letter module. The first
+%D style was \mono{dina.nls} with its slightly different alternative
+%D \mono{dinb.nls} but both count only as one style.
+
+\def\letter!order!sections
+ {\v!title,\v!opening,\v!subject,\v!content,\v!closing,\v!appendices}
+
+\setupletterstyle
+ [\v!subject]
+ [\c!style=]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/french.nls b/Master/texmf-dist/tex/context/third/letter/style/french.nls
index b2c93696af8..b2cc80c14c3 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/french.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/french.nls
@@ -1,52 +1,87 @@
-%D \module
-%D [ file=french,
-%D version=2008.04.28,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=French Style,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\useletterstyle[dinb]
-
-\setupletterstyle
- [\v!firstpage,\v!secondpage]
- [\c!backspace=26mm,
- \c!width=\v!middle,
- \c!topspace=105mm,
- \c!bottomspace=22mm,
- \c!height=\v!fit]
-
-\setupletterstyle
- [\v!secondpage]
- [\c!topspace=27mm,
- \c!header=12mm]
-
-\setupletterstyle
- [\v!head]
- [\c!hoffset=16mm,
- \c!voffset=23mm]
-
-\setupletterstyle
- [\v!address]
- [\c!hoffset=115mm,
- \c!voffset=53mm]
-
-\setupletterstyle
- [\v!location]
- [\c!hoffset=115mm,
- \c!voffset=28mm]
-
-\setupletterstyle
- [\v!title,\v!subject,\v!opening,\v!content,\v!closing,\v!appendices]
- [\c!leftmargin=15mm]
-
-\setupletterstyle
- [\v!option]
- [\c!cutmark=\v!no,
- \c!botmark=\v!no,
- \c!usermark=\v!yes]
-
-\protect \endinput
+%D \module
+%D [ file=french,
+%D version=2008.08.07,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=French Style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\useletterstyle[dinb]
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=25mm,
+ \c!width=\v!middle,
+ \c!topspace=95mm,
+ \c!bottomspace=25mm,
+ \c!height=\v!fit]
+
+\setupletterstyle
+ [\v!secondpage]
+ [\c!topspace=15mm,
+ \c!header=10mm]
+
+\setupletterstyle
+ [\v!head]
+ [\c!hoffset=\backspace,
+ \c!voffset=25mm]
+
+\setupletterstyle
+ [\v!backaddress]
+ [\c!alternative=\v!no]
+
+\setupletterstyle
+ [\v!address]
+ [\c!hoffset=107mm,
+ \c!voffset=55mm]
+
+\setupletterstyle
+ [\v!addressee]
+ [\c!height=\vsize,
+ \c!location=\v!normal,
+ \c!align=\v!right]
+
+\setupletterstyle
+ [\v!location]
+ [\c!hoffset=107mm,
+ \c!voffset=30mm]
+
+\setupletterstyle
+ [\v!reference]
+ [\c!alternative=\v!none]
+
+\setupletterstyle
+ [\v!closing]
+ [\c!inbetween={\blank[\v!endgraf,\v!nobreak,2*\v!line]}]
+
+\setupletterstyle
+ [\v!enclosure]
+ [\c!location=\v!left,
+ \c!width=\v!fit,
+ \c!headstyle=\c!tf]
+
+\setupletterstyle
+ [\v!opening]
+ [\c!after={\blank[2*\v!line]}]
+
+\setupletterstyle
+ [\v!content]
+ [\c!after={\blank[\v!nobreak,2*\v!line]}]
+
+\setupletterstyle
+ [\v!location,\v!opening,\v!closing]
+ [\c!alternative=\v!french]
+
+\setupletterstyle
+ [\v!option]
+ [\c!whitespace=\v!line,
+ \c!cutmark=\v!no,
+ \c!botmark=\v!no,
+ \c!dispatch=\v!no]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/fullblock.nls b/Master/texmf-dist/tex/context/third/letter/style/fullblock.nls
index db5505b0cf6..e449e6f5e9a 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/fullblock.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/fullblock.nls
@@ -1,57 +1,59 @@
-%D \module
-%D [ file=fullblock,
-%D version=2008.05.28,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=full-block/complete block style,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\useletterstyle[blockstyle]
-
-\setupletterstyle
- [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
- \v!inside\v!address,\v!title,\v!opening,\v!subject,\v!content]
- [\c!after={\blank[\v!line]}]
-
-\setupletterstyle
- [\v!closing]
- [\c!after={\blank[2*\v!line]}]
-
-\setupletterstyle
- [\v!firstpage,\v!secondpage]
- [\c!backspace=1in,
- \c!width=\v!middle,
- \c!topspace=1in,
- \c!header=0in,
- \c!footer=0in,
- \c!height=\v!fit]
-
-\setupletterstyle
- [\v!secondpage]
- [\c!header=.5in]
-
-\startsetups[letter:header:fullblock]
-
- \framed
- [\c!frame=\v!off,
- \c!location=\v!top,
- \c!align=\v!left]
- {\lettervalue\c!date \\
- \lettervalue\c!reference}
-
-\stopsetups
-
-\setupletterstyle
- [\v!header]
- [\c!lefttext=\lettervalue\c!toname,
- \c!middletext=\pagenumber,
- \c!righttext=\setups{letter:header:fullblock}]
-
-\setupletterstyle
- [\v!option]
- [\c!whitespace=\v!line]
-
-\protect \endinput
+%D \module
+%D [ file=fullblock,
+%D version=2008.05.28,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=full-block/complete block style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\useletterstyle[blockstyle]
+
+\setupletterstyle
+ [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
+ \v!inside\v!address,\v!title,\v!opening,\v!subject,\v!content]
+ [\c!after={\blank[\v!line]}]
+
+\setupletterstyle
+ [\v!closing]
+ [\c!after={\blank[2*\v!line]}]
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterstyle
+ [\v!secondpage]
+ [\c!header=.5in]
+
+\startsetups[letter:header:fullblock]
+
+ \framed
+ [\c!frame=\v!off,
+ \c!location=\v!top,
+ \c!align=\v!left]
+ {\lettervalue\c!date \\
+ \lettervalue\c!reference}
+
+\stopsetups
+
+\setupletterstyle
+ [\v!header]
+ [\c!lefttext=\lettervalue\c!toname,
+ \c!middletext=\pagenumber,
+ \c!righttext=\setups{letter:header:fullblock}]
+
+\setupletterstyle
+ [\v!option]
+ [\c!whitespace=\v!line]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/hanging.nls b/Master/texmf-dist/tex/context/third/letter/style/hanging.nls
index 0257a5c7cb0..a78231235b0 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/hanging.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/hanging.nls
@@ -1,67 +1,69 @@
-%D \module
-%D [ file=hanging,
-%D version=2008.05.28,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=Hanging indented style,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\useletterstyle[blockstyle]
-
-\setupletterstyle
- [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
- \v!inside\v!address,\v!title,\v!opening,\v!content]
- [\c!after={\blank[\v!line]}]
-
-\setupletterstyle
- [\v!letter\v!head,\v!reference\v!line,
- \v!date\v!line,\v!special\v!notation,\v!closing]
- [\c!leftmargin=.5\textwidth]
-
-\setupletterstyle
- [\v!content]
- [\c!before=\everypar{\hangindent1.5em\relax}]
-
-\setupletterstyle
- [\v!closing]
- [\c!after={\blank[2*\v!line]}]
-
-\setupletterstyle
- [\v!firstpage,\v!secondpage]
- [\c!backspace=1in,
- \c!width=\v!middle,
- \c!topspace=1in,
- \c!header=0in,
- \c!footer=0in,
- \c!height=\v!fit]
-
-\setupletterstyle
- [\v!secondpage]
- [\c!header=1in]
-
-\setuplabeltext[en][page=Page~]
-
-\startsetups[letter:header:hanging]
-
- \framed
- [\c!frame=\v!off,
- \c!align=v!right]
- {\lettervalue\c!toname \\
- \lettervalue\c!date \\
- \lettervalue\c!reference \\
- \labeltext{page}\pagenumber}
-
-\stopsetups
-
-\setupletterstyle
- [\v!header]
- [\c!lefttext=\setups{letter:header:hanging}]
-
-\setupletterstyle
- [\v!option]
- [\c!whitespace=\v!line]
-
-\protect \endinput
+%D \module
+%D [ file=hanging,
+%D version=2008.05.28,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Hanging indented style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\useletterstyle[blockstyle]
+
+\setupletterstyle
+ [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
+ \v!inside\v!address,\v!title,\v!opening,\v!content]
+ [\c!after={\blank[\v!line]}]
+
+\setupletterstyle
+ [\v!letter\v!head,\v!reference\v!line,
+ \v!date\v!line,\v!special\v!notation,\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setupletterstyle
+ [\v!content]
+ [\c!before=\everypar{\hangindent1.5em\relax}]
+
+\setupletterstyle
+ [\v!closing]
+ [\c!after={\blank[2*\v!line]}]
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterstyle
+ [\v!secondpage]
+ [\c!header=1in]
+
+\setuplabeltext[en][page=Page~]
+
+\startsetups[letter:header:hanging]
+
+ \framed
+ [\c!frame=\v!off,
+ \c!align=v!right]
+ {\lettervalue\c!toname \\
+ \lettervalue\c!date \\
+ \lettervalue\c!reference \\
+ \labeltext{page}\pagenumber}
+
+\stopsetups
+
+\setupletterstyle
+ [\v!header]
+ [\c!lefttext=\setups{letter:header:hanging}]
+
+\setupletterstyle
+ [\v!option]
+ [\c!whitespace=\v!line]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/knuth.nls b/Master/texmf-dist/tex/context/third/letter/style/knuth.nls
index 4f06d76bcb8..ae34f0208ca 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/knuth.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/knuth.nls
@@ -5,7 +5,9 @@
%D subtitle=Letterformat Style,
%D author=Wolfgang Schuster,
%D date=\currentdate,
-%D copyright=Public Domain]
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
\unprotect
diff --git a/Master/texmf-dist/tex/context/third/letter/style/memo.nls b/Master/texmf-dist/tex/context/third/letter/style/memo.nls
index 34c4ba4eac4..d25d1398c89 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/memo.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/memo.nls
@@ -1,70 +1,72 @@
-%D \module
-%D [ file=memo,
-%D version=2008.07.03,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=Memo style,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\useletterstyle[blockstyle]
-
-\def\letter!order!sections
- {\v!date\v!line,\v!reference\v!line,\v!inside\v!address,
- \v!letter\v!head,\v!special\v!notation,\v!title,
- \v!opening,\v!subject,\v!content,\v!closing,\v!appendices}
-
-\setupletterstyle
- [\v!letter\v!head,\v!reference\v!line,
- \v!special\v!notation,\v!inside\v!address,
- \v!title,\v!subject]
- [\c!before=\nowhitespace,
- \c!after=\nowhitespace]
-
-\setupletterstyle
- [\v!subject,\v!content,\v!closing]
- [\c!after={\blank[\v!line]}]
-
-\setupletterstyle
- [\v!closing]
- [\c!leftmargin=.5\textwidth]
-
-\setupletterstyle
- [\v!firstpage,\v!secondpage]
- [\c!backspace=1in,
- \c!width=\v!middle,
- \c!topspace=1in,
- \c!header=0in,
- \c!footer=0in,
- \c!height=\v!fit]
-
-\setupletterstyle
- [\v!option]
- [\c!whitespace=\v!line,
- \c!opening=\v!no,
- \c!reference\c!line=\v!no,
- \v!special\v!notation=\v!no,
- \c!title=\v!no]
-
-\startsetups[letter:\v!date\v!line]
-\labeltext{\v!memo:\c!date}\lettervalue\c!date
-\stopsetups
-
-\startsetups[letter:\v!letter\v!head]
-\let\\\crlf
-\labeltext{\v!memo:\c!fromname}\lettervalue\c!fromname
-\stopsetups
-
-\startsetups[letter:\v!inside\v!address]
-\let\\\crlf
-\labeltext{\v!memo:\c!toname}\lettervalue\c!toname
-\stopsetups
-
-\startsetups[letter:subject]
-\let\\\crlf
-\labeltext{\v!memo:\c!subject}\lettervalue\c!subject
-\stopsetups
-
-\protect \endinput
+%D \module
+%D [ file=memo,
+%D version=2008.07.03,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Memo style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\useletterstyle[blockstyle]
+
+\def\letter!order!sections
+ {\v!date\v!line,\v!reference\v!line,\v!inside\v!address,
+ \v!letter\v!head,\v!special\v!notation,\v!title,
+ \v!opening,\v!subject,\v!content,\v!closing,\v!appendices}
+
+\setupletterstyle
+ [\v!letter\v!head,\v!reference\v!line,
+ \v!special\v!notation,\v!inside\v!address,
+ \v!title,\v!subject]
+ [\c!before=\nowhitespace,
+ \c!after=\nowhitespace]
+
+\setupletterstyle
+ [\v!subject,\v!content,\v!closing]
+ [\c!after={\blank[\v!line]}]
+
+\setupletterstyle
+ [\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterstyle
+ [\v!option]
+ [\c!whitespace=\v!line,
+ \c!opening=\v!no,
+ \c!reference\c!line=\v!no,
+ \v!special\v!notation=\v!no,
+ \c!title=\v!no]
+
+\startsetups[letter:\v!date\v!line]
+\labeltext{\v!memo:\c!date}\lettervalue\c!date
+\stopsetups
+
+\startsetups[letter:\v!letter\v!head]
+\let\\\crlf
+\labeltext{\v!memo:\c!fromname}\lettervalue\c!fromname
+\stopsetups
+
+\startsetups[letter:\v!inside\v!address]
+\let\\\crlf
+\labeltext{\v!memo:\c!toname}\lettervalue\c!toname
+\stopsetups
+
+\startsetups[letter:subject]
+\let\\\crlf
+\labeltext{\v!memo:\c!subject}\lettervalue\c!subject
+\stopsetups
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/modified.nls b/Master/texmf-dist/tex/context/third/letter/style/modified.nls
index de8f65110f1..df661ba7f9b 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/modified.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/modified.nls
@@ -1,63 +1,65 @@
-%D \module
-%D [ file=modified,
-%D version=2008.05.28,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=Block/Modified block style,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\useletterstyle[blockstyle]
-
-\setupletterstyle
- [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
- \v!inside\v!address,\v!title,\v!opening,\v!content]
- [\c!after={\blank[\v!line]}]
-
-\setupletterstyle
- [\v!letter\v!head,\v!reference\v!line,
- \v!date\v!line,\v!special\v!notation,\v!closing]
- [\c!leftmargin=.5\textwidth]
-
-\setupletterstyle
- [\v!closing]
- [\c!after={\blank[2*\v!line]}]
-
-\setupletterstyle
- [\v!firstpage,\v!secondpage]
- [\c!backspace=1in,
- \c!width=\v!middle,
- \c!topspace=1in,
- \c!header=0in,
- \c!footer=0in,
- \c!height=\v!fit]
-
-\setupletterstyle
- [\v!secondpage]
- [\c!header=1in]
-
-\setuplabeltext[en][page=Page~]
-
-\startsetups[letter:header:modified]
-
- \framed
- [\c!frame=\v!off,
- \c!align=v!right]
- {\lettervalue\c!toname \\
- \lettervalue\c!date \\
- \lettervalue\c!reference \\
- \labeltext{page}\pagenumber}
-
-\stopsetups
-
-\setupletterstyle
- [\v!header]
- [\c!lefttext=\setups{letter:header:modified}]
-
-\setupletterstyle
- [\v!option]
- [\c!whitespace=\v!line]
-
-\protect \endinput
+%D \module
+%D [ file=modified,
+%D version=2008.05.28,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Block/Modified block style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\useletterstyle[blockstyle]
+
+\setupletterstyle
+ [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
+ \v!inside\v!address,\v!title,\v!opening,\v!content]
+ [\c!after={\blank[\v!line]}]
+
+\setupletterstyle
+ [\v!letter\v!head,\v!reference\v!line,
+ \v!date\v!line,\v!special\v!notation,\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setupletterstyle
+ [\v!closing]
+ [\c!after={\blank[2*\v!line]}]
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterstyle
+ [\v!secondpage]
+ [\c!header=1in]
+
+\setuplabeltext[en][page=Page~]
+
+\startsetups[letter:header:modified]
+
+ \framed
+ [\c!frame=\v!off,
+ \c!align=v!right]
+ {\lettervalue\c!toname \\
+ \lettervalue\c!date \\
+ \lettervalue\c!reference \\
+ \labeltext{page}\pagenumber}
+
+\stopsetups
+
+\setupletterstyle
+ [\v!header]
+ [\c!lefttext=\setups{letter:header:modified}]
+
+\setupletterstyle
+ [\v!option]
+ [\c!whitespace=\v!line]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/pragma.nls b/Master/texmf-dist/tex/context/third/letter/style/pragma.nls
index a806947df8b..72ecdc87451 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/pragma.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/pragma.nls
@@ -5,7 +5,9 @@
%D subtitle=Pragma Style,
%D author=Wolfgang Schuster,
%D date=\currentdate,
-%D copyright=Public Domain]
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
\unprotect
diff --git a/Master/texmf-dist/tex/context/third/letter/style/semiblock.nls b/Master/texmf-dist/tex/context/third/letter/style/semiblock.nls
index c61ac22b279..1455fef1c29 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/semiblock.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/semiblock.nls
@@ -1,52 +1,54 @@
-%D \module
-%D [ file=semiblock,
-%D version=2008.05.28,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=Semiblock style,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\useletterstyle[blockstyle]
-
-\setupletterstyle
- [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
- \v!inside\v!address,\v!title,\v!opening,\v!subject,\v!content]
- [\c!after={\blank[\v!line]}]
-
-\setupletterstyle
- [\v!letter\v!head,\v!reference\v!line,
- \v!date\v!line,\v!special\v!notation,\v!closing]
- [\c!leftmargin=.5\textwidth]
-
-\setupletterstyle
- [\v!closing]
- [\c!after={\blank[2*\v!line]}]
-
-\setupletterstyle
- [\v!firstpage,\v!secondpage]
- [\c!backspace=1in,
- \c!width=\v!middle,
- \c!topspace=1in,
- \c!header=0in,
- \c!footer=0in,
- \c!height=\v!fit]
-
-\setupletterstyle
- [\v!secondpage]
- [\c!header=.5in]
-
-\setupletterstyle
- [\v!header]
- [\c!lefttext=\lettervalue\c!toname,
- \c!middletext=\pagenumber,
- \c!righttext=\lettervalue\c!date]
-
-\setupletterstyle
- [\v!option]
- [\c!whitespace=\v!line,
- \c!indenting={\v!yes,\v!medium,\v!first}]
-
-\protect \endinput
+%D \module
+%D [ file=semiblock,
+%D version=2008.05.28,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Semiblock style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\useletterstyle[blockstyle]
+
+\setupletterstyle
+ [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
+ \v!inside\v!address,\v!title,\v!opening,\v!subject,\v!content]
+ [\c!after={\blank[\v!line]}]
+
+\setupletterstyle
+ [\v!letter\v!head,\v!reference\v!line,
+ \v!date\v!line,\v!special\v!notation,\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setupletterstyle
+ [\v!closing]
+ [\c!after={\blank[2*\v!line]}]
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterstyle
+ [\v!secondpage]
+ [\c!header=.5in]
+
+\setupletterstyle
+ [\v!header]
+ [\c!lefttext=\lettervalue\c!toname,
+ \c!middletext=\pagenumber,
+ \c!righttext=\lettervalue\c!date]
+
+\setupletterstyle
+ [\v!option]
+ [\c!whitespace=\v!line,
+ \c!indenting={\v!yes,\v!medium,\v!first}]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/simplified.nls b/Master/texmf-dist/tex/context/third/letter/style/simplified.nls
index 90d1cccc188..504556ca409 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/simplified.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/simplified.nls
@@ -1,59 +1,64 @@
-%D \module
-%D [ file=simplified,
-%D version=2008.05.28,
-%D title=\CONTEXT\ Letter Style,
-%D subtitle=Simplified style,
-%D author=Wolfgang Schuster,
-%D date=\currentdate,
-%D copyright=Public Domain]
-
-\unprotect
-
-\useletterstyle[blockstyle]
-
-\setupletterstyle
- [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
- \v!inside\v!address,\v!title,\v!opening,\v!subject,\v!content]
- [\c!after={\blank[\v!line]}]
-
-\setupletterstyle
- [\v!closing]
- [\c!after={\blank[2*\v!line]}]
-
-\setupletterstyle
- [\v!firstpage,\v!secondpage]
- [\c!backspace=1in,
- \c!width=\v!middle,
- \c!topspace=1in,
- \c!header=0in,
- \c!footer=0in,
- \c!height=\v!fit]
-
-\setupletterstyle
- [\v!secondpage]
- [\c!header=.5in]
-
-\startsetups[letter:header:simplified]
-
- \framed
- [\c!frame=\v!off,
- \c!location=\v!top,
- \c!align=\v!left]
- {\lettervalue\c!date \\
- \lettervalue\c!reference}
-
-\stopsetups
-
-\setupletterstyle
- [\v!header]
- [\c!lefttext=\lettervalue\c!toname,
- \c!middletext=\pagenumber,
- \c!righttext=\setups{letter:header:simplified}]
-
-\setupletterstyle
- [\v!option]
- [\c!whitespace=\v!line,
- %\c!closing=\v!no, % not possible at the moment because it disables the signature
- \c!opening=\v!no]
-
-\protect \endinput
+%D \module
+%D [ file=simplified,
+%D version=2008.05.28,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Simplified style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\useletterstyle[blockstyle]
+
+\setupletterstyle
+ [\v!letter\v!head,\v!reference\v!line,\v!special\v!notation,
+ \v!inside\v!address,\v!title,\v!opening,\v!subject,\v!content]
+ [\c!after={\blank[\v!line]}]
+
+\setupletterstyle
+ [\v!closing]
+ [\c!after={\blank[2*\v!line]}]
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterstyle
+ [\v!secondpage]
+ [\c!header=.5in]
+
+\startsetups[letter:header:simplified]
+
+ \framed
+ [\c!frame=\v!off,
+ \c!location=\v!top,
+ \c!align=\v!left]
+ {\lettervalue\c!date \\
+ \lettervalue\c!reference}
+
+\stopsetups
+
+\setupletterstyle
+ [\v!header]
+ [\c!lefttext=\lettervalue\c!toname,
+ \c!middletext=\pagenumber,
+ \c!righttext=\setups{letter:header:simplified}]
+
+\setupletterstyle
+ [\v!closing]
+ [\c!alternative=\v!simplified]
+
+\setupletterstyle
+ [\v!option]
+ [\c!whitespace=\v!line,
+ \c!opening=\v!no]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/user.ori b/Master/texmf-dist/tex/context/third/letter/style/user.ori
new file mode 100644
index 00000000000..beaaf4e9405
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/letter/style/user.ori
@@ -0,0 +1,59 @@
+%D \module
+%D [ file=user,
+%D version=2008.07.08,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=User Settings,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+%D You could use this file to set default values for your own letters.
+%D To enable the values rename the file to \mono{user.nls} and place in
+%D a directory in your local TeX tree where ConTeXt is able to find it.
+%D
+%D This style file is loaded together with the main module and the default
+%D interface but after the default styles and after every style loaded
+%D with the optional argument for \tex{usemodule} but additional styles
+%D which you load after \tex{usemodule} could overwrite the values in this
+%D style, to take care of this you could either load this module again
+%D in your document or set the values directly in your files after
+%D the styles are loaded.
+
+%D Change the interface.
+
+% \useletterinterface[pragma]
+% \useletterinterface[knuth]
+
+%D Load your default styles.
+
+% \useletterstyle[default]
+% \useletterstyle[dina]
+% \useletterstyle[dinb]
+% \useletterstyle[dutch]
+% \useletterstyle[memo]
+% \useletterstyle[hanging]
+% \useletterstyle[modified]
+% \useletterstyle[fullblock]
+% \useletterstyle[semiblock]
+% \useletterstyle[blockstyle]
+% \useletterstyle[simplified]
+
+% \useletterstyle[simplified]
+
+%D You could preload extension files you normally use in your documents.
+
+% \useletterextension[corres]
+% \useletterextension[optimize]
+% \useletterextension[addrentry]
+
+%D You can change the default to your own preferences.
+
+% \setupletterstyle
+% [\v!option]
+% [\c!backaddress=\v!yes]
+
+\protect \endinput