summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/context/third/letter/README7
-rw-r--r--Master/texmf-dist/doc/context/third/letter/lm.pdfbin91883 -> 121413 bytes
-rwxr-xr-xMaster/texmf-dist/tex/context/interface/third/t-resume.xml131
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/t-correspondence.tex68
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/t-letter.tex29
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/t-resume.tex72
-rw-r--r--Master/texmf-dist/tex/context/third/letter/interface/default.nli8
-rw-r--r--Master/texmf-dist/tex/context/third/letter/interface/default.nri69
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/casual.nrs200
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/classic.nrs195
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/default.nrs51
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/dutch.nls6
-rw-r--r--Master/tlpkg/tlpsrc/context-letter.tlpsrc1
13 files changed, 762 insertions, 75 deletions
diff --git a/Master/texmf-dist/doc/context/third/letter/README b/Master/texmf-dist/doc/context/third/letter/README
index f694f3bc26e..35714d5d493 100644
--- a/Master/texmf-dist/doc/context/third/letter/README
+++ b/Master/texmf-dist/doc/context/third/letter/README
@@ -1,7 +1,10 @@
Letter module for ConTeXt.
-The letter module provides a environment to input the data
-for private and business letters.
+The module and all included files are copyright of Wolfgang
+Schuster and published under public domain.
+
+The letter module provides a environment to write private
+and business letters.
Style files are responsible for the layout of the letter,
the command \setupletterstyle could be used to change the
diff --git a/Master/texmf-dist/doc/context/third/letter/lm.pdf b/Master/texmf-dist/doc/context/third/letter/lm.pdf
index a833e1703c3..2c70e2ea009 100644
--- a/Master/texmf-dist/doc/context/third/letter/lm.pdf
+++ b/Master/texmf-dist/doc/context/third/letter/lm.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/interface/third/t-resume.xml b/Master/texmf-dist/tex/context/interface/third/t-resume.xml
new file mode 100755
index 00000000000..4b41cf887c3
--- /dev/null
+++ b/Master/texmf-dist/tex/context/interface/third/t-resume.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0" standalone="yes"?>
+
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2006.08.02">
+
+<cd:command name="setupresumestyle:1" file="t-resume.tex">
+ <cd:sequence>
+ <cd:string value="setupresumestyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords list="yes">
+ <cd:constant type="firstpage"/>
+ <cd:constant type="secondpage"/>
+ </cd:keywords>
+ <cd:assignments list="yes">
+ <cd:inherit name="setuplayout"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupresumestyle:2" file="t-resume.tex">
+ <cd:sequence>
+ <cd:string value="setupresumestyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords list="yes">
+ <cd:constant type="header"/>
+ <cd:constant type="footer"/>
+ </cd:keywords>
+ <cd:keywords optional="yes" list="yes">
+ <cd:constant type="text"/>
+ <cd:constant type="margin"/>
+ <cd:constant type="edge"/>
+ </cd:keywords>
+ <cd:assignments list="yes">
+ <cd:parameter name="lefttext">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="middletext">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="righttext">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupresumestyle:3" file="t-resume.tex">
+ <cd:sequence>
+ <cd:string value="setupresumestyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords list="yes">
+ <cd:constant type="head"/>
+ <cd:constant type="foot"/>
+ </cd:keywords>
+ <cd:keywords optional="yes">
+ <cd:constant type="layer"/>
+ </cd:keywords>
+ <cd:assignments list="yes">
+ <cd:inherit name="setuplayer"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupresumestyle:4" file="t-resume.tex">
+ <cd:sequence>
+ <cd:string value="setupresumestyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords list="yes">
+ <cd:constant type="head"/>
+ <cd:constant type="foot"/>
+ </cd:keywords>
+ <cd:keywords optional="yes">
+ <cd:constant type="frame"/>
+ </cd:keywords>
+ <cd:assignments list="yes">
+ <cd:inherit name="setupframed"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupresumestyle:5" file="t-resume.tex">
+ <cd:sequence>
+ <cd:string value="setupresumestyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments list="yes">
+ <cd:inherit name="setupdescriptions"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="useresumestyle" file="t-resume.tex">
+ <cd:sequence>
+ <cd:string value="useresumestyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="useresumecolor" file="t-resume.tex">
+ <cd:sequence>
+ <cd:string value="useresumecolor"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords>
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="resume" type="environment" file="t-resume.tex">
+ <cd:sequence>
+ <cd:string value="resume"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:assignments optional="yes" list="yes">
+ <cd:inherit name="setupresume"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+</cd:interface>
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 ccbb9c691c8..069d365fd4f 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=2008.12.23,
+%D version=2008.02.09,
%D title=\CONTEXT\ User Module,
%D subtitle=Correspondence,
%D author=Wolfgang Schuster,
@@ -92,6 +92,11 @@
\setinterfaceelement {flush} {flush}
\stopinterface
+% Placeholders for the messages:
+%
+% 1: letter|resume / interface|style|extension / filename
+% 2: letter|resume / interface|style|extension / filename
+
\definemessageconstant {correspondence}
\startmessages all library: correspondence
@@ -160,19 +165,21 @@
\def\dodosetupcorrespondencelayer[#1][#2][#3][#4][#5]%
{\def\dododosetupcorrespondencelayer##1%
- {\ifcsname dosetupcorrespondencelayer##1\endcsname
- \@EA\@EA\csname dosetupcorrespondencelayer##1\endcsname
- \else
- \@EA\@EA\csname dosetupcorrespondencelayer\v!option\endcsname
- \fi[#1][#2][#3][#5]}%
- \processcommalist[#4]\dododosetupcorrespondencelayer}
+ {\def\dodododosetupcorrespondencelayer####1%
+ {\ifcsname dosetupcorrespondencelayer####1\endcsname
+ \@EA\@EA\csname dosetupcorrespondencelayer####1\endcsname
+ \else
+ \@EA\@EA\csname dosetupcorrespondencelayer\v!option\endcsname
+ \fi[#1][#2][##1][#5]}%
+ \processcommalist[#4]\dodododosetupcorrespondencelayer}%
+ \processcommalist[#3]\dododosetupcorrespondencelayer}
\def\dosetupcorrespondencelayerlayer[#1][#2][#3][#4]%
{\setuplayer[#1:#3][#4]%
\getparameters[#2#3\v!layer][#4]}
\def\dosetupcorrespondencelayerframe[#1][#2][#3][#4]%
- {\getparameters[#2#3\v!frame][#4]}
+ {\setuplocalframed[#2#3\v!frame][#4]}
\def\dosetupcorrespondencelayeroption[#1][#2][#3][#4]%
{\getparameters[#2#3][#4]}
@@ -287,7 +294,8 @@
\c!height=\paperheight]%
\dodosetupcorrespondencelayer
[#1][#2][#3][\v!option]%
- [\c!symbol=,
+ [\c!state=\v!stop,
+ \c!symbol=,
\c!alternative=\v!a,
\c!separator=\crlf,
\c!offset=\zeropoint,
@@ -319,15 +327,6 @@
\doadaptrightskip{\correspondencestylevalue{#2}{#3}\c!rightmargin}%
\doattributes{#2#3}\c!style\c!color{#4}}}}
-\def\dosetheaderfooterlayer[#1]%
- {\processaction
- [#1]
- [ v!yes=>\chardef\headerfooter\plusone,
- \v!first=>\chardef\headerfooter\plustwo,
- \v!next=>\chardef\headerfooter\plusthree,
- \v!left=>\chardef\headerfooter\plusfour,
- \v!right=>\chardef\headerfooter\plusfive]}
-
\def\dodosetheaderfooterlayer#1{\csname @@headfoot@@#1\endcsname}
\setvalue{@@headfoot@@\v!start }{\!!doneatrue }
@@ -342,13 +341,13 @@
\setvalue{@@headfoot@@\v!subpage }{\!!donedfalse }
\def\dosetheaderfooterlayer[#1][#2][#3]%
- {\!!doneafalse
- \!!donebfalse
- \!!donecfalse
- \!!donedfalse
+ {\!!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\subpagenumber=\plusone
+ \ifnum\if!!doned\pagenumber\else\subpagenumber\fi=\plusone
\if!!donea\dosetcorrespondencelayer[#1][#2][#3]\fi
\else
\ifodd\if!!doned\pagenumber\else\subpagenumber\fi
@@ -357,6 +356,29 @@
\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 \ifdim.
+%
+% \newcount\correspondencepagenumber
+%
+% \appendtoks\global\advance\correspondencepagenumber\plusone\to\everyaftershipout
+%
+% \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\correspondencepagenumber\fi=\plusone
+% \if!!donea\dosetcorrespondencelayer[#1][#2][#3]\fi
+% \else
+% \ifodd\if!!doned\pagenumber\else\correspondencepagenumber\fi
+% \if!!donec\dosetcorrespondencelayer[#1][#2][#3]\fi
+% \else
+% \if!!doneb\dosetcorrespondencelayer[#1][#2][#3]\fi
+% \fi\fi}
+
%D Sections
\def\definecorrespondencesection[#1][#2]%
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 06b7fc825d3..c46299fd6ce 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
@@ -35,12 +35,13 @@
%D \subject{Setup commands}
%D
-%D \macros{setupletterstyle}
+%D \macros
+%D {setupletterstyle}
%D
%D The layout for the first page could be set with the \mono{firstpage}
%D key and the layout for the second and all following pages with the
%D \mono{secondpage} key. You could use any key and value from
-%D \tex{setuplayout} to set your own letter layout.
+%D \type{\setuplayout} to set your own letter layout.
%D
%D \showsetup{setupletterstyle:layout}
%D
@@ -48,7 +49,7 @@
%D and \mono{footer} keys, the text itself I written as argument as one of
%D the three keys. The command itself has no option to use different texts
%D for odd and even pages (if you really want this in a letter) but you could
-%D solve this with the macro \tex{doifoddpageelse}, I will give you a short
+%D solve this with the macro \type{\doifoddpageelse}, I will give you a short
%D example below.
\setvalue{\v!letter:\????ls:\v!firstpage }{\v!layout}
@@ -65,7 +66,7 @@
%D on them at the moment because they could change or I will remove, rename,
%D rewrite etc. them.
%D
-%D With the change of the \tex{setupletter} command it was also necessary
+%D With the change of the \type{\setupletter} command it was also necessary
%D to change the definition for lettervalue tests.
\def\doiflettervalue {\doifcorrespondencevalue \????ld}
@@ -137,8 +138,8 @@
%D \stopsetups
%D \stoptyping
%D
-%D The interface itself is loaded with the \tex{useletterinterface}
-%D command but you could also use the optional argument for \tex{usemodule}
+%D The interface itself is loaded with the \type{\useletterinterface}
+%D command but you could also use the optional argument for \type{\usemodule}
%D to load it. The first is only used in this file but it makes sense
%D to use it also in a wrapper file for your own interface.
%D
@@ -162,7 +163,7 @@
%D \stopitemize
%D
%D The syntax to load a letterextension file is the same as for a interface
-%D and you could also argument for \tex{usemodule}.
+%D and you could also argument for \type{\usemodule}.
%D
%D \showsetup{useletterextension}
@@ -180,8 +181,8 @@
%D load on demand and share between your letters.
%D
%D You could load a style file in the same way as the other to files,
-%D the first is \tex{useletterstyle} and the second the optional argument
-%D for \tex{usemodule}.
+%D the first is \type{\useletterstyle} and the second the optional argument
+%D for \type{\usemodule}.
%D
%D \showsetup{useletterstyle}
@@ -190,7 +191,7 @@
%D \macros
%D {letterstylevalue,lettervalue}
%D
-%D The two commands \tex{letterstylevalue} and \tex{lettervalue} could
+%D The two commands \type{\letterstylevalue} and \type{\lettervalue} could
%D be used to access the values for the keys used in the letterstyle
%D settings and the letter values for information.
@@ -200,14 +201,14 @@
\def\letterstylevalue#1#2%
{\csname\????ls#1#2\endcsname}
-%D The old definition of \tex{lettervalue} required two arguments.
+%D The old definition of \type{\lettervalue} required two arguments.
%D
%D \starttyping
%D \def\lettervalue#1#2%
%D {\csname\????ld#1#2\endcsname}
%D \stoptyping
%D
-%D The new definition needs only one arguments because \tex{setupletter}
+%D The new definition needs only one arguments because \type{\setupletter}
%D needs only one argument for the values in the new version.
\def\lettervalue#1%
@@ -329,7 +330,7 @@
\stopsetups
%D Footer block, you could use it to place information about your company
-%D but take care set \mono{repeat=yes} if you want to place it on every page,
+%D but take care set \type {repeat=yes} if you want to place it on every page,
%D you should disable the footer for the second and following pages inb this
%D case.
@@ -377,7 +378,7 @@
\stopsetups
%D Two additional layers from Hans Hagen's own letter module, it provide
-%D for users who used \mono{m-letter.tex} and want to switch to my module.
+%D for users who used \filename{m-letter.tex} and want to switch to my module.
%D
%D I need they also for my pragma letter interface.
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 d663e3c9865..450d882c326 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=2008.12.23,
+%D version=2009.02.09,
%D title=\CONTEXT\ User Module,
%D subtitle=Resumes,
%D author=Wolfgang Schuster,
@@ -28,6 +28,9 @@
%D \macros
%D {setupresumestyle}
+\setvalue{\v!resume:\????rs:\v!firstpage }{\v!layout}
+\setvalue{\v!resume:\????rs:\v!secondpage}{\v!layout}
+
\definecorrespondencesetup[\v!resume\v!style][\v!resume][\????rs]
%D \macros
@@ -63,13 +66,19 @@
\def\resumevalue#1%
{\csname\????rd#1\endcsname}
-\def\resume!list!marking
- {\v!topmark,\v!botmark,\v!cutmark,\v!usermark}
-
\let\resume!list!layers \empty
\let\resume!list!sections \empty
\let\resume!list!descriptions\empty
+\def\resume!list!marking
+ {\v!topmark,\v!botmark,\v!cutmark,\v!usermark}
+
+\def\resume!list!header
+ {\v!head,\v!nexthead}
+
+\def\resume!list!footer
+ {\v!foot,\v!nextfoot}
+
\definecorrespondencelayer [\v!resume][\????rs]
\definecorrespondencesection [\v!resume][\????rs]
\definecorrespondencedescription[\v!resume][\????rs]
@@ -86,41 +95,57 @@
\stopsetups
-%D Header for the first page
+%D Header
-\dodefineresumelayer[\v!head]
+\dodefineresumelayer[\v!header]
\startsetups[\v!resume:\v!place:\v!head]
- \dosetresumelayer[\v!head]
+ % First page
-\stopsetups
+ \startlocalsetups[\v!resume:\v!place:\v!firsthead]
-%D Footer block
+ \dosetheaderfooterlayer[\v!resume][\????rs][\v!head]
-\dodefineresumelayer[\v!foot]
+ \stoplocalsetups
-\startsetups[\v!resume:\v!place:\v!foot]
+ % Following pages
- \dosetresumelayer[\v!foot]
+ \startlocalsetups[\v!resume:\v!place:\v!nexthead]
+
+ \dosetheaderfooterlayer[\v!resume][\????rs][\v!nexthead]
+
+ \stoplocalsetups
+
+ \doif\@@@@rsoptionhead \v!yes{\directsetup{\v!resume:\v!place:\v!firsthead}}
+ \doif\@@@@rsoptionnexthead\v!yes{\directsetup{\v!resume:\v!place:\v!nexthead }}
\stopsetups
-%D Layer to set head and foot blocks at the second and all following pages.
+%D Footer
-\dodefineresumelayer[\v!nexthead]
+\dodefineresumelayer[\v!footer]
-\startsetups[\v!resume:\v!place:\v!nexthead]
+\startsetups[\v!resume:\v!place:\v!foot]
- \dosetresumelayer[\v!nexthead]
+ % First page
-\stopsetups
+ \startlocalsetups[\v!resume:\v!place:\v!firstfoot]
-\dodefineresumelayer[\v!nextfoot]
+ \dosetheaderfooterlayer[\v!resume][\????rs][\v!foot]
-\startsetups[\v!resume:\v!place:\v!nextfoot]
+ \stoplocalsetups
+
+ % Following pages
+
+ \startlocalsetups[\v!resume:\v!place:\v!nextfoot]
+
+ \dosetheaderfooterlayer[\v!resume][\????rs][\v!nextfoot]
+
+ \stoplocalsetups
- \dosetresumelayer[\v!nextfoot]
+ \doif\@@@@rsoptionfoot \v!yes{\directsetup{\v!resume:\v!place:\v!firstfoot}}
+ \doif\@@@@rsoptionnextfoot\v!yes{\directsetup{\v!resume:\v!place:\v!nextfoot }}
\stopsetups
@@ -249,7 +274,8 @@
\setupbackgrounds
[\v!page]
- [\c!background=\resume!list!backgrounds,
+ [\c!setups={\v!resume:\v!place:\v!head,\v!resume:\v!place:\v!foot},
+ \c!background=\resume!list!backgrounds,
\c!backgroundcolor=\@@@@rsoptionbackgroundcolor]
\doifresumestylevalue\v!option\c!bodyfont {\switchtobodyfont[\@@@@rsoptionbodyfont ]}
@@ -303,10 +329,6 @@
\startsetups[\v!resume:\v!layer]
\doif\@@@@rsoptionmarking \v!yes{\directsetup{\v!resume:\v!place:\v!foldmark}}
- \doif\@@@@rsoptionhead \v!yes{\directsetup{\v!resume:\v!place:\v!head }}
- \doif\@@@@rsoptionfoot \v!yes{\directsetup{\v!resume:\v!place:\v!foot }}
- \doif\@@@@rsoptionnexthead\v!yes{\directsetup{\v!resume:\v!place:\v!nexthead}}
- \doif\@@@@rsoptionnextfoot\v!yes{\directsetup{\v!resume:\v!place:\v!nextfoot}}
\stopsetups
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 7b05038b5bf..11f945610d5 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=2008.12.16,
+%D version=2009.02.09,
%D title=\CONTEXT\ Letter Interface,
%D subtitle=Default Interface,
%D author=Wolfgang Schuster,
@@ -182,7 +182,7 @@
\long\def\doformatreferencelistd#1%
{\doifelse{#1}\v!line
- {\TB[\v!line]}
+ {\NC\NC\NC\NR} % why did \TB not work?
{\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}}
@@ -290,7 +290,7 @@
{\setvalue{\????ld\c!toaddress}{\getvalue{\????ld\????ld#1}}}}%
\fi\fi
\def\stopletter
- {\directsetup{\v!letter:\v!place}\egroup}%
+ {\directsetup{\v!letter:\v!place}\egroup\setupsubpagenumber[\c!state=\v!start]}%
\dostartbuffer[lettercontent][startletter][stopletter]}
%D Patched version of the \tex{flushbufferline} macro for \MKII,
@@ -591,7 +591,7 @@
\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[\v!letter:\v!reference:\@@@@lsreferencealternative]
+ \setups[\v!letter:\v!reference:\@@@@lsreferencealternative]
\stopsetups
diff --git a/Master/texmf-dist/tex/context/third/letter/interface/default.nri b/Master/texmf-dist/tex/context/third/letter/interface/default.nri
index 5746a7f7b92..edbf61f7d99 100644
--- a/Master/texmf-dist/tex/context/third/letter/interface/default.nri
+++ b/Master/texmf-dist/tex/context/third/letter/interface/default.nri
@@ -11,6 +11,52 @@
\unprotect
+\startinterface all
+ \setinterfacevariable {casual} {casual}
+ \setinterfacevariable {classic} {classic}
+\stopinterface
+
+%D The resume provides no own commands to write the information
+%D for your curriculum vitae but you can use \CONTEXT's own
+%D description, paragraph or table commands.
+%D
+%D I hope I can change this in the future and give the users one
+%D commands which can be used to arrange the information either
+%D in rows or in columns.
+%D
+%D \starttyping
+%D \def\????sp{@@@@sp}
+%D
+%D \def\startcontent
+%D {\dosingleempty\dostartcontent}
+%D
+%D \def\dostartcontent[#1]%
+%D {\getparameters[\????sp][\c!alternative=\v!row,#1]%
+%D \doifelse\@@@@spalternative\v!row\valign\halign\bgroup&##\cr}
+%D
+%D \def\stopcontent
+%D {\crcr\egroup}
+%D \stoptyping
+%D
+%D This command could be used to write the content in columns or rows,
+%D the behaviour can be changed with the \type {alternative} key.
+%D
+%D \starttyping
+%D \startcontent
+%D \hsize=3cm
+%D \dorecurse{10}{text } \cr
+%D \hsize=3cm
+%D text \cr
+%D text \cr
+%D \stopcontent
+%D
+%D \startcontent[alternative=column]
+%D \vbox{\dorecurse{40}{text }} \cr
+%D text \cr
+%D text \cr
+%D \stopcontent
+%D \stoptyping
+
\def\startresume
{\bgroup\dosingleempty\dostartresume}
@@ -18,14 +64,12 @@
{\iffirstargument
\getparameters[\????rd][#1]%
\fi
- \def\stopresume{\directsetup{\v!resume:\v!place}\egroup}%
+ \def\stopresume{\directsetup{\v!resume:\v!place}\egroup\setupsubpagenumber[\c!state=\v!start]}%
\dostartbuffer[resumecontent][startresume][stopresume]}
-
\def\startresumecontent
{\dostartbuffer[resumecontent][startresumecontent][stopresumecontent]}
-
\setupresume
[\c!content={\getbuffer[resumecontent]}]
@@ -33,5 +77,24 @@
\resumevalue\c!content
\stopsetups
+\startsetups[\v!resume:\v!head]
+\executeifdefined{\v!resume:\v!head:\@@@@rsheadalternative}\donothing
+\stopsetups
+
+\startsetups[\v!resume:\v!foot]
+\executeifdefined{\v!resume:\v!foot:\@@@@rsfootalternative}\donothing
+\stopsetups
+
+\startsetups[\v!letter:\v!nexthead]
+\executeifdefined{\v!resume:\v!nexthead:\@@@@rsnextheadalternative}\donothing
+\stopsetups
+
+\startsetups[\v!resume:\v!nextfoot]
+\executeifdefined{\v!resume:\v!nextfoot:\@@@@rsnextfootalternative}\donothing
+\stopsetups
+
+\setupresumestyle
+ [\v!option]
+ [\c!color=blue]
\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/casual.nrs b/Master/texmf-dist/tex/context/third/letter/style/casual.nrs
new file mode 100644
index 00000000000..c60fc081fe8
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/letter/style/casual.nrs
@@ -0,0 +1,200 @@
+%D \module
+%D [ file=casual,
+%D version=2009.02.09,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Casual Style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+% This style tries to mimic the moderncv casual style.
+
+\unprotect
+
+%D I take the layout from the default style.
+
+\useresumestyle[default]
+
+%D You can select between different color styles for the elements.
+
+\startsetups casual:blue
+
+ \definecolorgroup
+ [casual]
+ [0.65:0.65:0.65,
+ 0.45:0.45:0.45,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.25:0.50:0.75,
+ 0.20:0.40:0.65,
+ 0.20:0.40:0.65,
+ 0.25:0.50:0.75]
+
+\stopsetups
+
+\startsetups casual:orange
+
+ \definecolorgroup
+ [casual]
+ [0.65:0.65:0.65,
+ 0.45:0.45:0.45,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 1.00:0.65:0.20,
+ 0.95:0.55:0.15,
+ 0.95:0.55:0.15,
+ 0.95:0.55:0.15]
+
+\stopsetups
+
+\startsetups casual:green
+
+ \definecolorgroup
+ [casual]
+ [0.65:0.65:0.65,
+ 0.45:0.45:0.45,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.55:0.85:0.35,
+ 0.30:0.65:0.15,
+ 0.30:0.65:0.15,
+ 0.30:0.65:0.15]
+
+\stopsetups
+
+\startsetups casual:red
+
+ \definecolorgroup
+ [casual]
+ [0.65:0.65:0.65,
+ 0.45:0.45:0.45,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 1.00:0.30:0.30,
+ 0.95:0.20:0.20,
+ 0.95:0.20:0.20,
+ 0.95:0.20:0.20]
+
+\stopsetups
+
+\startsetups casual:grey
+
+ \definecolorgroup
+ [casual]
+ [0.65:0.65:0.65,
+ 0.45:0.45:0.45,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.75:0.75:0.75,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35]
+
+\stopsetups
+
+\processaction
+ [\resumestylevalue\v!option\c!color]
+ [ blue=>\directsetup{casual:blue},
+ orange=>\directsetup{casual:orange},
+ green=>\directsetup{casual:green},
+ red=>\directsetup{casual:red},
+ grey=>\directsetup{casual:grey},
+ \s!unknown=>\directsetup{casual:blue}]
+
+\setupresumestyle
+ [\v!firstpage]
+ [\c!topspace=6cm,
+ \c!height=\v!fit]
+
+%D Quick and dirty solution, I will write a better one in the future
+
+\setvalue{\v!resume:\v!head:\v!casual}%
+ {\hbox to\hsize\bgroup
+ \framed[\c!offset=2\points,\c!strut=\v!no,\c!framecolor=casual:1]{\resumevalue{image}}%
+ \hfill
+ \hbox\bgroup
+ \doattributes{\????rs firstname}\c!style\c!color {\resumevalue{firstname}}%
+ \space
+ \doattributes{\????rs familyname}\c!style\c!color{\resumevalue{familyname}}%
+ \egroup
+ \egroup
+ \blank[\v!small]
+ \blackrule[\c!height=2\linewidth,\c!width=\hsize,\c!color=casual:1]
+ \blank[\v!line]
+ \doattributes{\????rs quote}\c!style\c!color{\resumevalue{quote}}}
+
+\setvalue{\v!resume:\v!foot:\v!casual}%
+ {\doattributes{\????rs street}\c!style\c!color{\resumevalue{street}} -- \doattributes{\????rs town}\c!style\c!color{\resumevalue{town}}\par
+ \doattributes{\????rs mobile}\c!style\c!color{\resumevalue{mobile}}\quad\color[casual:8]{\symbol{bullet}}\quad
+ \doattributes{\????rs phone}\c!style\c!color{\resumevalue {phone}}\quad\color[casual:8]{\symbol{bullet}}\quad
+ \doattributes{\????rs fax}\c!style\c!color{\resumevalue {fax}}\quad\color[casual:8]{\symbol{bullet}}\quad
+ \doattributes{\????rs email}\c!style\c!color{\resumevalue {email}}\quad\color[casual:8]{\symbol{bullet}}\quad
+ \doattributes{\????rs info}\c!style\c!color{\resumevalue {info}}}
+
+\setvalue{\v!resume:\v!nextfoot:\v!casual}%
+ {\color[casual:4]{\it\subpagenumber/\numberofsubpages}}
+
+\setupresumestyle
+ [\v!head,\v!foot,\v!nextfoot]
+ [\c!alternative=\v!casual]
+
+\setupresumestyle
+ [\v!head]
+ [\c!hoffset=\backspace,
+ \c!voffset=2cm,
+ \c!width=\textwidth,
+ \c!height=3.5cm,
+ \c!frame=\v!off,
+ \c!align=\v!middle,
+ \c!state=\v!start]
+
+\setupresumestyle
+ [\v!foot,\v!nextfoot]
+ [\v!option]
+ [\c!state={\v!first,\v!next}]
+
+\setupresumestyle
+ [\v!foot,\v!nextfoot]
+ [\v!frame]
+ [\c!frame=\v!off,
+ \c!width=\textwidth,
+ \c!height=2cm,
+ \c!align=\v!middle]
+
+\setupresumestyle
+ [\v!foot,\v!nextfoot]
+ [\v!layer]
+ [\c!preset=\v!left\v!bottom,
+ \c!hoffset=\backspace,
+ \c!voffset=2cm]
+
+\setupresumestyle
+ [\v!nextfoot]
+ [\c!align={\v!left,\v!lohi}]
+
+% Why do I use setupresumestyle, I use in the letter module
+% for the same thing setupletter, I should change this
+
+\setupresumestyle
+ [firstname]
+ [style=\c!tf\c!d,
+ color=casual:1]
+
+\setupresumestyle
+ [familyname]
+ [style=\c!tf\c!d,
+ color=casual:2]
+
+\setupresumestyle
+ [quote]
+ [style=\c!tf,
+ color=casual:3]
+
+\setupresumestyle
+ [street,town,mobile,phone,fax,email,info]
+ [\c!style=\v!italic,
+ \c!color=casual:4]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/classic.nrs b/Master/texmf-dist/tex/context/third/letter/style/classic.nrs
new file mode 100644
index 00000000000..749f9691edf
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/letter/style/classic.nrs
@@ -0,0 +1,195 @@
+%D \module
+%D [ file=classic,
+%D version=2009.02.09,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Classic Style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+% This style tries to mimic the moderncv classic style.
+
+\unprotect
+
+\useresumestyle[default]
+
+\startsetups classic:blue
+
+ \definecolorgroup
+ [classic]
+ [0.00:0.00:0.00,
+ 0.00:0.00:0.00,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.25:0.50:0.75,
+ 0.25:0.50:0.75,
+ 0.20:0.40:0.65,
+ 0.20:0.40:0.65]
+
+\stopsetups
+
+\startsetups classic:orange
+
+ \definecolorgroup
+ [classic]
+ [0.00:0.00:0.00,
+ 0.00:0.00:0.00,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.95:0.55:0.15,
+ 1.00:0.65:0.20,
+ 0.95:0.55:0.15,
+ 0.95:0.55:0.15]
+
+\stopsetups
+
+\startsetups classic:green
+
+ \definecolorgroup
+ [classic]
+ [0.00:0.00:0.00,
+ 0.00:0.00:0.00,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.30:0.65:0.15,
+ 0.55:0.85:0.35,
+ 0.30:0.65:0.15,
+ 0.30:0.65:0.15]
+
+\stopsetups
+
+\startsetups classic:red
+
+ \definecolorgroup
+ [classic]
+ [0.00:0.00:0.00,
+ 0.00:0.00:0.00,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.95:0.20:0.20,
+ 1.00:0.30:0.30,
+ 0.95:0.20:0.20,
+ 0.95:0.20:0.20]
+
+\stopsetups
+
+\startsetups classic:grey
+
+ \definecolorgroup
+ [classic]
+ [0.00:0.00:0.00,
+ 0.00:0.00:0.00,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35,
+ 0.75:0.75:0.75,
+ 0.35:0.35:0.35,
+ 0.35:0.35:0.35]
+
+\stopsetups
+
+\processaction
+ [\resumestylevalue\v!option\c!color]
+ [ blue=>\directsetup{classic:blue},
+ orange=>\directsetup{classic:orange},
+ green=>\directsetup{classic:green},
+ red=>\directsetup{classic:red},
+ grey=>\directsetup{classic:grey},
+ \s!unknown=>\directsetup{classic:blue}]
+
+\setupresumestyle
+ [\v!firstpage]
+ [\c!topspace=9cm,
+ \c!header=0cm,
+ \c!height=\v!fit]
+
+\setvalue{\v!resume:\v!head:\v!classic}%
+ {\hbox to \hsize\bgroup
+ \vbox\bgroup
+ \hbox\bgroup
+ \doattributes{\????rd firstname}\c!style\c!color {\resumevalue{firstname}}%
+ \space
+ \doattributes{\????rd familyname}\c!style\c!color{\resumevalue{familyname}}%
+ \egroup
+ \hbox{\doattributes{\????rd title}\c!style\c!color{\resumevalue{title}}}
+ \egroup
+ \hfill
+ \framed
+ [\c!location=\v!bottom,
+ \c!align=\v!left,
+ \c!width=\v!fit,
+ \c!frame=\v!off,
+ \c!foregroundstyle=\v!italic,
+ \c!foregroundcolor=classic:5]
+ {\resumevalue{street}\\
+ \resumevalue {town}\\
+ \resumevalue{mobile}\\
+ \resumevalue {phone}\\
+ \resumevalue {fax}\\
+ \resumevalue {email}\\
+ \resumevalue {info}}%
+ \space
+ \framed[\c!offset=2\points,\c!strut=\v!no]{\resumevalue{image}}%
+ \egroup}
+
+\setvalue{\v!resume:\v!nextfoot:\v!classic}%
+ {\color[classic:4]{\it\subpagenumber/\numberofsubpages}}
+
+\setupresumestyle
+ [\v!head,\v!nextfoot]
+ [\c!alternative=\v!classic]
+
+\setupresumestyle
+ [\v!head]
+ [\c!hoffset=\backspace,
+ \c!voffset=2cm,
+ \c!frame=\v!off,
+ \c!width=\textwidth,
+ \c!height=7cm]
+
+\setupresumestyle
+ [\v!nextfoot]
+ [\v!option]
+ [\c!state={\v!first,\v!next}]
+
+\setupresumestyle
+ [\v!nextfoot]
+ [\v!frame]
+ [\c!frame=\v!off,
+ \c!width=\textwidth,
+ \c!height=2cm,
+ \c!align={\v!left,\v!lohi}]
+
+\setupresumestyle
+ [\v!nextfoot]
+ [\v!layer]
+ [\c!preset=\v!left\v!bottom,
+ \c!hoffset=\backspace,
+ \c!voffset=2cm]
+
+% Why do I use setupresumestyle, I use in the letter module
+% for the same thing setupletter, I should change this
+
+\setupresume
+ [quote]
+ [\c!style=\v!italic,
+ \c!color=classic:4]
+
+\setupresume
+ [firstname]
+ [\c!style=\c!tf\c!d,
+ \c!color=classic:1]
+
+\setupresume
+ [familyname]
+ [\c!style=\c!tf\c!d,
+ \c!color=classic:2]
+
+\setupresume
+ [title]
+ [\c!style=\c!it\c!b,
+ \c!color=classic:3]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/default.nrs b/Master/texmf-dist/tex/context/third/letter/style/default.nrs
new file mode 100644
index 00000000000..1715ef7a7c4
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/letter/style/default.nrs
@@ -0,0 +1,51 @@
+%D \module
+%D [ file=default,
+%D version=2009.02.09,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Default Style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D email=schuster.wolfgang@googlemail.com,
+%D license=Public Domain]
+
+\unprotect
+
+\setupcolors
+ [\c!state=\v!start]
+
+\setuphead
+ [\v!section]
+ [\c!number=\v!no,
+ \c!incrementnumber=\v!no]
+
+\setuphead
+ [\v!subsection]
+ [\c!number=\v!no,
+ \c!incrementnumber=\v!no]
+
+\setupresumestyle
+ [\v!firstpage,\v!secondpage]
+ [\c!topspace=\dimexpr\paperheight/297*25\relax,
+ \c!top=\!!zeropoint,
+ \c!topdistance=\!!zeropoint,
+ \c!header=\dimexpr\paperheight/297*20\relax,
+ \c!headerdistance=\!!zeropoint,
+ \c!height=\dimexpr\paperheight/297*250\relax,
+ \c!footerdistance=\!!zeropoint,
+ \c!footer=\dimexpr\paperheight/297*20\relax,
+ \c!bottomdistance=\!!zeropoint,
+ \c!bottom=\!!zeropoint,
+ \c!backspace=\dimexpr\paperwidth/210*25\relax,
+ \c!width=\dimexpr\paperwidth/210*150\relax,
+ \c!bottomspace=\!!zeropoint]
+
+\setupresumestyle
+ [\v!head,\v!foot]
+ [\c!state=\v!start]
+
+\setupresumestyle
+ [\v!nexthead,\v!nextfoot]
+ [\c!state=\v!next]
+
+\protect \endinput
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 841daf4e005..02a6200d5e3 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/dutch.nls
+++ b/Master/texmf-dist/tex/context/third/letter/style/dutch.nls
@@ -1,6 +1,6 @@
%D \module
%D [ file=dutch,
-%D version=2008.04.24,
+%D version=2008.12.28,
%D title=\CONTEXT\ Letter Style,
%D subtitle=Dutch NEN Style,
%D author=Wolfgang Schuster,
@@ -57,13 +57,11 @@
\c!bottomframe=\v!yes]
\setupletterstyle
- [\v!address]
[\v!dispatch]
[\c!height=\lineheight]
\setupletterstyle
- [\v!address]
- [\v!content]
+ [\v!addressee]
[\c!height=\v!fit]
\setupletterstyle
diff --git a/Master/tlpkg/tlpsrc/context-letter.tlpsrc b/Master/tlpkg/tlpsrc/context-letter.tlpsrc
index af712263286..519d2cf7a66 100644
--- a/Master/tlpkg/tlpsrc/context-letter.tlpsrc
+++ b/Master/tlpkg/tlpsrc/context-letter.tlpsrc
@@ -2,4 +2,5 @@ name context-letter
category Package
runpattern d texmf-dist/tex/context/third/letter
runpattern f texmf-dist/tex/context/interface/third/t-letter.xml
+runpattern f texmf-dist/tex/context/interface/third/t-resume.xml
docpattern d texmf-dist/doc/context/third/letter