From fdcf555ea5d583b5ae1696740ab787dc7a3014c1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 28 Mar 2009 00:28:10 +0000 Subject: context-letter update (24mar09) git-svn-id: svn://tug.org/texlive/trunk@12540 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/context/interface/third/t-letter.xml | 48 +++ .../tex/context/interface/third/t-resume.xml | 75 +++++ .../context/third/letter/base/t-correspondence.tex | 361 ++++++++++++++++++--- .../tex/context/third/letter/base/t-letter.tex | 34 +- .../tex/context/third/letter/extension/label.nle | 2 +- .../context/third/letter/extension/optimize.nle | 13 +- .../tex/context/third/letter/interface/default.nli | 72 ++-- .../tex/context/third/letter/interface/knuth.nli | 14 +- .../tex/context/third/letter/interface/pragma.nli | 12 +- .../tex/context/third/letter/style/default.nls | 6 +- .../tex/context/third/letter/style/fullblock.nls | 2 +- .../tex/context/third/letter/style/knuth.nls | 18 +- .../tex/context/third/letter/style/modern.nrs | 10 +- 13 files changed, 533 insertions(+), 134 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/context/interface/third/t-letter.xml b/Master/texmf-dist/tex/context/interface/third/t-letter.xml index c8302c7fe8b..1e775d95173 100644 --- a/Master/texmf-dist/tex/context/interface/third/t-letter.xml +++ b/Master/texmf-dist/tex/context/interface/third/t-letter.xml @@ -38,6 +38,12 @@ + + + + + + @@ -248,6 +254,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Master/texmf-dist/tex/context/interface/third/t-resume.xml b/Master/texmf-dist/tex/context/interface/third/t-resume.xml index 4b41cf887c3..a673151dad8 100755 --- a/Master/texmf-dist/tex/context/interface/third/t-resume.xml +++ b/Master/texmf-dist/tex/context/interface/third/t-resume.xml @@ -128,4 +128,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 79ce09e5420..1d65d767885 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.02.18, +%D version=2009.03.18, %D title=\CONTEXT\ User Module, %D subtitle=Correspondence, %D author=Wolfgang Schuster, @@ -251,26 +251,6 @@ \appendtoks\gotonextcorrespage\to\beforeeverypage -%D Value list - -\ifx\appendtovaluelist\undefined - -\def\appendtovaluelist#1% - {\ifcsname#1\endcsname - \@EA\ifx\csname#1\endcsname\empty - \@EA\noappendtovaluelist\csname#1\@EAEAEA\endcsname - \else - \@EA\doappendtovaluelist\csname#1\@EAEAEA\endcsname - \fi - \else - \@EA\noappendtovaluelist\csname#1\@EA\endcsname - \fi} - -\def\doappendtovaluelist#1#2{\@EA\def\@EA#1\@EA{#1,#2}} -\def\noappendtovaluelist#1#2{\def#1{#2}} - -\fi - %D Setup command for the styles \def\definecorrespondencesetup[#1][#2][#3]% @@ -301,10 +281,10 @@ {\definelayout[#1#3][#4]} \def\dosetupcorrespondencesection[#1][#2][#3][#4]% - {\getparameters[#2#3][#4]} + {\getcheckedparameters[#1\v!section:#3][#2#3][#4]} \def\dosetupcorrespondencedescription[#1][#2][#3][#4]% - {\getparameters[#2#3][#4]} + {\getcheckedparameters[#1\v!description:#3][#2#3][#4]} \def\dosetupcorrespondencelayer[#1][#2][#3][#4]% {\dodosetupcorrespondencelayer[#1][#2][#3][\v!layer,\v!frame,\v!option][#4]} @@ -315,7 +295,7 @@ {\ifcsname dosetupcorrespondencelayer####1\endcsname \@EA\@EA\csname dosetupcorrespondencelayer####1\endcsname \else - \@EA\@EA\csname dosetupcorrespondencelayer\v!option\endcsname + \@EA\dosetupcorrespondencelayeroption \fi[#1][#2][##1][#5]}% \processcommalist[#4]\dodododosetupcorrespondencelayer}% \processcommalist[#3]\dododosetupcorrespondencelayer} @@ -328,7 +308,7 @@ {\setuplocalframed[#2#3\v!frame][#4]} \def\dosetupcorrespondencelayeroption[#1][#2][#3][#4]% - {\getparameters[#2#3][#4]} + {\getcheckedparameters[#1\v!layer\v!option:#3][#2#3][#4]} %D Setup command for the values @@ -415,6 +395,10 @@ %D Layers +\def\correspondencelayerkeys + {\c!state,\c!symbol,\c!separator,\c!offset,\c!spacebefore,\c!list,% + \c!alternative,\c!spaceafter,\c!leftmargin,\c!rightmargin} + \def\definecorrespondencelayer[#1][#2]% {\setvalue{\s!do\e!define#1\v!layer}{\dodefinecorrespondencelayer[#1][#2]}% \setvalue{\s!do\e!set #1\v!layer}{\dosetcorrespondencelayer [#1][#2]}} @@ -424,15 +408,16 @@ \processaction [#3] [\v!foldmark=>{\processcommacommand[\csname#1!list!marking\endcsname]\dodododefinecorrespondencelayer}, - \v!header=>{\processcommacommand[\csname#1!list!header\endcsname]\dodododefinecorrespondencelayer}, - \v!footer=>{\processcommacommand[\csname#1!list!footer\endcsname]\dodododefinecorrespondencelayer}, + \v!header=>{\processcommacommand[\csname#1!list!header\endcsname ]\dodododefinecorrespondencelayer}, + \v!footer=>{\processcommacommand[\csname#1!list!footer\endcsname ]\dodododefinecorrespondencelayer}, \s!unknown=>{\dododefinecorrespondencelayer[#1][#2][#3]}]} \def\dododefinecorrespondencelayer[#1][#2][#3]% - {\setvalue{#2\v!option#3}{\v!yes}% + {\letvalue{#2\v!option#3}\v!yes \doifundefined{#1:#2:#3} - {\setvalue{#1:#2:#3}{\v!layer}% - \appendtovaluelist{#1!list!layers}{#3}}% + {\letvalue{#1:#2:#3}\v!layer + \addvalue{#1!list!layers}{#3}}% + \setvalidparameterkeys[#1\v!layer\v!option:#3][\correspondencelayerkeys]% \presetlocalframed[#2#3\v!frame]% \definelayer [#1:#3] @@ -442,6 +427,7 @@ [#1][#2][#3][\v!option]% [\c!state=\v!stop, \c!symbol=, + \c!list=, \c!alternative=\v!a, \c!separator=\crlf, \c!offset=\zeropoint, @@ -462,16 +448,14 @@ \c!preset=\v!left\v!top]} \def\dosetcorrespondencelayer[#1][#2][#3]% - {\ExpandSecondAfter\doifinsetelse{#1}{\csname#1!list!marking\endcsname} - {\doifelsecorrespondencestylevalue{#2}{#3}\c!symbol - {\dodosetcorrespondencelayer[#1][#2][#3][\directsetup{#1:#3}]} - {\dodosetcorrespondencelayer[#1][#2][#3][\correspondencestylevalue{#2}{#3}\c!symbol]}} + {\doifelsecorrespondencestylevalue{#2}{#3}\c!symbol + {\dodosetcorrespondencelayer[#1][#2][#3][\correspondencestylevalue{#2}{#3}\c!symbol]} {\dodosetcorrespondencelayer[#1][#2][#3][\directsetup{#1:#3}]}} \def\dodosetcorrespondencelayer[#1][#2][#3][#4]% {\setlayer[#1:#3] {\localframed[#2#3\v!frame] - {\doadaptleftskip {\correspondencestylevalue{#2}{#3}\c!leftmargin}% + {\doadaptleftskip {\correspondencestylevalue{#2}{#3}\c!leftmargin }% \doadaptrightskip{\correspondencestylevalue{#2}{#3}\c!rightmargin}% \doattributes{#2#3}\c!style\c!color{#4}}}} @@ -525,19 +509,25 @@ %D Sections +\def\correspondencesectionkeys + {\c!before,\c!after,\c!align,\c!leftmargin,\c!rightmargin,\c!alternative,% + \c!inbetween,\c!separator,\c!optimize,\c!command,\c!style,\c!color} + \def\definecorrespondencesection[#1][#2]% {\setvalue{\s!do\e!define#1\v!section}{\dodefinecorrespondencesection[#1][#2]}% \setvalue{\s!do\e!set #1\v!section}{\dosetcorrespondencesection [#1][#2]}} \def\dodefinecorrespondencesection[#1][#2][#3]% - {\setvalue{#2\v!option#3}{\v!yes}% + {\letvalue{#2\v!option#3}\v!yes \doifundefined{#1:#2:#3} - {\setvalue{#1:#2:#3}{\v!section}% - \appendtovaluelist{#1!list!sections}{#3}}% + {\letvalue{#1:#2:#3}\v!section + \addvalue{#1!list!sections}{#3}}% + \setvalidparameterkeys[#1\v!section:#3][\correspondencesectionkeys]% \getparameters [#2#3] [\c!before=, \c!after=, + \c!inbetween=, \c!align=, \c!leftmargin=\zeropoint, \c!rightmargin=\zeropoint, @@ -567,14 +557,18 @@ %D Descriptions +\def\correspondencedescriptionkeys + {\c!location,\c!inbetween,\c!before,\c!after,\c!width,\c!headstyle,\c!headcolor,\c!distance} + \def\definecorrespondencedescription[#1][#2]% {\setvalue{\s!do\e!define#1\v!description}{\dodefinecorrespondencedescription[#1][#2]}% \setvalue{\s!do\e!set #1\v!description}{\dosetcorrespondencedescription [#1][#2]}% \setvalue{\s!do\e!flush #1\v!description}{\doflushcorrespondencedescription [#1][#2]}} \def\dodefinecorrespondencedescription[#1][#2][#3]% - {\setvalue{#2\v!option#3}{\v!yes}% - \doifundefined{#1:#2:#3}{\setvalue{#1:#2:#3}{\v!description}}% + {\letvalue{#2\v!option#3}\v!yes + \doifundefined{#1:#2:#3}{\letvalue{#1:#2:#3}\v!description}% + \setvalidparameterkeys[#1\v!description:#3][\correspondencedescriptionkeys]% \getparameters [#2#3] [\c!location=\v!left, @@ -582,7 +576,6 @@ \c!before=\blank, \c!after=\blank, \c!width=\v!broad, - \c!distance=\zeropoint, \c!headstyle=, \c!headcolor=, \c!distance=\zeropoint]} @@ -592,6 +585,7 @@ \doifelsecorrespondencestylevalue{#2}{#3}\c!before {\correspondencestylevalue{#2}{#3}\c!before} \endgraf + \scratchdimen\zeropoint \setbox\scratchbox\hbox{\doattributes{#2#3}\c!headstyle\c!headcolor{\labeltext{#1:#3}}}% \doifelse{\correspondencestylevalue{#2}{#3}\c!width}\v!broad {\ifdim\wd\scratchbox>\zeropoint @@ -602,31 +596,31 @@ \scratchdimen\dimexpr\wd\scratchbox+\correspondencestylevalue{#2}{#3}\c!distance\relax \fi} {\scratchdimen\dimexpr\correspondencestylevalue{#2}{#3}\c!width+\correspondencestylevalue{#2}{#3}\c!distance\relax}}% - \executeifdefined{\v!correspondence\v!description\correspondencestylevalue{#2}{#3}\c!location}\gobblethreearguments{#1}{#2}{#3}% + \executeifdefined{@@description@@\correspondencestylevalue{#2}{#3}\c!location}\gobblethreearguments{#1}{#2}{#3}% \doifelsecorrespondencestylevalue{#2}{#3}\c!after {\endgraf\correspondencestylevalue{#2}{#3}\c!after} \endgraf \egroup} -\setvalue{\v!correspondence\v!description\v!left}#1#2#3% +\setvalue{@@description@@\v!left}#1#2#3% {\EveryPar{\hangindent\scratchdimen\hangafter\zerocount}% \setbox\scratchbox\hbox\!!to\scratchdimen{\box\scratchbox\hss}% \noindent\llap{\box\scratchbox}\directsetup{#1:#3}} -\setvalue{\v!correspondence\v!description\v!right}#1#2#3% +\setvalue{@@description@@\v!right}#1#2#3% {\EveryPar{\hangindent-\scratchdimen\hangafter\zerocount}% \setbox\scratchbox\hbox\!!to\scratchdimen{\hss\box\scratchbox}% \setbox\scratchbox\hbox\!!to\!!zeropoint {\hskip\dimexpr\hsize-\scratchdimen\relax\box\scratchbox\hss}% \noindent\rlap{\box\scratchbox}\directsetup{#1:#3}} -\setvalue{\v!correspondence\v!description\v!top}#1#2#3% +\setvalue{@@description@@\v!top}#1#2#3% {\box\scratchbox\par \nobreak \doifcorrespondencestylevalue{#2}{#3}\c!inbetween{\correspondencestylevalue{#2}{#3}\c!inbetween}% \nobreak \directsetup{#1:#3}} -\setvalue{\v!correspondence\v!description\v!text}#1#2#3% +\setvalue{@@description@@\v!text}#1#2#3% {\noindent\box\scratchbox\directsetup{#1:#3}} \def\doflushcorrespondencedescription[#1][#2]% @@ -634,4 +628,279 @@ {\doif{\correspondencestylevalue{#2}\v!option{##1}}\v!yes{\dosetcorrespondencedescription[#1][#2][##1]}}% \processcommacommand[\csname#1!list!descriptions\endcsname]\dodoflushcorrespondencedescription} +%D Commands to define named elements for header, footer etc. and use them, +%D clone them or delete their content. + +\def\definecorrespondenceelement [#1]#2[#3]#4[#5]#6{\setvalue{#1:#3:#5}{#6}} +\def\resetcorrespondenceelement [#1]#2[#3]#4[#5]{\resetvalue{#1:#3:#5}} +\def\copycorrespondenceelement[#1]#2[#3]#4[#5]#6[#7]{\copycsname#1:#3:#5\endcsname\csname#1:#3:#7\endcsname} +\def\correspondenceelement [#1]#2[#3]#4[#5]{\csname#1:#3:#5\endcsname} + +%D A simple test for the existence of Hans new key checker. + +\ifx\enablecheckparameters\undefined + \let\setvalidparameterkeys\gobbleparameters + \let\addvalidparameterkeys\gobbleparameters + \def\getcheckedparameters[#1]{\getparameters} +\fi + +\beginLUATEX + +%D Lua table with all macro files and their current version, it is used +%D to build the revision table in the manual. The Lua alternative is easier +%D to maintain (same folder as the other files) and allows me to store more +%D information as I can do with the TeX solution. + +\startluacode + +thirddata = thirddata or { } +thirddata.correspondence = thirddata.correspondence or { } + +thirddata.correspondence.files = { + { + name = "t-correspondence.tex", + path = "tex/context/third/letter/base/", + type = "base", + version = "2009.03.18", + description = "Core module" + } , + { + name = "t-letter.tex", + path = "tex/context/third/letter/base/", + type = "base", + version = "2009.02.13", + description = "Letter Module" + + } , + { + name = "t-resume.tex", + path = "tex/context/third/letter/base/", + type = "base", + version = "2009.02.12", + description = "Résumé Module" + } , + { + name = "default.nli", + path = "tex/context/third/letter/interface/", + type = "interface", + version = "2009.03.13", + description = "Default letter interface" + + } , + { + name = "pragma.nli", + path = "tex/context/third/letter/interface/", + type = "interface", + version = "2009.02.12", + description = "m-letter.tex Interface" + } , + { + name = "knuth.nli", + path = "tex/context/third/letter/interface/", + type = "interface", + version = "2009.01.23", + description = "letter.tex Interface" + } , + { + name = "default.nri", + path = "tex/context/third/letter/interface/", + type = "interface", + version = "2009.02.14", + description = "Default resume interface" + } , + { + name = "label.nle", + path = "tex/context/third/letter/extension/", + type = "extension", + version = "2009.02.13", + description = "Text labels" + } , + { + name = "corres.nle", + path = "tex/context/third/letter/extension/", + type = "extension", + version = "2009.02.13", + description = "XML-Database" + } , + { + name = "pragma.nle", + path = "tex/context/third/letter/extension/", + type = "extension", + version = "2008.01.23", + description = "Examples from m-letter.tex" + } , + { + name = "optimize.nle", + path = "tex/context/third/letter/extension/", + type = "extension", + version = "2008.12.03", + description = "Page optimation" + } , + { + name = "addrentry.nle", + path = "tex/context/third/letter/extension/", + type = "extension", + version = "2008.12.26", + description = "\tex{addrenetry} support" + } , + { + name = "dina.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2007.02.11", + description = "German style DIN 676 A" + } , + { + name = "dinb.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.02.14", + description = "German style DIN 676 B" + } , + { + name = "pragma.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.02.12", + description = "m-letter.tex style" + } , + { + name = "knuth.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.02.13", + description = "letter.tex style" + } , + { + name = "dutch.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.12.28", + description = "Dutch letter style" + } , + { + name = "french.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.08.07", + description = "French letter style" + } , + { + name = "english.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.03.13", + description = "English letter style" + } , + { + name = "default.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.02.14", + description = "Basic style" + } , + { + name = "blockstyle.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.11.29", + description = "Default block values" + } , + { + name = "fullblock.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.12.16", + description = "Full-block" + } , + { + name = "semiblock.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.12.16", + description = "Semiblock" + } , + { + name = "modified.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.12.16", + description = "Modified block" + } , + { + name = "hanging.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.12.25", + description = "Hanging intended" + } , + { + name = "memo.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.11.29", + description = "Memo style" + } , + { + name = "simplified.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.12.16", + description = "Simplified style" + } , + { + name = "swiss.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.02.14", + description = "Swiss style" + } , + { + name = "swissleft.nls", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.02.14", + description = "Swiss left style" + } , + { + name = "default.nrs", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.02.10", + description = "Default resume style" + } , + { + name = "modern.nrs", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.03.13", + description = "modercv basic style" + } , + { + name = "classic.nrs", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.02.11", + description = "modercv classic style" + } , + { + name = "casual.nrs", + path = "tex/context/third/letter/style/", + type = "style", + version = "2009.02.11", + description = "modercv casual style" + } , + { + name = "user.ori", + path = "tex/context/third/letter/style/", + type = "style", + version = "2008.07.08", + description = "Example for user settings" + } , +} + +\stopluacode + +\endLUATEX + \protect \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 26208c5b8e4..57309518b74 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=2008.02.13, +%D version=2009.03.04, %D title=\CONTEXT\ User Module, %D subtitle=Framework for Letters, %D author=Wolfgang Schuster, @@ -74,6 +74,11 @@ \def\doifletterstylevalue {\doifcorrespondencestylevalue \????ls} \def\doifelseletterstylevalue{\doifelsecorrespondencestylevalue\????ls} +\def\defineletterelement{\definecorrespondenceelement[\v!letter]} +\def\resetletterelement {\resetcorrespondenceelement [\v!letter]} +\def\copyletterelement {\copycorrespondenceelement [\v!letter]} +\def\letterelement {\correspondenceelement [\v!letter]} + %D \subject{Interface, Style and Extension files} %D %D \macros @@ -527,7 +532,7 @@ \startlocalsetups[\v!letter:\v!place:\v!topmark] - \dosetletterlayer[\v!topmark] + \dosetheaderfooterlayer[\v!letter][\????ls][\v!topmark] \stoplocalsetups @@ -535,7 +540,7 @@ \startlocalsetups[\v!letter:\v!place:\v!botmark] - \dosetletterlayer[\v!botmark] + \dosetheaderfooterlayer[\v!letter][\????ls][\v!botmark] \stoplocalsetups @@ -543,7 +548,7 @@ \startlocalsetups[\v!letter:\v!place:\v!cutmark] - \dosetletterlayer[\v!cutmark] + \dosetheaderfooterlayer[\v!letter][\????ls][\v!cutmark] \stoplocalsetups @@ -551,7 +556,7 @@ \startlocalsetups[\v!letter:\v!place:\v!endmark] - \dosetletterlayer[\v!endmark] + \dosetheaderfooterlayer[\v!letter][\????ls][\v!endmark] \stoplocalsetups @@ -559,15 +564,19 @@ \startlocalsetups[\v!letter:\v!place:\v!usermark] - \dosetletterlayer[\v!usermark] + \dosetheaderfooterlayer[\v!letter][\????ls][\v!usermark] \stoplocalsetups - \doif\@@@@lsoptiontopmark \v!yes{\directsetup{\v!letter:\v!place:\v!topmark }} - \doif\@@@@lsoptionbotmark \v!yes{\directsetup{\v!letter:\v!place:\v!botmark }} - \doif\@@@@lsoptioncutmark \v!yes{\directsetup{\v!letter:\v!place:\v!cutmark }} - \doif\@@@@lsoptionendmark \v!yes{\directsetup{\v!letter:\v!place:\v!endmark }} - \doif\@@@@lsoptionusermark\v!yes{\directsetup{\v!letter:\v!place:\v!usermark}} + \ifx\@@@@lsoptionmarking\v!yes + + \doif\@@@@lsoptiontopmark \v!yes{\directsetup{\v!letter:\v!place:\v!topmark }} + \doif\@@@@lsoptionbotmark \v!yes{\directsetup{\v!letter:\v!place:\v!botmark }} + \doif\@@@@lsoptioncutmark \v!yes{\directsetup{\v!letter:\v!place:\v!cutmark }} + \doif\@@@@lsoptionendmark \v!yes{\directsetup{\v!letter:\v!place:\v!endmark }} + \doif\@@@@lsoptionusermark\v!yes{\directsetup{\v!letter:\v!place:\v!usermark}} + + \fi \stopsetups @@ -614,7 +623,7 @@ \setupbackgrounds [\v!page] - [\c!setups={\v!letter:\v!place:\v!head,\v!letter:\v!place:\v!foot}, + [\c!setups={\v!letter:\v!place:\v!head,\v!letter:\v!place:\v!foot,\v!letter:\v!place:\v!foldmark}, \c!background=\letter!list!backgrounds] \doifletterstylevalue\v!option\c!bodyfont {\setupbodyfont [\@@@@lsoptionbodyfont ]} @@ -653,7 +662,6 @@ \startsetups[\v!letter:\v!layer] - \doif\@@@@lsoptionmarking \v!yes{\directsetup{\v!letter:\v!place:\v!foldmark }} \doif\@@@@lsoptionbackaddress\v!yes{\directsetup{\v!letter:\v!place:\v!backaddress}} \doif\@@@@lsoptionaddress \v!yes{\directsetup{\v!letter:\v!place:\v!address }} \doif\@@@@lsoptionreference \v!yes{\directsetup{\v!letter:\v!place:\v!reference }} 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 b4e59bb568a..6dbef282e14 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.02.13, +%D version=2009.02.14, %D title=\CONTEXT\ Letter Extension, %D subject=Labels, %D author=Wolfgang Schuster, 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 f5cea432a32..e606a272b2d 100644 --- a/Master/texmf-dist/tex/context/third/letter/extension/optimize.nle +++ b/Master/texmf-dist/tex/context/third/letter/extension/optimize.nle @@ -1,6 +1,6 @@ %D \module %D [ file=optimize, -%D version=2008.04.23, +%D version=2008.12.03, %D title=\CONTEXT\ Letter Extension, %D subtitle=Alternative input method, %D author=Wolfgang Schuster, @@ -11,14 +11,6 @@ \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 @@ -40,4 +32,7 @@ \fi\fi \lazysavetwopassdata{\v!letter}{\number\letter!value!number}{\number\letter!value!skip}} +\setvalue{\v!letter\v!content\v!start\v!optimize\v!yes}{} +\setvalue{\v!letter\v!content\v!stop \v!optimize\v!yes}{} + \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 2a4fb1b4054..fd9a61db84b 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=2009.02.17, +%D version=2009.03.13, %D title=\CONTEXT\ Letter Interface, %D subtitle=Default Interface, %D author=Wolfgang Schuster, @@ -43,7 +43,7 @@ \egroup \hfill} -\setvalue{\v!letter:\v!reference:\v!a}% +\defineletterelement[\v!reference][\v!a] {\setbox\scratchbox\hbox\!!to\hsize {\getcommacommandsize[\@@@@lsreferencelist]% \@@@@ldreference? \ifnum\commalistsize<\plustwo\hfill\fi @@ -80,7 +80,7 @@ {\lettervalue{#1}}}}% \egroup} -\setvalue{\v!letter:\v!reference:\v!b}% +\defineletterelement[\v!reference][\v!b] {\vtop % why not \vbox? {\processcommacommand[\@@@@lsreferencelist]\formatreferencelistb}} @@ -116,7 +116,7 @@ {\lettervalue\ascii}% \egroup} -\setvalue{\v!letter:\v!reference:\v!c}% +\defineletterelement[\v!reference][\v!c] {\hbox\!!to\hsize {\processcommacommand[\@@@@lsreferencelist]\formatreferencelistc}} @@ -140,7 +140,7 @@ \def\formatreferencelistd#1% {\appendtoks\doformatreferencelistd{#1}\to\scratchtoks} -\setvalue{\v!letter:\v!reference:\v!d}% +\defineletterelement[\v!reference][\v!d] {\vtop % why not \vbox? {\scratchtoks\emptytoks \processcommacommand[\@@@@lsreferencelist]\formatreferencelistd @@ -185,7 +185,7 @@ {\doformatreferenceliste{\lettervalue\ascii}}}}}% \egroup} -\setvalue{\v!letter:\v!reference:\v!e}% +\defineletterelement[\v!reference][\v!e] {\hbox\!!to\hsize {\processcommacommand[\@@@@lsreferencelist]\formatreferenceliste\hss}} @@ -201,7 +201,7 @@ %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} +\resetletterelement[\v!reference][\v!none] \startsetups[\v!letter:\v!reference:\v!none] @@ -234,7 +234,7 @@ \getparameters[\????ld][#1]% \doifundefinedelse{\????ld\????ld#2} {\setvalue{\????ld\c!toaddress}{#2}} - {\setvalue{\????ld\c!toaddress}{\getvalue{\????ld\????ld#2}}}% + {\setvalue{\????ld\c!toaddress}{\getvalue{\????ld\????ld#2}}}% \else\iffirstargument \doifassignmentelse{#1} {\getparameters[\????ld][#1]} @@ -281,14 +281,14 @@ %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}% +\defineletterelement[\v!head][\v!a] {\lettervalue\c!fromname \doiflettervalue\c!fromname\\ \lettervalue\c!fromaddress} \startsetups[\v!letter:\v!head] -\def\\{\letterstylevalue\v!head\c!separator}% -\executeifdefined{\v!letter:\v!head:\@@@@lsheadalternative}{\getvalue{\v!letter:\v!head:\v!a}}% +\def\\{\letterstylevalue\v!head\c!separator} +\executeifdefined{\v!letter:\v!head:\@@@@lsheadalternative}{\letterelement[\v!head][\v!a]} \stopsetups \startsetups[\v!letter:\v!foot] @@ -303,7 +303,7 @@ \executeifdefined{\v!letter:\v!nextfoot:\@@@@lsnextfootalternative}\donothing \stopsetups -\setvalue{\v!letter:\v!nexthead:\v!fullblock}% +\defineletterelement[\v!nexthead][\v!fullblock] {\hbox\!!to\hsize {\rlap{\lettervalue\c!toname}% \midaligned{\pagenumber}% @@ -311,7 +311,7 @@ {\lettervalue\c!date \\ \lettervalue\c!reference}}}} -\setvalue{\v!letter:\v!nexthead:\v!hanging}% +\defineletterelement[\v!nexthead][\v!hanging] {\hbox\!!to\hsize {\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=v!right] {\lettervalue\c!toname \\ @@ -319,14 +319,14 @@ \lettervalue\c!reference \\ \labeltext\c!page\pagenumber}}\hss} -\setvalue{\v!letter:\v!nexthead:\v!semiblock}% +\defineletterelement[\v!nexthead][\v!semiblock] {\hbox\!!to\hsize {\rlap{\lettervalue\c!toname}% \midaligned{\pagenumber}% \llap{\lettervalue\c!date}}} -\copycsname\v!letter:\v!nexthead:\v!simplified\endcsname\csname\v!letter:\v!nexthead:\v!fullblock\endcsname -\copycsname\v!letter:\v!nexthead:\v!modified \endcsname\csname\v!letter:\v!nexthead:\v!hanging \endcsname +\copyletterelement[\v!nexthead][\v!simplified][\v!fullblock] +\copyletterelement[\v!nexthead][\v!modified ][\v!hanging ] %D \subject{Addressee field} %D @@ -366,13 +366,13 @@ \stopsetups -\setvalue{\v!letter:\v!address:\v!a}% +\defineletterelement[\v!address][\v!a] {\doif\@@@@lsoptiondispatch \v!yes{\directsetup{\v!letter:\v!place:\v!dispatch }}% \doif\@@@@lsoptionaddressee\v!yes{\directsetup{\v!letter:\v!place:\v!addressee}}} \startsetups[\v!letter:\v!address] \offinterlineskip\endgraf -\executeifdefined{\v!letter:\v!address:\@@@@lsaddressalternative}{\getvalue{\v!letter:\v!address:\v!a}}% +\executeifdefined{\v!letter:\v!address:\@@@@lsaddressalternative}{\letterelement[\v!address][\v!a]}% \stopsetups \startsetups[\v!letter:\v!address:\v!dispatch] @@ -393,10 +393,10 @@ %D a not defined alternative the definition a is choosen. \startsetups[\v!letter:\v!reference] -\executeifdefined{\v!letter:\v!reference:\@@@@lsreferencealternative}{\getvalue{\v!letter:\v!reference:\v!a}} +\executeifdefined{\v!letter:\v!reference:\@@@@lsreferencealternative}{\letterelement[\v!reference][\v!a]} \stopsetups -\resetvalue{\v!letter:\v!location:\v!a} +\resetletterelement[\v!location][\v!a] \setvalue{\v!letter:\v!location:\v!french}% {\lettervalue\c!place @@ -404,7 +404,7 @@ \lettervalue\c!date} \startsetups[\v!letter:\v!location] -\executeifdefined{\v!letter:\v!location:\@@@@lslocationalternative}{\getvalue{\v!letter:\v!location:\v!a}} +\executeifdefined{\v!letter:\v!location:\@@@@lslocationalternative}{\letterelement[\v!location][\v!a]} \stopsetups \startsetups[\v!letter:\v!title] @@ -419,19 +419,19 @@ \labeltext{\v!letter:\c!subject}\lettervalue\c!subject \stopsetups -\setvalue{\v!letter:\v!opening:\v!a}% +\defineletterelement[\v!opening][\v!a] {\doifelselettervalue\c!opening {\lettervalue\c!opening} {\doiflettervalue\c!salutation {\lettervalue\c!salutation}}} -\setvalue{\v!letter:\v!opening:\v!french}% +\defineletterelement[\v!opening][\v!french] {\ExpandSecondAfter\doifsomething{\letterstylevalue\v!option\c!indenting} {\setupindenting[\@@@@lsoptionindenting]}% - \getvalue{\v!letter:\v!opening:\v!a}} + \letterelement[\v!opening][\v!a]} \startsetups[\v!letter:\v!opening] -\executeifdefined{\v!letter:\v!opening:\@@@@lsopeningalternative}{\getvalue{\v!letter:\v!opening:\v!a}} +\executeifdefined{\v!letter:\v!opening:\@@@@lsopeningalternative}{\letterelement[\v!opening][\v!a]} \stopsetups \startsetups[\v!letter:\v!content] @@ -446,12 +446,12 @@ %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}% +\defineletterelement[\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}% +\defineletterelement[\v!closing][\v!french] {\ExpandSecondAfter\doifsomething{\letterstylevalue\v!option\c!indenting} {\setupindenting[\@@@@lsoptionindenting,\v!first]}% \lettervalue\c!closing @@ -459,13 +459,13 @@ \raggedcenter\doadaptleftskip{.5\textwidth}% quick and dirty \lettervalue\c!signature\endgraf} -\setvalue{\v!letter:\v!closing:\v!simplified}% +\defineletterelement[\v!closing][\v!simplified] {\doiflettervalue\c!signature{\letterstylevalue\v!closing\c!inbetween}% \lettervalue\c!signature} \startsetups[\v!letter:\v!closing] -\def\\{\letterstylevalue\v!closing\c!separator}% -\executeifdefined{\v!letter:\v!closing:\@@@@lsclosingalternative}{\getvalue{\v!letter:\v!closing:\v!a}}% +\def\\{\letterstylevalue\v!closing\c!separator} +\executeifdefined{\v!letter:\v!closing:\@@@@lsclosingalternative}{\letterelement[\v!closing][\v!a]} \stopsetups \startsetups[\v!letter:\v!appendices] @@ -491,14 +491,14 @@ \lettervalue\c!postscript \stopsetups -\setvalue{\v!letter:\v!backaddress:\v!yes}% +\defineletterelement[\v!backaddress][\v!yes] {\lettervalue\c!fromname \doiflettervalue\c!fromaddress\\ \lettervalue\c!fromaddress} -\resetvalue{\v!letter:\v!backaddress:\v!no} +\resetletterelement[\v!backaddress][\v!no] -\setvalue{\v!letter:\v!backaddress:\v!auto}% +\defineletterelement[\v!backaddress][\v!auto] {\doifelselettervalue\c!backaddress {\lettervalue\c!backaddress} {\lettervalue\c!fromname @@ -506,8 +506,8 @@ \lettervalue\c!fromaddress}} \startsetups[\v!letter:\v!backaddress] -\def\\{\letterstylevalue\c!backaddress\c!separator}% -\executeifdefined{\v!letter:\v!backaddress:\@@@@lsbackaddressalternative}{\getvalue{\v!letter:\v!backaddress:\v!no}}% +\def\\{\letterstylevalue\c!backaddress\c!separator} +\executeifdefined{\v!letter:\v!backaddress:\@@@@lsbackaddressalternative}{\letterelement[\v!backaddress][\v!no]} \stopsetups %D To prevent a pagebreak between the last line of the text and @@ -528,7 +528,7 @@ \startsetups[\v!letter:\v!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}}} + {\dontcomplain\executeifdefined{\v!letter:\v!reference:\@@@@lsreferencealternative}\donothing} \setups[\v!letter:\v!reference:\@@@@lsreferencealternative] 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 a4b4b17c85b..f7e58cf8fa7 100644 --- a/Master/texmf-dist/tex/context/third/letter/interface/knuth.nli +++ b/Master/texmf-dist/tex/context/third/letter/interface/knuth.nli @@ -1,6 +1,6 @@ %D \module %D [ file=knuth, -%D version=2009.01.23, +%D version=2009.02.19, %D title=\CONTEXT\ Letter Interface, %D subtitle=Lettformat Interface, % Donald Knuth's own letter format %D author=Wolfgang Schuster, @@ -24,16 +24,20 @@ \dostartbuffer[closing][closing][endletter]} \def\annotations - {\blank[\v!line]\leftskip=0pt} + {\blank[\v!line]\leftskip\zeropoint} \def\ps {\let\par\space - \blank[\v!medium]\leftskip=0pt} + \blank[\v!medium]\leftskip\zeropoint} \startsetups[\v!letter:\v!reference] \stopsetups +\startsetups[\v!letter:\v!optimize] + +\stopsetups + \startsetups[\v!letter:\v!opening] \obeylines @@ -50,10 +54,10 @@ \startsetups[\v!letter:\v!closing] - \leftskip=4in + \leftskip\dimexpr\textwidth/13*8\relax \obeylines \def\par{\normalpar\vskip1cm\def\par{\normalpar\nowhitespace}} - \getbuffer[closing] + \getbuffer[closing]\normalpar \stopsetups 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 eb4338c6bcd..a907a3c7c43 100644 --- a/Master/texmf-dist/tex/context/third/letter/interface/pragma.nli +++ b/Master/texmf-dist/tex/context/third/letter/interface/pragma.nli @@ -1,6 +1,6 @@ %D \module %D [ file=pragma, -%D version=2009.02.12, +%D version=2009.02.19, %D title=\CONTEXT\ Letter Extension, %D subtitle=Pragma Style, %D author=Wolfgang Schuster, @@ -11,13 +11,9 @@ \unprotect -\useletterstyle [pragma] % prefined layout +\useletterstyle [pragma] % predefined layout \useletterextension[pragma] % example text -\setupletterstyle - [\v!reference] - [\c!alternative=\v!none] - \setvariables [letter:head] [graphic=] @@ -120,6 +116,10 @@ \stopsetups +\startsetups[letter:optimize] + +\stopsetups + \startsetups[letter:opening:unknown] \labeltext{letter:opening:unknown} \stopsetups 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 03bbb50ed78..fa557bbc3ef 100644 --- a/Master/texmf-dist/tex/context/third/letter/style/default.nls +++ b/Master/texmf-dist/tex/context/third/letter/style/default.nls @@ -1,6 +1,6 @@ %D \module %D [ file=default, -%D version=2009.02.14, +%D version=2009.03.04, %D title=\CONTEXT\ Letter Style, %D subtitle=Blockstyle initalization, %D author=Wolfgang Schuster, @@ -73,6 +73,10 @@ [\v!righthead,\v!rightfoot] [\c!state=\v!right] +\setupletterstyle + [\v!topmark,\v!botmark,\v!cutmark] + [\c!state=\v!start] + \setupletterstyle [\v!reference] [\v!option] 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 b7b094037ae..2dd224a89a1 100644 --- a/Master/texmf-dist/tex/context/third/letter/style/fullblock.nls +++ b/Master/texmf-dist/tex/context/third/letter/style/fullblock.nls @@ -1,6 +1,6 @@ %D \module %D [ file=fullblock, -%D version=2008.12.16 +%D version=2008.12.16, %D title=\CONTEXT\ Letter Style, %D subtitle=full-block/complete block style, %D author=Wolfgang Schuster, 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 c033cfd3d8e..da6c271b639 100644 --- a/Master/texmf-dist/tex/context/third/letter/style/knuth.nls +++ b/Master/texmf-dist/tex/context/third/letter/style/knuth.nls @@ -1,6 +1,6 @@ %D \module %D [ file=knuth, -%D version=2009.02.13, +%D version=2009.02.19, %D title=\CONTEXT\ Letter Style, %D subtitle=Letterformat Style, %D author=Wolfgang Schuster, @@ -17,7 +17,7 @@ \setupletterstyle [\v!firstpage,\v!secondpage] [\c!backspace=1in, - \c!width=6.5in] + \c!width=\dimexpr\paperwidth-\plustwo\backspace\relax] \setupletterstyle [\v!firstpage] @@ -34,17 +34,11 @@ [\v!option] [\c!whitespace=\v!line] -\newcount\knuthcount - -\setvalue{\v!letter:\v!nexthead:\v!knuth}% - {\global\advance\knuthcount\plusone - \hbox\!!to\hsize - {\midaligned{\currentdate}% - \llap{\labeltext\c!page\number\knuthcount}}} - \setvalue{\v!letter:\v!nexthead:\v!knuth}% - {\global\advance\knuthcount\plusone - \hskip\knuthcount em\number\knuthcount\relax} + {\hbox\!!to\hsize + {\rlap{\lettervalue\c!toname}% + \midaligned{\currentdate}% + \llap{\labeltext\c!page\correspagenumber}}} \setupletterstyle [\v!nexthead] diff --git a/Master/texmf-dist/tex/context/third/letter/style/modern.nrs b/Master/texmf-dist/tex/context/third/letter/style/modern.nrs index cceb25deaa0..d0137e101e5 100644 --- a/Master/texmf-dist/tex/context/third/letter/style/modern.nrs +++ b/Master/texmf-dist/tex/context/third/letter/style/modern.nrs @@ -1,6 +1,6 @@ %D \module %D [ file=modern, -%D version=2009.02.13, +%D version=2009.03.22, %D title=\CONTEXT\ Resume Style, %D subtitle=Modern Style, %D author=Wolfgang Schuster, @@ -57,9 +57,11 @@ {\dosingleempty\docvline} \def\docvline[#1]#2#3% - {\starttable[s0|s0rp(\measure{hintscolumnwidth})|s0w(\measure{separatorcolumnwidth})|s0p(\measure{maincolumnwidth})|] - \NC\doifelsenothing{#2}{~}{#2}\NC\NC#3\NC\NR + {\bgroup\dontcomplain + \starttable[s0|s0rp(\measure{hintscolumnwidth})|s0w(\measure{separatorcolumnwidth})|s0p(\measure{maincolumnwidth})|] + \NC\doifelsenothing{#2}{~}{\setupinterlinespace\relax#2}\NC\NC\setupinterlinespace\relax#3\NC\NR \stoptable + \egroup \doifelsenothing{#1}{\blank[.25em]}{\blank[#1]}} \def\cvdoubleitem#1#2#3#4% @@ -117,7 +119,7 @@ \startsetups[\v!resume:\v!optimize] - \setbox\scratchbox\vbox{\getvalue{\v!resume:\v!head:\@@@@rsheadalternative}} + \setbox\scratchbox\vbox{\dontcomplain\getvalue{\v!resume:\v!head:\@@@@rsheadalternative}} \ifdim\htdp\scratchbox>\zeropoint -- cgit v1.2.3