summaryrefslogtreecommitdiff
path: root/tex/context/base/strc-des.mkii
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-12 17:15:07 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-12 17:15:07 +0100
commit8d8d528d2ad52599f11250cfc567fea4f37f2a8b (patch)
tree94286bc131ef7d994f9432febaf03fe23d10eef8 /tex/context/base/strc-des.mkii
parentf5aed2e51223c36c84c5f25a6cad238b2af59087 (diff)
downloadcontext-8d8d528d2ad52599f11250cfc567fea4f37f2a8b.tar.gz
2016-01-12 16:26:00
Diffstat (limited to 'tex/context/base/strc-des.mkii')
-rw-r--r--tex/context/base/strc-des.mkii921
1 files changed, 0 insertions, 921 deletions
diff --git a/tex/context/base/strc-des.mkii b/tex/context/base/strc-des.mkii
deleted file mode 100644
index e699df9ea..000000000
--- a/tex/context/base/strc-des.mkii
+++ /dev/null
@@ -1,921 +0,0 @@
-%D \module
-%D [ file=strc-des,
-%D version=1997.03.31,
-%D title=\CONTEXT\ Structure Macros,
-%D subtitle=Descriptions,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-\writestatus{loading}{ConTeXt Structure Macros / Descriptions}
-
-%D In order to be more flexible with theorems Aditya Mahajan added
-%D support for titles and endsymbols. At the same time we some more
-%D flexible support for inheriting numbers was added.
-
-%D \startbuffer
-%D \defineenumeration[one]
-%D \defineenumeration[two] [one]
-%D \defineenumeration[three] [number=one,style=slanted]
-%D \defineenumeration[four] [three]
-%D \defineenumeration[five] [three] [number=five]
-%D
-%D \startone test test 1 \stopone
-%D \starttwo test test 2 \stoptwo
-%D \startthree test test 3 \stopthree
-%D \startfour test test 4 \stopfour
-%D \startfive test test 1 \stopfive
-%D \stopbuffer
-%D
-%D \typebuffer \start \getbuffer \stop
-
-\unprotect
-
-% Dit kan en moet dus anders:
-%
-% \start... : \vbox\bgroup
-% \stop... : \egroup
-% llap enz.
-% geen indent!
-%
-% enz. enz.
-%
-% 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
-% omdat doornummeren geen argument heeft en omdat subnummers
-% niet worden genest binnen het hogere niveau.
-%
-% herimplementeren met \nextbox en \unhbox\unvbox
-
-% list and titles are experiental
-%
-% \definedescription[test] [location=left,hang=4,headalign={right},distance=1em,list=test]
-% \defineenumeration[lemma][title=yes,right=:,textdistance=1em, location=top, titlestyle=\bs,list=lemma]
-% \defineenumeration[ammel][title=yes,right=:,textdistance=.5em,location=left,titlestyle=\it,width=9em]
-%
-% \placelist[enumeration:lemma]
-% \placelist[description:test][width=0pt]
-%
-% \starttest {something something something} \input zapf \stoptest
-% \startlemma {with a title of a certain length} \input tufte \stoplemma
-% \startammel {with a title} \input zapf \stopammel
-%
-% \defineenumeration[lemma][...]
-% \defineenumeration[titledlemma][lemma][title=yes,right=:,text=lemma,list=lemma]
-
-\newbox\@@descriptionbox
-
-\def\descriptionparameter#1{\csname\??dd\currentdescription#1\endcsname}
-
-\def\@@descriptionhandler{\descriptionparameter{\s!do\c!command}}
-
-% \def\normal@@descriptionhandler[#1]#2#3%
-% {\doattributes
-% {\??dd\currentdescription}\c!headstyle\c!headcolor
-% {\descriptionparameter\c!command{#3}}% NAAR BUITENSTE NIVEAU !
-% \rawreference\s!def{#1}{#2}} % brrr moet in #4
-
-\def\normal@@descriptionhandler[#1]#2#3%
- {\doattributes
- {\??dd\currentdescription}\c!headstyle\c!headcolor
- {\descriptionparameter\c!command{#3}}% NAAR BUITENSTE NIVEAU !
- \doifsomething{\descriptionparameter\c!list}
- {\dowritetolist
- {\descriptionparameter\c!type:\descriptionparameter\c!list}
- {}{#2}{\currentdescription}}%
- % beware: with footnotes #2 can be something messy but then #1 is
- % empty anyway, so we have an extra safeguard
- \doifsomething{#1}{\rawreference\s!def{#1}{#2}}} % brrr moet in #4
-
-\setvalue{@@description\v!left}%
- {\@@descriptionhang\@@descriptionleftpure\@@descriptionlefthang}
-
-\setvalue{@@description\v!right}%
- {\@@descriptionhang\@@descriptionrightpure\@@descriptionrighthang}
-
-\def\@@descriptionhang#1#2%
- {\processaction
- [\descriptionparameter\c!hang]
- [ \v!none=>\let\next#1,%
- 0=>\let\next#1,%
- \s!unknown=>\let\next#2,%
- \s!default=>\let\next#1]%
- \next}
-
-\def\@@descriptionleftpure[#1]#2%
- {\@@dostartdescription[#1]{\def\\{\crlf}}{#2}%
- \noindent\ignorespaces
- \leftskip\@@leftdescriptionskip
- \rightskip\@@rightdescriptionskip
- \advance\leftskip \!!widtha
- \@@makedescriptionpurebox\raggedright
- \advance\leftskip \!!widthb
- \llap
- {\hbox to \leftskip
- {\hskip\@@leftdescriptionskip
- \copy\@@descriptionbox\hss}}%
- \@@dodescription}
-
-\def\@@descriptionrightpure[#1]#2%
- {\@@dostartdescription[#1]{\def\\{\crlf}}{#2}%
- \noindent\ignorespaces
- \leftskip\@@leftdescriptionskip
- \rightskip\@@rightdescriptionskip
- \advance\rightskip \!!widtha
- \@@makedescriptionpurebox\raggedleft
- \rlap
- {\hskip\hsize
- \hskip-\leftskip
- \hskip-\rightskip
- \copy\@@descriptionbox
- \hskip\@@rightdescriptionskip}%
- \advance\rightskip \!!widthb
- \@@dodescription}
-
-\def\@@makedescriptionpurebox#1%
- {\setbox\@@descriptionbox\vtop
- {\dontcomplain
- \hsize\!!widtha
- \leftskip\zeropoint
- \rightskip\zeropoint
- #1\setupalign[\descriptionparameter\c!align]%
- \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox}%
- \ht\@@descriptionbox\strutht
- \dp\@@descriptionbox\strutdp}
-
-\def\@@descriptionlefthang[#1]#2%
- {\@@dostartdescription[#1]{\def\\{\crlf}}{#2}%
- \dontcomplain
- \advance\!!widtha \!!widthb
- \hangindent\!!widtha
- \@@makedescriptionhangbox\raggedright{\advance\rightskip \!!widthb}%
- \noindent\ignorespaces
- \llap
- {\dontshowcomposition
- \vtop to \zeropoint{\box\@@descriptionbox}}%
- \@@dodescription}
-
-\def\@@descriptionrighthang[#1]#2%
- {\@@dostartdescription[#1]{\def\\{\crlf}}{#2}%
- \dontcomplain
- \advance\!!widtha \!!widthb
- \hangindent-\!!widtha
- \@@makedescriptionhangbox\raggedleft{\advance\leftskip \!!widthb}%
- \noindent\ignorespaces
- \rlap
- {\dontcomplain
- \dontshowcomposition
- \scratchdimen\hsize
- \advance\scratchdimen -\leftskip
- \advance\scratchdimen -\rightskip
- \hbox to \scratchdimen
- {\hss\vtop to \zeropoint{\box\@@descriptionbox}}}%
- \@@dodescription}
-
-\def\@@makedescriptionhangbox#1#2%
- {\setbox\@@descriptionbox\vtop % \vbox gaat fout in hang
- {\forgetall
- \dontcomplain
- \hsize\!!widtha
- #1\setupalign[\descriptionparameter\c!align]#2%
- \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox}%
- \ht\@@descriptionbox\strutht
- \dp\@@descriptionbox\strutdp
- \doifsomething{\descriptionparameter\c!hang}
- {\doifinsetelse{\descriptionparameter\c!hang}{\v!fit,\v!broad}
- {\scratchdimen\ht\@@descriptionbox
- \advance\scratchdimen \dp\@@descriptionbox
- \doif{\descriptionparameter\c!hang}\v!broad
- {\advance\scratchdimen .5\strutht}%
- \getnoflines\scratchdimen
- \hangafter-\noflines}
- {\hangafter-\descriptionparameter\c!hang}}}
-
-\setvalue{@@description\v!top}[#1]#2%
- {%\page[\v!preference]% % Weg ermee!
- %\dosomebreak{\goodbreak}% % Dit is beter en nodig!
- \dohandlepagebreakX\plusone % En dit moet het maar worden.
- \@@dostartdescription[#1]{\let\\=\space}{#2}%
- \noindent\ignorespaces
- \copy\@@descriptionbox\par
- \nobreak
- \descriptionparameter\c!inbetween
- \nobreak
- \@@dodescription}
-
-\def\do@@description#1[#2]#3%
- {\@@dostartdescription[#2]{\def\\{\crlf}}{#3}%
- \noindent\ignorespaces % not needed this ignore
- #1{\ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox}%
- \@@dodescription}
-
-\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%
- {\@@dostartdescription[#1]{\def\\{\crlf}}{#2}%
- \noindent\ignorespaces
- \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox
- \hskip\!!widthb % toegevoegd
- \@@dodescription}
-
-\setvalue{@@description\v!serried\v!broad}[#1]#2%
- {\@@dostartdescription[#1]{\def\\{\crlf}}{#2}%
- \noindent\ignorespaces
- \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox
- \hskip\!!widthb \!!plus .5\!!widthb \!!minus .25\!!widthb
- \@@dodescription}
-
-\setvalue{@@description\v!serried\v!wide}[#1]#2%
- {\@@dostartdescription[#1]{\def\\{\crlf}}{#2}%
- \noindent\ignorespaces
- \hbox to \!!widtha
- {\ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox\hss}%
- \hskip\!!widthb
- \ignorespaces
- \@@dodescription}
-
-\setvalue{@@description\v!serried}[#1]#2%
- {\processaction
- [\descriptionparameter\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}}
-
-\setvalue{@@description\v!hanging}[#1]#2%
- {\@@dostartdescription[#1]{\def\\{\crlf}}{#2}% % adds \c!margin to \leftskip
- \noindent\ignorespaces
- \advance\leftskip -\leftskipadaption \relax
- \ifdim\leftskipadaption=\zeropoint
- \leftskipadaption1.5em % just some default
- \ifnum\nesteddescriptionstate=\plusone
- \ifdim\leftskip>\zeropoint \relax
- \leftskipadaption\leftskip
- \fi
- \fi
- \fi
- \ifnum\nesteddescriptionstate>\zerocount % was \ifnum\nesteddescriptionstate=\plusone
- \advance\leftskip \leftskipadaption % but we're already further on
- \fi
- \hskip-\leftskipadaption
- \ifhbox\@@descriptionbox\unhcopy\else\copy\fi\@@descriptionbox
- \kern\ifdim\!!widthb=\zeropoint .75em\else\!!widthb\fi
- \ignorespaces
- \@@dodescription}
-
-%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.
-
-\def\resetdescriptions % to be used in e.g. footnotes
- {\chardef\nesteddescriptionstate\zerocount}
-
-\resetdescriptions
-
-\let\@@leftdescriptionskip \!!zeropoint
-\let\@@rightdescriptionskip\!!zeropoint
-
-\def\@@dostartdescription[#1]#2#3%
- {\descriptionparameter\c!before
- \begingroup
- \doadaptleftskip{\descriptionparameter\c!margin}%
- \showcomposition
- \!!widthb\descriptionparameter\c!distance\relax
- \ifdim\!!widthb=\zeropoint\relax
- \doif{\descriptionparameter\c!width}\v!broad{\!!widthb=1em}%
- \fi
- % temp hack, we need to avoid this kind of preprocessing
- \setbox\@@descriptionbox\hbox % preroll
- {\forgetall
- \trialtypesettingtrue
- \dontcomplain
- #2% sets \\ to space or \crlf
- \@@descriptionhandler[#1]{#3}{\begstrut\descriptionparameter\c!text\ignorespaces#3\endstrut}}%
- % so far
- \assignwidth
- \!!widtha
- {\descriptionparameter\c!width}%
- {\doifelsenothing{\descriptionparameter\c!sample}%
- {% preroll can move here (test first)
- \ifhbox\@@descriptionbox\unhcopy\else\copy\fi \@@descriptionbox}%
- {\@@descriptionhandler[#1]{#3}{\descriptionparameter\c!text\descriptionparameter\c!sample}}}
- \!!widthb
- \setbox\@@descriptionbox\hbox
- {\forgetall
- \dontcomplain
- #2% sets \\ to space or \crlf
- \doifelse{\descriptionparameter\c!location}\v!serried
- {\@@descriptionhandler[#1]{#3}{\begstrut\descriptionparameter\c!text#3\endstrut}}
- {\@@descriptionhandler[#1]{#3}{\vtop{\hsize\!!widtha\advance\hsize-\!!widthb
- \begstrut\descriptionparameter\c!text\ignorespaces#3\endstrut}}}}%
- \doifelse{\descriptionparameter\c!aligntitle}\v!no
- {\edef\@@leftdescriptionskip {\the\leftskip }%
- \edef\@@rightdescriptionskip{\the\rightskip}}
- {\ifcase\nesteddescriptionstate
- \edef\@@leftdescriptionskip {\the\leftskip }%
- \edef\@@rightdescriptionskip{\the\rightskip}%
- \fi}%
- \expanded{\indenting[\descriptionparameter\c!indenting]}%
- % better a system mode
- \ifcase\nesteddescriptionstate
- \chardef\nesteddescriptionstate\plusone
- \or
- \chardef\nesteddescriptionstate\plustwo
- \fi% now happens elsewhere : \noindent\ignorespaces
- \@@resetdescriptionclosesymbol}
-
-\def\@@stopdescription#1%
- {\def\currentdescription{#1}%
- \@@placedescriptionclosesymbol
- % was \par \dostopattributes % here, else problems with interlinespace and font change
- \dostopparbasedattributes % == \settrue\parbasedattributes \dostopattributes
- \endgroup
- \descriptionparameter\c!after %hm, which currentdescription?
- \egroup % temporary hack
- \def\currentdescription{#1}%
- \dochecknextindentation{\??dd\currentdescription}%
- \dorechecknextindentation}
-
-\def\@@dodescription
- {\dostartattributes{\??dd\currentdescription}\c!style\c!color\empty
- \ignorespaces}
-
-% starters:
-
-\def\@@startdescription[#1][#2]%
- {\def\currentdescription{#1}%
- \doifelse{\descriptionparameter\c!title}\v!yes
- % {\dowithwargument{\@@startsomedescription{#1}[#2]}} % patched for theorems
- {\permitspacesbetweengroups
- \dodoublegroupempty{\@@startsomedescription{#1}[#2]}}
- {\@@startsomedescription{#1}[#2]{}}}
-
-\def\@@description[#1][#2]%
- {\def\currentdescription{#1}%
- \doifelse{\descriptionparameter\c!title}\v!yes
- % {\dowithwargument{\@@somedescription{#1}[#2]}} % patched for theorems
- {\permitspacesbetweengroups
- \dodoublegroupempty{\@@somedescription{#1}[#2]}}
- {\@@somedescription{#1}[#2]{}}}
-
-% these call:
-
-\def\@@somedescription#1[#2]#3%
- {\dowithpar
- {\bgroup\@@makedescription{#1}[#2]{#3}}%
- {\@@stopdescription{#1}}}
-
-\def\@@startsomedescription#1[#2]#3%
- {\bgroup % temporary hack
- \BeforePar{\@@makedescription{#1}[#2]{#3}}%
- \GotoPar}
-
-% which calls:
-
-\def\@@makedescription#1%
- {\postponenotes % new, assumes grouping
- \def\currentdescription{#1}%
- \executeifdefined
- {@@description\descriptionparameter\c!location}
- {\getvalue{@@description\v!left}}}
-
-% \def\@@makedescription#1%
-% {\def\currentdescription{#1}%
-% \ifundefined{@@description\descriptionparameter\c!location}%
-% \letvalue{\??dd#1\c!location}\v!left
-% \fi
-% \getvalue{@@description\descriptionparameter\c!location}}
-
-% definitions
-
-\def\setupdescriptions
- {\dodoubleempty\dosetupdescriptions}
-
-\def\dosetupdescriptions[#1][#2]% % beter: \iffirstargument
- {\ConvertToConstant\doifelse{#2}{}
- {\dodosetupdescriptions[][#1]}
- {\dodoubleargumentwithset\dodosetupdescriptions[#1][#2]}}
-
-\def\dodosetupdescriptions[#1]% [#2]%
- {\getparameters[\??dd#1]} % [#2]}
-
-\def\dodefinedescription[#1][#2]%
- {\copyparameters[\??dd#1][\??dd]
- [\c!location,\c!headstyle,\c!style,\c!color,\c!headcolor,\c!title,
- \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!titledistance,\c!command,
- \c!titleleft,\c!titleright,\c!titlecommand,\c!closesymbol,\c!closecommand]%
- \getparameters[\??dd#1]
- [\c!title=\v!yes,\s!do\c!command=\normal@@descriptionhandler,
- \c!type=\v!description,\c!list=,\c!listtext=,
- \c!level=,#2]%AM?? Why do we have title=yes here?
- %\doifvalue{\??dd#1\c!location}\v!top{\doassign[\??dd#1][\c!inbetween=\blank]}%
- \doifvalue{\??dd#1\c!location}\v!top % we actually need more granularity
- {\doifnotvalue{\??dd#1\c!inbetween}{\doassign[\??dd#1][\c!inbetween=\blank]}}%
- \doifvaluesomething{\??dd#1\c!list}
- {\definelist[\getvalue{\??dd#1\c!type}:\getvalue{\??dd#1\c!list}]}% new
- \setvalue {#1}{\dodoubleempty\@@description[#1]}%
- \setvalue{\e!start#1}{\dodoubleempty\@@startdescription[#1]}%
- \setvalue{\e!stop #1}{\@@stopdescription{#1}}}
-
-\def\definedescription
- {\dodoubleemptywithset\dodefinedescription}
-
-\def\currentdescriptionnumber {\csname\??dd\currentdescription\??dd\c!number\endcsname}
-\def\directcurrentdescriptionnumber#1{\csname\??dd #1\??dd\c!number\endcsname}
-
-\ifx\preparednumber\undefined \let\preparednumber\empty \fi
-
-\def\special@@descriptionhandler[#1]#2#3%
- {\strut
- \doifelse{\descriptionparameter\c!number}\v!no
- \!!doneafalse{\doifelse{#1}{-}\!!doneafalse\!!doneatrue}%
- \chardef\descriptioncoupling\zerocount
- \iflocation
- \doifsomething{\descriptionparameter\c!coupling}
- {\processaction % genereert > of <
- [\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
- [\currentdescriptionnumber]
- [\c!sectionnumber=\descriptionparameter\c!sectionnumber]%
- \if!!donea
- \makeprecedingsectionnumber[\currentdescriptionnumber]%
- \prepareprefixnumber{\??dd\currentdescription}\precedingsectionnumber\preparednumber
- \iftrialtypesetting\startlocal\fi
- \getvalue{\e!next\currentdescription}% tricky but we need the preroll
- \iftrialtypesetting\stoplocal\fi
- % \getvalue{\e!next#2#1}%
- \iflocation
- \bgroup
- \letvalue{\??dd\currentdescription\c!sectionnumber}\v!yes
- \protectconversion
- \makeprecedingsectionnumber[\currentdescriptionnumber]%
- \prepareprefixnumber{\??dd\currentdescription}\precedingsectionnumber\preparednumber
- \ifcase\descriptioncoupling \or
- \xdef\@@internalenumber{\doshowdnnumber}%
- \rawreference\s!num{#1:\@@internalenumber}{}%
- \or
- \xdef\@@internalenumber{\countervalue{\??dd\c!coupling\currentdescription}}%
- \rawreference\s!num{\currentdescription:\@@internalenumber}{}%
- \fi
- \egroup
- \fi
- %\makeprecedingsectionnumber[\currentdescriptionnumber]%
- %\prepareprefixnumber{\??dd\currentdescription}\precedingsectionnumber\preparednumber
- \disablepseudocaps % sorry, uppercase causes troubles
- \doattributes % \nocase primitive needed
- {\??dd\currentdescription}\c!headstyle\c!headcolor % todo: sub as well
- {\descriptionparameter\c!command
- {\showdntext
- \descriptionparameter\c!left
- \strut\doshowdnnumber
- \showdntitle{#2}%
- \descriptionparameter\c!stopper
- \descriptionparameter\c!right}}%
- \doifsomething{\descriptionparameter\c!list}
- {\dowritetolist
- {\descriptionparameter\c!type:\descriptionparameter\c!list}
- {\showdnlisttext\doshowdnnumber}{#2}{\currentdescription}}%
- \iflocation\ifcase\descriptioncoupling \else
- \edef\localconnection{\descriptionparameter\c!coupling:\@@internalenumber}%
- \doifreferencefoundelse\localconnection
- {\in[\localconnection]}\donothing % genereert > of <
- \fi\fi
- \doifnot{#1}{-}{\rawreference\s!num{#1}{{\doshowdnnumber}{#2}}}%
- \else
- \doattributes{\??dd\currentdescription}\c!headstyle\c!headcolor
- {\descriptionparameter\c!command
- {\showdnpuretext
- \descriptionparameter\c!left
- \showdntitle{#2}%
- \descriptionparameter\c!stopper
- \descriptionparameter\c!right}}%
- \doifnot{#1}{-}{\rawreference\s!num{#1}{{}{#2}}}%
- \fi}
-
-\def\showdntitle#1%
- {\doif{\descriptionparameter\c!title}\v!yes % new, for david antos
- {\doifsomething{#1}
- {\doattributes{\??dd\currentdescription}\c!titlestyle\c!titlecolor
- {\hskip\descriptionparameter\c!titledistance
- \descriptionparameter\c!titlecommand
- {\descriptionparameter\c!titleleft
- \begstrut#1\endstrut
- \descriptionparameter\c!titleright}}}}}
-
-
-\def\showdnpuretext
- {\strut\descriptionparameter\c!text} % geen spatie
-
-\def\showdnlisttext
- {\descriptionparameter\c!listtext} % space in default
-
-\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}%
- \spr{\descriptionparameter\c!separator}%
- \convertednumber[\v!sub\currentdescriptionnumber]}
-
-\setvalue{showdn\v!sub\v!sub\c!number}%
- {\getvalue{showdn\v!sub\c!number}%
- \spr{\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}%
- \spr{\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{\directcurrentdescriptionnumber{#1}}%
- \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{\directcurrentdescriptionnumber{#1}}%
- \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{\directcurrentdescriptionnumber{#1}}%
- \incrementnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]%
- \rawreference\s!num{#2}{\getvalue{showdn\v!sub\v!sub\v!sub\c!number}}}%
-
-\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}{\getvalue{showdn\v!sub\v!sub\c!number}}}%
-
-\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}{\getvalue{showdn\v!sub\c!number}}}%
-
-\setvalue{\??dd\e!next\c!number}#1#2%
- {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}%
- \incrementnumber[\@@descriptionnumber]%
- \rawreference\s!num{#2}{\getvalue{showdn\c!number}}}%
-
-\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\docheckenumerationnumber#1#2#3%
- {\processaction
- [\getvalue{\??dd#2\c!number}]
- [ \v!yes=>\setvalue{\??dd#2\??dd\c!number}{#3},%
- \v!no=>\setvalue{\??dd#2\??dd\c!number}{#3},%
- \v!default=>\setvalue{\??dd#2\??dd\c!number}{#3},%
- \v!unknown=>\letvalue{\??dd#2\??dd\c!number}\commalistelement]}
-
-\def\dododefineenumeration#1#2#3[#4][#5]%
- {\makecounter{\??dd\c!coupling#1}% new: global cross linking
- \dodefinedescription[#3#1]%
- [\c!title=\v!no,\c!level=#3,\c!type=\v!enumeration,\c!list=,%
- \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!titledistance,\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!title,\c!titleleft,\c!titleright,\c!titlecommand,\c!closesymbol,\c!closecommand]%
- \doifassignmentelse{#4}
- {\getparameters[\??dd#3#1]%
- [\c!text=#1,\??dd\c!number=#1,\c!conversion=,\c!listtext=#1\space,
- \c!left=,\c!right=,\c!coupling=,\c!couplingway=\v!local,#4]%
- \docheckenumerationnumber{#1}{#3#1}{#1}}%
- {\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]%
- \docheckenumerationnumber{#1}{#3#1}{#1}}%
- {\copyparameters[\??dd#3#1][\??dd#3#4]
- [\c!location,\c!headstyle,\c!style,\c!color,\c!headcolor,
- \c!width,\c!number,\c!distance,\c!titledistance,\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,
- \c!title,\c!titleleft,\c!titleright,\c!titlecommand,\c!closesymbol,\c!closecommand]%
- \getparameters[\??dd#3#1]
- [\c!text=#1,\??dd\c!number=#4,\c!conversion=,#5]%
- %docheckenumerationnumber{#1}{#3#1}{#4}}}%
- \docheckenumerationnumber{#1}{#3#1}{\getvalue{\??dd#3#4\??dd\c!number}}}}%
- \doifvalue{\??dd#3#1\??dd\c!number}{#1}
- {\definenumber
- [#3#1]
- [\c!way=\descriptionparentparameter\c!way,
- \c!blockway=\descriptionparentparameter\c!blockway,
- \c!conversion=\descriptionparentparameter\c!conversion,
- \c!sectionnumber=\descriptionparentparameter\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
- \doifvaluesomething{\??dd#3#1\c!list}
- {\definelist[\getvalue{\??dd#3#1\c!type}:\getvalue{\??dd#3#1\c!list}]}% new
- % should work ...
- %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]}}
- % but since we use \currentdescription, we need ...
- \setevalue{\s!set #3#1}{\noexpand \dosetenumerationnumber [#1][#3]}%
- \setevalue{\s!reset#3#1}{\noexpand \doresetenumerationnumber[#1][#3]}%
- \setevalue{\e!next #3#1}{\noexpand\dotripleempty\noexpand\donextenumerationnumber [#1][#3]}}
-
-\def\descriptionparentparameter#1{\csname\??dd\currentdescriptionnumber#1\endcsname}
-
-\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]% name level
- {\getvalue{\??dd\s!reset#2\c!number}{#1}}%
-
-\def\dosetenumerationnumber[#1][#2]% name level
- {\getvalue{\??dd\s!set#2\c!number}{#1}}%
-
-\def\donextenumerationnumber[#1][#2][#3]% name level reference
- {\pluscounter{\??dd\c!coupling#1}% new: global crosslinking
- \getvalue{\??dd\e!next#2\c!number}{#1}{#3}}%
-
-\def\@@resetdescriptionclosesymbol
- {\global\@EA\settrue\csname\??dd\currentdescription:mrk\endcsname
- \let\placeclosesymbol\@@placedescriptionclosesymbol
- \let\qed \@@placedescriptionclosesymbol}
-
-\def\@@placedescriptionclosesymbol
- {\ifconditional\csname\??dd\currentdescription:mrk\endcsname
- \global\@EA\setfalse\csname\??dd\currentdescription:mrk\endcsname
- \doifsomething{\descriptionparameter\c!closesymbol}{\descriptionparameter\c!closecommand{\descriptionparameter\c!closesymbol}}%
- \fi}
-
-% Het default-mechanisme kan mooier: leegtest, enz.
-%
-% Werkprocedure buiten description
-
-\def\dodosetupindentations[#1][#2]%
- {\getparameters[\??ds#1][#2]}
-
-\def\dosetupindentations[#1][#2]%
- {\ConvertToConstant\doifelse{#2}{}
- {\dodosetupindentations[][#1]}
- {\dodoubleargumentwithset\dodosetupindentations[#1][#2]}}
-
-\def\setupindentations
- {\dodoubleempty\dosetupindentations}
-
-% what to do with this
-
-\def\startdoorspringen
- {\whitespace
- \@@dsbefore
- \dosomebreak\goodbreak % \page[\v!preference]
- \begingroup
- \parskip\zeropoint\relax}
-
-\def\stopdoorspringen
- {\endgroup
- \@@dsafter}
-
-%
-
-\def\dododefineindenting#1#2#3%
- {\par
- \getvalue{\??ds#1\c!before}%
- \begingroup
- \doifvaluenothing{\??ds#1\c!sample}
- {\setvalue{\??ds#1\c!sample}%
- {\getvalue{\??ds#1\c!text}}}%
- \assignwidth
- {\!!widtha}
- {\getvalue{\??ds#1\c!width}}
- {\doattributes
- {\??ds#1}\c!headstyle\c!headcolor
- {\getvalue{\??ds#1\c!sample}%
- \spr{\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!headstyle\c!headcolor
- {\strut
- \getvalue{\??ds#1\c!text}%
- \hss
- \spr{\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!style\c!color\empty
- \AfterPar{\endgroup\getvalue{\??ds#1\c!after}}% must be redone
- \GetPar}
-
-\def\dodefineindenting[#1][#2]%
- {\copyparameters[\??ds#1][\??ds]
- [\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}{\dododefineindenting{#1}{0}{1}}%
- \setvalue {\v!sub#1}{\dododefineindenting{#1}{1}{2}}%
- \setvalue{\v!sub\v!sub#1}{\dododefineindenting{#1}{2}{3}}}
-
-\def\defineindenting
- {\dodoubleargumentwithset\dodefineindenting}
-
-\def\definelabel
- {\dodoubleargumentwithset\dodefinelabel}
-
-\def\dodefinelabel[#1][#2]%
- {\definenumber
- [#1]
- [\c!command=,\c!location=,#2]%
- % downward compatible
- \processaction
- [\numberparameter{#1}\c!location]
- [ \v!inmargin=>{\setupnumber[#1][\c!command=\inmargin]},
- \v!inleft=>{\setupnumber[#1][\c!command=\inleft ]},
- \v!inright=>{\setupnumber[#1][\c!command=\inright ]},
- \v!margin=>{\setupnumber[#1][\c!command=\inmargin]}]%
- % generated commands (in addition to the number ones)
- \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]}}
-
-\def\do@@label[#1][#2]%
- {\numberparameter{#1}\c!before
- \numberparameter{#1}\c!command{\doattributes{\@@thenumber{#1}}\c!headstyle\c!headcolor{\getvalue{\e!next#1}[#2]}}%
- \numberparameter{#1}\c!after}%
-
-\def\do@@nextlabel[#1][#2]%
- {\nextnumber[#1][\s!lab][#2]}
-
-\def\currentnumber[#1]% kan tekst hier weg ?
- {\dotextprefix{\numberparameter{#1}\c!text}\sectionnumberonly[#1]}
-
-\def\nextnumber[#1][#2][#3]%
- {\incrementnumber[#1]%
- \currentnumber[#1]%
- \rawreference{#2}{#3}{\composedsectionnumber}}
-
-\setupdescriptions
- [\c!location=\v!left,
- \c!headstyle=\v!bold,
- \c!titlestyle=\v!bold,
- \c!style=\v!normal,
- \c!color=,
- \c!headcolor=,
- \c!titlecolor=,
- \c!width=8em,
- \c!distance=0pt,
- \c!titledistance=0.5em,
- \c!hang=,
- \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!titleleft=(,
- \c!titleright=),
- \c!closesymbol=,
- \c!closecommand=\wordright,
- \c!command=,
- \c!titlecommand=]
-
-\setupenumerations
- [\c!location=\v!top,
- \c!headstyle=\v!bold,
- \c!headcolor=,
- \c!titlestyle=\v!bold,
- \c!titlecolor=,
- \c!style=\v!normal,
- \c!color=,
- \c!width=8em,
- \c!distance=0pt,
- \c!titledistance=0.5em,
- \c!hang=,
- \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=\@@koseparator, % per 2006.06.23, was .
- \c!stopper=,
- \c!titleleft=(,
- \c!titleright=),
- \c!closesymbol=,
- \c!closecommand=\wordright,
- \c!number=,
- \c!command=,
- \c!titlecommand=]
-
-\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