summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-10-25 23:12:52 +0000
committerKarl Berry <karl@freefriends.org>2010-10-25 23:12:52 +0000
commitb28b38a05ece32954e2dd3e8ed3056018fcfcb98 (patch)
treea46a18f31d8ac2864fe50de4ccbed5318439248e /Master/texmf-dist/tex
parentd74b95d250c7632cb73e7420db04e2e38adc3827 (diff)
context-letter (25oct10)
git-svn-id: svn://tug.org/texlive/trunk@20207 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkii269
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkiv286
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/t-correspondence.tex181
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/t-letter.tex21
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/t-resume.tex11
-rw-r--r--Master/texmf-dist/tex/context/third/letter/extension/label.nle29
-rw-r--r--Master/texmf-dist/tex/context/third/letter/interface/default.nli13
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/gbrief.nls71
8 files changed, 508 insertions, 373 deletions
diff --git a/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkii b/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkii
index 2ab3835f4ea..0ba242cc1b5 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkii
+++ b/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkii
@@ -1,6 +1,6 @@
%D \module
%D [ file=t-correspondence,
-%D version=2010.08.27,
+%D version=2010.10.24,
%D title=\CONTEXT\ User Module,
%D subtitle=Correspondence,
%D author=Wolfgang Schuster,
@@ -9,10 +9,188 @@
%D email=schuster.wolfgang@googlemail.com,
%D license=Public Domain]
+\writestatus{loading}{Context User Module / Correspondence}
+
\unprotect
\startmodule[correspondence]
+%D I use a few extra constants and variables in my module.
+
+\startinterface all
+ \setinterfaceconstant {head} {head}
+ \setinterfaceconstant {foot} {foot}
+ \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 {nexthead} {nexthead}
+ \setinterfaceconstant {lefthead} {lefthead}
+ \setinterfaceconstant {righthead} {righthead}
+ \setinterfaceconstant {nextfoot} {nextfoot}
+ \setinterfaceconstant {leftfoot} {leftfoot}
+ \setinterfaceconstant {rightfoot} {rightfoot}
+ \setinterfaceconstant {content} {content}
+ \setinterfaceconstant {backaddress} {backaddress}
+ \setinterfaceconstant {optimize} {optimize}
+ \setinterfaceconstant {opening} {opening}
+ \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 {ps} {ps}
+ \setinterfaceconstant {postscript} {postscript}
+ \setinterfaceconstant {attention} {attention}
+ \setinterfaceconstant {distribution} {distribution}
+ \setinterfaceconstant {salutation} {salutation}
+ \setinterfaceconstant {addressee} {addressee}
+ \setinterfaceconstant {prefix} {prefix}
+ \setinterfaceconstant {suffix} {suffix}
+ \setinterfaceconstant {initials} {initials}
+ \setinterfaceconstant {formalname} {formalname}
+ \setinterfaceconstant {informalname} {informalname}
+ \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 {encl} {encl}
+ \setinterfaceconstant {phone} {phone}
+ \setinterfaceconstant {fax} {fax}
+ \setinterfaceconstant {email} {email}
+ \setinterfaceconstant {url} {url}
+ \setinterfaceconstant {bank} {bank}
+ \setinterfaceconstant {name} {name}
+ \setinterfaceconstant {room} {room}
+ \setinterfaceconstant {yourorder} {yourorder}
+ \setinterfaceconstant {ourinvoice} {ourinvoice}
+ \setinterfaceconstant {rulewidth} {rulewidth}
+ \setinterfaceconstant {fromalign} {fromalign}
+ \setinterfaceconstant {fromrule} {fromrule}
+ \setinterfaceconstant {organization} {organization}
+ \setinterfaceconstant {city} {city}
+ \setinterfaceconstant {zip} {zip}
+ \setinterfaceconstant {country} {country}
+ \setinterfaceconstant {street} {street}
+ \setinterfaceconstant {birthday} {birthday}
+ \setinterfaceconstant {skype} {skype}
+ \setinterfaceconstant {of} {of}
+ \setinterfaceconstant {contextversion} {contextversion}
+ \setinterfaceconstant {bankname} {bankname}
+ \setinterfaceconstant {banknumber} {banknumber}
+ \setinterfaceconstant {accountnumber} {accountnumber}
+\stopinterface
+
+\startinterface all
+ \setinterfacevariable {secondpage} {secondpage}
+ \setinterfacevariable {foot} {foot}
+ \setinterfacevariable {topmark} {topmark}
+ \setinterfacevariable {botmark} {botmark}
+ \setinterfacevariable {cutmark} {cutmark}
+ \setinterfacevariable {endmark} {endmark}
+ \setinterfacevariable {option} {option}
+ \setinterfacevariable {foldmark} {foldmark}
+ \setinterfacevariable {usermark} {usermark}
+ \setinterfacevariable {layer} {layer}
+ \setinterfacevariable {firsthead} {firsthead}
+ \setinterfacevariable {nexthead} {nexthead}
+ \setinterfacevariable {lefthead} {lefthead}
+ \setinterfacevariable {righthead} {righthead}
+ \setinterfacevariable {firstfoot} {firstfoot}
+ \setinterfacevariable {nextfoot} {nextfoot}
+ \setinterfacevariable {leftfoot} {leftfoot}
+ \setinterfacevariable {rightfoot} {rightfoot}
+ \setinterfacevariable {layout} {layout}
+ \setinterfacevariable {place} {place}
+ \setinterfacevariable {initialize} {initialize}
+ \setinterfacevariable {finish} {finish}
+ \setinterfacevariable {sequence} {sequence}
+ \setinterfacevariable {style} {style}
+ \setinterfacevariable {extension} {extension}
+ \setinterfacevariable {interface} {interface}
+ \setinterfacevariable {resume} {resume}
+ \setinterfacevariable {letter} {letter}
+ \setinterfacevariable {backaddress} {backaddress}
+ \setinterfacevariable {reference} {reference}
+ \setinterfacevariable {location} {location}
+ \setinterfacevariable {address} {address}
+ \setinterfacevariable {opening} {opening}
+ \setinterfacevariable {closing} {closing}
+ \setinterfacevariable {letternext} {letternext}
+ \setinterfacevariable {lettermain} {lettermain}
+ \setinterfacevariable {special} {special}
+ \setinterfacevariable {notation} {notation}
+ \setinterfacevariable {inside} {inside}
+ \setinterfacevariable {optimize} {optimize}
+ \setinterfacevariable {file} {file}
+ \setinterfacevariable {e} {e}
+ \setinterfacevariable {data} {data}
+ \setinterfacevariable {sender} {sender}
+ \setinterfacevariable {dispatch} {dispatch}
+ \setinterfacevariable {enclosure} {enclosure}
+ \setinterfacevariable {copy} {copy}
+ \setinterfacevariable {nobreak} {nobreak}
+ \setinterfacevariable {memo} {memo}
+ \setinterfacevariable {addressee} {addressee}
+ \setinterfacevariable {french} {french}
+ \setinterfacevariable {simplified} {simplified}
+ \setinterfacevariable {fullblock} {fullblock}
+ \setinterfacevariable {hanging} {hanging}
+ \setinterfacevariable {modified} {modified}
+ \setinterfacevariable {semiblock} {semiblock}
+ \setinterfacevariable {contact} {contact}
+ \setinterfacevariable {handle} {handle}
+ \setinterfacevariable {casual} {casual}
+ \setinterfacevariable {classic} {classic}
+ \setinterfacevariable {knuth} {knuth}
+ \setinterfacevariable {firstname} {firstname}
+ \setinterfacevariable {familyname} {familyname}
+ \setinterfacevariable {street} {street}
+ \setinterfacevariable {town} {town}
+ \setinterfacevariable {mobile} {mobile}
+ \setinterfacevariable {phone} {phone}
+ \setinterfacevariable {fax} {fax}
+ \setinterfacevariable {email} {email}
+ \setinterfacevariable {info} {info}
+ \setinterfacevariable {correspondence} {correspondence}
+ \setinterfacevariable {resumemain} {resumemain}
+ \setinterfacevariable {resumenext} {resumenext}
+ \setinterfacevariable {black} {black}
+ \setinterfacevariable {gbrief} {gbrief}
+\stopinterface
+
+\startinterface all
+ \setinterfaceelement {set} {set}
+ \setinterfaceelement {value} {value}
+ \setinterfaceelement {complex} {complex}
+ \setinterfaceelement {simple} {simple}
+ \setinterfaceelement {use} {use}
+ \setinterfaceelement {define} {define}
+ \setinterfaceelement {flush} {flush}
+\stopinterface
+
% Placeholders for the messages:
%
% 1: letter|resume / interface|style|extension / filename
@@ -31,72 +209,6 @@
\setinterfacemessage{correspondence}{5} {your context is too old, you need at last version '--'} % not used in mkii
\stopinterface
-%D Page numbering
-
-\def\????cn{@@@@cn}
-
-\definesystemconstant {correspage}
-
-\definetwopasslist\s!correspage
-
-\definenumber[\s!correspage]
-
-\newcount\correspageno
-\newif\ifresettingcorrespagenumber
-
-\def\newnofcorrespages{0}
-\def\nofcorrespages {0}
-
-\def\savenofcorrespages
- {\showmessage\m!correspondence{3}{\newnofcorrespages,\the\correspageno}%
- \immediatesavetwopassdata{\s!correspage}{\newnofcorrespages}{\the\correspageno}}
-
-\def\numberofcorrespages
- {\nofcorrespages}
-
-\def\correspagenumber
- {\the\correspageno}
-
-\appendtoks\savenofcorrespages\to\everybye
-
-\def\setupcorrespagenumber
- {\dosingleargument\dosetupcorrespagenumber}
-
-\def\dosetupcorrespagenumber[#1]%
- {\doifelse{#1}\v!reset
- {\resetcorrespagenumber}
- {\getparameters[\????cn][#1]}}
-
-\def\resetcorrespagenumber
- {\global\resettingcorrespagenumbertrue}
-
-\def\setcorrespagenumbers
- {\iftwopassdatafound
- \xdef\nofcorrespages{\twopassdata}%
- \else
- \xdef\nofcorrespages{0}%
- \fi}
-
-\def\gotonextcorrespage
- {\ifresettingcorrespagenumber
- \resetnumber[\s!correspage]%
- \global\resettingcorrespagenumberfalse
- \fi
- \xdef\oldcorrespage{\the\correspageno}%
- \incrementnumber[\s!correspage]%
- \global\correspageno\rawnumber[\s!correspage]\relax
- \ifnum\correspageno=\plusone
- \gettwopassdata\s!correspage
- \setcorrespagenumbers
- \ifnum\oldcorrespage>\zerocount
- \showmessage\m!correspondence{3}{\newnofcorrespages,\oldcorrespage}%
- \immediatesavetwopassdata{\s!correspage}{\newnofcorrespages}{\oldcorrespage}%
- \fi
- \doglobal\increment\newnofcorrespages\relax
- \fi}
-
-\appendtoks\gotonextcorrespage\to\beforeeverypage
-
%D Setup command for the styles
\def\definecorrespondencesetup[#1][#2][#3]%
@@ -251,25 +363,6 @@
\c!offset=\zeropoint,
\c!preset=\v!left\v!top]}
-% \def\dosetheaderfooterlayer[#1][#2][#3]%
-% {\!!doneafalse % first page
-% \!!donebfalse % even numbered pages
-% \!!donecfalse % odd numbered pages
-% \!!donedfalse % real pagenumber
-% \processcommacommand[\csname#2#3\c!state\endcsname]\dodosetheaderfooterlayer
-% \doifnotvalue{#2#3\v!layer\c!state}\v!stop{\setuplayer[#1:#3][\c!state=\v!start]}%
-% \ifnum\if!!doned\pagenumber\else\subpagenumber\fi=\plusone
-% \if!!donea\dosetcorrespondencelayer[#1][#2][#3]\fi
-% \else
-% \ifodd\if!!doned\pagenumber\else\subpagenumber\fi
-% \if!!donec\dosetcorrespondencelayer[#1][#2][#3]\fi
-% \else
-% \if!!doneb\dosetcorrespondencelayer[#1][#2][#3]\fi
-% \fi\fi}
-
-% Alternative version of the macro above for the experimental
-% interface because \subpagenumber can't be used in \ifnum.
-
\def\dosetcorrespondencelayer[#1][#2][#3]%
{\!!doneafalse % first page
\!!donebfalse % even numbered pages
@@ -277,10 +370,10 @@
\!!donedfalse % real pagenumber
\processcommacommand[\csname#2#3\c!state\endcsname]\docorrespondencelayerstate
\doifnotvalue{#2#3\v!layer\c!state}\v!stop{\setuplayer[#1:#3][\c!state=\v!start]}%
- \ifnum\if!!doned\pagenumber\else\correspagenumber\fi=\plusone
+ \ifnum\if!!doned\userpageno\else\subpageno\fi=\plusone
\if!!donea\dodosetcorrespondencelayer[#1][#2][#3]\fi
\else
- \ifodd\if!!doned\pagenumber\else\correspagenumber\fi
+ \ifodd\if!!doned\userpageno\else\subpageno\fi
\if!!donec\dodosetcorrespondencelayer[#1][#2][#3]\fi
\else
\if!!doneb\dodosetcorrespondencelayer[#1][#2][#3]\fi
diff --git a/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkiv b/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkiv
index 500deb86c96..efc41cb5961 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkiv
+++ b/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.mkiv
@@ -1,6 +1,6 @@
%D \module
%D [ file=t-correspondence,
-%D version=2010.08.27,
+%D version=2010.10.24,
%D title=\CONTEXT\ User Module,
%D subtitle=Correspondence,
%D author=Wolfgang Schuster,
@@ -9,10 +9,188 @@
%D email=schuster.wolfgang@googlemail.com,
%D license=Public Domain]
+\writestatus{loading}{Context User Module / Correspondence}
+
\unprotect
\startmodule[correspondence]
+%D I use a few extra constants and variables in my module.
+
+\startinterface all
+ \setinterfaceconstant {head} {head}
+ \setinterfaceconstant {foot} {foot}
+ \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 {nexthead} {nexthead}
+ \setinterfaceconstant {lefthead} {lefthead}
+ \setinterfaceconstant {righthead} {righthead}
+ \setinterfaceconstant {nextfoot} {nextfoot}
+ \setinterfaceconstant {leftfoot} {leftfoot}
+ \setinterfaceconstant {rightfoot} {rightfoot}
+ \setinterfaceconstant {content} {content}
+ \setinterfaceconstant {backaddress} {backaddress}
+ \setinterfaceconstant {optimize} {optimize}
+ \setinterfaceconstant {opening} {opening}
+ \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 {ps} {ps}
+ \setinterfaceconstant {postscript} {postscript}
+ \setinterfaceconstant {attention} {attention}
+ \setinterfaceconstant {distribution} {distribution}
+ \setinterfaceconstant {salutation} {salutation}
+ \setinterfaceconstant {addressee} {addressee}
+ \setinterfaceconstant {prefix} {prefix}
+ \setinterfaceconstant {suffix} {suffix}
+ \setinterfaceconstant {initials} {initials}
+ \setinterfaceconstant {formalname} {formalname}
+ \setinterfaceconstant {informalname} {informalname}
+ \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 {encl} {encl}
+ \setinterfaceconstant {phone} {phone}
+ \setinterfaceconstant {fax} {fax}
+ \setinterfaceconstant {email} {email}
+ \setinterfaceconstant {url} {url}
+ \setinterfaceconstant {bank} {bank}
+ \setinterfaceconstant {name} {name}
+ \setinterfaceconstant {room} {room}
+ \setinterfaceconstant {yourorder} {yourorder}
+ \setinterfaceconstant {ourinvoice} {ourinvoice}
+ \setinterfaceconstant {rulewidth} {rulewidth}
+ \setinterfaceconstant {fromalign} {fromalign}
+ \setinterfaceconstant {fromrule} {fromrule}
+ \setinterfaceconstant {organization} {organization}
+ \setinterfaceconstant {city} {city}
+ \setinterfaceconstant {zip} {zip}
+ \setinterfaceconstant {country} {country}
+ \setinterfaceconstant {street} {street}
+ \setinterfaceconstant {birthday} {birthday}
+ \setinterfaceconstant {skype} {skype}
+ \setinterfaceconstant {of} {of}
+ \setinterfaceconstant {contextversion} {contextversion}
+ \setinterfaceconstant {bankname} {bankname}
+ \setinterfaceconstant {banknumber} {banknumber}
+ \setinterfaceconstant {accountnumber} {accountnumber}
+\stopinterface
+
+\startinterface all
+ \setinterfacevariable {secondpage} {secondpage}
+ \setinterfacevariable {foot} {foot}
+ \setinterfacevariable {topmark} {topmark}
+ \setinterfacevariable {botmark} {botmark}
+ \setinterfacevariable {cutmark} {cutmark}
+ \setinterfacevariable {endmark} {endmark}
+ \setinterfacevariable {option} {option}
+ \setinterfacevariable {foldmark} {foldmark}
+ \setinterfacevariable {usermark} {usermark}
+ \setinterfacevariable {layer} {layer}
+ \setinterfacevariable {firsthead} {firsthead}
+ \setinterfacevariable {nexthead} {nexthead}
+ \setinterfacevariable {lefthead} {lefthead}
+ \setinterfacevariable {righthead} {righthead}
+ \setinterfacevariable {firstfoot} {firstfoot}
+ \setinterfacevariable {nextfoot} {nextfoot}
+ \setinterfacevariable {leftfoot} {leftfoot}
+ \setinterfacevariable {rightfoot} {rightfoot}
+ \setinterfacevariable {layout} {layout}
+ \setinterfacevariable {place} {place}
+ \setinterfacevariable {initialize} {initialize}
+ \setinterfacevariable {finish} {finish}
+ \setinterfacevariable {sequence} {sequence}
+ \setinterfacevariable {style} {style}
+ \setinterfacevariable {extension} {extension}
+ \setinterfacevariable {interface} {interface}
+ \setinterfacevariable {resume} {resume}
+ \setinterfacevariable {letter} {letter}
+ \setinterfacevariable {backaddress} {backaddress}
+ \setinterfacevariable {reference} {reference}
+ \setinterfacevariable {location} {location}
+ \setinterfacevariable {address} {address}
+ \setinterfacevariable {opening} {opening}
+ \setinterfacevariable {closing} {closing}
+ \setinterfacevariable {letternext} {letternext}
+ \setinterfacevariable {lettermain} {lettermain}
+ \setinterfacevariable {special} {special}
+ \setinterfacevariable {notation} {notation}
+ \setinterfacevariable {inside} {inside}
+ \setinterfacevariable {optimize} {optimize}
+ \setinterfacevariable {file} {file}
+ \setinterfacevariable {e} {e}
+ \setinterfacevariable {data} {data}
+ \setinterfacevariable {sender} {sender}
+ \setinterfacevariable {dispatch} {dispatch}
+ \setinterfacevariable {enclosure} {enclosure}
+ \setinterfacevariable {copy} {copy}
+ \setinterfacevariable {nobreak} {nobreak}
+ \setinterfacevariable {memo} {memo}
+ \setinterfacevariable {addressee} {addressee}
+ \setinterfacevariable {french} {french}
+ \setinterfacevariable {simplified} {simplified}
+ \setinterfacevariable {fullblock} {fullblock}
+ \setinterfacevariable {hanging} {hanging}
+ \setinterfacevariable {modified} {modified}
+ \setinterfacevariable {semiblock} {semiblock}
+ \setinterfacevariable {contact} {contact}
+ \setinterfacevariable {handle} {handle}
+ \setinterfacevariable {casual} {casual}
+ \setinterfacevariable {classic} {classic}
+ \setinterfacevariable {knuth} {knuth}
+ \setinterfacevariable {firstname} {firstname}
+ \setinterfacevariable {familyname} {familyname}
+ \setinterfacevariable {street} {street}
+ \setinterfacevariable {town} {town}
+ \setinterfacevariable {mobile} {mobile}
+ \setinterfacevariable {phone} {phone}
+ \setinterfacevariable {fax} {fax}
+ \setinterfacevariable {email} {email}
+ \setinterfacevariable {info} {info}
+ \setinterfacevariable {correspondence} {correspondence}
+ \setinterfacevariable {resumemain} {resumemain}
+ \setinterfacevariable {resumenext} {resumenext}
+ \setinterfacevariable {black} {black}
+ \setinterfacevariable {gbrief} {gbrief}
+\stopinterface
+
+\startinterface all
+ \setinterfaceelement {set} {set}
+ \setinterfaceelement {value} {value}
+ \setinterfaceelement {complex} {complex}
+ \setinterfaceelement {simple} {simple}
+ \setinterfaceelement {use} {use}
+ \setinterfaceelement {define} {define}
+ \setinterfaceelement {flush} {flush}
+\stopinterface
+
% Placeholders for the messages:
%
% 1: letter|resume / interface|style|extension / filename
@@ -41,72 +219,6 @@
{\showmessage\m!correspondence{5}{\currentmoduleparameter\c!contextversion}\forcequitjob\v!correspondence}
\donothing
-%D Page numbering
-
-\def\????cn{@@@@cn}
-
-\definesystemconstant {correspage}
-
-\definetwopasslist\s!correspage
-
-\definenumber[\s!correspage]
-
-\newcount\correspageno
-\newif\ifresettingcorrespagenumber
-
-\def\newnofcorrespages{0}
-\def\nofcorrespages {0}
-
-\def\savenofcorrespages
- {\showmessage\m!correspondence{3}{\newnofcorrespages,\the\correspageno}%
- \immediatesavetwopassdata{\s!correspage}{\newnofcorrespages}{\the\correspageno}}
-
-\def\numberofcorrespages
- {\nofcorrespages}
-
-\def\correspagenumber
- {\the\correspageno}
-
-\appendtoks\savenofcorrespages\to\everybye
-
-\def\setupcorrespagenumber
- {\dosingleargument\dosetupcorrespagenumber}
-
-\def\dosetupcorrespagenumber[#1]%
- {\doifelse{#1}\v!reset
- {\resetcorrespagenumber}
- {\getparameters[\????cn][#1]}}
-
-\def\resetcorrespagenumber
- {\global\resettingcorrespagenumbertrue}
-
-\def\setcorrespagenumbers
- {\iftwopassdatafound
- \xdef\nofcorrespages{\twopassdata}%
- \else
- \xdef\nofcorrespages{0}%
- \fi}
-
-\def\gotonextcorrespage
- {\ifresettingcorrespagenumber
- \resetnumber[\s!correspage]%
- \global\resettingcorrespagenumberfalse
- \fi
- \xdef\oldcorrespage{\the\correspageno}%
- \incrementnumber[\s!correspage]%
- \global\correspageno\rawnumber[\s!correspage]\relax
- \ifnum\correspageno=\plusone
- \gettwopassdata\s!correspage
- \setcorrespagenumbers
- \ifnum\oldcorrespage>\zerocount
- \showmessage\m!correspondence{3}{\newnofcorrespages,\oldcorrespage}%
- \immediatesavetwopassdata{\s!correspage}{\newnofcorrespages}{\oldcorrespage}%
- \fi
- \doglobal\increment\newnofcorrespages\relax
- \fi}
-
-\appendtoks\gotonextcorrespage\to\beforeeverypage
-
%D Setup command for the styles
\def\definecorrespondencesetup[#1][#2][#3]%
@@ -275,25 +387,6 @@
\c!offset=\zeropoint,
\c!preset=\v!left\v!top]}
-% \def\dosetheaderfooterlayer[#1][#2][#3]%
-% {\!!doneafalse % first page
-% \!!donebfalse % even numbered pages
-% \!!donecfalse % odd numbered pages
-% \!!donedfalse % real pagenumber
-% \processcommacommand[\csname#2#3\c!state\endcsname]\dodosetheaderfooterlayer
-% \doifnotvalue{#2#3\v!layer\c!state}\v!stop{\setuplayer[#1:#3][\c!state=\v!start]}%
-% \ifnum\if!!doned\pagenumber\else\subpagenumber\fi=\plusone
-% \if!!donea\dosetcorrespondencelayer[#1][#2][#3]\fi
-% \else
-% \ifodd\if!!doned\pagenumber\else\subpagenumber\fi
-% \if!!donec\dosetcorrespondencelayer[#1][#2][#3]\fi
-% \else
-% \if!!doneb\dosetcorrespondencelayer[#1][#2][#3]\fi
-% \fi\fi}
-
-% Alternative version of the macro above for the experimental
-% interface because \subpagenumber can't be used in \ifnum.
-
\def\dosetcorrespondencelayer[#1][#2][#3]%
{\!!doneafalse % first page
\!!donebfalse % even numbered pages
@@ -301,10 +394,10 @@
\!!donedfalse % real pagenumber
\processcommacommand[\csname#2#3\c!state\endcsname]\docorrespondencelayerstate
\doifnotvalue{#2#3\v!layer\c!state}\v!stop{\setuplayer[#1:#3][\c!state=\v!start]}%
- \ifnum\if!!doned\pagenumber\else\correspagenumber\fi=\plusone
+ \ifnum\if!!doned\userpageno\else\subpageno\fi=\plusone
\if!!donea\dodosetcorrespondencelayer[#1][#2][#3]\fi
\else
- \ifodd\if!!doned\pagenumber\else\correspagenumber\fi
+ \ifodd\if!!doned\userpageno\else\subpageno\fi
\if!!donec\dodosetcorrespondencelayer[#1][#2][#3]\fi
\else
\if!!doneb\dodosetcorrespondencelayer[#1][#2][#3]\fi
@@ -504,14 +597,14 @@ correspondence.files = {
name = "t-correspondence.tex",
path = "tex/context/third/letter/base/",
type = "base",
- version = "2010.08.27",
+ version = "2010.10.24",
description = "Core module"
} ,
{
name = "t-letter.tex",
path = "tex/context/third/letter/base/",
type = "base",
- version = "2010.08.27",
+ version = "2010.09.05",
description = "Letter Module"
} ,
@@ -519,14 +612,14 @@ correspondence.files = {
name = "t-resume.tex",
path = "tex/context/third/letter/base/",
type = "base",
- version = "2009.10.10",
+ version = "2010.09.05",
description = "Résumé Module"
} ,
{
name = "default.nli",
path = "tex/context/third/letter/interface/",
type = "interface",
- version = "2010.06.17",
+ version = "2010.10.24",
description = "Default letter interface"
} ,
@@ -562,7 +655,7 @@ correspondence.files = {
name = "label.nle",
path = "tex/context/third/letter/extension/",
type = "extension",
- version = "2009.07.03",
+ version = "2010.09.09",
description = "Text labels"
} ,
{
@@ -713,6 +806,13 @@ correspondence.files = {
description = "Swiss left style"
} ,
{
+ name = "gbrief.nls",
+ path = "tex/context/third/letter/style/",
+ type = "style",
+ version = "2010.09.09",
+ description = "g-brief style"
+ } ,
+ {
name = "default.nrs",
path = "tex/context/third/letter/style/",
type = "style",
diff --git a/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.tex b/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.tex
index c3a830cbdf2..98ec8ebd9af 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.tex
+++ b/Master/texmf-dist/tex/context/third/letter/base/t-correspondence.tex
@@ -1,6 +1,6 @@
%D \module
%D [ file=t-correspondence,
-%D version=2010.08.27,
+%D version=2010.10.24,
%D title=\CONTEXT\ User Module,
%D subtitle=Correspondence,
%D author=Wolfgang Schuster,
@@ -9,183 +9,6 @@
%D email=schuster.wolfgang@googlemail.com,
%D license=Public Domain]
-\writestatus{loading}{Context User Module / Correspondence}
-
-\unprotect
-
-%D I use a few extra constants and variables in my module.
-
-\startinterface all
- \setinterfaceconstant {head} {head}
- \setinterfaceconstant {foot} {foot}
- \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 {nexthead} {nexthead}
- \setinterfaceconstant {lefthead} {lefthead}
- \setinterfaceconstant {righthead} {righthead}
- \setinterfaceconstant {nextfoot} {nextfoot}
- \setinterfaceconstant {leftfoot} {leftfoot}
- \setinterfaceconstant {rightfoot} {rightfoot}
- \setinterfaceconstant {content} {content}
- \setinterfaceconstant {backaddress} {backaddress}
- \setinterfaceconstant {optimize} {optimize}
- \setinterfaceconstant {opening} {opening}
- \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 {ps} {ps}
- \setinterfaceconstant {postscript} {postscript}
- \setinterfaceconstant {attention} {attention}
- \setinterfaceconstant {distribution} {distribution}
- \setinterfaceconstant {salutation} {salutation}
- \setinterfaceconstant {addressee} {addressee}
- \setinterfaceconstant {prefix} {prefix}
- \setinterfaceconstant {suffix} {suffix}
- \setinterfaceconstant {initials} {initials}
- \setinterfaceconstant {formalname} {formalname}
- \setinterfaceconstant {informalname} {informalname}
- \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 {encl} {encl}
- \setinterfaceconstant {phone} {phone}
- \setinterfaceconstant {fax} {fax}
- \setinterfaceconstant {email} {email}
- \setinterfaceconstant {url} {url}
- \setinterfaceconstant {bank} {bank}
- \setinterfaceconstant {name} {name}
- \setinterfaceconstant {room} {room}
- \setinterfaceconstant {yourorder} {yourorder}
- \setinterfaceconstant {ourinvoice} {ourinvoice}
- \setinterfaceconstant {rulewidth} {rulewidth}
- \setinterfaceconstant {fromalign} {fromalign}
- \setinterfaceconstant {fromrule} {fromrule}
- \setinterfaceconstant {organization} {organization}
- \setinterfaceconstant {city} {city}
- \setinterfaceconstant {zip} {zip}
- \setinterfaceconstant {country} {country}
- \setinterfaceconstant {street} {street}
- \setinterfaceconstant {birthday} {birthday}
- \setinterfaceconstant {skype} {skype}
- \setinterfaceconstant {contextversion} {contextversion}
-\stopinterface
-
-\startinterface all
- \setinterfacevariable {secondpage} {secondpage}
- \setinterfacevariable {foot} {foot}
- \setinterfacevariable {topmark} {topmark}
- \setinterfacevariable {botmark} {botmark}
- \setinterfacevariable {cutmark} {cutmark}
- \setinterfacevariable {endmark} {endmark}
- \setinterfacevariable {option} {option}
- \setinterfacevariable {foldmark} {foldmark}
- \setinterfacevariable {usermark} {usermark}
- \setinterfacevariable {layer} {layer}
- \setinterfacevariable {firsthead} {firsthead}
- \setinterfacevariable {nexthead} {nexthead}
- \setinterfacevariable {lefthead} {lefthead}
- \setinterfacevariable {righthead} {righthead}
- \setinterfacevariable {firstfoot} {firstfoot}
- \setinterfacevariable {nextfoot} {nextfoot}
- \setinterfacevariable {leftfoot} {leftfoot}
- \setinterfacevariable {rightfoot} {rightfoot}
- \setinterfacevariable {layout} {layout}
- \setinterfacevariable {place} {place}
- \setinterfacevariable {initialize} {initialize}
- \setinterfacevariable {finish} {finish}
- \setinterfacevariable {sequence} {sequence}
- \setinterfacevariable {style} {style}
- \setinterfacevariable {extension} {extension}
- \setinterfacevariable {interface} {interface}
- \setinterfacevariable {resume} {resume}
- \setinterfacevariable {letter} {letter}
- \setinterfacevariable {backaddress} {backaddress}
- \setinterfacevariable {reference} {reference}
- \setinterfacevariable {location} {location}
- \setinterfacevariable {address} {address}
- \setinterfacevariable {opening} {opening}
- \setinterfacevariable {closing} {closing}
- \setinterfacevariable {letternext} {letternext}
- \setinterfacevariable {lettermain} {lettermain}
- \setinterfacevariable {special} {special}
- \setinterfacevariable {notation} {notation}
- \setinterfacevariable {inside} {inside}
- \setinterfacevariable {optimize} {optimize}
- \setinterfacevariable {file} {file}
- \setinterfacevariable {e} {e}
- \setinterfacevariable {data} {data}
- \setinterfacevariable {sender} {sender}
- \setinterfacevariable {dispatch} {dispatch}
- \setinterfacevariable {enclosure} {enclosure}
- \setinterfacevariable {copy} {copy}
- \setinterfacevariable {nobreak} {nobreak}
- \setinterfacevariable {memo} {memo}
- \setinterfacevariable {addressee} {addressee}
- \setinterfacevariable {french} {french}
- \setinterfacevariable {simplified} {simplified}
- \setinterfacevariable {fullblock} {fullblock}
- \setinterfacevariable {hanging} {hanging}
- \setinterfacevariable {modified} {modified}
- \setinterfacevariable {semiblock} {semiblock}
- \setinterfacevariable {contact} {contact}
- \setinterfacevariable {handle} {handle}
- \setinterfacevariable {casual} {casual}
- \setinterfacevariable {classic} {classic}
- \setinterfacevariable {knuth} {knuth}
- \setinterfacevariable {firstname} {firstname}
- \setinterfacevariable {familyname} {familyname}
- \setinterfacevariable {street} {street}
- \setinterfacevariable {town} {town}
- \setinterfacevariable {mobile} {mobile}
- \setinterfacevariable {phone} {phone}
- \setinterfacevariable {fax} {fax}
- \setinterfacevariable {email} {email}
- \setinterfacevariable {info} {info}
- \setinterfacevariable {correspondence} {correspondence}
- \setinterfacevariable {resumemain} {resumemain}
- \setinterfacevariable {resumenext} {resumenext}
- \setinterfacevariable {black} {black}
-\stopinterface
-
-\startinterface all
- \setinterfaceelement {set} {set}
- \setinterfaceelement {value} {value}
- \setinterfaceelement {complex} {complex}
- \setinterfaceelement {simple} {simple}
- \setinterfaceelement {use} {use}
- \setinterfaceelement {define} {define}
- \setinterfaceelement {flush} {flush}
-\stopinterface
-
-%D Core macros.
-
\loadmarkfile{t-correspondence}
-\protect \endinput
+\endinput
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 0ce207e77bc..698bf05806c 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,6 +1,6 @@
%D \module
%D [ file=t-letter,
-%D version=2010.08.27,
+%D version=2010.09.05,
%D title=\CONTEXT\ User Module,
%D subtitle=Framework for Letters,
%D author=Wolfgang Schuster,
@@ -64,7 +64,18 @@
\def\setupletterframe [#1]{\setupletterstyle[#1]}
\def\setuplettersection [#1]{\setupletterstyle[#1][\v!layer]}
\def\setupletterdescription[#1]{\setupletterstyle[#1][\v!frame]}
-\def\setupletteroptions [#1]{\setupletterstyle[#1]}
+\def\setupletteroption [#1]{\setupletterstyle[#1]}
+
+\def\letterstyleparameter {\letterstylevalue }
+\def\letterlayoutparameter {\letterstylevalue }
+\def\letterlayerparameter #1{\letterstylevalue{#1\v!layer}}
+\def\letterframeparameter #1{\letterstylevalue{#1\v!frame}}
+\def\lettersectionparameter {\letterstylevalue }
+\def\letterdescriptionparameter {\letterstylevalue }
+\def\letteroptionparameter {\letterstylevalue\v!option }
+
+\def\correspagenumber {\subpagenumber}
+\def\numberofcorrespages{\nofsubpages }
%D \macros
%D {setupletter}
@@ -509,7 +520,9 @@
\page[\@@@@lsoptionpage]
- \setupcorrespagenumber[\v!reset]
+ \setupsubpagenumber
+ [\c!way=\v!by\v!text,
+ \c!state=\v!start]
\setuppagenumbering
[\c!alternative=\@@@@lsoptionalternative,
@@ -541,7 +554,7 @@
\setuplayout[\v!reset]
- \resetcorrespagenumber
+ \resetsubpagenumber
\endgroup
diff --git a/Master/texmf-dist/tex/context/third/letter/base/t-resume.tex b/Master/texmf-dist/tex/context/third/letter/base/t-resume.tex
index dad4ad6ae0f..0fab9c57f25 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/t-resume.tex
+++ b/Master/texmf-dist/tex/context/third/letter/base/t-resume.tex
@@ -1,6 +1,6 @@
%D \module
%D [ file=t-resume,
-%D version=2009.10.10,
+%D version=2010.09.05,
%D title=\CONTEXT\ User Module,
%D subtitle=Resumes,
%D author=Wolfgang Schuster,
@@ -35,6 +35,9 @@
\definecorrespondencesetup[\v!resume\v!style][\v!resume][\????rs]
+\def\correspagenumber {\subpagenumber}
+\def\numberofcorrespages{\nofsubpages }
+
%D \macros
%D {setupresume}
@@ -218,7 +221,9 @@
\page[\@@@@rsoptionpage]
- \setupcorrespagenumber[\v!reset]
+ \setupsubpagenumber
+ [\c!way=\v!by\v!text,
+ \c!state=\v!start]
\setuppagenumbering
[\c!alternative=\@@@@rsoptionalternative,
@@ -250,7 +255,7 @@
\setuplayout[\v!reset]
- \resetcorrespagenumber
+ \resetsubpagenumber
\endgroup
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 b8af7c8ce75..208b6a536e9 100644
--- a/Master/texmf-dist/tex/context/third/letter/extension/label.nle
+++ b/Master/texmf-dist/tex/context/third/letter/extension/label.nle
@@ -1,6 +1,6 @@
%D \module
%D [ file=label,
-%D version=2009.07.03,
+%D version=2010.09.09,
%D title=\CONTEXT\ Letter Extension,
%D subject=Labels,
%D author=Wolfgang Schuster,
@@ -258,6 +258,33 @@
\setuplabeltext[\s!it][\v!letter:\c!street=]
\setuplabeltext[\s!es][\v!letter:\c!street=]
+%D Label: page
+
+\setuplabeltext[\s!en][\v!letter:\c!page=Page ]
+\setuplabeltext[\s!nl][\v!letter:\c!page=]
+\setuplabeltext[\s!de][\v!letter:\c!page=Seite ]
+\setuplabeltext[\s!fr][\v!letter:\c!page=]
+\setuplabeltext[\s!it][\v!letter:\c!page=]
+\setuplabeltext[\s!es][\v!letter:\c!page=]
+
+%D Label: of
+
+\setuplabeltext[\s!en][\v!letter:\c!of= of ]
+\setuplabeltext[\s!nl][\v!letter:\c!of=]
+\setuplabeltext[\s!de][\v!letter:\c!of= von ]
+\setuplabeltext[\s!fr][\v!letter:\c!of=]
+\setuplabeltext[\s!it][\v!letter:\c!of=]
+\setuplabeltext[\s!es][\v!letter:\c!of=]
+
+%D Label: address
+
+\setuplabeltext[\s!en][\v!letter:\c!address=Address]
+\setuplabeltext[\s!nl][\v!letter:\c!address=]
+\setuplabeltext[\s!de][\v!letter:\c!address=Adresse]
+\setuplabeltext[\s!fr][\v!letter:\c!address=]
+\setuplabeltext[\s!it][\v!letter:\c!address=]
+\setuplabeltext[\s!es][\v!letter:\c!address=]
+
%D \subject{Memo}
%D Label: date
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 ea78050e625..0cfc0baee44 100644
--- a/Master/texmf-dist/tex/context/third/letter/interface/default.nli
+++ b/Master/texmf-dist/tex/context/third/letter/interface/default.nli
@@ -1,6 +1,6 @@
%D \module
%D [ file=default,
-%D version=2010.06.17,
+%D version=2010.10.24,
%D title=\CONTEXT\ Letter Interface,
%D subtitle=Default Interface,
%D author=Wolfgang Schuster,
@@ -254,7 +254,8 @@
\chardef\letterenvironmentmode\zerocount
\def\startletter
- {\begingroup
+ {\autostarttext
+ \begingroup
\dodoubleempty\dostartletter}
\def\dostartletter[#1][#2]%
@@ -278,13 +279,15 @@
\setbuffer[lettercontent]#3\endbuffer
\processlettervalues
\directsetup{\v!letter:\v!place}%
- \endgroup}
+ \endgroup
+ \autostoptext}
\def\dostartbufferletter[#1][#2]%
{\def\stopletter
{\processlettervalues
\directsetup{\v!letter:\v!place}%
- \endgroup}
+ \endgroup
+ \autostoptext}
\ifsecondargument
\getparameters[\????ld][#1]%
\letter!local!setups{#1}%
@@ -318,7 +321,7 @@
\def\ps ##1{\doglobal\appendtoks\setvalue{\????ld\c!postscript}{##1}\to\letter!local!commands\doglobal\appendtocommalist\c!postscript\letter!list!descriptions}%
\def\cc ##1{\doglobal\appendtoks\setvalue{\????ld\c!copy }{##1}\to\letter!local!commands\doglobal\appendtocommalist\c!copy \letter!list!descriptions}%
\def\encl ##1{\doglobal\appendtoks\setvalue{\????ld\c!enclosure }{##1}\to\letter!local!commands\doglobal\appendtocommalist\c!enclosure \letter!list!descriptions}%
- \setbox\scratchbox\vbox{\trialtypesettingtrue\getbuffer[lettercontent]}%
+ \setbox\scratchbox\vbox{\doifmodeelse\s!mkiv\settrialtypesetting\trialtypesettingtrue\getbuffer[lettercontent]}%
\doifmode{mkiv}{\processassignmentcommand[\dotoks\letter!local!setups]\processlettersetups}% only available in mkiv
\flushtoks\letter!local!commands}
diff --git a/Master/texmf-dist/tex/context/third/letter/style/gbrief.nls b/Master/texmf-dist/tex/context/third/letter/style/gbrief.nls
new file mode 100644
index 00000000000..c31c0bf5ed4
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/letter/style/gbrief.nls
@@ -0,0 +1,71 @@
+%D \module
+%D [ file=gbrief,
+%D version=2010.09.09,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=g-brief,
+%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!reference]
+ [\c!alternative=\v!a]
+
+\setupletterstyle
+ [\v!backaddress]
+ [\c!bottomframe=\v!on,
+ \c!separator={~\mathematics\cdot~}]
+
+\setupletterstyle
+ [\v!head,\v!foot,\v!nexthead]
+ [\c!alternative=\v!gbrief]
+
+\setupletterstyle
+ [\v!head]
+ [\c!style={\switchtobodyfont[20pt]\sc}]
+
+\defineletterelement[\v!head][\v!gbrief]
+ {\lettervalue\c!fromname
+ \hrule}
+
+\setupletterstyle[\v!foot][style=\txx]
+
+\defineletterelement[\v!foot][\v!gbrief]
+ {\bTABLE[\c!frame=\v!off,\c!width=.25\hsize,\c!offset=\zeropoint]
+ \bTR[\c!style=\bfxx,\c!topframe=\v!on]
+ \bTD \labeltext{\v!letter:\c!address} \eTD
+ \bTD \labeltext{\v!letter:\c!phone} \eTD
+ \bTD \labeltext{\v!letter:\c!email} \eTD
+ \bTD \labeltext{\v!letter:\c!bank} \eTD
+ \eTR
+ \bTR
+ \bTD \lettervalue\c!street \\\lettervalue\c!city \eTD
+ \bTD \lettervalue\c!phone \eTD
+ \bTD \lettervalue\c!email \eTD
+ \bTD \lettervalue\c!bankname \\\lettervalue\c!banknumber\\\lettervalue\c!accountnumber \eTD
+ \eTR
+ \eTABLE}
+
+\setupletterstyle[\v!nexthead][\c!style=\v!smallcaps]
+
+\defineletterelement[\v!nexthead][\v!gbrief]
+ {\lettervalue\c!fromname
+ \hfill
+ %\labeltext{\v!letter:\c!page}\subpagenumber\labeltext{\v!letter:\c!of}\lastsubpagenumber
+ \labeltext{\v!letter:\c!page}\correspagenumber\labeltext{\v!letter:\c!of}\numberofcorrespages
+ \hfill
+ \lettervalue\c!date
+ \hairline}
+
+\setupletterstyle
+ [\v!option]
+ [\c!backaddress=\v!yes,
+ \c!marking=\v!yes]
+
+\protect \endinput