diff options
Diffstat (limited to 'tex/context/base/core-des.tex')
-rw-r--r-- | tex/context/base/core-des.tex | 445 |
1 files changed, 336 insertions, 109 deletions
diff --git a/tex/context/base/core-des.tex b/tex/context/base/core-des.tex index 7f049b6a2..c325f2279 100644 --- a/tex/context/base/core-des.tex +++ b/tex/context/base/core-des.tex @@ -27,7 +27,7 @@ % Op die manier is meer mogelijk en worden \par's geskipt. % % De macro \??dd#1\s!do\c!commando levert de koppeling tussen -% \@@descriptionnumberen en \doordefinieren. Deze constructie is nodig +% \doornumberen 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!state moet in dat geval \v!start zijn. @@ -371,7 +371,7 @@ \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!state=\v!stop,\s!do\c!command=\normal@@descriptionhandler,#2]% + [\s!do\c!state=\v!stop,\s!do\c!command=\normal@@descriptionhandler,\c!level=,#2]% \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]}% @@ -380,150 +380,377 @@ \def\definedescription {\dodoubleemptywithset\dodefinedescription} -\def\showdnpuretext#1% - {\strut\getvalue{\??dd#1\c!text}} % geen spatie - -\def\showdntext#1% - {\doifelsevaluenothing{\??dd#1\c!text} - {\ignorespaces} - {\strut - \getvalue{\??dd#1\c!text}% - \removeunwantedspaces\fixedspace}} - -\def\showdnnumber#1% - {\preparednumber - \convertednumber[\getvalue{\??dd#1\??dd\c!number}]} - -\def\showdnsubnumber#1% - {\showdnnumber{#1}% - \getvalue{\??dd#1\c!separator}% - \convertednumber[\v!sub\getvalue{\??dd#1\??dd\c!number}]} - -\def\showdnsubsubnumber#1% - {\showdnsubnumber{#1}% - \getvalue{\??dd#1\c!separator}% - \convertednumber[\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} - -\def\showdnsubsubsubnumber#1% - {\showdnsubsubnumber{#1}% - \getvalue{\??dd#1\c!separator}% - \convertednumber[\v!sub\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} - -\def\domakednnumber#1#2#3% - {\getvalue{\??dd#2#1\c!left}% - \strut#3{#1}% - \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% +% \def\showdnpuretext#1% +% {\strut\getvalue{\??dd#1\c!text}} % geen spatie + +% \def\showdntext#1% +% {\doifelsevaluenothing{\??dd#1\c!text} +% {\ignorespaces} +% {\strut +% \getvalue{\??dd#1\c!text}% +% \removeunwantedspaces\fixedspace}} + +% \def\showdnnumber#1% +% {\preparednumber +% \convertednumber[\getvalue{\??dd#1\??dd\c!number}]} + +% \def\showdnsubnumber#1% +% {\showdnnumber{#1}% +% \getvalue{\??dd#1\c!separator}% +% \convertednumber[\v!sub\getvalue{\??dd#1\??dd\c!number}]} + +% \def\showdnsubsubnumber#1% +% {\showdnsubnumber{#1}% +% \getvalue{\??dd#1\c!separator}% +% \convertednumber[\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} + +% \def\showdnsubsubsubnumber#1% +% {\showdnsubsubnumber{#1}% +% \getvalue{\??dd#1\c!separator}% +% \convertednumber[\v!sub\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} + +% \def\domakednnumber#1#2#3% +% {\getvalue{\??dd#2#1\c!left}% +% \strut#3{#1}% +% \getvalue{\??dd#2#1\c!stopper}% +% \getvalue{\??dd#2#1\c!right}} + +% \def\special@@descriptionhandler#1#2#3#4[#5]#6#7% +% {\strut +% \doifelsevalue{\??dd#1\c!number}\v!no +% \!!doneafalse{\doifelse{#5}{-}\!!doneafalse\!!doneatrue}% +% \chardef\descriptioncoupling\zerocount +% \iflocation +% \doifvaluesomething{\??dd#1\c!coupling} +% {\processaction % genereert > of < +% [\getvalue{\??dd#1\c!couplingway}] +% [ \v!local=>\chardef\descriptioncoupling\plusone, % old: default +% \v!global=>\chardef\descriptioncoupling\plustwo]}% new: global crosslinking +% \fi +% \setupnumber % the number is called indirectly +% [\getvalue{\??dd#1\??dd\c!number}] +% [\c!sectionnumber=\getvalue{\??dd#1\c!sectionnumber}]% +% \if!!donea +% \makeprecedingsectionnumber[\getvalue{\??dd#1\??dd\c!number}]% +% \preparethenumber{\??dd#1}\precedingsectionnumber\preparednumber +% \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!sectionnumber}\v!yes +% \protectconversion +% \makeprecedingsectionnumber[\getvalue{\??dd#1\??dd\c!number}]% +% \preparethenumber{\??dd#1}\precedingsectionnumber\preparednumber +% \ifcase\descriptioncoupling \or +% \xdef\@@internalenumber{#3{#1}}% +% \rawreference\s!num{#1:\@@internalenumber}{}% +% \or +% \xdef\@@internalenumber{\countervalue{\??dd\c!coupling#1}}% +% \rawreference\s!num{#1:\@@internalenumber}{}% +% \fi +% \egroup +% \fi +% \makeprecedingsectionnumber[\getvalue{\??dd#1\??dd\c!number}]% +% \preparethenumber{\??dd#1}\precedingsectionnumber\preparednumber +% \disablepseudocaps % sorry, uppercase causes troubles +% \doattributes % \nocase primitive needed +% {\??dd#1}\c!headstyle\c!headcolor +% {\getvalue{\??dd#1\c!command}% hook for taco +% {\showdntext{#2#1}% +% \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!headstyle\noexpand\c!headcolor +% {\noexpand\getvalue{\??dd#1\c!command}{\!!stringa}}}% +% \doifnot{#5}{-}{\rawreference\s!num{#5}{}}% +% \fi} + +% \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]} + +% \setvalue{\??dd\s!set\v!sub\s!sub\c!number}#1% +% {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% +% \setnumber[\v!sub\v!sub\@@descriptionnumber]} + +% \setvalue{\??dd\s!set\v!sub\c!number}#1% +% {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% +% \setnumber[\v!sub\@@descriptionnumber]} + +% \setvalue{\??dd\s!set\c!number}#1% +% {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% +% \setnumber[\@@descriptionnumber]} + +% \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]} + +% \setvalue{\??dd\s!reset\v!sub\v!sub\c!number}#1% +% {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% +% \resetnumber[\v!sub\v!sub\@@descriptionnumber]} + +% \setvalue{\??dd\s!reset\v!sub\c!number}#1% +% {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% +% \resetnumber[\v!sub\@@descriptionnumber]} + +% \setvalue{\??dd\s!reset\c!number}#1% +% {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% +% \resetnumber[\@@descriptionnumber]} + +% \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}}}% + +% \setvalue{\??dd\e!next\v!sub\v!sub\c!number}[#1][#2]% +% {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% +% \incrementnumber[\v!sub\v!sub\@@descriptionnumber]% +% \rawreference\s!num{#2}{\showdnsubsubnumber{\@@descriptionnumber}}} + +% \setvalue{\??dd\e!next\v!sub\c!number}[#1][#2]% +% {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% +% \incrementnumber[\v!sub\@@descriptionnumber]% +% \rawreference\s!num{#2}{\showdnsubnumber{\@@descriptionnumber}}} + +% \setvalue{\??dd\e!next\c!number}[#1][#2]% +% {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% +% \incrementnumber[\@@descriptionnumber]% +% \rawreference\s!num{#2}{\showdnnumber{\@@descriptionnumber}}} + +% \def\dodosetupenumerations[#1][#2]% +% {\getparameters[\??dd#1][#2]% +% \doifdefined{\??dd#1\c!start} +% {\setupnumber[#1][\c!start=\getvalue{\??dd#1\c!start}]}% +% \setupnumber[#1][\c!conversion=\getvalue{\??dd#1\c!conversion}]} + +% \def\dosetupenumerations[#1][#2]% +% {\ConvertToConstant\doifelse{#2}{} +% {\getparameters[\??dn][#1]} +% {\dodoubleargumentwithset\dodosetupenumerations[#1][#2]}} + +% \def\setupenumerations +% {\dodoubleempty\dosetupenumerations} + +% \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!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!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!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!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!text=#1,\??dd\c!number=#4,\c!conversion=,#5]}}% +% \doifvalue{\??dd#3#1\??dd\c!number}{#1} +% {\definenumber +% [#3#1] +% [\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} + +\def\currentdescriptionnumber + {\csname\??dd\currentdescription\??dd\c!number\endcsname} + +\def\special@@descriptionhandler[#1]#2#3% {\strut - \doifelsevalue{\??dd#1\c!number}\v!no - \!!doneafalse{\doifelse{#5}{-}\!!doneafalse\!!doneatrue}% + \doifelse{\descriptionparameter\c!number}\v!no + \!!doneafalse{\doifelse{#1}{-}\!!doneafalse\!!doneatrue}% \chardef\descriptioncoupling\zerocount \iflocation - \doifvaluesomething{\??dd#1\c!coupling} + \doifsomething{\descriptionparameter\c!coupling} {\processaction % genereert > of < - [\getvalue{\??dd#1\c!couplingway}] - [ \v!local=>\chardef\descriptioncoupling1, % old: default - \v!global=>\chardef\descriptioncoupling2]}% new: global crosslinking + [\descriptionparameter\c!couplingway] + [ \v!local=>\chardef\descriptioncoupling\plusone, % old: default + \v!global=>\chardef\descriptioncoupling\plustwo]}% new: global crosslinking \fi \setupnumber % the number is called indirectly - [\getvalue{\??dd#1\??dd\c!number}] - [\c!sectionnumber=\getvalue{\??dd#1\c!sectionnumber}]% + [\currentdescriptionnumber] + [\c!sectionnumber=\descriptionparameter\c!sectionnumber]% \if!!donea +\makeprecedingsectionnumber[\currentdescriptionnumber]% +\preparethenumber{\??dd\currentdescription}\precedingsectionnumber\preparednumber \iftrialtypesetting\startlocal\fi - \getvalue{\e!next#2#1}% tricky but we need the preroll +\getvalue{\e!next\currentdescription}% tricky but we need the preroll \iftrialtypesetting\stoplocal\fi % \getvalue{\e!next#2#1}% \iflocation \bgroup - \letvalue{\??dd#1\c!sectionnumber}\v!yes + \letvalue{\??dd\currentdescription\c!sectionnumber}\v!yes \protectconversion - \makeprecedingsectionnumber[\getvalue{\??dd#1\??dd\c!number}]% - \preparethenumber{\??dd#1}\precedingsectionnumber\preparednumber + \makeprecedingsectionnumber[\currentdescriptionnumber]% + \preparethenumber{\??dd\currentdescription}\precedingsectionnumber\preparednumber \ifcase\descriptioncoupling \or - \xdef\@@internalenumber{#3{#1}}% + \xdef\@@internalenumber{\doshowdnnumber}% \rawreference\s!num{#1:\@@internalenumber}{}% \or - \xdef\@@internalenumber{\countervalue{\??dd\c!coupling#1}}% - \rawreference\s!num{#1:\@@internalenumber}{}% + \xdef\@@internalenumber{\countervalue{\??dd\c!coupling\currentdescription}}% + \rawreference\s!num{\currentdescription:\@@internalenumber}{}% \fi \egroup \fi - \makeprecedingsectionnumber[\getvalue{\??dd#1\??dd\c!number}]% - \preparethenumber{\??dd#1}\precedingsectionnumber\preparednumber - \disablepseudocaps % sorry, uppercase causes troubles +% \makeprecedingsectionnumber[\currentdescriptionnumber]% +% \preparethenumber{\??dd\currentdescription}\precedingsectionnumber\preparednumber + \disablepseudocaps % sorry, uppercase causes troubles \doattributes % \nocase primitive needed - {\??dd#1}\c!headstyle\c!headcolor - {\getvalue{\??dd#1\c!command}% hook for taco - {\showdntext{#2#1}% - \domakednnumber{#1}{#2}{#3}}}% + {\??dd\currentdescription}\c!headstyle\c!headcolor % todo: sub as well + {\descriptionparameter\c!command{\showdntext\domakednnumber}}% hook for taco \iflocation\ifcase\descriptioncoupling \else - \edef\localconnection{\getvalue{\??dd#1\c!coupling}:\@@internalenumber}% + \edef\localconnection{\descriptionparameter\c!coupling:\@@internalenumber}% \doifreferencefoundelse\localconnection {\in[\localconnection]}\donothing % genereert > of < \fi\fi - \doifnot{#5}{-}{\rawreference\s!num{#5}{#3{#1}}}% + \doifnot{#1}{-}{\rawreference\s!num{#1}{\doshowdnnumber}}% \else % Why was this strange expansion needed? - \edef\!!stringa{\showdnpuretext{#2#1}}% nog eens testen binnen \expanded - \expanded{\doattributes{\??dd#1}\noexpand\c!headstyle\noexpand\c!headcolor - {\noexpand\getvalue{\??dd#1\c!command}{\!!stringa}}}% - \doifnot{#5}{-}{\rawreference\s!num{#5}{}}% + \edef\!!stringa{\showdnpuretext}% nog eens testen binnen \expanded + \expanded{\doattributes{\??dd\currentdescription}\noexpand\c!headstyle\noexpand\c!headcolor + {\noexpand\descriptionparameter\c!command{\!!stringa}}}% + \doifnot{#1}{-}{\rawreference\s!num{#1}{}}% \fi} +\def\showdnpuretext + {\strut\descriptionparameter\c!text} % geen spatie + +\def\showdntext + {\doifelsenothing{\descriptionparameter\c!text} + {\ignorespaces} + {\strut + \descriptionparameter\c!text + \removeunwantedspaces\fixedspace}} + +\def\doshowdnnumber + {\getvalue{showdn\descriptionparameter\c!level\c!number}} + +% maybe recursive until end condition undefined + +\setvalue{showdn\c!number}% + {%\preparednumber + \convertednumber[\currentdescriptionnumber]} + +\setvalue{showdn\v!sub\c!number}% + {\getvalue{showdn\c!number}% + \descriptionparameter\c!separator + \convertednumber[\v!sub\currentdescriptionnumber]} + +\setvalue{showdn\v!sub\v!sub\c!number}% + {\getvalue{showdn\v!sub\c!number}% + \descriptionparameter\c!separator + \convertednumber[\v!sub\v!sub\currentdescriptionnumber]} + +\setvalue{showdn\v!sub\v!sub\v!sub\c!number}% + {\getvalue{showdn\v!sub\v!sub\c!number}% + \descriptionparameter\c!separator + \convertednumber[\v!sub\v!sub\v!sub\currentdescriptionnumber]} + +\def\domakednnumber + {\descriptionparameter\c!left + \strut\doshowdnnumber + \descriptionparameter\c!stopper + \descriptionparameter\c!right} + \setvalue{\??dd\s!set\v!sub\s!sub\s!sub\c!number}#1% - {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% + {\edef\@@descriptionnumber{\currentdescriptionnumber}% \setnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]} \setvalue{\??dd\s!set\v!sub\s!sub\c!number}#1% - {\@@ddresetsubsubsubnumber{#1}% + {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% \setnumber[\v!sub\v!sub\@@descriptionnumber]} \setvalue{\??dd\s!set\v!sub\c!number}#1% - {\@@ddresetsubsubnumber{#1}% + {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% \setnumber[\v!sub\@@descriptionnumber]} \setvalue{\??dd\s!set\c!number}#1% - {\@@ddresetsubnumber{#1}% + {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% \setnumber[\@@descriptionnumber]} \setvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}#1% - {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% + {\edef\@@descriptionnumber{\currentdescriptionnumber}% \resetnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]} \setvalue{\??dd\s!reset\v!sub\v!sub\c!number}#1% - {\@@ddresetsubsubsubnumber{#1}% + {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% \resetnumber[\v!sub\v!sub\@@descriptionnumber]} \setvalue{\??dd\s!reset\v!sub\c!number}#1% - {\@@ddresetsubsubnumber{#1}% + {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% \resetnumber[\v!sub\@@descriptionnumber]} \setvalue{\??dd\s!reset\c!number}#1% - {\@@ddresetsubnumber{#1}% + {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% \resetnumber[\@@descriptionnumber]} -\setvalue{\??dd\e!next\v!sub\v!sub\v!sub\c!number}#1[#2]% - {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% +\setvalue{\??dd\e!next\v!sub\v!sub\v!sub\c!number}[#1]% + {\edef\@@descriptionnumber{\currentdescriptionnumber}% \incrementnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]% - \rawreference\s!num{#2}{\showdnsubsubsubnumber{\@@descriptionnumber}}}% + \rawreference\s!num{#1}{\showdnsubsubsubnumber{\@@descriptionnumber}}}% -\setvalue{\??dd\e!next\v!sub\v!sub\c!number}#1[#2]% - {\@@ddresetsubsubsubnumber{#1}% +\setvalue{\??dd\e!next\v!sub\v!sub\c!number}[#1]% + {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% \incrementnumber[\v!sub\v!sub\@@descriptionnumber]% - \rawreference\s!num{#2}{\showdnsubsubnumber{\@@descriptionnumber}}} + \rawreference\s!num{#1}{\showdnsubsubnumber{\@@descriptionnumber}}} -\setvalue{\??dd\e!next\v!sub\c!number}#1[#2]% - {\@@ddresetsubsubnumber{#1}% +\setvalue{\??dd\e!next\v!sub\c!number}[#1]% + {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% \incrementnumber[\v!sub\@@descriptionnumber]% - \rawreference\s!num{#2}{\showdnsubnumber{\@@descriptionnumber}}} + \rawreference\s!num{#1}{\showdnsubnumber{\@@descriptionnumber}}} -\setvalue{\??dd\e!next\c!number}#1[#2]% - {\@@ddresetsubnumber{#1}% +\setvalue{\??dd\e!next\c!number}[#1]% + {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% \incrementnumber[\@@descriptionnumber]% - \rawreference\s!num{#2}{\showdnnumber{\@@descriptionnumber}}} + \rawreference\s!num{#1}{\showdnnumber{\@@descriptionnumber}}} \def\dodosetupenumerations[#1][#2]% {\getparameters[\??dd#1][#2]% @@ -539,11 +766,11 @@ \def\setupenumerations {\dodoubleempty\dosetupenumerations} -\def\dododefineenumeration#1#2#3[#4][#5]#6% +\def\dododefineenumeration#1#2#3[#4][#5]% {\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}]% + [\s!do\c!state=\v!start,\c!level=#3, + \s!do\c!command=\special@@descriptionhandler]% \copyparameters[\??dd#3#1][\??dn] [\c!location,\c!headstyle,\c!style,\c!color,\c!headcolor, \c!width,\c!number,\c!distance,\c!command, @@ -571,35 +798,35 @@ \doifvalue{\??dd#3#1\??dd\c!number}{#1} {\definenumber [#3#1] - [\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 + [\c!way=\descriptionparameter\c!way, + \c!blockway=\descriptionparameter\c!blockway, + \c!sectionnumber=\descriptionparameter\c!sectionnumber]% + \doifvalue{\??dd#1\c!levels}{#2}% % for + {\doifsomething{\getvalue{\??dd#1\c!conversion}}% % old + {\setupnumber[#3#1] % times + [\c!conversion=\descriptionparameter\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\dodefineenumeration[#1][#2][#3]% + {\dododefineenumeration{#1}{1}{}[#2][#3]% + \dododefineenumeration{#1}{2}{\v!sub}[#2][#3]% + \dododefineenumeration{#1}{3}{\v!sub\v!sub}[#2][#3]% + \dododefineenumeration{#1}{4}{\v!sub\v!sub\v!sub}[#2][#3]} + +\def\defineenumeration + {\dotripleemptywithset\dodefineenumeration} + \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]% +\def\donextenumerationnumber[#1][#2][#3]% {\pluscounter{\??dd\c!coupling#1}% new: global crosslinking - \getvalue{\??dd\c!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} + \getvalue{\??dd\e!next#2\c!number}[#3]}% % Het default-mechanisme kan mooier: leegtest, enz. % |