summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-12-21 23:29:56 +0000
committerKarl Berry <karl@freefriends.org>2012-12-21 23:29:56 +0000
commit8f331b7f4a0f55f15cb93b3ad5c088fb3b19ad37 (patch)
tree2dca93dbd729581b556fa7e57a28f356efac3964 /Master/texmf-dist/tex/context
parent49a81456fb7a14c14ab7744bf10701a3a92aa911 (diff)
context-letter (21dec12)
git-svn-id: svn://tug.org/texlive/trunk@28604 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context')
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/s-cor-00.mkvi483
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkii4
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkvi624
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkii4
-rw-r--r--Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkvi268
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkii6
-rw-r--r--Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkiv6
7 files changed, 725 insertions, 670 deletions
diff --git a/Master/texmf-dist/tex/context/third/letter/base/s-cor-00.mkvi b/Master/texmf-dist/tex/context/third/letter/base/s-cor-00.mkvi
index f85ad6c73ac..2f3ff0286e9 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/s-cor-00.mkvi
+++ b/Master/texmf-dist/tex/context/third/letter/base/s-cor-00.mkvi
@@ -1,6 +1,6 @@
%D \module
%D [ file=s-cor-00,
-%D version=2012.09.21,
+%D version=2012.12.13,
%D title=\CONTEXT\ User Module,
%D subtitle=Correspondence,
%D author=Wolfgang Schuster,
@@ -121,6 +121,7 @@
\setinterfacevariable {modified} {modified}
\setinterfacevariable {blockstyle} {blockstyle}
\setinterfacevariable {knuth} {knuth}
+ \setinterfacevariable {generic} {generic}
% memo
\setinterfacevariable {memo} {memo}
\setinterfacevariable {memomain} {memomain}
@@ -150,6 +151,7 @@
\installnamespace {correspondence}
\installnamespace {correspondencebuffer}
+\installnamespace {correspondenceoverlay}
\installnamespace {correspondencelayer}
\installnamespace {correspondencelayerrenderings}
\installnamespace {correspondencelayeralternative}
@@ -243,42 +245,51 @@
\newtoks\t_correspondence_before
\newtoks\t_correspondence_after
-\unexpanded\def\correspondence_place[#environment]%
- {\begingroup
- \edef\currentcorrespondence{#environment}%
- \let \currentcorrespondenceoption\currentcorrespondence
- \ctxlua{thirddata.correspondence.place("\currentcorrespondence", {
- bodyfont = "\correspondenceoptionparameter\c!bodyfont",
- whitespace = "\correspondenceoptionparameter\c!whitespace",
- interlinespace = "\correspondenceoptionparameter\c!interlinespace",
- language = "\correspondenceoptionparameter\c!language",
- backgroundcolor = "\correspondenceoptionparameter\c!backgroundcolor",
- } )}%
- \endgroup}
-
% \unexpanded\def\correspondence_place[#environment]%
% {\begingroup
% \edef\currentcorrespondence{#environment}%
% \let \currentcorrespondenceoption\currentcorrespondence
-% \the\t_correspondence_before
-% \page
-% \setuplayout[\c!method=\v!correspondence]%
-% \setupheader[\c!state=\v!stop]%
-% \setupfooter[\c!state=\v!stop]%
-% \doifsomething{\correspondenceoptionparameter\c!bodyfont }{\setupbodyfont [\correspondenceoptionparameter\c!bodyfont ]}%
-% \doifsomething{\correspondenceoptionparameter\c!whitespace}{\setupwhitespace[\correspondenceoptionparameter\c!whitespace]}%
-% \doifsomething{\correspondenceoptionparameter\c!language }{\mainlanguage [\correspondenceoptionparameter\c!language ]}%
-% \setupbackgrounds[\v!paper][\c!background=\v!color,\c!backgroundcolor=\correspondenceoptionparameter\c!backgroundcolor]%
-% \setupbackgrounds[\v!page ][\c!background={\????correspondenceoverlay\c!backgroundimage,\????correspondenceoverlay\c!background,\????correspondenceoverlay\v!layer}]%
-% \setuppagenumbering [\c!alternative=\v!singlesided,location=]%
-% \setupsubpagenumber [\c!way=\v!text,\c!state=\v!start]%
-% \processcommacommand[\correspondence_elements_access\currentcorrespondence\v!section]{\correspondence_section_place\currentcorrespondence}%
-% \page
-% \resetsubpagenumber
-% \setuplayout[\v!reset]%
-% \the\t_correspondence_after
+% \ctxlua{thirddata.correspondence.place("\currentcorrespondence", {
+% bodyfont = "\correspondenceoptionparameter\c!bodyfont",
+% whitespace = "\correspondenceoptionparameter\c!whitespace",
+% interlinespace = "\correspondenceoptionparameter\c!interlinespace",
+% language = "\correspondenceoptionparameter\c!language",
+% backgroundcolor = "\correspondenceoptionparameter\c!backgroundcolor",
+% } )}%
% \endgroup}
+\unexpanded\def\correspondence_place[#environment]%
+ {\begingroup
+ \edef\currentcorrespondence{#environment}%
+ \let \currentcorrespondenceoption\currentcorrespondence
+ \the\t_correspondence_before
+ \page
+ \setuplayout[\c!method=\v!correspondence]%
+ \setupheader[\c!state=\v!stop]%
+ \setupfooter[\c!state=\v!stop]%
+ \edef\p_correspondence_bodyfont {\correspondenceoptionparameter\c!bodyfont }%
+ \edef\p_correspondence_whitespace {\correspondenceoptionparameter\c!whitespace }%
+ \edef\p_correspondence_interlinespace {\correspondenceoptionparameter\c!interlinespace }%
+ \edef\p_correspondence_language {\correspondenceoptionparameter\c!language }%
+ \edef\p_correspondence_backgroundcolor{\correspondenceoptionparameter\c!backgroundcolor}%
+ \ifx\p_correspondence_bodyfont \empty \else \setupbodyfont [\p_correspondence_bodyfont ]\fi
+ \ifx\p_correspondence_whitespace \empty \else \setupwhitespace [\p_correspondence_whitespace ]\fi
+ \ifx\p_correspondence_interlinespace \empty \else \setupinterlinespace[\p_correspondence_interlinespace]\fi
+ \ifx\p_correspondence_language \empty \else \mainlanguage [\p_correspondence_language ]\fi
+ \ifx\p_correspondence_backgroundcolor\empty \else
+ \setupbackgrounds[\v!paper][\c!background=\v!color,\c!backgroundcolor=\p_correspondence_backgroundcolor]%
+ \fi
+ \setupbackgrounds[\v!page ][\c!background={\????correspondenceoverlay\c!backgroundimage,\????correspondenceoverlay\c!background,\????correspondenceoverlay\v!layer}]%
+ \setuppagenumbering[\c!alternative=\v!singlesided,\c!location=]%
+ \setupsubpagenumber[\c!way=\v!text,\c!state=\v!start]%
+ \resetsubpagenumber
+ \normalexpanded{\processcommalist[\correspondence_elements_access\currentcorrespondence\v!section]}{\correspondence_section_place\currentcorrespondence}%
+ \page
+ \resetsubpagenumber
+ \setuplayout[\v!reset]%
+ \the\t_correspondence_after
+ \endgroup}
+
%D Besides the normal letter environment there are three different ways to flush
%D the content of a letter after the text was set with a buffer etc.
%D
@@ -308,31 +319,21 @@
{\def\currentcorrespondencelayer{#environment:#element}%
\let\currentcorrespondenceframe\currentcorrespondencelayer
\checkcorrespondencelayerparent
- \checkcorrespondenceframeparent
- \definelayer [\currentcorrespondencelayer][\c!width=\overlaywidth,\c!height=\overlayheight]%
- \defineoverlay[\currentcorrespondencelayer][\correspondence_layer_place{#environment}{#element}]}
+ \checkcorrespondenceframeparent}
\unexpanded\def\correspondence_layer_setup[#environment][#elements][#parameters]%
{\def\correspondence_layer_command#element%
{\edef\currentcorrespondencelayer{#environment:#element}%
- \setupcurrentcorrespondencelayer[#parameters]%
- \the\everysetupcorrespondencelayer}%
+ \setupcurrentcorrespondencelayer[#parameters]}%
\processcommacommand[#elements]\correspondence_layer_command}
-\appendtoks
- \setuplayer
- [\currentcorrespondencelayer]
- [ \c!x=\correspondencelayerparameter\c!x,
- \c!y=\correspondencelayerparameter\c!y,
- \c!preset=\correspondencelayerparameter\c!preset]%
-\to \everysetupcorrespondencelayer
-
\unexpanded\def\correspondence_frame_setup[#environment][#elements][#parameters]%
{\def\correspondence_frame_command#element%
{\edef\currentcorrespondenceframe{#environment:#element}%
\setupcurrentcorrespondenceframe[#parameters]}%
\processcommacommand[#elements]\correspondence_frame_command}
+\setvalue{\????correspondencelayerstate }{\!!doneafalse \!!donebfalse \!!donecfalse}
\setvalue{\????correspondencelayerstate\v!start }{\!!doneatrue \!!donebfalse \!!donecfalse}
\setvalue{\????correspondencelayerstate\v!stop }{\!!doneafalse \!!donebfalse \!!donecfalse}
\setvalue{\????correspondencelayerstate\v!next }{\!!doneafalse \!!donebtrue \!!donectrue }
@@ -342,40 +343,29 @@
\setvalue{\????correspondencelayerstate\v!even }{\!!doneafalse \!!donebfalse \!!donectrue }
\setvalue{\????correspondencelayerstate\v!odd }{\!!doneafalse \!!donebtrue \!!donecfalse}
-\unexpanded\def\correspondence_layer_place#environment#element%
- {\correspondence_parameters{#environment}{#element}\v!layer
- \expandcheckedcsname\????correspondencelayerstate{\correspondencelayerparameter\c!state}\v!stop
- \ifnum\c_correspondence_page=\plusone
- \if!!donea\correspondence_layer_direct{#environment}{#element}\fi
- \else\ifodd\c_correspondence_page
- \if!!doneb\correspondence_layer_direct{#environment}{#element}\fi
- \else
- \if!!donec\correspondence_layer_direct{#environment}{#element}\fi
- \fi\fi
- \tightlayer[\currentcorrespondencelayer]}
-
-% Can be faster with a single layer for all elements.
-%
-% \definelayer [\????correspondenceoverlay\v!layer][\c!width=\overlaywidth,\c!height=\overlayheight ]
-% \defineoverlay[\????correspondenceoverlay\v!layer][\correspondence_layer_place\currentcorrespondence]
-%
-% \unexpanded\def\correspondence_layer_place#environment%
-% {\def\correspondence_layer_state#element%
-% {\correspondence_parameters{#environment}{#element}\v!layer
-% \expandcheckedcsname\????correspondencelayerstate{\correspondencelayerparameter\c!state}\v!stop
-% \ifnum\c_correspondence_page=\plusone
-% \if!!donea\correspondence_layer_direct{#environment}{#element}\fi
-% \else\ifodd\c_correspondence_page
-% \if!!doneb\correspondence_layer_direct{#environment}{#element}\fi
-% \else
-% \if!!donec\correspondence_layer_direct{#environment}{#element}\fi
-% \fi\fi}%
-% \processcommacommand[\correspondence_elements_access{#environment}\v!layer]\correspondence_layer_state
-% \tightlayer[\????correspondenceoverlay\v!layer]}
-
-\unexpanded\def\correspondence_layer_direct#environment#element%
+\definelayer [\????correspondenceoverlay\v!layer][\c!width=\overlaywidth,\c!height=\overlayheight ]
+\defineoverlay[\????correspondenceoverlay\v!layer][\correspondence_layer_place\currentcorrespondence]
+
+\unexpanded\def\correspondence_layer_place#environment%
+ {\def\correspondence_layer_state#element%
+ {\correspondence_parameters{#environment}{#element}\v!layer
+ \expandcheckedcsname\????correspondencelayerstate{\correspondencelayerparameter\c!state}\v!stop
+ \ifnum\c_correspondence_page=\plusone
+ \if!!donea\correspondence_layer_direct\fi
+ \else\ifodd\c_correspondence_page
+ \if!!doneb\correspondence_layer_direct\fi
+ \else
+ \if!!donec\correspondence_layer_direct\fi
+ \fi\fi}%
+ \processcommacommand[\correspondence_elements_access\currentcorrespondence\v!layer]\correspondence_layer_state
+ \tightlayer[\????correspondenceoverlay\v!layer]}
+
+\unexpanded\def\correspondence_layer_direct
{\setlayer
- [\currentcorrespondencelayer]
+ [\????correspondenceoverlay\v!layer]
+ [ \c!x=\correspondencelayerparameter\c!x,
+ \c!y=\correspondencelayerparameter\c!y,
+ \c!preset=\correspondencelayerparameter\c!preset]
{\inheritedcorrespondenceframeframed
{\doifsomething{\correspondencelayerparameter\c!bodyfont }{\switchtobodyfont [\correspondencelayerparameter\c!bodyfont ]}%
\doifsomething{\correspondencelayerparameter\c!interlinespace}{\setupinterlinespace[\correspondencelayerparameter\c!interlinespace]}%
@@ -384,7 +374,7 @@
\doadaptrightskip{\correspondencelayerparameter\c!rightmargin}%
\doifsymboldefinedelse{\correspondencelayerparameter\c!symbol}%
{\symbol[\correspondencelayerparameter\c!symbol]}
- {\correspondence_element_place[#environment][\v!layer][#element][\correspondencelayerparameter\c!alternative]}}}}
+ {\correspondence_layer_alternative_place}}}}
\unexpanded\def\correspondence_layer_check[#environment][#element]%
{\def\currentcorrespondencelayer{#environment:#element}%
@@ -392,6 +382,34 @@
\showmessage\m!correspondence{2}{#element,#environment}%
\fi}
+\unexpanded\def\correspondence_layer_alternative_define[#environment][#self][#parent][#parameters]%
+ {\iffourthargument
+ \definecorrespondencelayeralternative[#environment:#self][#environment:#parent][#parameters]%
+ \else
+ \definecorrespondencelayeralternative[#environment:#self][#parent]%
+ \fi}
+
+\unexpanded\def\correspondence_layer_alternative_setup[#environment][#name][#parameters]%
+ {\setupcorrespondencelayeralternative[#environment:#name][#parameters]}
+
+\unexpanded\def\correspondence_layer_alternative_place
+ {\edef\p_correspondence_layer_alternative{\correspondencelayerparameter\c!alternative}%
+ \ifcsname\namedcorrespondencelayeralternativehash{\currentcorrespondencelayer:\p_correspondence_layer_alternative}\s!parent\endcsname
+ \edef\currentcorrespondencelayeralternative{\currentcorrespondencelayer:\p_correspondence_layer_alternative}%
+ \else\ifcsname\namedcorrespondencelayeralternativehash{\currentcorrespondenceenvironment:\p_correspondence_layer_alternative}\s!parent\endcsname
+ \edef\currentcorrespondencelayeralternative{\currentcorrespondenceenvironment:\p_correspondence_layer_alternative}%
+ \else
+ \let\currentcorrespondencelayeralternative\p_correspondence_layer_alternative
+ \fi\fi
+ \edef\p_correspondence_layer_renderingsetup{\correspondencelayeralternativeparameter\c!renderingsetup}%
+ \autosetups\p_correspondence_layer_renderingsetup}
+
+\definecorrespondencelayeralternative[\v!setups][\c!renderingsetup=\????correspondencelayerrenderings:\v!setups]
+
+\startsetups[\????correspondencelayerrenderings:\v!setups]
+ \autosetups{\currentcorrespondenceenvironment:\v!layer:\currentcorrespondenceelement}
+\stopsetups
+
\setupcorrespondencelayer
[ \c!state=\v!start,
\c!x=\zeropoint,
@@ -420,7 +438,7 @@
\setupcurrentcorrespondencesection[#parameters]}%
\processcommacommand[#elements]\correspondence_section_command}
-\unexpanded\def\correspondence_section_place[#environment][#element]%
+\unexpanded\def\correspondence_section_place#environment#element%
{\begingroup
\correspondence_parameters{#environment}{#element}\v!section
\ifcsname\currentcorrespondencesectionhash\s!parent\endcsname
@@ -431,7 +449,7 @@
\doifsomething{\correspondencesectionparameter\c!align }{\setupalign [\correspondencesectionparameter\c!align ]}%
\doifsomething{\correspondencesectionparameter\c!indenting}{\setupindenting[\correspondencesectionparameter\c!indenting]}%
\usecorrespondencesectionstyleandcolor\c!style\c!color
- \correspondence_element_place[#environment][\v!section][#element][\correspondencesectionparameter\c!alternative]%
+ \correspondence_section_alternative_place
\correspondencesectionparameter\c!after
\doifsomethingelse{\correspondencesectionparameter\c!spaceafter }{\blank[\correspondencesectionparameter\c!spaceafter ]}\endgraf
\else
@@ -439,6 +457,34 @@
\fi
\endgroup}
+\unexpanded\def\correspondence_section_alternative_define[#environment][#self][#parent][#parameters]%
+ {\iffourthargument
+ \definecorrespondencesectionalternative[#environment:#self][#environment:#parent][#parameters]%
+ \else
+ \definecorrespondencesectionalternative[#environment:#self][#parent]%
+ \fi}
+
+\unexpanded\def\correspondence_section_alternative_setup[#environment][#name][#parameters]%
+ {\setupcorrespondencesectionalternative[#environment:#name][#parameters]}
+
+\unexpanded\def\correspondence_section_alternative_place
+ {\edef\p_correspondence_section_alternative{\correspondencesectionparameter\c!alternative}%
+ \ifcsname\namedcorrespondencesectionalternativehash{\currentcorrespondencesection:\p_correspondence_section_alternative}\s!parent\endcsname
+ \edef\currentcorrespondencesectionalternative{\currentcorrespondencelayer:\p_correspondence_section_alternative}%
+ \else\ifcsname\namedcorrespondencesectionalternativehash{\currentcorrespondenceenvironment:\p_correspondence_section_alternative}\s!parent\endcsname
+ \edef\currentcorrespondencesectionalternative{\currentcorrespondenceenvironment:\p_correspondence_section_alternative}%
+ \else
+ \let\currentcorrespondencesectionalternative\p_correspondence_section_alternative
+ \fi\fi
+ \edef\p_correspondence_section_renderingsetup{\correspondencesectionalternativeparameter\c!renderingsetup}%
+ \autosetups\p_correspondence_section_renderingsetup}
+
+\definecorrespondencesectionalternative[\v!setups][\c!renderingsetup=\????correspondencesectionrenderings:\v!setups]
+
+\startsetups[\????correspondencesectionrenderings:\v!setups]
+ \autosetups{\currentcorrespondenceenvironment:\v!section:\currentcorrespondenceelement}
+\stopsetups
+
\setupcorrespondencesection
[ \c!spacebefore=\v!line,
\c!spaceafter=\v!line,
@@ -455,12 +501,12 @@
\setupcurrentcorrespondenceoption}%
\defineoverlay
- [correspondence:backgroundimage]
+ [\????correspondenceoverlay\c!backgroundimage]
[\doifsomething{\correspondenceoptionparameter\c!backgroundimage}
{\overlayfigure{\correspondenceoptionparameter\c!backgroundimage}}]
\defineoverlay
- [correspondence:background]
+ [\????correspondenceoverlay\c!background]
[\correspondenceoptionparameter\c!background]
% Descriptions
@@ -507,6 +553,28 @@
\fi
\endgroup}
+% \unexpanded\def\correspondence_description_alternative_define[#environment][#self][#parent][#parameters]%
+% {\iffourthargument
+% \definecorrespondencedescriptionalternative[#environment:#self][#environment:#parent][#parameters]%
+% \else
+% \definecorrespondencedescriptionalternative[#environment:#self][#parent]%
+% \fi}
+%
+% \unexpanded\def\correspondence_description_alternative_setup[#environment][#name][#parameters]%
+% {\setupcorrespondencedescriptionalternative[#environment:#name][#parameters]}
+%
+% \unexpanded\def\correspondence_description_alternative_place
+% {\edef\p_correspondence_description_alternative{\correspondencedescriptionparameter\c!alternative}%
+% \ifcsname\namedcorrespondencedescriptionalternativehash{\currentcorrespondencedescription:\p_correspondence_description_alternative}\s!parent\endcsname
+% \edef\currentcorrespondencedescriptionalternative{\currentcorrespondencedescription:\p_correspondence_description_alternative}%
+% \else\ifcsname\namedcorrespondencedescriptionalternativehash{\currentcorrespondenceenvironment:\p_correspondence_description_alternative}\s!parent\endcsname
+% \edef\currentcorrespondencedescriptionalternative{\currentcorrespondenceenvironment:\p_correspondence_description_alternative}%
+% \else
+% \let\currentcorrespondencedescriptionalternative\p_correspondence_description_alternative
+% \fi\fi
+% \edef\p_correspondence_description_renderingsetup{\correspondencedescriptionalternativeparameter\c!renderingsetup}%
+% \autosetups\p_correspondence_description_renderingsetup}
+
\setvalue{\????correspondencedescriptionlocation\v!left}%
{\doadaptleftskip\scratchdimen
\setbox\scratchbox\hbox to \scratchdimen{\box\scratchbox\hss}%
@@ -602,64 +670,56 @@
{\texsetup\p_correspondence_paragraph_setups}%
\fi
\doifsomethingelse{\correspondenceparagraphparameter\c!spacebefore}{\blank[\correspondenceparagraphparameter\c!spacebefore]}\endgraf
- \expandcheckedcsname\????correspondenceparagraphalternative{\correspondenceparagraphparameter\c!alternative}\s!default
+ \correspondence_paragraph_alternative_place
\doifsomethingelse{\correspondenceparagraphparameter\c!spaceafter }{\blank[\correspondenceparagraphparameter\c!spaceafter ]}\endgraf
\endgroup}
-% \unexpanded\def\correspondence_paragraph_lefttext
-% {\edef\p_correspondence_paragraph_lefttext{\correspondenceparagraphparameter\c!lefttext}%
-% \ifx\p_correspondence_paragraph_lefttext\empty \else
-% \margindata
-% [\v!inleft]
-% [\c!style=\correspondenceparagraphparameter\c!leftstyle,
-% \c!color=\correspondenceparagraphparameter\c!leftcolor]
-% [\c!align=\correspondenceparagraphparameter\c!leftalign]
-% {\correspondenceparagraphparameter\c!lefttext}%
-% \fi}
-%
-% \unexpanded\def\correspondence_paragraph_righttext
-% {\edef\p_correspondence_paragraph_righttext{\correspondenceparagraphparameter\c!righttext}%
-% \ifx\p_correspondence_paragraph_righttext\empty \else
-% \margindata
-% [\v!inright]
-% [\c!style=\correspondenceparagraphparameter\c!rightstyle,
-% \c!color=\correspondenceparagraphparameter\c!rightcolor]
-% [\c!align=\correspondenceparagraphparameter\c!rightalign]
-% {\correspondenceparagraphparameter\c!righttext}%
-% \fi}
+\unexpanded\def\correspondence_paragraph_alternative_define[#environment][#self][#parent][#parameters]%
+ {\iffourthargument
+ \definecorrespondenceparagraphalternative[#environment:#self][#environment:#parent][#parameters]%
+ \else
+ \definecorrespondenceparagraphalternative[#environment:#self][#parent]%
+ \fi}
+
+\unexpanded\def\correspondence_paragraph_alternative_setup[#environment][#name][#parameters]%
+ {\setupcorrespondenceparagraphalternative[#environment:#name][#parameters]}
+
+\unexpanded\def\correspondence_paragraph_alternative_place
+ {\edef\p_correspondence_paragraph_alternative{\correspondenceparagraphparameter\c!alternative}%
+ \ifcsname\namedcorrespondenceparagraphalternativehash{\currentcorrespondenceparagraph:\p_correspondence_paragraph_alternative}\s!parent\endcsname
+ \edef\currentcorrespondenceparagraphalternative{\currentcorrespondenceparagraph:\p_correspondence_paragraph_alternative}%
+ \else\ifcsname\namedcorrespondenceparagraphalternativehash{\currentcorrespondenceenvironment:\p_correspondence_paragraph_alternative}\s!parent\endcsname
+ \edef\currentcorrespondenceparagraphalternative{\currentcorrespondenceenvironment:\p_correspondence_paragraph_alternative}%
+ \else
+ \let\currentcorrespondenceparagraphalternative\p_correspondence_paragraph_alternative
+ \fi\fi
+ \edef\p_correspondence_paragraph_renderingsetup{\correspondenceparagraphalternativeparameter\c!renderingsetup}%
+ \autosetups\p_correspondence_paragraph_renderingsetup}
+
+\definecorrespondenceparagraphalternative[\s!default][\c!renderingsetup=\????correspondenceparagraphrenderings:\s!default]
+\definecorrespondenceparagraphalternative[\v!top ][\c!renderingsetup=\????correspondenceparagraphrenderings:\v!top ]
+\definecorrespondenceparagraphalternative[\v!margin ][\c!renderingsetup=\????correspondenceparagraphrenderings:\v!margin ]
+\definecorrespondenceparagraphalternative[\v!columns][\c!renderingsetup=\????correspondenceparagraphrenderings:\v!columns]
+
+\startsetups[\????correspondenceparagraphrenderings:\s!default]
+ \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]
+\stopsetups
\unexpanded\def\correspondence_paragraph_text
{\edef\p_correspondence_paragraph_text{\correspondenceparagraphparameter\c!text}%
\ifx\p_correspondence_paragraph_text\empty \else
- %\correspondence_paragraph_lefttext % margin texts are only placed when there is normal text,
- %\correspondence_paragraph_righttext % for margin only texts one can use “left”, “right” or “both”
\begingroup
\usecorrespondenceparagraphstyleandcolor\c!textstyle\c!textcolor
\correspondenceparagraphparameter\c!text
\endgraf
\endgroup
+ \doifsomethingelse{\correspondenceparagraphparameter\c!spaceinbetween}{\blank[\correspondenceparagraphparameter\c!spaceinbetween]}{\dosomebreak\nobreak}%
\fi}
-\setvalue{\????correspondenceparagraphalternative\s!default}%
- {\getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]}
-
-% \setvalue{\????correspondenceparagraphalternative\v!left}%
-% {\correspondence_paragraph_lefttext
-% \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]}
-%
-% \setvalue{\????correspondenceparagraphalternative\v!right}%
-% {\correspondence_paragraph_righttext
-% \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]}
-%
-% \setvalue{\????correspondenceparagraphalternative\v!both}%
-% {\correspondence_paragraph_lefttext
-% \correspondence_paragraph_righttext
-% \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]}
-
-\setvalue{\????correspondenceparagraphalternative\v!top}%
- {\correspondence_paragraph_text
- \doifsomethingelse{\correspondenceparagraphparameter\c!spaceinbetween}{\blank[\correspondenceparagraphparameter\c!spaceinbetween]}{\dosomebreak\nobreak}%
- \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]}
+\startsetups[\????correspondenceparagraphrenderings:\v!top]
+ \correspondence_paragraph_text
+ \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]
+\stopsetups
\unexpanded\def\correspondence_paragraph_leftmargin
{\edef\p_correspondence_paragraph_lefttext{\correspondenceparagraphparameter\c!lefttext}%
@@ -683,51 +743,11 @@
{\p_correspondence_paragraph_righttext}%
\fi}
-\setvalue{\????correspondenceparagraphalternative\v!margin}%
- {\correspondence_paragraph_leftmargin
- \correspondence_paragraph_rightmargin
- \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]}
-
-% \unexpanded\def\correspondence_paragraph_leftcolumn
-% {\ifzeropt\p_correspondence_paragraph_leftwidth \else
-% \vtop\bgroup
-% \hsize\p_correspondence_paragraph_leftwidth
-% \usecorrespondenceparagraphstyleandcolor\c!leftstyle\c!leftcolor
-% \begstrut\correspondenceparagraphparameter\c!lefttext\endstrut
-% \egroup
-% \hskip\p_correspondence_paragraph_leftmargin
-% \fi}
-%
-% \unexpanded\def\correspondence_paragraph_middlecolumn
-% {\vtop\bgroup
-% \hsize\dimexpr\hsize
-% \ifzeropt\p_correspondence_paragraph_leftwidth \relax \else - \dimexpr\p_correspondence_paragraph_leftwidth + \p_correspondence_paragraph_rightwidth \relax \fi
-% \ifzeropt\p_correspondence_paragraph_leftmargin\relax \else - \dimexpr\p_correspondence_paragraph_leftmargin + \p_correspondence_paragraph_rightmargin \relax \fi
-% \relax
-% \usecorrespondenceparagraphstyleandcolor\c!style\c!color
-% \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]%
-% \egroup}
-%
-% \unexpanded\def\correspondence_paragraph_rightcolumn
-% {\ifzeropt\p_correspondence_paragraph_rightwidth \else
-% \hskip\p_correspondence_paragraph_rightmargin
-% \vtop\bgroup
-% \hsize\p_correspondence_paragraph_rightwidth
-% \usecorrespondenceparagraphstyleandcolor\c!rightstyle\c!rightcolor
-% \begstrut\correspondenceparagraphparameter\c!righttext\endstrut
-% \egroup
-% \fi}
-%
-% \setvalue{\????correspondenceparagraphalternative\v!columns}%
-% {\edef\p_correspondence_paragraph_leftwidth {\correspondenceparagraphparameter\c!leftwidth }%
-% \edef\p_correspondence_paragraph_rightwidth {\correspondenceparagraphparameter\c!rightwidth }%
-% \edef\p_correspondence_paragraph_leftmargin {\correspondenceparagraphparameter\c!leftmargin }%
-% \edef\p_correspondence_paragraph_rightmargin{\correspondenceparagraphparameter\c!rightmargin}%
-% \dontleavehmode\hbox to \hsize\bgroup
-% \correspondence_paragraph_leftcolumn
-% \correspondence_paragraph_middlecolumn
-% \correspondence_paragraph_rightcolumn
-% \hss\egroup}
+\startsetups[\????correspondenceparagraphrenderings:\v!margin]
+ \correspondence_paragraph_leftmargin
+ \correspondence_paragraph_rightmargin
+ \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]
+\stopsetups
\unexpanded\def\correspondence_paragraph_leftcolumn
{\edef\p_correspondence_paragraph_leftwidth {\correspondenceparagraphparameter\c!leftwidth }%
@@ -757,11 +777,12 @@
\doadaptrightskip{\dimexpr\p_correspondence_paragraph_rightwidth+\p_correspondence_paragraph_rightmargin\relax}%
\fi}
-\setvalue{\????correspondenceparagraphalternative\v!columns}%
- {\dontleavehmode
- \correspondence_paragraph_leftcolumn
- \correspondence_paragraph_rightcolumn
- \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]}
+\startsetups[\????correspondenceparagraphrenderings:\v!columns]
+ \dontleavehmode
+ \correspondence_paragraph_leftcolumn
+ \correspondence_paragraph_rightcolumn
+ \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph]
+\stopsetups
\setupcorrespondenceparagraph
[\c!spacebefore=\v!line,
@@ -813,14 +834,14 @@
\unexpanded\def\correspondence_head_cmd_argument#title%
{\setcorrespondenceheadparameter\c!title{#title}%
- \correspondence_head_cmd_place
+ \correspondence_head_alternative_place
\endgroup}
\unexpanded\def\correspondence_head_cmd_parameters[#parameters]%
{\iffirstargument
\setupcurrentcorrespondencehead[#parameters]%
\fi
- \correspondence_head_cmd_place
+ \correspondence_head_alternative_place
\endgroup}
\unexpanded\def\correspondence_head_beg[#environment][#element]%
@@ -832,46 +853,66 @@
{\iffirstargument
\setupcurrentcorrespondencehead[#parameters]%
\fi
- \correspondence_head_cmd_place
+ \correspondence_head_alternative_place
\endgroup}
\unexpanded\def\correspondence_head_end[#environment][#element]%
{}
-\unexpanded\def\correspondence_head_cmd_place
- {\doifsomethingelse{\correspondenceheadparameter\c!title}\donetrue\donefalse
- \ifdone
- \expandcheckedcsname\????correspondenceheadalternative{\correspondenceheadparameter\c!alternative}\s!default
+\unexpanded\def\correspondence_head_alternative_define[#environment][#self][#parent][#parameters]%
+ {\iffourthargument
+ \definecorrespondenceheadalternative[#environment:#self][#environment:#parent][#parameters]%
+ \else
+ \definecorrespondenceheadalternative[#environment:#self][#parent]%
\fi}
-\setvalue{\????correspondenceheadalternative\s!default}%
- {\doifsomething{\correspondenceheadparameter\c!spacebefore}{\blank[\correspondenceheadparameter\c!spacebefore]}%
- \vbox\bgroup
- \doifsomething{\correspondenceheadparameter\c!align}{\setupalign[\correspondenceheadparameter\c!align]}%
- \usecorrespondenceheadstyleandcolor\c!style\c!color
- \correspondenceheadparameter\c!title
- \egroup
- \doifsomething{\correspondenceheadparameter\c!spaceafter }{\blank[\correspondenceheadparameter\c!spaceafter ]}}
-
-\setvalue{\????correspondenceheadalternative\v!margin}%
- {\doifsomething{\correspondenceheadparameter\c!spacebefore}{\blank[\correspondenceheadparameter\c!spacebefore]}%
- \noindent\hskip-\dimexpr\leftmarginwidth+\leftmargindistance\relax
- \hbox\bgroup
- \usecorrespondenceheadstyleandcolor\c!style\c!color
- \correspondenceheadparameter\c!title
- \egroup
- \doifsomething{\correspondenceheadparameter\c!spaceafter }{\blank[\correspondenceheadparameter\c!spaceafter ]}}
-
-\setvalue{\????correspondenceheadalternative\v!inmargin}%
- {\margindata
- [\v!inleft]
- [\c!style=\correspondenceheadparameter\c!style,
- \c!color=\correspondenceheadparameter\c!color]
- [\c!align=\correspondenceheadparameter\c!align]
- {\correspondenceheadparameter\c!title}}
-
-\setvalue{\????correspondenceheadalternative\v!frame}%
- {}
+\unexpanded\def\correspondence_head_alternative_setup[#environment][#name][#parameters]%
+ {\setupcorrespondenceheadalternative[#environment:#name][#parameters]}
+
+\unexpanded\def\correspondence_head_alternative_place
+ {\edef\p_correspondence_head_alternative{\correspondenceheadparameter\c!alternative}%
+ \ifcsname\namedcorrespondenceheadalternativehash{\currentcorrespondencehead:\p_correspondence_head_alternative}\s!parent\endcsname
+ \edef\currentcorrespondenceheadalternative{\currentcorrespondencehead:\p_correspondence_head_alternative}%
+ \else\ifcsname\namedcorrespondenceheadalternativehash{\currentcorrespondenceenvironment:\p_correspondence_head_alternative}\s!parent\endcsname
+ \edef\currentcorrespondenceheadalternative{\currentcorrespondenceenvironment:\p_correspondence_head_alternative}%
+ \else
+ \let\currentcorrespondenceheadalternative\p_correspondence_head_alternative
+ \fi\fi
+ \edef\p_correspondence_section_renderingsetup{\correspondenceheadalternativeparameter\c!renderingsetup}%
+ \autosetups\p_correspondence_section_renderingsetup}
+
+\definecorrespondenceheadalternative[\s!default ][\c!renderingsetup=\????correspondenceheadrenderings:\s!default ]
+\definecorrespondenceheadalternative[\v!margin ][\c!renderingsetup=\????correspondenceheadrenderings:\v!margin ]
+\definecorrespondenceheadalternative[\v!inmargin][\c!renderingsetup=\????correspondenceheadrenderings:\v!inmargin]
+
+\startsetups[\????correspondenceheadrenderings:\s!default]
+ \doifsomething{\correspondenceheadparameter\c!spacebefore}{\blank[\correspondenceheadparameter\c!spacebefore]}
+ \vbox\bgroup
+ \doifsomething{\correspondenceheadparameter\c!align}{\setupalign[\correspondenceheadparameter\c!align]}
+ \usecorrespondenceheadstyleandcolor\c!style\c!color
+ \correspondenceheadparameter\c!title
+ \egroup
+ \doifsomething{\correspondenceheadparameter\c!spaceafter }{\blank[\correspondenceheadparameter\c!spaceafter ]}
+\stopsetups
+
+\startsetups[\????correspondenceheadrenderings:\v!margin]
+ \doifsomething{\correspondenceheadparameter\c!spacebefore}{\blank[\correspondenceheadparameter\c!spacebefore]}
+ \noindent\hskip-\dimexpr\leftmarginwidth+\leftmargindistance\relax
+ \hbox\bgroup
+ \usecorrespondenceheadstyleandcolor\c!style\c!color
+ \correspondenceheadparameter\c!title
+ \egroup
+ \doifsomething{\correspondenceheadparameter\c!spaceafter }{\blank[\correspondenceheadparameter\c!spaceafter ]}
+\stopsetups
+
+\startsetups[\????correspondenceheadrenderings:\v!inmargin]
+ \margindata
+ [inleft]
+ [\c!style=\correspondenceheadparameter\c!style,
+ \c!color=\correspondenceheadparameter\c!color]
+ [\c!align=\correspondenceheadparameter\c!align]
+ {\correspondenceheadparameter\c!title}
+\stopsetups
\setupcorrespondencehead
[ \c!spacebefore=\v!line,
@@ -888,20 +929,26 @@
\expandafter\correspondence_element_define_section
\else
\expandafter\correspondence_element_define_layer
- \fi}
+ \fi[#environment][#type][#element][#name]}
\def\correspondence_element_define_section[#environment][#type][#element][#name]#content%
- {\definecorrespondencesectionalternative[#environment:#element:#name][\c!renderingsetup=\????correspondencesectionrenderings:\v!command]}
+ {\definecorrespondencesectionalternative[#environment:#element:#name][\c!renderingsetup=\????correspondencesectionrenderings:\v!command]%
+ \setvalue{\????correspondenceelement:#environment:#type:#element:#name}{#content}}
\def\correspondence_element_define_layer[#environment][#type][#element][#name]#content%
- {\definecorrespondencelayeralternative [#environment:#element:#name][\c!renderingsetup=\????correspondencelayerrenderings:\v!command]}
+ {\definecorrespondencelayeralternative[#environment:#element:#name][\c!renderingsetup=\????correspondencelayerrenderings:\v!command]%
+ \setvalue{\????correspondenceelement:#environment:#type:#element:#name}{#content}}
+
+\startsetups[\????correspondencesectionrenderings:\v!command]
+ \correspondence_element_place[\currentcorrespondenceenvironment][\v!section][\currentcorrespondenceelement][\correspondencelayerparameter\c!alternative]
+\stopsetups
-\unexpanded\def\correspondence_element_define[#environment][#type][#element][#name]#content%
- {\setvalue{\????correspondenceelement:#environment:#type:#element:#name}{#content}}
+\startsetups[\????correspondencelayerrenderings:\v!command]
+ \correspondence_element_place[\currentcorrespondenceenvironment][\v!layer][\currentcorrespondenceelement][\correspondencelayerparameter\c!alternative]
+\stopsetups
\unexpanded\def\correspondence_element_place[#environment][#type][#element][#name]%
- {%\correspondence_parameters{#environment}{#element}{#type}%
- \expandcheckedcsname{\????correspondenceelement:#environment:#type:#element:}{#name}\s!default}
+ {\expandcheckedcsname{\????correspondenceelement:#environment:#type:#element:}{#name}\s!default}
% Files
diff --git a/Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkii b/Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkii
index 18552d2cfdb..735639275c8 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkii
+++ b/Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkii
@@ -25,9 +25,9 @@
\unprotect
-\usemodule[cor-00]
+\startmodule[letter]
-\startmodule[\v!letter]
+\usemodule[cor-00]
\setupmodule
[\c!style=dinb]
diff --git a/Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkvi b/Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkvi
index afed4881c58..45a58e5083a 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkvi
+++ b/Master/texmf-dist/tex/context/third/letter/base/s-cor-01.mkvi
@@ -1,6 +1,6 @@
%D \module
%D [ file=s-cor-01,
-%D version=2012.12.07,
+%D version=2012.12.09,
%D title=\CONTEXT\ User Module,
%D subtitle=Letters,
%D author=Wolfgang Schuster,
@@ -25,11 +25,11 @@
\unprotect
+\startmodule[letter]
+
\usemodule[cor-00]
\usemodule[cor-06]
-\startmodule[\v!letter]
-
\setupmodule
[\c!style=dinb]
@@ -37,28 +37,36 @@
\definecorrespondence[\v!letter]
-\def\defineletterlayer {\dodoubleargument\correspondence_layer_define [\v!letter]}
-\def\definelettersection {\dodoubleargument\correspondence_section_define [\v!letter]}
-\def\defineletterdescription {\dodoubleargument\correspondence_description_define [\v!letter]}
-\def\defineletterhead {\dodoubleargument\correspondence_head_define [\v!letter]}
+\def\defineletterlayer {\dodoubleargument\correspondence_layer_define [\v!letter]}
+\def\definelettersection {\dodoubleargument\correspondence_section_define [\v!letter]}
+\def\defineletterdescription {\dodoubleargument\correspondence_description_define [\v!letter]}
+\def\defineletterhead {\dodoubleargument\correspondence_head_define [\v!letter]}
+
+\def\defineletterlayeralternative {\doquadrupleempty\correspondence_layer_alternative_define [\v!letter]}
+\def\definelettersectionalternative {\doquadrupleempty\correspondence_section_alternative_define [\v!letter]}
+\def\defineletterheadalternative {\doquadrupleempty\correspondence_head_alternative_define [\v!letter]}
+
+\def\defineletterelements {\dotripleargument\correspondence_elements_define [\v!letter]}
+\def\setupletterelements {\dotripleargument\correspondence_elements_define [\v!letter]}
-\def\defineletterelements {\dotripleargument\correspondence_elements_define [\v!letter]}
-\def\setupletterelements {\dotripleargument\correspondence_elements_define [\v!letter]}
+\def\setupletterstyle {\dotripleargument\correspondence_style_setup [\v!letter]}
+\def\setupletterlayer {\dotripleargument\correspondence_layer_setup [\v!letter]}
+\def\setupletterframe {\dotripleargument\correspondence_frame_setup [\v!letter]}
+\def\setupletterlayout {\dotripleargument\correspondence_layout_setup [\v!letter]}
+\def\setuplettersection {\dotripleargument\correspondence_section_setup [\v!letter]}
+\def\setupletterdescription {\dotripleargument\correspondence_description_setup [\v!letter]}
+\def\setupletterhead {\dotripleargument\correspondence_head_setup [\v!letter]}
+\def\setupletteroptions {\dodoubleargument\correspondence_option_setup [\v!letter]}
+\def\setupletter {\dodoubleargument\correspondence_setup [\v!letter]}
-\def\setupletterstyle {\dotripleargument\correspondence_style_setup [\v!letter]}
-\def\setupletterlayer {\dotripleargument\correspondence_layer_setup [\v!letter]}
-\def\setupletterframe {\dotripleargument\correspondence_frame_setup [\v!letter]}
-\def\setupletterlayout {\dotripleargument\correspondence_layout_setup [\v!letter]}
-\def\setuplettersection {\dotripleargument\correspondence_section_setup [\v!letter]}
-\def\setupletterdescription {\dotripleargument\correspondence_description_setup [\v!letter]}
-\def\setupletterhead {\dotripleargument\correspondence_head_setup [\v!letter]}
-\def\setupletteroptions {\dodoubleargument\correspondence_option_setup [\v!letter]}
-\def\setupletter {\dodoubleargument\correspondence_setup [\v!letter]}
+\def\setupletterlayeralternative {\dotripleargument\correspondence_layer_alternative_setup [\v!letter]}
+\def\setuplettersectionalternative {\dotripleargument\correspondence_section_alternative_setup [\v!letter]}
+\def\setupletterheadalternative {\dotripleargument\correspondence_head_alternative_setup [\v!letter]}
-\def\useletterstyle {\dodoubleargument\correspondence_file_load [\v!letter]}
+\def\useletterstyle {\dodoubleargument\correspondence_file_load [\v!letter]}
-\def\defineletterelement {\doquadrupleargument\correspondence_element_define [\v!letter]}
-\def\letterelement {\doquadrupleargument\correspondence_element_place [\v!letter]}
+\def\defineletterelement {\doquadrupleargument\correspondence_element_define [\v!letter]}
+\def\letterelement {\doquadrupleargument\correspondence_element_place [\v!letter]}
\def\namedletterlayerparameter #element{\namedcorrespondencelayerparameter {\v!letter:#element}}
\def\namedletterframeparameter #element{\namedcorrespondenceframeparameter {\v!letter:#element}}
@@ -120,404 +128,392 @@
% layer: head
-\defineletterelement[\v!layer][\v!head][\s!default]
- {\def\\{\correspondencelayerparameter\c!separator}%
- \correspondenceparameter\c!fromname
- \doifsomething{\correspondenceparameter\c!fromname}\\
- \correspondenceparameter\c!fromaddress}
-
-\defineletterelement[\v!layer][\v!head][\v!left]
- {\framed[\c!frame=\v!off,\c!align=\v!flushleft,\c!width=\v!broad,\c!offset=\zeropoint]\bgroup
- \begingroup
- \def\currentcorrespondencestyle{\v!letter:\c!fromname}%
- \usecorrespondencestylestyleandcolor\c!style\c!color
- \correspondenceparameter\c!fromname
- \endgroup
- \\
- \begingroup
- \def\currentcorrespondencestyle{\v!letter:\c!fromaddress}%
- \usecorrespondencestylestyleandcolor\c!style\c!color
- \correspondenceparameter\c!fromaddress
- \doifsomething{\correspondenceparameter\c!fromphone}{\\\correspondenceparameter\c!fromphone}%
- \doifsomething{\correspondenceparameter\c!fromfax }{\\\correspondenceparameter\c!fromfax }%
- \doifsomething{\correspondenceparameter\c!frommail }{\\\correspondenceparameter\c!frommail }%
- \doifsomething{\correspondenceparameter\c!fromurl }{\\\correspondenceparameter\c!fromurl }%
- \endgroup
- \egroup}
-
-\defineletterelement[\v!layer][\v!head][\v!middle]
- {\framed[\c!frame=\v!off,\c!align=\v!middle,\c!width=\v!broad,\c!offset=\zeropoint]\bgroup
- \begingroup
- \def\currentcorrespondencevalue{\v!letter:\c!fromname}%
- \usecorrespondencestylestyleandcolor\c!style\c!color
- \correspondenceparameter\c!fromname
- \endgroup
- \\
- \begingroup
- \def\currentcorrespondencestyle{\v!letter:\c!fromaddress}%
- \usecorrespondencestylestyleandcolor\c!style\c!color
- \correspondenceparameter\c!fromaddress
- \doifsomething{\correspondenceparameter\c!fromphone}{\\\correspondenceparameter\c!fromphone}%
- \doifsomething{\correspondenceparameter\c!fromfax }{\\\correspondenceparameter\c!fromfax }%
- \doifsomething{\correspondenceparameter\c!frommail }{\\\correspondenceparameter\c!frommail }%
- \doifsomething{\correspondenceparameter\c!fromurl }{\\\correspondenceparameter\c!fromurl }%
- \endgroup
- \egroup}
-
-\defineletterelement[\v!layer][\v!head][\v!right]
- {\framed[\c!frame=\v!off,\c!align=\v!flushright,\c!width=\v!broad,\c!offset=\zeropoint]\bgroup
- \begingroup
- \def\currentcorrespondencestyle{\v!letter:\c!fromname}%
- \usecorrespondencestylestyleandcolor\c!style\c!color
- \correspondenceparameter\c!fromname
- \endgroup
- \\
- \begingroup
- \def\currentcorrespondencestyle{\v!letter:\c!fromaddress}%
- \usecorrespondencestylestyleandcolor\c!style\c!color
- \correspondenceparameter\c!fromaddress
- \doifsomething{\correspondenceparameter\c!fromphone}{\\\correspondenceparameter\c!fromphone}%
- \doifsomething{\correspondenceparameter\c!fromfax }{\\\correspondenceparameter\c!fromfax }%
- \doifsomething{\correspondenceparameter\c!frommail }{\\\correspondenceparameter\c!frommail }%
- \doifsomething{\correspondenceparameter\c!fromurl }{\\\correspondenceparameter\c!fromurl }%
- \endgroup
- \egroup}
-
-\defineletterelement[\v!layer][\v!head][\v!gbrief]
- {\def\\{\correspondencelayerparameter\c!separator}%
- \correspondenceparameter\c!fromname\hrule}
-
-\defineletterelement[\v!layer][\v!head][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!head}}
+\defineletterlayeralternative[\v!head:\s!default][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!head:\s!default]
+\defineletterlayeralternative[\v!head:\v!left ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!head:\v!generic,\c!align=\v!flushleft ]
+\defineletterlayeralternative[\v!head:\v!middle ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!head:\v!generic,\c!align=\v!middle ]
+\defineletterlayeralternative[\v!head:\v!right ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!head:\v!generic,\c!align=\v!flushright]
+\defineletterlayeralternative[\v!head:\v!gbrief ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!head:\v!gbrief ]
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!head:\s!default]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \correspondenceparameter\c!fromname
+ \doifsomething{\correspondenceparameter\c!fromname}\\
+ \correspondenceparameter\c!fromaddress
+\stopsetups
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!head:\v!generic]
+ \startframed[\c!frame=\v!off,\c!align=\correspondencelayeralternativeparameter\c!align,\c!width=\v!broad,\c!offset=\zeropoint]
+ \begingroup
+ \def\currentcorrespondencestyle{\v!letter:\c!fromname}%
+ \usecorrespondencestylestyleandcolor\c!style\c!color
+ \correspondenceparameter\c!fromname
+ \endgroup
+ \\
+ \begingroup
+ \def\currentcorrespondencestyle{\v!letter:\c!fromaddress}%
+ \usecorrespondencestylestyleandcolor\c!style\c!color
+ \correspondenceparameter\c!fromaddress
+ \doifsomething{\correspondenceparameter\c!fromphone}{\\\correspondenceparameter\c!fromphone}%
+ \doifsomething{\correspondenceparameter\c!fromfax }{\\\correspondenceparameter\c!fromfax }%
+ \doifsomething{\correspondenceparameter\c!frommail }{\\\correspondenceparameter\c!frommail }%
+ \doifsomething{\correspondenceparameter\c!fromurl }{\\\correspondenceparameter\c!fromurl }%
+ \endgroup
+ \stopframed
+\stopsetups
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!head:\v!gbrief]
+ \def\\{\correspondencelayerparameter\c!separator}%
+ \correspondenceparameter\c!fromname
+ \hrule
+\stopsetups
% layer: nexthead
-\defineletterelement[\v!layer][\v!nexthead][\v!gbrief]
- {\maxaligned
- {\rlap{\correspondenceparameter\c!fromname}
- \midaligned{\leftlettertext\c!pagenumber\subpagenumber\rightlettertext\c!pagenumber\lastsubpagenumber}
- \llap{\correspondenceparameter\c!date}}
- \hairline}
-
-\defineletterelement[\v!layer][\v!nexthead][\v!fullblock]
- {\maxaligned
- {\rlap{\correspondenceparameter\c!toname}%
- \midaligned{\subpagenumber}%
- \llap{\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=\v!left]
- {\correspondenceparameter\c!date \\
- \correspondenceparameter\c!reference}}}}
-
-\defineletterelement[\v!layer][\v!nexthead][\v!hanging]
- {\maxaligned
- {\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=v!right]
- {\correspondenceparameter\c!toname \\
- \correspondenceparameter\c!date \\
- \correspondenceparameter\c!reference \\
- \lettertext\c!page\subpagenumber}}}
-
-\defineletterelement[\v!layer][\v!nexthead][\v!semiblock]
- {\maxaligned
- {\rlap{\correspondenceparameter\c!toname}%
- \midaligned{\subpagenumber}%
- \llap{\correspondenceparameter\c!date}}}
-
-\defineletterelement[\v!layer][\v!nexthead][\v!simplified]
- {\letterelement[\v!layer][\v!nexthead][\v!fullblock]}
-
-\defineletterelement[\v!layer][\v!nexthead][\v!modified]
- {\letterelement[\v!layer][\v!nexthead][\v!hanging]}
-
-\defineletterelement[\v!layer][\v!nexthead][\v!knuth]
- {\maxaligned
- {\rlap{\correspondenceparameter\c!toname}%
- \midaligned{\currentdate}%
- \llap{\lettertext\c!page\subpagenumber}}}
-
-\defineletterelement[\v!layer][\v!nexthead][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!nexthead}}
+\defineletterlayeralternative[\v!nexthead:\v!gbrief ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!gbrief ]
+\defineletterlayeralternative[\v!nexthead:\v!fullblock ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!fullblock]
+\defineletterlayeralternative[\v!nexthead:\v!hanging ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!hanging ]
+\defineletterlayeralternative[\v!nexthead:\v!semiblock ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!semiblock]
+\defineletterlayeralternative[\v!nexthead:\v!simplified][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!fullblock]
+\defineletterlayeralternative[\v!nexthead:\v!modified ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!hanging ]
+\defineletterlayeralternative[\v!nexthead:\v!knuth ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!knuth ]
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!gbrief]
+ \maxaligned
+ {\rlap{\correspondenceparameter\c!fromname}
+ \midaligned{\leftlettertext\c!pagenumber\subpagenumber\rightlettertext\c!pagenumber\lastsubpagenumber}
+ \llap{\correspondenceparameter\c!date}}
+ \hairline
+\stopsetups
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!fullblock]
+ \maxaligned
+ {\rlap{\correspondenceparameter\c!toname}%
+ \midaligned{\subpagenumber}%
+ \llap{\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=\v!left]
+ {\correspondenceparameter\c!date \\
+ \correspondenceparameter\c!reference}}}
+\stopsetups
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!hanging]
+ \maxaligned
+ {\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=v!right]
+ {\correspondenceparameter\c!toname \\
+ \correspondenceparameter\c!date \\
+ \correspondenceparameter\c!reference \\
+ \lettertext\c!page\subpagenumber}}
+\stopsetups
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!semiblock]
+ \maxaligned
+ {\rlap{\correspondenceparameter\c!toname}%
+ \midaligned{\subpagenumber}%
+ \llap{\correspondenceparameter\c!date}}
+\stopsetups
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!nexthead:\v!knuth]
+ \maxaligned
+ {\rlap{\correspondenceparameter\c!toname}%
+ \midaligned{\currentdate}%
+ \llap{\lettertext\c!page\subpagenumber}}
+\stopsetups
% layer: lefthead
-\defineletterelement[\v!layer][\v!lefthead][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!lefthead}}
+% setups -> see s-cor-00.mkvi
% layer: righthead
-\defineletterelement[\v!layer][\v!righthead][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!righthead}}
+% setups -> see s-cor-00.mkvi
% layer: foot
-\defineletterelement[\v!layer][\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 \lettertext\c!address \eTD
- \bTD \lettertext\c!phone \eTD
- \bTD \lettertext\c!email \eTD
- \bTD \lettertext\c!bank \eTD
- \eTR
- \bTR
- \bTD \correspondenceparameter\c!street \\\correspondenceparameter\c!city \eTD
- \bTD \correspondenceparameter\c!phone \eTD
- \bTD \correspondenceparameter\c!email \eTD
- \bTD \correspondenceparameter\c!bankname\\\correspondenceparameter\c!banknumber\\\correspondenceparameter\c!accountnumber \eTD
- \eTR
- \eTABLE}
-
-\defineletterelement[\v!layer][\v!foot][\v!pagenumber]
- {\midaligned{\leftlettertext\c!pagenumber\subpagenumber\rightlettertext\c!pagenumber\lastsubpagenumber}}
-
-\defineletterelement[\v!layer][\v!foot][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!foot}}
+\defineletterlayeralternative[\v!foot:\v!gbrief ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!foot:\v!gbrief]
+\defineletterlayeralternative[\v!foot:\v!pagenumber][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!foot:\v!pagenumber]
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\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 \lettertext\c!address \eTD
+ \bTD \lettertext\c!phone \eTD
+ \bTD \lettertext\c!email \eTD
+ \bTD \lettertext\c!bank \eTD
+ \eTR
+ \bTR
+ \bTD \correspondenceparameter\c!street \\\correspondenceparameter\c!city \eTD
+ \bTD \correspondenceparameter\c!phone \eTD
+ \bTD \correspondenceparameter\c!email \eTD
+ \bTD \correspondenceparameter\c!bankname\\\correspondenceparameter\c!banknumber\\\correspondenceparameter\c!accountnumber \eTD
+ \eTR
+ \eTABLE
+\stopsetups
+
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!foot:\v!pagenumber]
+ \centerbox{\hbox{\begstrut\leftlettertext\c!pagenumber\subpagenumber\rightlettertext\c!pagenumber\lastsubpagenumber\endstrut}}
+\stopsetups
% layer: nextfoot
-\defineletterelement[\v!layer][\v!nextfoot][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!nextfoot}}
+% setups -> see s-cor-00.mkvi
% layer: leftfoot
-\defineletterelement[\v!layer][\v!leftfoot][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!leftfoot}}
+% setups -> see s-cor-00.mkvi
% layer: rightfoot
-\defineletterelement[\v!layer][\v!rightfoot][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!rightfoot}}
+% setups -> see s-cor-00.mkvi
% layer: address
-\defineletterelement[\v!layer][\v!address][\s!default]
- {\def\\{\correspondencelayerparameter\c!separator}%
- \doifsomething{\correspondenceparameter\c!dispatch}{\correspondenceparameter\c!dispatch\\}%
- \doifsomething{\correspondenceparameter\c!toname }{\correspondenceparameter\c!toname \\}%
- \correspondenceparameter\c!toaddress}
+\defineletterlayeralternative[\v!address:\s!default][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!address:\s!default]
-\defineletterelement[\v!layer][\v!address][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!address}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!address:\s!default]
+ \def\\{\correspondencelayerparameter\c!separator}%
+ \doifsomething{\correspondenceparameter\c!dispatch}{\correspondenceparameter\c!dispatch\\}
+ \doifsomething{\correspondenceparameter\c!toname }{\correspondenceparameter\c!toname \\}
+ \correspondenceparameter\c!toaddress
+\stopsetups
% layer: backaddress
-\defineletterelement[\v!layer][\v!backaddress][\s!default]
- {\def\\{\correspondencelayerparameter\c!separator}%
- \correspondenceparameter\c!fromname
- \doifsomething{\correspondenceparameter\c!fromaddress}\\%
- \correspondenceparameter\c!fromaddress}
+\defineletterlayeralternative[\v!backaddress:\s!default][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!backaddress:\s!default]
+\defineletterlayeralternative[\v!backaddress:\v!auto ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!backaddress:\v!auto ]
-\defineletterelement[\v!layer][\v!backaddress][\v!auto]
- {\def\\{\correspondencelayerparameter\c!separator}%
- \doifsomethingelse{\correspondenceparameter\c!backaddress}
- {\correspondenceparameter\c!backaddress}
- {\letterelement[\v!layer][\v!backaddress][\s!default]}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!backaddress:\s!default]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \correspondenceparameter\c!fromname
+ \doifsomething{\correspondenceparameter\c!fromaddress}\\
+ \correspondenceparameter\c!fromaddress
+\stopsetups
-\defineletterelement[\v!layer][\v!backaddress][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!backaddress}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!backaddress:\v!auto]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \doifsomethingelse{\correspondenceparameter\c!backaddress}
+ {\correspondenceparameter\c!backaddress}
+ {\correspondenceparameter\c!fromname
+ \doifsomething{\correspondenceparameter\c!fromaddress}\\
+ \correspondenceparameter\c!fromaddress}
+\stopsetups
% layer: reference
-\defineletterelement[\v!layer][\v!reference][\s!default]
- {\correspondenceparameter\c!reference}
+\defineletterlayeralternative[\v!reference:\s!default][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!reference:\s!default]
+\defineletterlayeralternative[\v!reference:\v!a ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!reference:\v!a ]
+\defineletterlayeralternative[\v!reference:\v!b ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!reference:\v!b ]
+\defineletterlayeralternative[\v!reference:\v!c ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!reference:\v!c ]
+\defineletterlayeralternative[\v!reference:\v!d ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!reference:\v!d ]
+\defineletterlayeralternative[\v!reference:\v!e ][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!reference:\v!e ]
-\defineletterelement[\v!layer][\v!reference][\v!a] % line
- {\ctxlua{thirddata.correspondence.letter.reference_a("\v!letter","\correspondencelayerparameter\c!list")}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!reference:\s!default]
+ \correspondenceparameter\c!reference
+\stopsetups
-\defineletterelement[\v!layer][\v!reference][\v!b] % block
- {\ctxlua{thirddata.correspondence.letter.reference_b("\v!letter","\correspondencelayerparameter\c!list")}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!reference:\v!a] % line
+ \ctxlua{thirddata.correspondence.letter.reference_a("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
-\defineletterelement[\v!layer][\v!reference][\v!c] % argument
- {\ctxlua{thirddata.correspondence.letter.reference_c("\v!letter","\correspondencelayerparameter\c!list")}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!reference:\v!b] % block
+ \ctxlua{thirddata.correspondence.letter.reference_b("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
-\defineletterelement[\v!layer][\v!reference][\v!d] % table
- {\ctxlua{thirddata.correspondence.letter.reference_d("\v!letter","\correspondencelayerparameter\c!list")}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!reference:\v!c] % argument
+ \ctxlua{thirddata.correspondence.letter.reference_c("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
-\defineletterelement[\v!layer][\v!reference][\v!e] % width
- {\ctxlua{thirddata.correspondence.letter.reference_e("\v!letter","\correspondencelayerparameter\c!list")}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!reference:\v!d] % table
+ \ctxlua{thirddata.correspondence.letter.reference_d("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
-\defineletterelement[\v!layer][\v!reference][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!reference}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!reference:\v!e] % width
+ \ctxlua{thirddata.correspondence.letter.reference_e("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
% layer: location
-\defineletterelement[\v!layer][\v!location][\v!french]
- {\def\\{\correspondencelayerparameter\c!separator}%
- \doifsomething{\correspondenceparameter\c!place}{\correspondenceparameter\c!place\\}%
- \correspondenceparameter\c!date}
+\defineletterlayeralternative[\v!location:\v!french][\c!renderingsetup=\????correspondencelayerrenderings:\v!letter:\v!location:\v!french]
-\defineletterelement[\v!layer][\v!location][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!location}}
+\startsetups[\????correspondencelayerrenderings:\v!letter:\v!location:\v!french]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \doifsomething{\correspondenceparameter\c!place}{\correspondenceparameter\c!place\\}%
+ \correspondenceparameter\c!date
+\stopsetups
% layer: topmark
-\defineletterelement[\v!layer][\v!topmark][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!topmark}}
+% setups -> see s-cor-00.mkvi
% layer: botmark
-\defineletterelement[\v!layer][\v!botmark][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!botmark}}
+% setups -> see s-cor-00.mkvi
% layer: cutmark
-\defineletterelement[\v!layer][\v!cutmark][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!cutmark}}
+% setups -> see s-cor-00.mkvi
% layer: endmark
-\defineletterelement[\v!layer][\v!endmark][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!endmark}}
+% setups -> see s-cor-00.mkvi
% layer: usermark
-\defineletterelement[\v!layer][\v!usermark][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!usermark}}
+% setups -> see s-cor-00.mkvi
% layer: lettermain
-\defineletterelement[\v!layer][\v!lettermain][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!lettermain}}
+% setups -> see s-cor-00.mkvi
% layer: letternext
-\defineletterelement[\v!layer][\v!letternext][\v!setups]
- {\texsetup{\v!letter:\v!layer:\v!letternext}}
+% setups -> see s-cor-00.mkvi
% section: head
-\defineletterelement[\v!section][\v!head][\v!blockstyle]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!fromaddress}
+\definelettersectionalternative[\v!head:\v!blockstyle][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!head:\v!blockstyle]
-\defineletterelement[\v!section][\v!head][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!head}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!head:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!fromaddress
+\stopsetups
% section: date
-\defineletterelement[\v!section][\v!date][\v!blockstyle]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!date}
+\definelettersectionalternative[\v!date:\v!blockstyle][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!date:\v!blockstyle]
-\defineletterelement[\v!section][\v!date][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!date}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!date:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!date
+\stopsetups
% section: reference
-\defineletterelement[\v!section][\v!reference][\v!blockstyle]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!reference}
+\definelettersectionalternative[\v!reference:\v!blockstyle][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!reference:\v!blockstyle]
-\defineletterelement[\v!section][\v!reference][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!reference}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!reference:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!reference
+\stopsetups
% section: specialnotation
-\defineletterelement[\v!section][\v!specialnotation][\v!blockstyle]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!dispatch}
+\definelettersectionalternative[\v!specialnotation:\v!blockstyle][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!specialnotation:\v!blockstyle]
-\defineletterelement[\v!section][\v!specialnotation][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!specialnotation}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!specialnotation:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!dispatch
+\stopsetups
% section: address
-\defineletterelement[\v!section][\v!address][\v!blockstyle]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!toname
- \doifsomething{\correspondenceparameter\c!toname}\\
- \correspondenceparameter\c!toaddress}
+\definelettersectionalternative[\v!address:\v!blockstyle][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!address:\v!blockstyle]
+\definelettersectionalternative[\v!address:\v!knuth ][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!address:\v!blockstyle]
-\defineletterelement[\v!section][\v!address][\v!knuth]
- {\letterelement[\v!section][\v!address][\v!blockstyle]}
-
-\defineletterelement[\v!section][\v!address][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!address}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!address:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!toname
+ \doifsomething{\correspondenceparameter\c!toname}\\
+ \correspondenceparameter\c!toaddress
+\stopsetups
% section: title
-\defineletterelement[\v!section][\v!title][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \doifsomethingelse{\correspondenceparameter\c!title}
- {\correspondenceparameter\c!title}
- {\lettertext\c!attention\correspondenceparameter\c!attention}}
+\definelettersectionalternative[\v!title:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!title:\s!default]
-\defineletterelement[\v!section][\v!title][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!title}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!title:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \doifsomethingelse{\correspondenceparameter\c!title}
+ {\correspondenceparameter\c!title}
+ {\lettertext\c!attention\correspondenceparameter\c!attention}
+\stopsetups
% section: subject
-\defineletterelement[\v!section][\v!subject][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \lettertext\c!subject\correspondenceparameter\c!subject}
+\definelettersectionalternative[\v!subject:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!subject:\s!default]
-\defineletterelement[\v!section][\v!subject][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!subject}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!subject:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \lettertext\c!subject\correspondenceparameter\c!subject
+\stopsetups
% section: opening
-\defineletterelement[\v!section][\v!opening][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \doifsomethingelse{\correspondenceparameter\c!opening}
- {\correspondenceparameter\c!opening}
- {\correspondenceparameter\c!salutation}}
+\definelettersectionalternative[\v!opening:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!opening:\s!default]
+\definelettersectionalternative[\v!opening:\v!french ][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!opening:\v!french ]
-\defineletterelement[\v!section][\v!opening][\v!french]
- {\doifsomething{\correspondenceoptionparameter\c!indenting}{\setupindenting[\correspondenceoptionparameter\c!indenting]}%
- \letterelement[\v!section][\v!opening][\s!default]}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!opening:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \doifsomethingelse{\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!salutation}
+\stopsetups
-\defineletterelement[\v!section][\v!opening][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!opening}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!opening:\v!french]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \doifsomething{\correspondenceoptionparameter\c!indenting}{\setupindenting[\correspondenceoptionparameter\c!indenting]}
+ \doifsomethingelse{\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!salutation}
+\stopsetups
% section: content
-\defineletterelement[\v!section][\v!content][\s!default]
- {\getbufferdata[\????correspondencebuffer\v!letter]}
+\definelettersectionalternative[\v!content:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!content:\s!default]
-\defineletterelement[\v!section][\v!content][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!content}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!content:\s!default]
+ \getbufferdata[\????correspondencebuffer\v!letter]
+\stopsetups
% section: closing
-\defineletterelement[\v!section][\v!closing][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!closing
- \doifsomething{\correspondenceparameter\c!signature}
- {\blank[\correspondencesectionparameter\c!spaceinbetween]%
- \correspondenceparameter\c!signature}}
-
-\defineletterelement[\v!section][\v!closing][\v!french]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \doifsomething{\correspondenceoptionparameter\c!indenting}{\setupindenting[\correspondenceoptionparameter\c!indenting,\v!first]}%
- \correspondenceparameter\c!closing
- \doifsomething{\correspondenceparameter\c!signature}
- {\blank[\correspondencesectionparameter\c!spaceinbetween]%
- \raggedcenter\doadaptleftskip{.5\textwidth}%
- \correspondenceparameter\c!signature\endgraf}}
-
-\defineletterelement[\v!section][\v!closing][\v!simplified]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \doifsomething{\correspondenceparameter\c!signature}{\blank[\correspondencesectionparameter\c!spaceinbetween]}%
- \correspondenceparameter\c!signature}
-
-\defineletterelement[\v!section][\v!closing][\v!knuth]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \doadaptleftskip{\dimexpr\textwidth/13*8\relax}%
- \correspondenceparameter\c!closing
- \doifsomething{\correspondenceparameter\c!signature}
- {\blank[\correspondencesectionparameter\c!spaceinbetween]%
- \correspondenceparameter\c!signature}}
-
-\defineletterelement[\v!section][\v!closing][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!closing}}
+\definelettersectionalternative[\v!closing:\s!default ][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!closing:\s!default ]
+\definelettersectionalternative[\v!closing:\v!french ][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!closing:\v!french ]
+\definelettersectionalternative[\v!closing:\v!simplified][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!closing:\v!simplified]
+\definelettersectionalternative[\v!closing:\v!knuth ][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!closing:\v!knuth ]
+
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!closing:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]%
+ \correspondenceparameter\c!signature}
+\stopsetups
+
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!closing:\v!french]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \doifsomething{\correspondenceoptionparameter\c!indenting}{\setupindenting[\correspondenceoptionparameter\c!indenting,\v!first]}%
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]%
+ \raggedcenter\doadaptleftskip{.5\textwidth}%
+ \correspondenceparameter\c!signature\endgraf}
+\stopsetups
+
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!closing:\v!simplified]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \doifsomething{\correspondenceparameter\c!signature}{\blank[\correspondencesectionparameter\c!spaceinbetween]}%
+ \correspondenceparameter\c!signature
+\stopsetups
+
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!closing:\v!knuth]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \doadaptleftskip{\dimexpr\textwidth/13*8\relax}%
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]%
+ \correspondenceparameter\c!signature}
+\stopsetups
% section: appendices
-\defineletterelement[\v!section][\v!appendices][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \startpacked
- \processcommacommand[\correspondence_elements_access\v!letter\v!description]{\correspondence_description_place\v!letter}%
- \stoppacked}
+\definelettersectionalternative[\v!appendices:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!letter:\v!appendices:\s!default]
-\defineletterelement[\v!section][\v!appendices][\v!setups]
- {\texsetup{\v!letter:\v!section:\v!appendices}}
+\startsetups[\????correspondencesectionrenderings:\v!letter:\v!appendices:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \startpacked
+ \processcommacommand[\correspondence_elements_access\v!letter\v!description]{\correspondence_description_place\v!letter}%
+ \stoppacked
+\stopsetups
+
+% for backwards compatibility
\startsetups[\v!letter:\v!place]
\correspondence_place[\v!letter]
@@ -551,6 +547,12 @@
\fi
\to \t_correspondence_before
+\appendtoks
+ \ifx\currentcorrespondence\v!letter
+ \doifsomething{\correspondenceoptionparameter\c!indenting}{\setuplettersection[\v!content][\c!indenting=\correspondenceoptionparameter\c!indenting]}%
+ \fi
+\to \t_correspondence_before
+
\appendtoks % provide this also for the other modules
\ifx\currentcorrespondence\v!letter
\doifsomething{\correspondenceparameter\c!addressentry}{\edef\currentaddressentry{\correspondenceparameter\c!addressentry}}%
diff --git a/Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkii b/Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkii
index 0c1cf19d6b0..46bc86f9e05 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkii
+++ b/Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkii
@@ -25,9 +25,9 @@
\unprotect
-\usemodule[cor-00]
+\startmodule[memo]
-\startmodule[\v!memo]
+\usemodule[cor-00]
\setupmodule
[\c!style=memo]
diff --git a/Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkvi b/Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkvi
index 20b033cb4ba..c62ad26a396 100644
--- a/Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkvi
+++ b/Master/texmf-dist/tex/context/third/letter/base/s-cor-02.mkvi
@@ -1,6 +1,6 @@
%D \module
%D [ file=s-cor-02,
-%D version=2012.06.10,
+%D version=2012.12.09,
%D title=\CONTEXT\ User Module,
%D subtitle=Memos,
%D author=Wolfgang Schuster,
@@ -25,9 +25,9 @@
\unprotect
-\usemodule[cor-00]
+\startmodule[memo]
-\startmodule[\v!memo]
+\usemodule[cor-00]
\setupmodule
[\c!style=memo]
@@ -36,28 +36,34 @@
\definecorrespondence[\v!memo]
-\def\definememolayer {\dodoubleargument\correspondence_layer_define [\v!memo]}
-\def\definememosection {\dodoubleargument\correspondence_section_define [\v!memo]}
-\def\definememodescription {\dodoubleargument\correspondence_description_define [\v!memo]}
-\def\definememohead {\dodoubleargument\correspondence_head_define [\v!memo]}
+\def\definememolayer {\dodoubleargument\correspondence_layer_define [\v!memo]}
+\def\definememosection {\dodoubleargument\correspondence_section_define [\v!memo]}
+\def\definememodescription {\dodoubleargument\correspondence_description_define [\v!memo]}
+\def\definememohead {\dodoubleargument\correspondence_head_define [\v!memo]}
+
+\def\definememolayeralternative {\doquadrupleempty\correspondence_layer_alternative_define [\v!memo]}
+\def\definememosectionalternative {\doquadrupleempty\correspondence_section_alternative_define [\v!memo]}
-\def\definememoelements {\dotripleargument\correspondence_elements_define [\v!memo]}
-\def\setupmemoelements {\dotripleargument\correspondence_elements_define [\v!memo]}
+\def\definememoelements {\dotripleargument\correspondence_elements_define [\v!memo]}
+\def\setupmemoelements {\dotripleargument\correspondence_elements_define [\v!memo]}
-\def\setupmemostyle {\dotripleargument\correspondence_style_setup [\v!memo]}
-\def\setupmemolayer {\dotripleargument\correspondence_layer_setup [\v!memo]}
-\def\setupmemoframe {\dotripleargument\correspondence_frame_setup [\v!memo]}
-\def\setupmemolayout {\dotripleargument\correspondence_layout_setup [\v!memo]}
-\def\setupmemosection {\dotripleargument\correspondence_section_setup [\v!memo]}
-\def\setupmemodescription {\dotripleargument\correspondence_description_setup [\v!memo]}
-\def\setupmemohead {\dotripleargument\correspondence_head_setup [\v!memo]}
-\def\setupmemooptions {\dodoubleargument\correspondence_option_setup [\v!memo]}
-\def\setupmemo {\dodoubleargument\correspondence_setup [\v!memo]}
+\def\setupmemostyle {\dotripleargument\correspondence_style_setup [\v!memo]}
+\def\setupmemolayer {\dotripleargument\correspondence_layer_setup [\v!memo]}
+\def\setupmemoframe {\dotripleargument\correspondence_frame_setup [\v!memo]}
+\def\setupmemolayout {\dotripleargument\correspondence_layout_setup [\v!memo]}
+\def\setupmemosection {\dotripleargument\correspondence_section_setup [\v!memo]}
+\def\setupmemodescription {\dotripleargument\correspondence_description_setup [\v!memo]}
+\def\setupmemohead {\dotripleargument\correspondence_head_setup [\v!memo]}
+\def\setupmemooptions {\dodoubleargument\correspondence_option_setup [\v!memo]}
+\def\setupmemo {\dodoubleargument\correspondence_setup [\v!memo]}
-\def\usememostyle {\dodoubleargument\correspondence_file_load [\v!memo]}
+\def\setupmemolayeralternative {\dotripleargument\correspondence_layer_alternative_setup [\v!memo]}
+\def\setupmemosectionalternative {\dotripleargument\correspondence_section_alternative_setup [\v!memo]}
-\def\definememoelement {\doquadrupleargument\correspondence_element_define [\v!memo]}
-\def\memoelement {\doquadrupleargument\correspondence_element_place [\v!memo]}
+\def\usememostyle {\dodoubleargument\correspondence_file_load [\v!memo]}
+
+\def\definememoelement {\doquadrupleargument\correspondence_element_define [\v!memo]}
+\def\memoelement {\doquadrupleargument\correspondence_element_place [\v!memo]}
\def\namedmemolayerparameter #element{\namedcorrespondencelayerparameter {\v!memo:#element}}
\def\namedmemoframeparameter #element{\namedcorrespondenceframeparameter {\v!memo:#element}}
@@ -113,78 +119,77 @@
% layer: head
-\definememoelement[\v!layer][\v!head][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!head}}
+% setups -> see s-cor-00.mkvi
% layer: nexthead
-\definememoelement[\v!layer][\v!nexthead][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!nexthead}}
+% setups -> see s-cor-00.mkvi
% layer: lefthead
-\definememoelement[\v!layer][\v!lefthead][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!lefthead}}
+% setups -> see s-cor-00.mkvi
% layer: righthead
-\definememoelement[\v!layer][\v!righthead][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!righthead}}
+% setups -> see s-cor-00.mkvi
% layer: foot
-\definememoelement[\v!layer][\v!foot][\v!pagenumber]
- {\centerbox{\hbox{\begstrut\leftmemotext\c!pagenumber\subpagenumber\rightmemotext\c!pagenumber\lastsubpagenumber\endstrut}}}
+\definememolayeralternative[\v!foot:\v!pagenumber][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!foot:\v!pagenumber]
+
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!foot:\v!pagenumber]
+ \centerbox{\hbox{\begstrut\leftmemotext\c!pagenumber\subpagenumber\rightmemotext\c!pagenumber\lastsubpagenumber\endstrut}}
+\stopsetups
% layer: topmark
-\definememoelement[\v!layer][\v!topmark][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!topmark}}
+% setups -> see s-cor-00.mkvi
% layer: botmark
-\definememoelement[\v!layer][\v!botmark][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!botmark}}
+% setups -> see s-cor-00.mkvi
% layer: cutmark
-\definememoelement[\v!layer][\v!cutmark][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!cutmark}}
+% setups -> see s-cor-00.mkvi
% layer: endmark
-\definememoelement[\v!layer][\v!endmark][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!endmark}}
+% setups -> see s-cor-00.mkvi
% layer: usermark
-\definememoelement[\v!layer][\v!usermark][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!usermark}}
+% setups -> see s-cor-00.mkvi
% layer: memomain
-\definememoelement[\v!layer][\v!memomain][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!memomain}}
+% setups -> see s-cor-00.mkvi
% layer: memonext
-\definememoelement[\v!layer][\v!memonext][\v!setups]
- {\texsetup{\v!memo:\v!layer:\v!memonext}}
+% setups -> see s-cor-00.mkvi
% section: head
-\definememoelement[\v!section][\v!head][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!fromaddress}
+\definememosectionalternative[\v!head:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!head:\s!default]
+\definememosectionalternative[\v!head:\v!memo ][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!head:\v!memo ]
+\definememosectionalternative[\v!head:\v!table ][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!head:\v!table ]
+\definememosectionalternative[\v!head:\v!margin ][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!head:\v!margin ]
-\definememoelement[\v!section][\v!head][\v!memo]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \startpacked
- \doifsomething{\correspondenceparameter\c!fromname}{\memotext\c!fromname \correspondenceparameter\c!fromname \par}
- \doifsomething{\correspondenceparameter\c!date }{\memotext\c!date \correspondenceparameter\c!date \par}
- \doifsomething{\correspondenceparameter\c!toname }{\memotext\c!toname \correspondenceparameter\c!toname \par}
- \doifsomething{\correspondenceparameter\c!subject }{\memotext\c!subject \correspondenceparameter\c!subject \par}
- \stoppacked}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!head:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!fromaddress
+\stopsetups
+
+\startsetups[\v!head:\v!memo]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \startpacked
+ \doifsomething{\correspondenceparameter\c!fromname}{\memotext\c!fromname \correspondenceparameter\c!fromname \par}
+ \doifsomething{\correspondenceparameter\c!date }{\memotext\c!date \correspondenceparameter\c!date \par}
+ \doifsomething{\correspondenceparameter\c!toname }{\memotext\c!toname \correspondenceparameter\c!toname \par}
+ \doifsomething{\correspondenceparameter\c!subject }{\memotext\c!subject \correspondenceparameter\c!subject \par}
+ \stoppacked
+\stopsetups
\unexpanded\def\correspondence_memo_head_table#element%
{\doifsomething{\correspondenceparameter#element}
@@ -198,14 +203,15 @@
\correspondenceparameter#element
\NC\NR}}
-\definememoelement[\v!section][\v!head][\v!table]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \starttabulate[|l|p|]
- \correspondence_memo_head_table\c!fromname
- \correspondence_memo_head_table\c!date
- \correspondence_memo_head_table\c!toname
- \correspondence_memo_head_table\c!subject
- \stoptabulate}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!head:\v!table]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \starttabulate[|l|p|]
+ \correspondence_memo_head_table\c!fromname
+ \correspondence_memo_head_table\c!date
+ \correspondence_memo_head_table\c!toname
+ \correspondence_memo_head_table\c!subject
+ \stoptabulate
+\stopsetups
\unexpanded\def\correspondence_memo_head_margin#element%
{\doifsomething{\correspondenceparameter#element}
@@ -221,113 +227,113 @@
\egroup
\par}}
-\definememoelement[\v!section][\v!head][\v!margin]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \startpacked
- \correspondence_memo_head_margin\c!fromname
- \correspondence_memo_head_margin\c!date
- \correspondence_memo_head_margin\c!toname
- \correspondence_memo_head_margin\c!subject
- \stoppacked}
-
-\definememoelement[\v!section][\v!head][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!head}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!head:\v!margin]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \startpacked
+ \correspondence_memo_head_margin\c!fromname
+ \correspondence_memo_head_margin\c!date
+ \correspondence_memo_head_margin\c!toname
+ \correspondence_memo_head_margin\c!subject
+ \stoppacked
+\stopsetups
% section: date
-\definememoelement[\v!section][\v!date][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!date}
+\definememosectionalternative[\v!date:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!date:\s!default]
-\definememoelement[\v!section][\v!date][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!date}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!date:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!date
+\stopsetups
% section: reference
-\definememoelement[\v!section][\v!reference][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!reference}
+\definememosectionalternative[\v!reference:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!reference:\s!default]
-\definememoelement[\v!section][\v!reference][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!reference}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!reference:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!reference
+\stopsetups
% section: specialnotation
-\definememoelement[\v!section][\v!specialnotation][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!dispatch}
+\definememosectionalternative[\v!specialnotation:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!specialnotation:\s!default]
-\definememoelement[\v!section][\v!specialnotation][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!specialnotation}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!specialnotation:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!dispatch
+\stopsetups
% section: address
-\definememoelement[\v!section][\v!address][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!toname
- \doifsomething{\correspondenceparameter\c!toname}\\
- \correspondenceparameter\c!toaddress}
+\definememosectionalternative[\v!address:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!address:\s!default]
-\definememoelement[\v!section][\v!address][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!address}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!address:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!toname
+ \doifsomething{\correspondenceparameter\c!toname}\\
+ \correspondenceparameter\c!toaddress
+\stopsetups
% section: title
-\definememoelement[\v!section][\v!title][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!title}
+\definememosectionalternative[\v!title:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!title:\s!default]
-\definememoelement[\v!section][\v!title][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!title}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!title:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!title
+\stopsetups
% section: opening
-\definememoelement[\v!section][\v!opening][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!opening}
+\definememosectionalternative[\v!opening:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!opening:\s!default]
-\definememoelement[\v!section][\v!opening][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!opening}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!opening:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!opening
+\stopsetups
% section: subject
-\definememoelement[\v!section][\v!subject][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \memotext\c!subject\correspondenceparameter\c!subject}
+\definememosectionalternative[\v!subject:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!subject:\s!default]
-\definememoelement[\v!section][\v!subject][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!subject}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!subject:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \memotext\c!subject\correspondenceparameter\c!subject
+\stopsetups
% section: content
-\definememoelement[\v!section][\v!content][\s!default]
- {\getbufferdata[\????correspondencebuffer\v!memo]}
+\definememosectionalternative[\v!content:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!content:\s!default]
-\definememoelement[\v!section][\v!content][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!content}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!content:\s!default]
+ \getbufferdata[\????correspondencebuffer\v!memo]
+\stopsetups
% section: closing
-\definememoelement[\v!section][\v!closing][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \correspondenceparameter\c!closing
- \doifsomething{\correspondenceparameter\c!signature}
- {\blank[\correspondencesectionparameter\c!spaceinbetween]%
- \correspondenceparameter\c!signature}}
+\definememosectionalternative[\v!closing:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!closing:\s!default]
-\definememoelement[\v!section][\v!closing][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!closing}}
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!closing:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]
+ \correspondenceparameter\c!signature}
+\stopsetups
% section: appendices
-\definememoelement[\v!section][\v!appendices][\s!default]
- {\def\\{\correspondencesectionparameter\c!separator}%
- \startpacked
- \normalexpanded{\processcommalistwithparameters[\correspondence_elements_access\v!memo\v!description]}{\correspondence_description_place[\v!memo]}%
- \stoppacked}
+\definememosectionalternative[\v!appendices:\s!default][\c!renderingsetup=\????correspondencesectionrenderings:\v!memo:\v!appendices:\s!default]
+
+\startsetups[\????correspondencesectionrenderings:\v!memo:\v!appendices:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}%
+ \startpacked
+ \normalexpanded{\processcommalistwithparameters[\correspondence_elements_access\v!memo\v!description]}{\correspondence_description_place[\v!memo]}%
+ \stoppacked
+\stopsetups
-\definememoelement[\v!section][\v!appendices][\v!setups]
- {\texsetup{\v!memo:\v!section:\v!appendices}}
+% for backwards compatibility
\startsetups[\v!memo:\v!place]
\correspondence_place[\v!memo]
diff --git a/Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkii b/Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkii
index b841f3bd04e..116e584a50a 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkii
+++ b/Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkii
@@ -55,8 +55,8 @@
[\v!title,\v!subject,\v!opening,\v!content,\v!closing,\v!appendices]
[\c!alternative=\v!setups]
-\startsetups[\v!letter:\v!section:\v!content] % otherwise no text is shown
-\letterelement[\v!section][\v!content][\s!default]
-\stopsetups
+% \setuplettersection % otherwise no text is shown
+% [\v!content]
+% [\c!alternative=\s!default]
\endinput
diff --git a/Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkiv b/Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkiv
index b841f3bd04e..116e584a50a 100644
--- a/Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkiv
+++ b/Master/texmf-dist/tex/context/third/letter/style/letter-imp-setups.mkiv
@@ -55,8 +55,8 @@
[\v!title,\v!subject,\v!opening,\v!content,\v!closing,\v!appendices]
[\c!alternative=\v!setups]
-\startsetups[\v!letter:\v!section:\v!content] % otherwise no text is shown
-\letterelement[\v!section][\v!content][\s!default]
-\stopsetups
+% \setuplettersection % otherwise no text is shown
+% [\v!content]
+% [\c!alternative=\s!default]
\endinput