diff options
Diffstat (limited to 'tex/context/base/core-des.tex')
-rw-r--r-- | tex/context/base/core-des.tex | 1083 |
1 files changed, 478 insertions, 605 deletions
diff --git a/tex/context/base/core-des.tex b/tex/context/base/core-des.tex index f33b11de1..3c107b6ff 100644 --- a/tex/context/base/core-des.tex +++ b/tex/context/base/core-des.tex @@ -27,213 +27,188 @@ % Op die manier is meer mogelijk en worden \par's geskipt. % % De macro \??dd#1\s!do\c!commando levert de koppeling tussen -% \doornummeren en \doordefinieren. Deze constructie is nodig +% \@@descriptionnumberen en \doordefinieren. Deze constructie is nodig % omdat doornummeren geen argument heeft en omdat subnummers % niet worden genest binnen het hogere niveau. Het commando -% \??dd#1\s!do\c!status moet in dat geval \v!start zijn. +% \??dd#1\s!do\c!state moet in dat geval \v!start zijn. % % herimplementeren met \nextbox en \unhbox\unvbox -\newbox\@@definitiebox +\newbox\@@descriptionbox -\def\@@definitiewoord#1% - {\getvalue{\??dd#1\s!do\c!commando}{#1}} +\def\@@descriptionhandler#1% + {\getvalue{\??dd#1\s!do\c!command}{#1}} -% \def\normal@@definitiewoord#1[#2]#3#4% -% {\doattributes -% {\??dd#1}\c!kopletter\c!kopkleur -% {\getvalue{\??dd#1\c!commando}% NAAR BUITENSTE NIVEAU ! -% {\begstrut\getvalue{\??dd#1\c!tekst}#4\endstrut}}% -% \rawreference\s!def{#2}{#3}} - -\def\normal@@definitiewoord#1[#2]#3#4% +\def\normal@@descriptionhandler#1[#2]#3#4% {\doattributes - {\??dd#1}\c!kopletter\c!kopkleur - {\getvalue{\??dd#1\c!commando}{#4}}% NAAR BUITENSTE NIVEAU ! + {\??dd#1}\c!headstyle\c!headcolor + {\getvalue{\??dd#1\c!command}{#4}}% NAAR BUITENSTE NIVEAU ! \rawreference\s!def{#2}{#3}} % brrr moet in #4 -\setvalue{@@definitie\v!links}#1% - {\@@definitiehang{#1}\@@definitielinkspure\@@definitielinkshang} +\setvalue{@@description\v!left}#1% + {\@@descriptionhang{#1}\@@descriptionleftpure\@@descriptionlefthang} -\setvalue{@@definitie\v!rechts}#1% - {\@@definitiehang{#1}\@@definitierechtspure\@@definitierechtshang} +\setvalue{@@description\v!right}#1% + {\@@descriptionhang{#1}\@@descriptionrightpure\@@descriptionrighthang} -\def\@@definitiehang#1#2#3% +\def\@@descriptionhang#1#2#3% {\processaction [\getvalue{\??dd#1\c!hang}] - [ \v!geen=>\let\next#2,% + [ \v!none=>\let\next#2,% 0=>\let\next#2,% \s!unknown=>\let\next#3,% \s!default=>\let\next#2]% \next{#1}} -\def\@@definitielinkspure#1[#2]#3% - {\@@dostartdefinitie{#1}[#2]{#3}% +\def\@@descriptionleftpure#1[#2]#3% + {\@@dostartdescription{#1}[#2]{#3}% \noindent\ignorespaces - \leftskip\@@leftdefinitieskip - \rightskip\@@rightdefinitieskip + \leftskip\@@leftdescriptionskip + \rightskip\@@rightdescriptionskip \advance\leftskip \!!widtha - \@@makedefinitiepurebox{#1}\raggedright + \@@makedescriptionpurebox{#1}\raggedright \advance\leftskip \!!widthb \llap {\hbox to \leftskip - {\hskip\@@leftdefinitieskip - \copy\@@definitiebox\hss}}% - \@@dodefinitie{#1}} + {\hskip\@@leftdescriptionskip + \copy\@@descriptionbox\hss}}% + \@@dodescription{#1}} -\def\@@definitierechtspure#1[#2]#3% - {\@@dostartdefinitie{#1}[#2]{#3}% +\def\@@descriptionrightpure#1[#2]#3% + {\@@dostartdescription{#1}[#2]{#3}% \noindent\ignorespaces - \leftskip\@@leftdefinitieskip - \rightskip\@@rightdefinitieskip + \leftskip\@@leftdescriptionskip + \rightskip\@@rightdescriptionskip \advance\rightskip \!!widtha - \@@makedefinitiepurebox{#1}\raggedleft + \@@makedescriptionpurebox{#1}\raggedleft \rlap {\hskip\hsize \hskip-\leftskip \hskip-\rightskip - \copy\@@definitiebox - \hskip\@@rightdefinitieskip}% + \copy\@@descriptionbox + \hskip\@@rightdescriptionskip}% \advance\rightskip \!!widthb - \@@dodefinitie{#1}} + \@@dodescription{#1}} -\def\@@makedefinitiepurebox#1#2% - {\setbox\@@definitiebox\vtop - {\mindermeldingen +\def\@@makedescriptionpurebox#1#2% + {\setbox\@@descriptionbox\vtop + {\dontcomplain \hsize\!!widtha \leftskip\zeropoint \rightskip\zeropoint - #2\setupalign[\getvalue{\??dd#1\c!uitlijnen}]% - \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}% - \ht\@@definitiebox\strutht - \dp\@@definitiebox\strutdp} - -\def\@@definitielinkshang#1[#2]#3% - {\@@dostartdefinitie{#1}[#2]{#3}% - \mindermeldingen + #2\setupalign[\getvalue{\??dd#1\c!align}]% + \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox}% + \ht\@@descriptionbox\strutht + \dp\@@descriptionbox\strutdp} + +\def\@@descriptionlefthang#1[#2]#3% + {\@@dostartdescription{#1}[#2]{#3}% + \dontcomplain \advance\!!widtha \!!widthb \hangindent\!!widtha - \@@makedefinitiehangbox{#1}\raggedright{\advance\rightskip \!!widthb}% + \@@makedescriptionhangbox{#1}\raggedright{\advance\rightskip \!!widthb}% \noindent\ignorespaces \llap {\dontshowcomposition - \vtop to \zeropoint{\box\@@definitiebox}}% - \@@dodefinitie{#1}}% + \vtop to \zeropoint{\box\@@descriptionbox}}% + \@@dodescription{#1}}% -\def\@@definitierechtshang#1[#2]#3% - {\@@dostartdefinitie{#1}[#2]{#3}% - \mindermeldingen +\def\@@descriptionrighthang#1[#2]#3% + {\@@dostartdescription{#1}[#2]{#3}% + \dontcomplain \advance\!!widtha \!!widthb \hangindent-\!!widtha - \@@makedefinitiehangbox{#1}\raggedleft{\advance\leftskip \!!widthb}% + \@@makedescriptionhangbox{#1}\raggedleft{\advance\leftskip \!!widthb}% \noindent\ignorespaces \rlap - {\mindermeldingen + {\dontcomplain \dontshowcomposition - \dimen0=\hsize - \advance\dimen0 -\leftskip - \advance\dimen0 -\rightskip - \hbox to \dimen0 - {\hss\vtop to \zeropoint{\box\@@definitiebox}}}% - \@@dodefinitie{#1}} - -\def\@@makedefinitiehangbox#1#2#3% - {\setbox\@@definitiebox\vtop % \vbox gaat fout in hang + \scratchdimen\hsize + \advance\scratchdimen -\leftskip + \advance\scratchdimen -\rightskip + \hbox to \scratchdimen + {\hss\vtop to \zeropoint{\box\@@descriptionbox}}}% + \@@dodescription{#1}} + +\def\@@makedescriptionhangbox#1#2#3% + {\setbox\@@descriptionbox\vtop % \vbox gaat fout in hang {\forgetall - \mindermeldingen + \dontcomplain \hsize\!!widtha - #2\setupalign[\getvalue{\??dd#1\c!uitlijnen}]#3% - \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}% - \ht\@@definitiebox\strutht - \dp\@@definitiebox\strutdp - \doifinsetelse{\getvalue{\??dd#1\c!hang}}{\v!passend,\v!ruim} - {\dimen0=\ht\@@definitiebox - \advance\dimen0 \dp\@@definitiebox - \doifvalue{\??dd#1\c!hang}\v!ruim - {\advance\dimen0 .5\strutht}% - \getnoflines{\dimen0}% + #2\setupalign[\getvalue{\??dd#1\c!align}]#3% + \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox}% + \ht\@@descriptionbox\strutht + \dp\@@descriptionbox\strutdp + \doifinsetelse{\getvalue{\??dd#1\c!hang}}{\v!fit,\v!broad} + {\scratchdimen\ht\@@descriptionbox + \advance\scratchdimen \dp\@@descriptionbox + \doifvalue{\??dd#1\c!hang}\v!broad + {\advance\scratchdimen .5\strutht}% + \getnoflines\scratchdimen \hangafter-\noflines} {\hangafter-\getvalue{\??dd#1\c!hang}}}% -\setvalue{@@definitie\v!boven}#1[#2]#3% - {%\pagina[\v!voorkeur]% % Weg ermee! +\setvalue{@@description\v!top}#1[#2]#3% + {%\page[\v!preference]% % Weg ermee! %\dosomebreak{\goodbreak}% % Dit is beter en nodig! - \dohandelpaginaafX1 % En dit moet het maar worden. - \@@dostartdefinitie{#1}[#2]{\let\\=\space#3}% + \dohandelpaginaafX\plusone % En dit moet het maar worden. + \@@dostartdescription{#1}[#2]{\let\\=\space#3}% \noindent\ignorespaces - \copy\@@definitiebox\par + \copy\@@descriptionbox\par \nobreak - \getvalue{\??dd#1\c!tussen}% + \getvalue{\??dd#1\c!inbetween}% \nobreak - \@@dodefinitie{#1}} - -% \setvalue{@@definitie\v!inmarge}#1[#2]#3% -% {\@@dostartdefinitie{#1}[#2]{#3}% -% \noindent\ignorespaces -% \inmarge{\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}% -% \@@dodefinitie{#1}} -% -% \setvalue{@@definitie\v!inlinker}#1[#2]#3% -% {\@@dostartdefinitie{#1}[#2]{#3}% -% \noindent\ignorespaces -% \inlinker{\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}% -% \@@dodefinitie{#1}} -% -% \setvalue{@@definitie\v!inrechter}#1[#2]#3% -% {\@@dostartdefinitie{#1}[#2]{#3}% -% \noindent\ignorespaces -% \inrechter{\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}% -% \@@dodefinitie{#1}} - -\def\do@@definitie#1#2[#3]#4% - {\@@dostartdefinitie{#2}[#3]{#4}% - \noindent\ignorespaces - #1{\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox}% - \@@dodefinitie{#2}} - -\setvalue{@@definitie\v!inmarge }{\do@@definitie\inmarge } -\setvalue{@@definitie\v!inlinker }{\do@@definitie\inlinker } -\setvalue{@@definitie\v!inrechter }{\do@@definitie\inrechter} -\setvalue{@@definitie\v!marge }{\do@@definitie\inmarge } -\setvalue{@@definitie\v!linkermarge }{\do@@definitie\inlinker } -\setvalue{@@definitie\v!rechtermarge}{\do@@definitie\inrechter} -\setvalue{@@definitie\v!binnenmarge }{\do@@definitie\inbinnen } -\setvalue{@@definitie\v!buitenmarge }{\do@@definitie\inbuiten } - -\def\@@definitieaanelkaarpassend#1[#2]#3% - {\@@dostartdefinitie{#1}[#2]{#3}% + \@@dodescription{#1}} + +\def\do@@description#1#2[#3]#4% + {\@@dostartdescription{#2}[#3]{#4}% + \noindent\ignorespaces % not needed this ignore + #1{\ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox}% + \@@dodescription{#2}} + +\setvalue{@@description\v!inmargin }{\do@@description\inmargin} +\setvalue{@@description\v!inleft }{\do@@description\inleft } +\setvalue{@@description\v!inright }{\do@@description\inright } +\setvalue{@@description\v!margin }{\do@@description\inmargin} +\setvalue{@@description\v!leftmargin }{\do@@description\inleft } +\setvalue{@@description\v!rightmargin }{\do@@description\inright } +\setvalue{@@description\v!innermargin }{\do@@description\ininner } +\setvalue{@@description\v!outermargin }{\do@@description\inouter } + +\setvalue{@@description\v!serried\v!fit}#1[#2]#3% + {\@@dostartdescription{#1}[#2]{#3}% \noindent\ignorespaces - \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox + \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox \hskip\!!widthb % toegevoegd - \@@dodefinitie{#1}} + \@@dodescription{#1}} -\def\@@definitieaanelkaarruim#1[#2]#3% - {\@@dostartdefinitie{#1}[#2]{#3}% +\setvalue{@@description\v!serried\v!broad}#1[#2]#3% + {\@@dostartdescription{#1}[#2]{#3}% \noindent\ignorespaces - \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox + \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox \hskip\!!widthb \!!plus .5\!!widthb \!!minus .25\!!widthb - \@@dodefinitie{#1}} + \@@dodescription{#1}} -\def\@@definitieaanelkaarbreed#1[#2]#3% - {\@@dostartdefinitie{#1}[#2]{#3}% +\setvalue{@@description\v!serried\v!wide}#1[#2]#3% + {\@@dostartdescription{#1}[#2]{#3}% \noindent\ignorespaces \hbox to \!!widtha - {\ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox\hss}% + {\ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox\hss}% \hskip\!!widthb \ignorespaces - \@@dodefinitie{#1}} + \@@dodescription{#1}} -\setvalue{@@definitie\v!aanelkaar}#1[#2]#3% +\setvalue{@@description\v!serried}#1[#2]#3% {\processaction - [\getvalue{\??dd#1\c!breedte}] - [\v!passend=>\let\next\@@definitieaanelkaarpassend, - \v!ruim=>\let\next\@@definitieaanelkaarruim, - \s!unknown=>\let\next\@@definitieaanelkaarbreed, - \s!default=>\let\next\@@definitieaanelkaarruim]% - \next{#1}[#2]{#3}} - -\setvalue{@@definitie\v!hangend}#1[#2]#3% - {\@@dostartdefinitie{#1}[#2]{#3}% % adds \c!marge to \leftskip + [\getvalue{\??dd#1\c!width}] + [ \v!fit=>\let\next\v!fit, + \v!broad=>\let\next\v!broad, + \s!unknown=>\let\next\v!wide, + \s!default=>\let\next\v!broad]% + \getvalue{@@description\v!serried\next}{#1}[#2]{#3}} + +\setvalue{@@description\v!hanging}#1[#2]#3% + {\@@dostartdescription{#1}[#2]{#3}% % adds \c!margin to \leftskip \noindent\ignorespaces \advance\leftskip -\leftskipadaption \relax \ifdim\leftskipadaption=\zeropoint @@ -248,634 +223,532 @@ \advance\leftskip \leftskipadaption \fi \hskip-\leftskipadaption - \ifhbox\@@definitiebox\unhcopy\else\copy\fi\@@definitiebox - \ifdim\!!widthb=\zeropoint - \kern.75em % another default - \else - \kern\!!widthb - \fi + \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox + \kern\ifdim\!!widthb=\zeropoint .75em\else\!!widthb\fi \ignorespaces - \@@dodefinitie{#1}} + \@@dodescription{#1}} -%D A new key 'titeluitlijnen' in definitions. +%D A bonus definition +%D +%D \starttyping +%D \setupfootnotedefinition[location=command,headcommand=\llap] +%D \stoptyping + +\setvalue{@@description\v!command}#1% + {\do@@description{\executeifdefined{\??dd#1\c!headcommand}\framed}{#1}} + +%D A new key 'headalign' in definitions. \chardef\insidedefinition=0 -\let\@@leftdefinitieskip \!!zeropoint -\let\@@rightdefinitieskip\!!zeropoint +\let\@@leftdescriptionskip \!!zeropoint +\let\@@rightdescriptionskip\!!zeropoint -\def\@@dostartdefinitie#1[#2]#3% - {\getvalue{\??dd#1\c!voor}% +\def\@@dostartdescription#1[#2]#3% + {\getvalue{\??dd#1\c!before}% \begingroup - \doadaptleftskip{\getvalue{\??dd#1\c!marge}}% + \doadaptleftskip{\getvalue{\??dd#1\c!margin}}% \showcomposition - \!!widthb\getvalue{\??dd#1\c!afstand}\relax + \!!widthb\getvalue{\??dd#1\c!distance}\relax \ifdim\!!widthb=\zeropoint\relax - \doifvalue{\??dd#1\c!breedte}\v!ruim{\!!widthb=1em}% + \doifvalue{\??dd#1\c!width}\v!broad{\!!widthb=1em}% \fi % temp hack, we need to avoid this kind of preprocessing - \setbox\@@definitiebox\hbox % preroll + \setbox\@@descriptionbox\hbox % preroll {\forgetall \trialtypesettingtrue - \mindermeldingen - \def\\{\crcr}% - \@@definitiewoord{#1}[#2]{#3}% - {\begstrut\getvalue{\??dd#1\c!tekst}\ignorespaces#3\endstrut}}% + \dontcomplain + \def\\{\crlf}% + \@@descriptionhandler{#1}[#2]{#3}% + {\begstrut\getvalue{\??dd#1\c!text}\ignorespaces#3\endstrut}}% % so far \assignwidth {\!!widtha}% - {\getvalue{\??dd#1\c!breedte}}% - {\doifelsevaluenothing{\??dd#1\c!monster}% + {\getvalue{\??dd#1\c!width}}% + {\doifelsevaluenothing{\??dd#1\c!sample}% {% preroll can move here (test first) - \ifhbox\@@definitiebox\unhcopy\else\copy\fi \@@definitiebox}% - {\@@definitiewoord{#1}[#2]{#3}% - {\getvalue{\??dd#1\c!tekst}\getvalue{\??dd#1\c!monster}}}} + \ifhbox\@@descriptionbox\unhcopy\else\copy\fi \@@descriptionbox}% + {\@@descriptionhandler{#1}[#2]{#3}% + {\getvalue{\??dd#1\c!text}\getvalue{\??dd#1\c!sample}}}} {\!!widthb}% - \setbox\@@definitiebox\hbox + \setbox\@@descriptionbox\hbox {\forgetall - \mindermeldingen + \dontcomplain \let\\\endgraf - \doifelsevalue{\??dd#1\c!plaats}\v!aanelkaar - {\@@definitiewoord{#1}[#2]{#3}% - {\begstrut\getvalue{\??dd#1\c!tekst}#3\endstrut}} - {\@@definitiewoord{#1}[#2]{#3}% + \doifelsevalue{\??dd#1\c!location}\v!serried + {\@@descriptionhandler{#1}[#2]{#3}% + {\begstrut\getvalue{\??dd#1\c!text}#3\endstrut}} + {\@@descriptionhandler{#1}[#2]{#3}% {\vtop{\hsize\!!widtha\advance\hsize-\!!widthb - \begstrut\getvalue{\??dd#1\c!tekst}\ignorespaces#3\endstrut}}}}% - \doifelsevalue{\??dd#1\c!titeluitlijnen}\v!nee - {\edef\@@leftdefinitieskip {\the\leftskip }% - \edef\@@rightdefinitieskip{\the\rightskip}} + \begstrut\getvalue{\??dd#1\c!text}\ignorespaces#3\endstrut}}}}% + \doifelsevalue{\??dd#1\c!aligntitle}\v!no + {\edef\@@leftdescriptionskip {\the\leftskip }% + \edef\@@rightdescriptionskip{\the\rightskip}} {\ifcase\insidedefinition - \edef\@@leftdefinitieskip {\the\leftskip }% - \edef\@@rightdefinitieskip{\the\rightskip}% + \edef\@@leftdescriptionskip {\the\leftskip }% + \edef\@@rightdescriptionskip{\the\rightskip}% \fi}% - \expanded{\inspringen[\getvalue{\??dd#1\c!inspringen}]}% + \expanded{\indenting[\getvalue{\??dd#1\c!indenting}]}% \ifcase\insidedefinition % better a system mode \chardef\insidedefinition\plusone \or \chardef\insidedefinition\plustwo \fi} % now happens elsewhere : \noindent\ignorespaces -\def\@@stopdefinitie#1% +\def\@@stopdescription#1% {\par % maybe better after \dostopattributes \dostopattributes \endgroup - \getvalue{\??dd#1\c!na}% + \getvalue{\??dd#1\c!after}% \egroup % temporary hack \dochecknextindentation{\??dd#1}} -\def\@@dodefinitie#1% - {\dostartattributes{\??dd#1}\c!letter\c!kleur\empty +\def\@@dodescription#1% + {\dostartattributes{\??dd#1}\c!style\c!color\empty \ignorespaces} -% \def\@@somedefinitie#1[#2]#3% -% {\bgroup % temporary hack -% \BeforePar{\executedoordefinitie{#1}[#2]{#3}}% -% \AfterPar{\@@stopdefinitie{#1}}% -% \GetPar} -% -% nicer and better: - -\def\@@somedefinitie#1[#2]#3% +\def\@@somedescription#1[#2]#3% {\dowithpar - {\bgroup\executedoordefinitie{#1}[#2]{#3}}% - {\@@stopdefinitie{#1}}} + {\bgroup\@@makedescription{#1}[#2]{#3}}% + {\@@stopdescription{#1}}} -\def\@@startsomedefinitie#1[#2]#3% +\def\@@startsomedescription#1[#2]#3% {\bgroup % temporary hack - \BeforePar{\executedoordefinitie{#1}[#2]{#3}}% + \BeforePar{\@@makedescription{#1}[#2]{#3}}% \GotoPar} -\def\dodosteldoordefinierenin[#1][#2]% +\def\dodosetupdescriptions[#1][#2]% {\getparameters[\??dd#1][#2]} -\def\dosteldoordefinierenin[#1][#2]% % beter: \iffirstargument +\def\dosetupdescriptions[#1][#2]% % beter: \iffirstargument {\ConvertToConstant\doifelse{#2}{} - {\dodosteldoordefinierenin[][#1]} - {\dodoubleargumentwithset\dodosteldoordefinierenin[#1][#2]}} + {\dodosetupdescriptions[][#1]} + {\dodoubleargumentwithset\dodosetupdescriptions[#1][#2]}} -\def\steldoordefinierenin% - {\dodoubleempty\dosteldoordefinierenin} +\def\setupdescriptions + {\dodoubleempty\dosetupdescriptions} -\def\executedoordefinitie#1[#2]% - {\ExpandAfter\doifundefined{@@definitie\getvalue{\??dd#1\c!plaats}} - {\setvalue{\??dd#1\c!plaats}{\v!links}}% - \getvalue{@@definitie\getvalue{\??dd#1\c!plaats}}{#1}[#2]} +\def\@@makedescription#1[#2]% + {\ExpandAfter\doifundefined{@@description\getvalue{\??dd#1\c!location}} + {\setvalue{\??dd#1\c!location}{\v!left}}% + \getvalue{@@description\getvalue{\??dd#1\c!location}}{#1}[#2]} -\def\dodoordefinieren[#1][#2]% +\def\dodefinedescription[#1][#2]% {\copyparameters[\??dd#1][\??dd] - [\c!plaats,\c!kopletter,\c!letter,\c!kleur,\c!kopkleur, - \c!breedte,\c!hang,\c!monster,\c!voor,\c!tussen,\c!na,\c!marge, - \c!inspringen,\c!springvolgendein,\c!uitlijnen, - \c!tekst,\c!afstand,\c!commando]% + [\c!location,\c!headstyle,\c!style,\c!color,\c!headcolor, + \c!width,\c!hang,\c!sample,\c!before,\c!inbetween,\c!after,\c!margin, + \c!indenting,\c!indentnext,\c!align,\c!text,\c!distance,\c!command]% \getparameters[\??dd#1] - [\s!do\c!status=\v!stop, - \s!do\c!commando=\normal@@definitiewoord, + [\s!do\c!state=\v!stop, + \s!do\c!command=\normal@@descriptionhandler, #2]% - \doifvalue{\??dd#1\c!plaats}\v!boven - {\doassign[\??dd#1][\c!tussen={\blanko}]}% - \setvalue{#1}% - {\dodoubleempty\@@definitie[#1]}% - \setvalue{\e!start#1}% - {\dodoubleempty\@@startdefinitie[#1]}% - \setvalue{\e!stop#1}% - {\@@stopdefinitie{#1}}}% - -\def\@@startdefinitie[#1][#2]% - {\doifelsevalue{\??dd#1\s!do\c!status}\v!start - {\@@startsomedefinitie{#1}[#2]{}} - {\dowithwargument{\@@startsomedefinitie{#1}[#2]}}} - -\def\@@definitie[#1][#2]% - {\doifelsevalue{\??dd#1\s!do\c!status}\v!start - {\@@somedefinitie{#1}[#2]{}} - {\dowithwargument{\@@somedefinitie{#1}[#2]}}} - -\def\doordefinieren% - {\dodoubleemptywithset\dodoordefinieren} + \doifvalue{\??dd#1\c!location}\v!top + {\doassign[\??dd#1][\c!inbetween=\blank]}% + \setvalue {#1}{\dodoubleempty\@@description[#1]}% + \setvalue{\e!start#1}{\dodoubleempty\@@startdescription[#1]}% + \setvalue{\e!stop #1}{\@@stopdescription{#1}}}% + +\def\@@startdescription[#1][#2]% + {\doifelsevalue{\??dd#1\s!do\c!state}\v!start + {\@@startsomedescription{#1}[#2]{}} + {\dowithwargument{\@@startsomedescription{#1}[#2]}}} + +\def\@@description[#1][#2]% + {\doifelsevalue{\??dd#1\s!do\c!state}\v!start + {\@@somedescription{#1}[#2]{}} + {\dowithwargument{\@@somedescription{#1}[#2]}}} + +\def\definedescription + {\dodoubleemptywithset\dodefinedescription} \def\showdnpuretext#1% - {\strut\getvalue{\??dd#1\c!tekst}} % geen spatie - -% \def\showdntext#1% -% {\doifelsevaluenothing{\??dd#1\c!tekst} -% {\ignorespaces} -% {\strut\getvalue{\??dd#1\c!tekst}\fixedspace}} + {\strut\getvalue{\??dd#1\c!text}} % geen spatie \def\showdntext#1% - {\doifelsevaluenothing{\??dd#1\c!tekst} + {\doifelsevaluenothing{\??dd#1\c!text} {\ignorespaces} {\strut - \getvalue{\??dd#1\c!tekst}% + \getvalue{\??dd#1\c!text}% \removeunwantedspaces\fixedspace}} -% \def\showdnnummer#1% -% {\voorafgaandenummer -% \nummer[\getvalue{\??dd#1\??dd\c!nummer}]} - -\def\showdnnummer#1% - {%\preparethenumber{\??dd#1}\voorafgaandenummer\preparednumber - \preparednumber - \nummer[\getvalue{\??dd#1\??dd\c!nummer}]} +\def\showdnnumber#1% + {\preparednumber + \convertednumber[\getvalue{\??dd#1\??dd\c!number}]} -\def\showdnsubnummer#1% - {\showdnnummer{#1}% - \getvalue{\??dd#1\c!scheider}% - \nummer[\v!sub\getvalue{\??dd#1\??dd\c!nummer}]} +\def\showdnsubnumber#1% + {\showdnnumber{#1}% + \getvalue{\??dd#1\c!separator}% + \convertednumber[\v!sub\getvalue{\??dd#1\??dd\c!number}]} -\def\showdnsubsubnummer#1% - {\showdnsubnummer{#1}% - \getvalue{\??dd#1\c!scheider}% - \nummer[\v!sub\v!sub\getvalue{\??dd#1\??dd\c!nummer}]} +\def\showdnsubsubnumber#1% + {\showdnsubnumber{#1}% + \getvalue{\??dd#1\c!separator}% + \convertednumber[\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} -\def\showdnsubsubsubnummer#1% - {\showdnsubsubnummer{#1}% - \getvalue{\??dd#1\c!scheider}% - \nummer[\v!sub\v!sub\v!sub\getvalue{\??dd#1\??dd\c!nummer}]} +\def\showdnsubsubsubnumber#1% + {\showdnsubsubnumber{#1}% + \getvalue{\??dd#1\c!separator}% + \convertednumber[\v!sub\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} -\def\domakednnummer#1#2#3% - {\getvalue{\??dd#2#1\c!links}% +\def\domakednnumber#1#2#3% + {\getvalue{\??dd#2#1\c!left}% \strut#3{#1}% - \getvalue{\??dd#2#1\c!afsluiter}% - \getvalue{\??dd#2#1\c!rechts}} - -% #1=name #2=level #3=\show #4[#5]#6#7=#1[#2]#3#4 van definitie - -% \def\special@@definitiewoord#1#2#3#4[#5]#6#7% -% {\strut -% \doifelsevalue{\??dd#1\c!nummer}\v!nee -% \!!doneafalse -% {\doifelse{#5}{-} -% \!!doneafalse -% \!!doneatrue}% -% \chardef\definitiekoppeling\zerocount -% \iflocation -% \doifvaluesomething{\??dd#1\c!koppeling} -% {\processaction % genereert > of < -% [\getvalue{\??dd#1\c!koppelwijze}] -% [ \v!lokaal=>\chardef\definitiekoppeling1, % old: default -% \v!globaal=>\chardef\definitiekoppeling2]}% new: global crosslinking -% \fi -% \stelnummerin % the number is called indirectly -% [\getvalue{\??dd#1\??dd\c!nummer}] -% [\c!sectienummer=\getvalue{\??dd#1\c!sectienummer}]% -% \if!!donea -% \getvalue{\e!volgende#2#1}% -% \iflocation -% \bgroup -% \letvalue{\??dd#1\c!sectienummer}\v!ja -% \protectconversion -% \maakvoorafgaandenummer[\getvalue{\??dd#1\??dd\c!nummer}]% -% \preparethenumber{\??dd#1}\voorafgaandenummer\preparednumber -% \ifcase\definitiekoppeling \or -% \xdef\internaldoornummer{#3{#1}}% -% \rawreference\s!num{#1:\internaldoornummer}{}% -% \or -% \xdef\internaldoornummer{\countervalue{\??dd\c!koppeling#1}}% -% \rawreference\s!num{#1:\internaldoornummer}{}% -% \fi -% \egroup -% \fi -% \maakvoorafgaandenummer[\getvalue{\??dd#1\??dd\c!nummer}]% -% \preparethenumber{\??dd#1}\voorafgaandenummer\preparednumber -% \hbox -% {\let\normalkap\relax % sorry, uppercase causes troubles -% \doattributes % \nocase primitive needed -% {\??dd#2#1}\c!kopletter\c!kopkleur -% {\getvalue{\??dd#1\c!commando}% hook for taco -% {\showdntext{#2#1}% -% \domakednnummer{#1}{#2}{#3}}}% -% \iflocation\ifcase\definitiekoppeling \else -% \edef\localconnection{\getvalue{\??dd#1\c!koppeling}:\internaldoornummer}% -% \doifreferencefoundelse\localconnection -% % {\in[\localconnection]}{}% genereert > of < -% \fi\fi}% -% \doifnot{#5}{-}{\rawreference\s!num{#5}{#3{#1}}}% -% \else % Why was this strange expansion needed? -% \hbox -% {\edef\!!stringa{\showdnpuretext{#2#1}}% nog eens testen binnen \expanded -% \expanded{\doattributes{\??dd#1}\noexpand\c!kopletter\noexpand\c!kopkleur -% {\noexpand\getvalue{\??dd#1\c!commando}{\!!stringa}}}% -% \doifnot{#5}{-}{\rawreference\s!num{#5}{}}}% -% \fi} - -\def\special@@definitiewoord#1#2#3#4[#5]#6#7% + \getvalue{\??dd#2#1\c!stopper}% + \getvalue{\??dd#2#1\c!right}} + +% #1=name #2=level #3=\show #4[#5]#6#7=#1[#2]#3#4 van description + +\def\special@@descriptionhandler#1#2#3#4[#5]#6#7% {\strut - \doifelsevalue{\??dd#1\c!nummer}\v!nee + \doifelsevalue{\??dd#1\c!number}\v!no \!!doneafalse{\doifelse{#5}{-}\!!doneafalse\!!doneatrue}% - \chardef\definitiekoppeling\zerocount + \chardef\descriptioncoupling\zerocount \iflocation - \doifvaluesomething{\??dd#1\c!koppeling} + \doifvaluesomething{\??dd#1\c!coupling} {\processaction % genereert > of < - [\getvalue{\??dd#1\c!koppelwijze}] - [ \v!lokaal=>\chardef\definitiekoppeling1, % old: default - \v!globaal=>\chardef\definitiekoppeling2]}% new: global crosslinking + [\getvalue{\??dd#1\c!couplingway}] + [ \v!local=>\chardef\descriptioncoupling1, % old: default + \v!global=>\chardef\descriptioncoupling2]}% new: global crosslinking \fi - \stelnummerin % the number is called indirectly - [\getvalue{\??dd#1\??dd\c!nummer}] - [\c!sectienummer=\getvalue{\??dd#1\c!sectienummer}]% + \setupnumber % the number is called indirectly + [\getvalue{\??dd#1\??dd\c!number}] + [\c!sectionnumber=\getvalue{\??dd#1\c!sectionnumber}]% \if!!donea -\iftrialtypesetting\startlocal\fi - \getvalue{\e!volgende#2#1}% tricky but we need the preroll -\iftrialtypesetting\stoplocal\fi - % \getvalue{\e!volgende#2#1}% + \iftrialtypesetting\startlocal\fi + \getvalue{\e!next#2#1}% tricky but we need the preroll + \iftrialtypesetting\stoplocal\fi + % \getvalue{\e!next#2#1}% \iflocation \bgroup - \letvalue{\??dd#1\c!sectienummer}\v!ja + \letvalue{\??dd#1\c!sectionnumber}\v!yes \protectconversion - \maakvoorafgaandenummer[\getvalue{\??dd#1\??dd\c!nummer}]% + \maakvoorafgaandenummer[\getvalue{\??dd#1\??dd\c!number}]% \preparethenumber{\??dd#1}\voorafgaandenummer\preparednumber - \ifcase\definitiekoppeling \or - \xdef\internaldoornummer{#3{#1}}% - \rawreference\s!num{#1:\internaldoornummer}{}% + \ifcase\descriptioncoupling \or + \xdef\@@internalenumber{#3{#1}}% + \rawreference\s!num{#1:\@@internalenumber}{}% \or - \xdef\internaldoornummer{\countervalue{\??dd\c!koppeling#1}}% - \rawreference\s!num{#1:\internaldoornummer}{}% + \xdef\@@internalenumber{\countervalue{\??dd\c!coupling#1}}% + \rawreference\s!num{#1:\@@internalenumber}{}% \fi \egroup \fi - \maakvoorafgaandenummer[\getvalue{\??dd#1\??dd\c!nummer}]% + \maakvoorafgaandenummer[\getvalue{\??dd#1\??dd\c!number}]% \preparethenumber{\??dd#1}\voorafgaandenummer\preparednumber - \let\normalkap\relax % sorry, uppercase causes troubles + \disablepseudocaps % sorry, uppercase causes troubles \doattributes % \nocase primitive needed - {\??dd#1}\c!kopletter\c!kopkleur - {\getvalue{\??dd#1\c!commando}% hook for taco + {\??dd#1}\c!headstyle\c!headcolor + {\getvalue{\??dd#1\c!command}% hook for taco {\showdntext{#2#1}% - \domakednnummer{#1}{#2}{#3}}}% - \iflocation\ifcase\definitiekoppeling \else - \edef\localconnection{\getvalue{\??dd#1\c!koppeling}:\internaldoornummer}% + \domakednnumber{#1}{#2}{#3}}}% + \iflocation\ifcase\descriptioncoupling \else + \edef\localconnection{\getvalue{\??dd#1\c!coupling}:\@@internalenumber}% \doifreferencefoundelse\localconnection {\in[\localconnection]}\donothing % genereert > of < \fi\fi \doifnot{#5}{-}{\rawreference\s!num{#5}{#3{#1}}}% \else % Why was this strange expansion needed? \edef\!!stringa{\showdnpuretext{#2#1}}% nog eens testen binnen \expanded - \expanded{\doattributes{\??dd#1}\noexpand\c!kopletter\noexpand\c!kopkleur - {\noexpand\getvalue{\??dd#1\c!commando}{\!!stringa}}}% + \expanded{\doattributes{\??dd#1}\noexpand\c!headstyle\noexpand\c!headcolor + {\noexpand\getvalue{\??dd#1\c!command}{\!!stringa}}}% \doifnot{#5}{-}{\rawreference\s!num{#5}{}}% \fi} -\def\@@ddsetsubsubsubnummer#1% - {\edef\doornummer{\getvalue{\??dd#1\??dd\c!nummer}}% - \setnumber[\v!sub\v!sub\v!sub\doornummer]} +\setvalue{\??dd\s!set\v!sub\s!sub\s!sub\c!number}#1% + {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% + \setnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]} -\def\@@ddsetsubsubnummer#1% - {\@@ddresetsubsubsubnummer{#1}% - \setnumber[\v!sub\v!sub\doornummer]} +\setvalue{\??dd\s!set\v!sub\s!sub\c!number}#1% + {\@@ddresetsubsubsubnumber{#1}% + \setnumber[\v!sub\v!sub\@@descriptionnumber]} -\def\@@ddsetsubnummer#1% - {\@@ddresetsubsubnummer{#1}% - \setnumber[\v!sub\doornummer]} +\setvalue{\??dd\s!set\v!sub\c!number}#1% + {\@@ddresetsubsubnumber{#1}% + \setnumber[\v!sub\@@descriptionnumber]} -\def\@@ddsetnummer#1% - {\@@ddresetsubnummer{#1}% - \setnumber[\doornummer]} +\setvalue{\??dd\s!set\c!number}#1% + {\@@ddresetsubnumber{#1}% + \setnumber[\@@descriptionnumber]} -\def\@@ddresetsubsubsubnummer#1% - {\edef\doornummer{\getvalue{\??dd#1\??dd\c!nummer}}% - \resetnumber[\v!sub\v!sub\v!sub\doornummer]} +\setvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}#1% + {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% + \resetnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]} -\def\@@ddresetsubsubnummer#1% - {\@@ddresetsubsubsubnummer{#1}% - \resetnumber[\v!sub\v!sub\doornummer]} +\setvalue{\??dd\s!reset\v!sub\v!sub\c!number}#1% + {\@@ddresetsubsubsubnumber{#1}% + \resetnumber[\v!sub\v!sub\@@descriptionnumber]} -\def\@@ddresetsubnummer#1% - {\@@ddresetsubsubnummer{#1}% - \resetnumber[\v!sub\doornummer]} +\setvalue{\??dd\s!reset\v!sub\c!number}#1% + {\@@ddresetsubsubnumber{#1}% + \resetnumber[\v!sub\@@descriptionnumber]} -\def\@@ddresetnummer#1% - {\@@ddresetsubnummer{#1}% - \resetnumber[\doornummer]} +\setvalue{\??dd\s!reset\c!number}#1% + {\@@ddresetsubnumber{#1}% + \resetnumber[\@@descriptionnumber]} -\def\@@ddvolgendesubsubsubnummer#1[#2]% - {\edef\doornummer{\getvalue{\??dd#1\??dd\c!nummer}}% - \verhoognummer[\v!sub\v!sub\v!sub\doornummer]% - \rawreference\s!num{#2}{\showdnsubsubsubnummer{\doornummer}}}% +\setvalue{\??dd\e!next\v!sub\v!sub\v!sub\c!number}#1[#2]% + {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% + \incrementnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]% + \rawreference\s!num{#2}{\showdnsubsubsubnumber{\@@descriptionnumber}}}% -\def\@@ddvolgendesubsubnummer#1[#2]% - {\@@ddresetsubsubsubnummer{#1}% - \verhoognummer[\v!sub\v!sub\doornummer]% - \rawreference\s!num{#2}{\showdnsubsubnummer{\doornummer}}} +\setvalue{\??dd\e!next\v!sub\v!sub\c!number}#1[#2]% + {\@@ddresetsubsubsubnumber{#1}% + \incrementnumber[\v!sub\v!sub\@@descriptionnumber]% + \rawreference\s!num{#2}{\showdnsubsubnumber{\@@descriptionnumber}}} -\def\@@ddvolgendesubnummer#1[#2]% - {\@@ddresetsubsubnummer{#1}% - \verhoognummer[\v!sub\doornummer]% - \rawreference\s!num{#2}{\showdnsubnummer{\doornummer}}} +\setvalue{\??dd\e!next\v!sub\c!number}#1[#2]% + {\@@ddresetsubsubnumber{#1}% + \incrementnumber[\v!sub\@@descriptionnumber]% + \rawreference\s!num{#2}{\showdnsubnumber{\@@descriptionnumber}}} -\def\@@ddvolgendenummer#1[#2]% - {\@@ddresetsubnummer{#1}% - \verhoognummer[\doornummer]% - \rawreference\s!num{#2}{\showdnnummer{\doornummer}}} +\setvalue{\??dd\e!next\c!number}#1[#2]% + {\@@ddresetsubnumber{#1}% + \incrementnumber[\@@descriptionnumber]% + \rawreference\s!num{#2}{\showdnnumber{\@@descriptionnumber}}} -\def\dodosteldoornummerenin[#1][#2]% +\def\dodosetupenumerations[#1][#2]% {\getparameters[\??dd#1][#2]% \doifdefined{\??dd#1\c!start} - {\stelnummerin[#1][\c!start=\getvalue{\??dd#1\c!start}]}% - \stelnummerin[#1][\c!conversie=\getvalue{\??dd#1\c!conversie}]} + {\setupnumber[#1][\c!start=\getvalue{\??dd#1\c!start}]}% + \setupnumber[#1][\c!conversion=\getvalue{\??dd#1\c!conversion}]} -\def\dosteldoornummerenin[#1][#2]% +\def\dosetupenumerations[#1][#2]% {\ConvertToConstant\doifelse{#2}{} {\getparameters[\??dn][#1]} - {\dodoubleargumentwithset\dodosteldoornummerenin[#1][#2]}} + {\dodoubleargumentwithset\dodosetupenumerations[#1][#2]}} -\def\steldoornummerenin% - {\dodoubleempty\dosteldoornummerenin} +\def\setupenumerations + {\dodoubleempty\dosetupenumerations} -\def\dododoornummeren#1#2#3[#4][#5]#6% - {\makecounter{\??dd\c!koppeling#1}% new: global cross linking - \dodoordefinieren[#3#1]% - [\s!do\c!status=\v!start, - \s!do\c!commando=\special@@definitiewoord{#1}{#3}{#6}]% +\def\dododefineenumeration#1#2#3[#4][#5]#6% + {\makecounter{\??dd\c!coupling#1}% new: global cross linking + \dodefinedescription[#3#1]% + [\s!do\c!state=\v!start, + \s!do\c!command=\special@@descriptionhandler{#1}{#3}{#6}]% \copyparameters[\??dd#3#1][\??dn] - [\c!plaats,\c!kopletter,\c!letter,\c!kleur,\c!kopkleur, - \c!breedte,\c!nummer,\c!afstand,\c!commando, - \c!monster,\c!hang,\c!uitlijnen,\c!voor,\c!tussen,\c!na, - \c!niveaus,\c!wijze,\c!blokwijze,\c!scheider,\c!marge, - \c!inspringen,\c!springvolgendein,\c!afsluiter,\c!sectienummer, - \c!nummer]% + [\c!location,\c!headstyle,\c!style,\c!color,\c!headcolor, + \c!width,\c!number,\c!distance,\c!command, + \c!sample,\c!hang,\c!align,\c!before,\c!inbetween,\c!after, + \c!levels,\c!way,\c!blockway,\c!separator,\c!margin, + \c!indenting,\c!indentnext,\c!stopper,\c!sectionnumber, + \c!number]% \doifassignmentelse{#4} {\getparameters[\??dd#3#1]% - [\c!tekst=#1,\??dd\c!nummer=#1,\c!conversie=, - \c!links=,\c!rechts=,\c!koppeling=,\c!koppelwijze=\v!lokaal,#4]}% + [\c!text=#1,\??dd\c!number=#1,\c!conversion=, + \c!left=,\c!right=,\c!coupling=,\c!couplingway=\v!local,#4]}% {\doifelsenothing{#4} {\getparameters[\??dd#3#1]% - [\c!tekst=#1,\??dd\c!nummer=#1,\c!conversie=, - \c!afsluiter=, - \c!links=,\c!rechts=,\c!koppeling=,\c!koppelwijze=,#4]}% + [\c!text=#1,\??dd\c!number=#1,\c!conversion=, + \c!stopper=, + \c!left=,\c!right=,\c!coupling=,\c!couplingway=,#4]}% {\copyparameters[\??dd#3#1][\??dd#3#4] - [\c!plaats,\c!kopletter,\c!letter,\c!kleur,\c!kopkleur, - \c!breedte,\c!nummer,\c!afstand,\c!commando,\c!marge, - \c!monster,\c!hang,\c!uitlijnen,\c!voor,\c!tussen,\c!na, - \c!afsluiter,\c!inspringen,\c!springvolgendein,\c!links,\c!rechts, - \c!koppeling,\c!koppelwijze]% + [\c!location,\c!headstyle,\c!style,\c!color,\c!headcolor, + \c!width,\c!number,\c!distance,\c!command,\c!margin, + \c!sample,\c!hang,\c!align,\c!before,\c!inbetween,\c!after, + \c!stopper,\c!indenting,\c!indentnext,\c!left,\c!right, + \c!coupling,\c!couplingway]% \getparameters[\??dd#3#1] - [\c!tekst=#1,\??dd\c!nummer=#4,\c!conversie=,#5]}}% - \ExpandBothAfter\doif{\getvalue{\??dd#3#1\??dd\c!nummer}}{#1} - {\definieernummer + [\c!text=#1,\??dd\c!number=#4,\c!conversion=,#5]}}% + \ExpandBothAfter\doif{\getvalue{\??dd#3#1\??dd\c!number}}{#1} + {\definenumber [#3#1] - [\c!wijze=\getvalue{\??dd#1\c!wijze}, - \c!blokwijze=\getvalue{\??dd#1\c!blokwijze}, - \c!sectienummer=\getvalue{\??dd#1\c!sectienummer}]% - \doifvalue{\??dd#1\c!niveaus}{#2}% % for - {\doifsomething{\getvalue{\??dd#1\c!conversie}}% % old - {\stelnummerin[#3#1] % times - [\c!conversie=\getvalue{\??dd#1\c!conversie}]}}}% % sake - \setvalue{\s!set#3#1}% - {\dosetdoornummer[#1][#3]}% - \setvalue{\s!reset#3#1}% - {\doresetdoornummer[#1][#3]}% - \setvalue{\e!volgende#3#1}% - {\dotripleempty\dovolgendedoornummer[#1][#3]}} - -\def\dovolgendedoornummer[#1][#2]% - {\pluscounter{\??dd\c!koppeling#1}% new: global crosslinking - \getvalue{\??dd\c!volgende#2\c!nummer}{#1}}% - -\def\doresetdoornummer[#1][#2]% - {\getvalue{\??dd\s!reset#2\c!nummer}{#1}}% - -\def\dosetdoornummer[#1][#2]% - {\getvalue{\??dd\s!set#2\c!nummer}{#1}}% - -\def\dodoornummeren[#1][#2][#3]% - {\dododoornummeren{#1}{1}{}[#2][#3]\showdnnummer - \dododoornummeren{#1}{2}{\v!sub}[#2][#3]\showdnsubnummer - \dododoornummeren{#1}{3}{\v!sub\v!sub}[#2][#3]\showdnsubsubnummer - \dododoornummeren{#1}{4}{\v!sub\v!sub\v!sub}[#2][#3]\showdnsubsubsubnummer} - -\def\doornummeren% - {\dotripleemptywithset\dodoornummeren} + [\c!way=\getvalue{\??dd#1\c!way}, + \c!blockway=\getvalue{\??dd#1\c!blockway}, + \c!sectionnumber=\getvalue{\??dd#1\c!sectionnumber}]% + \doifvalue{\??dd#1\c!levels}{#2}% % for + {\doifsomething{\getvalue{\??dd#1\c!conversion}}% % old + {\setupnumber[#3#1] % times + [\c!conversion=\getvalue{\??dd#1\c!conversion}]}}}% % sake + \setvalue{\s!set #3#1}{\dosetenumerationnumber[#1][#3]}% + \setvalue{\s!reset#3#1}{\doresetenumerationnumber[#1][#3]}% + \setvalue{\e!next #3#1}{\dotripleempty\donextenumerationnumber[#1][#3]}} + +\def\doresetenumerationnumber[#1][#2]% + {\getvalue{\??dd\s!reset#2\c!number}{#1}}% + +\def\dosetenumerationnumber[#1][#2]% + {\getvalue{\??dd\s!set#2\c!number}{#1}}% + +\def\donextenumerationnumber[#1][#2]% + {\pluscounter{\??dd\c!coupling#1}% new: global crosslinking + \getvalue{\??dd\e!next#2\c!number}{#1}}% + +\def\dodefineenumeration[#1][#2][#3]% + {\dododefineenumeration{#1}{1}{}[#2][#3]\showdnnumber + \dododefineenumeration{#1}{2}{\v!sub}[#2][#3]\showdnsubnumber + \dododefineenumeration{#1}{3}{\v!sub\v!sub}[#2][#3]\showdnsubsubnumber + \dododefineenumeration{#1}{4}{\v!sub\v!sub\v!sub}[#2][#3]\showdnsubsubsubnumber} + +\def\defineenumeration + {\dotripleemptywithset\dodefineenumeration} % Het default-mechanisme kan mooier: leegtest, enz. % -% Werkprocedure buiten definitie +% Werkprocedure buiten description -\def\dodosteldoorspringenin[#1][#2]% +\def\dodosetupindentations[#1][#2]% {\getparameters[\??ds#1][#2]} -\def\dosteldoorspringenin[#1][#2]% +\def\dosetupindentations[#1][#2]% {\ConvertToConstant\doifelse{#2}{} - {\dodosteldoorspringenin[][#1]} - {\dodoubleargumentwithset\dodosteldoorspringenin[#1][#2]}} + {\dodosetupindentations[][#1]} + {\dodoubleargumentwithset\dodosetupindentations[#1][#2]}} + +\def\setupindentations + {\dodoubleempty\dosetupindentations} -\def\steldoorspringenin - {\dodoubleempty\dosteldoorspringenin} +% what to do with this \def\startdoorspringen - {\witruimte - \@@dsvoor - \dosomebreak{\goodbreak}% \pagina[\v!voorkeur] + {\whitespace + \@@dsbefore + \dosomebreak\goodbreak % \page[\v!preference] \begingroup \parskip\zeropoint\relax} \def\stopdoorspringen {\endgroup - \@@dsna} + \@@dsafter} -\def\dododoorspringen#1#2#3% +% + +\def\dododefineindenting#1#2#3% {\par - \getvalue{\??ds#1\c!voor}% + \getvalue{\??ds#1\c!before}% \begingroup - \doifvaluenothing{\??ds#1\c!monster} - {\setvalue{\??ds#1\c!monster}% - {\getvalue{\??ds#1\c!tekst}}}% + \doifvaluenothing{\??ds#1\c!sample} + {\setvalue{\??ds#1\c!sample}% + {\getvalue{\??ds#1\c!text}}}% \assignwidth {\!!widtha} - {\getvalue{\??ds#1\c!breedte}} + {\getvalue{\??ds#1\c!width}} {\doattributes - {\??ds#1}\c!kopletter\c!kopkleur - {\getvalue{\??ds#1\c!monster}\getvalue{\??ds#1\c!scheider}}} - {\getvalue{\??ds#1\c!afstand}}% - \advance\!!widtha \getvalue{\??ds#1\c!afstand}% + {\??ds#1}\c!headstyle\c!headcolor + {\getvalue{\??ds#1\c!sample}\getvalue{\??ds#1\c!separator}}} + {\getvalue{\??ds#1\c!distance}}% + \advance\!!widtha \getvalue{\??ds#1\c!distance}% \setbox2\hbox to \!!widtha {\doattributes - {\??ds#1}\c!kopletter\c!kopkleur + {\??ds#1}\c!headstyle\c!headcolor {\strut - \getvalue{\??ds#1\c!tekst}% + \getvalue{\??ds#1\c!text}% \hss - \getvalue{\??ds#1\c!scheider}% - \hskip\getvalue{\??ds#1\c!afstand}}}% + \getvalue{\??ds#1\c!separator}% + \hskip\getvalue{\??ds#1\c!distance}}}% \parindent\zeropoint \hskip#2\!!widtha\indent\box2% \hangindent#3\!!widtha - \doattributes{\??ds#1}\c!letter\c!kleur\empty + \doattributes{\??ds#1}\c!style\c!color\empty \AfterPar% must be redone {\endgroup - \getvalue{\??ds#1\c!na}}% + \getvalue{\??ds#1\c!after}}% \GetPar} -\def\dodoorspringen[#1][#2]% +\def\dodefineindenting[#1][#2]% {\copyparameters[\??ds#1][\??ds] - [\c!tekst,\c!scheider,\c!breedte,\c!letter,\c!kleur, - \c!kopletter,\c!monster,\c!voor,\c!na,\c!afstand]% + [\c!text,\c!separator,\c!width,\c!style,\c!color, + \c!headstyle,\c!sample,\c!before,\c!after,\c!distance]% \getparameters[\??ds#1][#2]% - \setvalue{#1}% - {\dododoorspringen{#1}{0}{1}}% - \setvalue{\v!sub#1}% - {\dododoorspringen{#1}{1}{2}}% - \setvalue{\v!sub\v!sub#1}% - {\dododoorspringen{#1}{2}{3}}} - -\def\doorspringen% - {\dodoubleargumentwithset\dodoorspringen} - -% \def\dodoorlabel[#1][#2]% -% {\getvalue{\s!number#1\c!voor}% -% \bgroup -% \doifvalue{\s!number#1\c!plaats}{\v!marge} -% {\setvalue{\s!number#1\c!plaats}{\v!inmarge}}% -% \doattributes{\s!number#1}\c!kopletter\c!kopkleur -% {\getvalue{\e!volgende#1}[#2]}% -% \egroup -% \getvalue{\s!number#1\c!na}}% -% -% \def\dovolgendedoorlabel[#1][#2]% -% {\volgendenummer[#1][\s!lab][#2]} -% -% \def\dodoorlabelen[#1][#2]% -% {\definieernummer -% [#1][\c!voor=,\c!na=,\c!kopletter=,\c!wijze=\@@nrwijze,#2]% -% \setvalue {#1}{\dodoubleempty\dodoorlabel[#1]}% -% \setvalue{\s!reset #1}{\resetnumber[#1]}% -% \setvalue{\e!verhoog #1}{\verhoognummer[#1]}% -% \setvalue{\e!volgende#1}{\dodoubleempty\dovolgendedoorlabel[#1]}% -% \setvalue{\c!huidige #1}{\huidigenummer[#1]}} -% -% \def\doorlabelen% -% {\dodoubleargumentwithset\dodoorlabelen} + \setvalue {#1}{\dododefineindenting{#1}{0}{1}}% + \setvalue {\v!sub#1}{\dododefineindenting{#1}{1}{2}}% + \setvalue{\v!sub\v!sub#1}{\dododefineindenting{#1}{2}{3}}} -\def\dodoorlabel[#1][#2]% - {\getvalue{\??lb#1\c!voor}% - \getvalue{\??lb#1\c!commando}% - {\doattributes{\??lb#1}\c!kopletter\c!kopkleur - {\dotextprefix{\getvalue{\??lb#1\c!tekst}}% - \getvalue{\e!volgende#1}[#2]}}% - \getvalue{\??lb#1\c!na}}% - -\def\dovolgendedoorlabel[#1][#2]% - {\volgendenummer[#1][\s!lab][#2]} +\def\defineindenting + {\dodoubleargumentwithset\dodefineindenting} + +\def\definelabel + {\dodoubleargumentwithset\dodefinelabel} -\def\dodoorlabelen[#1][#2]% +\def\dodefinelabel[#1][#2]% {\getparameters [\??lb#1] - [\c!wijze=\@@nrwijze,\c!commando=,\c!plaats=,#2]% + [\c!way=\@@nrway,\c!command=,\c!location=,#2]% % downward compatible \processaction - [\getvalue{\??lb#1\c!plaats}] - [ \v!inmarge=>\setvalue{\??lb#1\c!commando}{\inmarge }, - \v!inlinker=>\setvalue{\??lb#1\c!commando}{\inlinker }, - \v!inrechter=>\setvalue{\??lb#1\c!commando}{\inrechter}, - \v!marge=>\setvalue{\??lb#1\c!commando}{\inmarge }]% + [\getvalue{\??lb#1\c!location}] + [ \v!inmargin=>\setvalue{\??lb#1\c!command}{\inmargin}, + \v!inleft=>\setvalue{\??lb#1\c!command}{\inleft }, + \v!inright=>\setvalue{\??lb#1\c!command}{\inright }, + \v!margin=>\setvalue{\??lb#1\c!command}{\inmargin}]% % inefficient, we need to redesign this command - \definieernummer + \definenumber [#1] - [\c!wijze=\getvalue{\??lb#1\c!wijze}]% + [\c!way=\getvalue{\??lb#1\c!way}]% % generated commands - \setvalue {#1}{\dodoubleempty\dodoorlabel[#1]}% - \setvalue{\s!reset #1}{\resetnumber[#1]}% - \setvalue{\e!verhoog #1}{\verhoognummer[#1]}% - \setvalue{\e!volgende#1}{\dodoubleempty\dovolgendedoorlabel[#1]}% - \setvalue{\c!huidige #1}{\huidigenummer[#1]}} - -\def\doorlabelen - {\dodoubleargumentwithset\dodoorlabelen} + \setvalue {#1}{\dodoubleempty\do@@label[#1]}% + \setvalue{\s!reset #1}{\resetnumber[#1]}% + \setvalue{\e!increment#1}{\incrementnumber[#1]}% + \setvalue{\e!next #1}{\dodoubleempty\do@@nextlabel[#1]}% + \setvalue{\c!current #1}{\currentnumber[#1]}} % todo + +\def\do@@label[#1][#2]% + {\getvalue{\??lb#1\c!before}% + \getvalue{\??lb#1\c!command}% + {\doattributes{\??lb#1}\c!headstyle\c!headcolor + {\dotextprefix{\getvalue{\??lb#1\c!text}}% + \getvalue{\e!next#1}[#2]}}% + \getvalue{\??lb#1\c!after}}% + +\def\do@@nextlabel[#1][#2]% + {\nextnumber[#1][\s!lab][#2]} -\steldoordefinierenin - [\c!plaats=\v!links, - \c!kopletter=\v!vet, - \c!letter=\v!normaal, - \c!kleur=, - \c!kopkleur=, - \c!breedte=8em, - \c!afstand=0pt, +\setupdescriptions + [\c!location=\v!left, + \c!headstyle=\v!bold, + \c!style=\v!normal, + \c!color=, + \c!headcolor=, + \c!width=8em, + \c!distance=0pt, \c!hang=, - \c!monster=, - \c!uitlijnen=, - \c!marge=\v!nee, - \c!voor=\blanko, - \c!tussen=\blanko, - \c!na=\blanko, - \c!springvolgendein=\v!ja, - \c!inspringen=\v!nooit, - \c!commando=] - -\steldoornummerenin - [\c!plaats=\v!boven, - \c!kopletter=\v!vet, - \c!kopkleur=, - \c!letter=\v!normaal, - \c!kleur=, - \c!breedte=8em, - \c!afstand=0pt, + \c!sample=, + \c!align=, + \c!margin=\v!no, + \c!before=\blank, + \c!inbetween=\blank, + \c!after=\blank, + \c!indentnext=\v!yes, + \c!indenting=\v!never, + \c!command=] + +\setupenumerations + [\c!location=\v!top, + \c!headstyle=\v!bold, + \c!headcolor=, + \c!style=\v!normal, + \c!color=, + \c!width=8em, + \c!distance=0pt, \c!hang=, - \c!monster=, - \c!uitlijnen=, - \c!marge=\v!nee, - \c!voor=\blanko, - \c!tussen=\blanko, - \c!na=\blanko, - \c!springvolgendein=\v!ja, - \c!inspringen=\v!nooit, - \c!tekst=, - \c!niveaus=3, % to be upward compatible - \c!conversie=, % to be upward compatible - \c!wijze=\v!per\v!tekst, - \c!sectienummer=\v!ja, - \c!scheider=., - \c!afsluiter=, - \c!nummer=, - \c!commando=] - -\steldoorspringenin - [\c!letter=\v!normaal, - \c!kopletter=\v!normaal, - \c!kleur=, - \c!kopkleur=, - \c!breedte=\v!passend, - \c!tekst=\unknown, - \c!monster=, - \c!voor=\blanko, - \c!na=\blanko, - \c!afstand=1em, - \c!scheider={ :}] + \c!sample=, + \c!align=, + \c!margin=\v!no, + \c!before=\blank, + \c!inbetween=\blank, + \c!after=\blank, + \c!indentnext=\v!yes, + \c!indenting=\v!never, + \c!text=, + \c!levels=3, % to be upward compatible + \c!conversion=, % to be upward compatible + \c!way=\v!by\v!text, + \c!sectionnumber=\v!yes, + \c!separator=., + \c!stopper=, + \c!number=, + \c!command=] + +\setupindentations + [\c!style=\v!normal, + \c!headstyle=\v!normal, + \c!color=, + \c!headcolor=, + \c!width=\v!fit, + \c!text=\unknown, + \c!sample=, + \c!before=\blank, + \c!after=\blank, + \c!distance=1em, + \c!separator={ :}] \protect \endinput |