From 8e91ccbf26f718cd193df15b81ddff7eb4a0ea24 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 30 Oct 2008 23:56:37 +0000 Subject: context-letter update (30oct08) git-svn-id: svn://tug.org/texlive/trunk@11134 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/context/third/letter/base/t-letter.tex | 112 +- .../context/third/letter/extension/addrentry.nle | 68 +- .../tex/context/third/letter/extension/corres.nle | 87 +- .../tex/context/third/letter/extension/label.nle | 539 ++++---- .../context/third/letter/extension/optimize.nle | 84 +- .../tex/context/third/letter/extension/pragma.nle | 98 +- .../tex/context/third/letter/interface/default.nli | 1308 ++++++++++---------- .../tex/context/third/letter/interface/knuth.nli | 116 +- .../tex/context/third/letter/interface/pragma.nli | 6 +- .../tex/context/third/letter/style/blockstyle.nls | 114 +- .../tex/context/third/letter/style/default.nls | 121 +- .../tex/context/third/letter/style/dina.nls | 4 +- .../tex/context/third/letter/style/dinb.nls | 11 +- .../tex/context/third/letter/style/dutch.nls | 7 +- .../tex/context/third/letter/style/english.nls | 48 +- .../tex/context/third/letter/style/french.nls | 139 ++- .../tex/context/third/letter/style/fullblock.nls | 116 +- .../tex/context/third/letter/style/hanging.nls | 136 +- .../tex/context/third/letter/style/knuth.nls | 4 +- .../tex/context/third/letter/style/memo.nls | 142 +-- .../tex/context/third/letter/style/modified.nls | 128 +- .../tex/context/third/letter/style/pragma.nls | 4 +- .../tex/context/third/letter/style/semiblock.nls | 106 +- .../tex/context/third/letter/style/simplified.nls | 123 +- .../tex/context/third/letter/style/user.ori | 59 + 25 files changed, 1960 insertions(+), 1720 deletions(-) create mode 100644 Master/texmf-dist/tex/context/third/letter/style/user.ori (limited to 'Master/texmf-dist') 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 -- cgit v1.2.3