summaryrefslogtreecommitdiff
path: root/tex/context/base/core-01b.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/core-01b.tex')
-rw-r--r--tex/context/base/core-01b.tex2838
1 files changed, 1453 insertions, 1385 deletions
diff --git a/tex/context/base/core-01b.tex b/tex/context/base/core-01b.tex
index 4d5352575..f6e50edbe 100644
--- a/tex/context/base/core-01b.tex
+++ b/tex/context/base/core-01b.tex
@@ -1,1385 +1,1453 @@
-%D \module
-%D [ file=core-01b,
-%D version=1997.03.31,
-%D title=\CONTEXT\ Core Macros,
-%D subtitle=1B (to be split),
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. Non||commercial use is
-%C granted.
-
-\writestatus{loading}{Context Core Macros (b)}
-
-\unprotect
-
-%I n=Items
-%I c=\items,\stelitemsin
-%I
-%I Met het commando \items kunnen invullijsten worden
-%I gegenereerd:
-%I
-%I \items{alternatief1,alternatief2,...,alternatiefN}
-%I
-%I Als in plaats van een alternatief een - wordt gegeven,
-%I dan wordt ruimte opengelaten.
-%I
-%I De wijze waarop items worden weergegeven wordt ingesteld
-%I met het commando:
-%I
-%I \stelitemsin[plaats=,symbool=,breedte=,n=,voor=,
-%I tussen=,na=,uitlijnen=]
-%I
-%I Mogelijke plaatsen zijn links, rechts, onder, boven en
-%I inmarge. Als breedte wordt de breedte van de totale tekst
-%I opgegeven. Het aantal is facultatief, eventueel kan er
-%I 'onbekend' worden meegegeven. Uitlijnen is 'ja' of 'nee'.
-%P
-%I Indien gewenst, kan de instelling direkt achter \item worden
-%I geplaatst:
-%I
-%I \items[plaats=,symbool=,...]{alternatief1,...}
-%I
-%I In plaats van een symbool kan ook een van de volgende
-%I aanduidingen worden meegegeven:
-%I
-%I a a, b, c, d, ...
-%I A A, B, C, D, ...
-%I n 1, 2, 3, 4, ...
-%I r i, ii, iii, ...
-%I R I, II, III, ...
-%I
-%I Eventueel kan een nummer worden meegegeven. In dat
-%I geval wordt het overeenkomstige symbool van de
-%I opsomming gebruikt (1--n).
-
-%\def\checkinterlineskip%
-% {\ifvmode
-% \ifdim\lastskip>\!!zeropoint\relax
-% \nointerlineskip
-% \else\ifdim\lastkern>\!!zeropoint\relax
-% \nointerlineskip
-% \fi\fi
-% \fi}
-
-\def\horitems#1#2% #1=breedte #2=commandos
- {\dimen0=#1\relax
- \divide\dimen0 by \nofitems
- \!!counta=0\relax
- \def\docommando##1%
- {\advance\!!counta by 1\relax
- \processaction
- [\@@isuitlijnen]
- [ \v!links=>\hbox to \dimen0{\strut##1\hss},
- \v!rechts=>\hbox to \dimen0{\hss\strut##1},
- \v!midden=>\hbox to \dimen0{\hss\strut##1\hss},
- \v!marge=>\ifnum\!!counta=1\hss\else\hfill\fi
- \strut##1%
- \ifnum\!!counta=\nofitems\hss\else\hfill\fi,
- \s!default=>\hbox to \dimen0{\hss\strut##1\hss}, % midden
- \s!unknown=>\hbox to \dimen0{\strut##1\hss}]}% % links
- \hbox to #1{\hss#2\hss}}
-
-\def\veritems#1#2% #1=breedte #2=commandos
- {\dimen0=#1\relax
- \def\docommando##1%
- {\ifdim\dimen0<\!!zeropoint\relax % the - was a signal
- \hbox to -\dimen0{\hss\strut##1}%
- \else\ifdim\dimen0>\!!zeropoint\relax
- \hbox to \dimen0{\strut##1\hss}%
- \else
- \hbox{\strut##1}%
- \fi\fi}%
- \vbox{#2}}
-
-\def\dostelitemsin[#1]% maakt direkt gebruik van \??ss en \??cv
- {\getparameters[\??is][#1]%
- \doif{\@@isbreedte}{\v!onbekend}
- {\def\@@isbreedte{\hsize}}%
- \doifdefinedelse{\??cv\@@issymbool}
- {\def\doitembullet##1{\convertnumber{\@@issymbool}{##1}}}
- {\doifdefined{\??ss\@@issymbool}
- {\def\doitembullet##1{\symbol[\@@issymbool]}}}}
-
-\def\makeitemsandbullets#1%
- {\doifelse{\@@isn}{\v!onbekend}
- {\getcommalistsize[#1]%
- \edef\nofitems{\commalistsize}}
- {\edef\nofitems{\@@isn}}%
- \setbox0=\hbox
- {\doitems
- {\@@isbreedte}
- {\processcommalist[#1]\docommando}}%
- \setbox2=\hbox
- {\doitems
- {\@@isbulletbreedte}
- {\herhaal[\nofitems*\docommando{\strut\doitembullet{\herhaler}}]}}}
-
-\def\dostartitems#1#2#3%
- {\let\doitems=#2
- \def\@@isbulletbreedte{#3}%
- \makeitemsandbullets{#1}%
- \@@isvoor}
-
-\def\dostopitems%
- {\@@isna
- \egroup}
-
-\def\doitemsboven#1%
- {\dostartitems{#1}\horitems\@@isbreedte
- \noindent\vbox
- {\forgetall
- \doifsomething{\@@issymbool}
- {\doifnot{\@@issymbool}{\v!geen}
- {\box2
- \@@istussen
- \nointerlineskip}}%
- \box0}%
- \dostopitems}
-
-\def\doitemsonder#1%
- {\dostartitems{#1}\horitems\@@isbreedte
- \noindent\vbox
- {\forgetall
- \box0
- \doifsomething{\@@issymbool}
- {\@@istussen
- \nointerlineskip
- \box2}}%
- \dostopitems}
-
-\def\doitemsinmarge#1%
- {\dostartitems{#1}{\veritems}{-1.5em}% - is a signal
- \noindent\hbox{\llap{\box2\hskip\linkermargeafstand}\box0}%
- \dostopitems}
-
-\def\doitemslinks#1%
- {\advance\hsize by -1.5em\relax
- \dostartitems{#1}{\veritems}{1.5em}%
- \noindent\hbox{\box2\box0}%
- \dostopitems}
-
-\def\doitemsrechts#1%
- {\dostartitems{#1}{\veritems}{0em}%
- \noindent\hbox{\box0\hskip-\wd2\box2}%
- \dostopitems}
-
-\def\stelitemsin%
- {\dosingleargument\dostelitemsin}
-
-\def\complexitems[#1]%
- {\bgroup
- \stelitemsin[#1]%
- \parindent=\!!zeropoint
- \setlocalhsize
- \hsize=\localhsize
- \mindermeldingen
- \getvalue{doitems\@@isplaats}}
-
-\definecomplexorsimpleempty\items
-
-%I n=Tabulatie (1)
-%I c=\definieeralineas,\stelalineasin
-%I
-%I Er kunnen paragrafen in meerdere kolommen worden gezet na
-%I het commando:
-%I
-%I \definieeralineas[naam][n=,voor=,na=,afstand=,
-%I hoogte=,lijn=,binnen=]
-%I
-%I Kolommen worden vervolgens gezet met:
-%I
-%I \startnaam .... \naam .... \naam .... \stopnaam
-%I
-%I of (soms verwarrend):
-%I
-%I \naam .... \naam .... \naam .... \naam
-%I
-%I of (lekker kort):
-%I
-%I \naam .... \\ .... \\ .... \\
-%I
-%I waarbij het aantal malen .... \naam of \\ gelijk is
-%I aan n. Naast \naam en \\ is ook \volgendenaam toegestaan.
-%P
-%I Het is mogelijk per kolom een en ander in te stellen met
-%I het commando:
-%I
-%I \stelalineasin[naam][kolomnummer][afstand=,breedte=,
-%I hoogte=,boven=,onder=,letter=,binnen=,lijn=,
-%I uitlijnen=,tolerantie=]
-%I
-%I Standaard is \tabulatie gedefinieerd.
-
-% Te zijner tijd [plaats=boven,onder,midden] implementeren,
-% in dat geval moet eerst de maximale hoogte worden bepaald.
-%
-% Overigens kan een en ander mooier met \halign.
-
-\def\dodefinieeralineas[#1][#2]%
- {\setvalue{\s!do\s!next#1}%
- {\def\\{\getvalue{#1}}}%
- \setvalue{#1}%
- {\getvalue{\s!do\s!next#1}%
- \dostartalineas{#1}}%
- \setvalue{\e!volgende#1}%
- {\getvalue{#1}}%
- \setvalue{\e!start#1}%
- {\bgroup
- \setvalue{\s!do\s!next#1}{}%
- \setvalue{\e!stop#1}%
- {\getvalue{#1}%
- \egroup}%
- \getvalue{#1}}%
- \getparameters[\??al#1]%
- [\c!n=3,
- \c!voor=\blanko,
- \c!na=\blanko,
- \c!afstand=1em,
- \c!hoogte=\v!passend,
- \c!lijn=\v!uit,
- \c!commando=,
- \c!uitlijnen=,
- \c!tolerantie=\v!soepel,
- \c!letter=,
- \c!kleur=,
- \c!boven=,
- \c!boven=\vss,
- \c!onder=\vfill,
- #2]%
- \setvalue{\e!stel#1\e!in}%
- {\stelalineasin[#1]}%
- \dorecurse
- {\getvalue{\??al#1\c!n}}
- {\stelalineasin[#1][\recurselevel]
- [\c!breedte=,
- \c!onder=\getvalue{\??al#1\c!onder},
- \c!boven=\getvalue{\??al#1\c!boven},
- \c!hoogte=\getvalue{\??al#1\c!hoogte},
- \c!letter=\getvalue{\??al#1\c!letter},
- \c!kleur=\getvalue{\??al#1\c!kleur},
- \c!lijn=\getvalue{\??al#1\c!lijn},
- \c!uitlijnen=\getvalue{\??al#1\c!uitlijnen},
- \c!tolerantie=\getvalue{\??al#1\c!tolerantie},
- \c!afstand=\getvalue{\??al#1\c!afstand}]}%
- \stelalineasin[#1][1][\c!afstand=0em]}
-
-\def\definieeralineas%
- {\dodoubleargument\dodefinieeralineas}
-
-\def\dostelalineasin[#1][#2][#3]%
- {\doifelse{#2}{\v!elk}
- {\dorecurse
- {\getvalue{\??al#1\c!n}}
- {\getparameters[\??al#1\herhaler][#3]}}
- {\ConvertToConstant\doifelse{#3}{}
- {\getparameters[\??al#1][#2]}
- {\def\docommando##1%
- {\getparameters[\??al#1##1][#3]}%
- \processcommalist[#2]\docommando}}}
-
-\def\stelalineasin%
- {\dotripleempty\dostelalineasin}
-
-\newcount\alteller
-\newcount\alnsize
-\newdimen\alhsize
-
-\def\doalinealijn#1#2%
- {\doifelsevalue{\??al#2\the\alteller\c!lijn}{\v!aan}
- {\expandafter\dimen2=#1\relax
- \hskip.5\dimen2
- \hskip-\linewidth
- \vrule\!!width\linewidth
- \hskip.5\dimen2}
- {\hskip#1}}
-
-\def\dostartalinea#1%
- {\doifelsevaluenothing{\??al#1\the\alteller\c!breedte}
- {\!!widtha=\alhsize\relax
- \divide\!!widtha by \alnsize}
- {\!!widtha=\getvalue{\??al#1\the\alteller\c!breedte}\relax}%
- \dostartattributes{\??al#1\the\alteller}{}%
- \doifelsevalue{\??al#1\the\alteller\c!hoogte}{\v!passend}
- {\setbox0=\vtop}
- {\setbox0=\vtop to \getvalue{\??al#1\the\alteller\c!hoogte}}%
- \bgroup
- \blanko[\v!blokkeer]%
- \forgetall
- \getvalue{\??al#1\the\alteller\c!boven}%
- \getvalue{\??al#1\c!binnen}%
- \hsize=\!!widtha % setting \wd afterwards removed
- \getvalue{\??al#1\the\alteller\c!binnen}%
- \edef\!!stringa{\getvalue{\??al#1\the\alteller\c!uitlijnen}}% nodig?
- \expandafter\steluitlijnenin\expandafter[\!!stringa]%
- \edef\!!stringa{\getvalue{\??al#1\the\alteller\c!tolerantie}}% nodig?
- \expandafter\steltolerantiein\expandafter[\!!stringa]%
- \ignorespaces
- \endgraf
- \ignorespaces
- %
- % Nadeel van de onderstaande constructie is dat \everypar
- % binnen een groep kan staan en zo steeds \begstruts
- % worden geplaatst. Mooi is anders dus moet het anders!
- %
- % Hier is \Everypar niet nodig.
- %
- \everypar{\begstrut\everypar{}}%
- %
- \ignorespaces\geenspatie % dubbel: \ignorespaces
- \getvalue{\??al#1\the\alteller\c!commando}}
-
-\def\dostopalinea#1%
- {\ifvmode
- \removelastskip
- \else
- \unskip\endstrut\endgraf
- \fi
- \getvalue{\??al#1\the\alteller\c!onder}%
- \egroup
- \ifdim\wd0=\!!zeropoint % no data
- \wd0=\!!widtha
- \fi
- \box0
- \dostopattributes
- \ifnum\alteller<\getvalue{\??al#1\c!n}\relax
- \def\next{\doalinea{#1}}%
- \else
- \def\next{\dostopalineas{#1}}%
- \fi
- \next}
-
-\def\doalinea#1%
- {\global\advance\alteller by 1\relax
- \doifelsevaluenothing{\??al#1\the\alteller\c!afstand}
- {\doifnot{\the\alteller}{1}
- {\hskip\getvalue{\??al#1\c!afstand}}}
- {\doifelse{\the\alteller}{1}%
- {\hskip\getvalue{\??al#1\the\alteller\c!afstand}}
- {\doalinealijn{\getvalue{\??al#1\the\alteller\c!afstand}}{#1}}}%
- \setvalue{#1}{\dostopalinea{#1}}%
- \dostartalinea{#1}}
-
-\def\dostartalineas#1%
- {\global\alteller=0\relax
- \parindent=\!!zeropoint
- \setlocalhsize
- \alhsize=\localhsize
- \alnsize=\getvalue{\??al#1\c!n}\relax
- \dorecurse
- {\getvalue{\??al#1\c!n}}
- {\doifelsevaluenothing{\??al#1\recurselevel\c!afstand}
- {\doifnot{\recurselevel}{1}
- {\global\advance\alhsize by -\getvalue{\??al#1\c!afstand}\relax}}
- {\global\advance\alhsize by -\getvalue{\??al#1\recurselevel\c!afstand}\relax}%
- \doifvaluesomething{\??al#1\recurselevel\c!breedte}
- {\global\advance\alnsize by -1\relax
- \global\advance\alhsize by -\getvalue{\??al#1\recurselevel\c!breedte}\relax}}%
- %\witruimte % gaat fout bij \framed
- \getvalue{\??al#1\c!voor}%
- \leavevmode % gaat wel goed bij \framed
- \vbox\bgroup\hbox\bgroup
- \doalinea{#1}}
-
-\def\dostopalineas#1%
- {\egroup
- \egroup
- \par
- \getvalue{\??al#1\c!na}}%
-
-%I n=Tabulatie (2)
-%I c=\steltabin,\tab
-%I
-%I Eenvoudige tabulatie is mogelijk met het commando:
-%I
-%I \tab{tekst} tekst tekst tekst .....
-%I
-%I Instelling vindt plaats met het commando:
-%I
-%I \steltabin[monster=,breedte=,kopletter=,voor,
-%I na=]
-%I
-%I Dit commando is een vereenvoudigde variant van het
-%I commando \doordefinieren. In de regel kan volstaan
-%I worden met het opgeven van een monster. Dit is het
-%I woord dat de breedte bepaalt.
-
-\def\dosteltabin[#1]%
- {\getparameters[\??ta]
- [\c!kopletter=\v!normaal,
- \c!kopkleur=,
- \c!letter=\v!normaal,
- \c!kleur=,
- \c!breedte=\v!ruim,
- \c!monster={\hskip4em},
- \c!voor=,
- \c!na=,
- #1]%
- \doordefinieren
- [tab]
- [\c!kopletter=\@@takopletter,
- \c!kopkleur=\@@takleur,
- \c!monster=\@@tamonster,
- \c!breedte=\@@tabreedte,
- \c!voor=\@@tavoor,
- \c!na=\@@tana]}
-
-\def\steltabin%
- {\dosingleargument\dosteltabin}
-
-%I n=Diversen
-%I c=\celsius,\bedrag,\breuk
-%I c=\procent,\promille
-%I
-%I De volgende commando's vatten (vooral mathematische)
-%I zetcommando's samen:
-%I
-%I \chem{symbool}{onder}{boven} chemische symbolen
-%I \celsius{graden} graden Celsius (..~øC)
-%I \breuk{boven}{onder} breuken («)
-%I \bedrag{getal} geldbedragen (Ÿ~..)
-%I \punten[n] puntjes (. . .)
-%I \ongeveer plus-minus (ñ)
-%I \inch inch ('')
-%I \doorsnede \circ doorsneden met /
-%I \graden ø (^\circ)
-%I \procent percentage (vgl promille)
-%I \promille promilage
-%I \dollar dollar teken
-%I \sterling pound sterling teken
-%I \florijn gulden teken
-
-% The following macro's are derived from PPCHTEX and
-% therefore take some LaTeX font-switching into account.
-
-\newif\ifloweredsubscripts
-
-% Due to some upward incompatibality of LaTeX to LaTeX2.09
-% and/or LaTeX2e we had to force \@@chemieletter. Otherwise
-% some weird \nullfont error comes up.
-
-\doifundefined{@@chemieletter}{\def\@@chemieletter{\rm}}
-
-\def\beginlatexmathmodehack%
- {\ifmmode
- \let\endlatexmathmodehack=\relax
- \else
- \def\endlatexmathmodehack{$}$\@@chemieletter
- \fi}
-
-\def\setsubscripts%
- {\beginlatexmathmodehack
- \def\dosetsubscript##1##2##3%
- {\dimen0=##3\fontdimen5##2%
- \setxvalue{@@\string##1\string##2}{\the##1##2\relax}%
- ##1##2=\dimen0\relax}%
- \def\dodosetsubscript##1##2%
- {\dosetsubscript{##1}{\textfont2}{##2}%
- \dosetsubscript{##1}{\scriptfont2}{##2}%
- \dosetsubscript{##1}{\scriptscriptfont2}{##2}}%
- %\dodosetsubscript{\fontdimen14}{?}%
- \dodosetsubscript{\fontdimen16}{.7}%
- \dodosetsubscript{\fontdimen17}{.7}%
- \global\loweredsubscriptstrue
- \endlatexmathmodehack}
-
-\def\resetsubscripts%
- {\ifloweredsubscripts
- \beginlatexmathmodehack
- \def\doresetsubscript##1##2%
- {\dimen0=\getvalue{@@\string##1\string##2}\relax
- ##1##2=\dimen0}%
- \def\dodoresetsubscript##1%
- {\doresetsubscript{##1}{\textfont2}%
- \doresetsubscript{##1}{\scriptfont2}%
- \doresetsubscript{##1}{\scriptscriptfont2}}%
- %\dodoresetsubscript{\fontdimen14}%
- \dodoresetsubscript{\fontdimen16}%
- \dodoresetsubscript{\fontdimen17}%
- \global\loweredsubscriptsfalse
- \endlatexmathmodehack
- \fi}
-
-\let\beginlatexmathmodehack = \relax
-\let\endlatexmathmodehack = \relax
-
-\def\chem#1#2#3%
- {\bgroup
- \setsubscripts
- \mathematics{\hbox{#1}_{#2}^{#3}}%
- \resetsubscripts
- \egroup}
-
-\def\celsius#1%
- {#1\mathematics{^\circ}C}
-
-\def\graden%
- {\mathematics{^\circ}}
-
-\def\inch%
- {\hbox{\rm\char125\relax}}
-
-\def\breuk#1#2%
- {\mathematics{#1\over#2}}
-
-\def\bedrag#1%
- {\mathematics{f~}\hbox{#1}}
-
-\def\doorsnede%
- {\hbox{\rlap/$\circ$} }
-
-\def\complexpunten[#1]%
- {\dimen0=.5em\relax
- \multiply\dimen0 by #1\relax
- \hbox to \dimen0
- {\leaders\hbox to .5em{\hss.\hss}\hss}}
-
-\def\simplepunten%
- {\complexpunten[5]}
-
-\def\punten%
- {\complexorsimple{punten}}
-
-\def\ongeveer%
- {\mathematics{\pm}}
-
-\def\permille%
- {\mathematics{^{\scriptscriptstyle0}\kern-.25em/\kern-.2em_{\scriptscriptstyle00}}}
-
-\def\percent%
- {\mathematics{^{\scriptscriptstyle0}\kern-.25em/\kern-.2em_{\scriptscriptstyle0}}}
-
-\let\promille=\permille
-\let\procent =\percent
-
-% for compatibility
-
-\def\onbekend%
- {\mathematics{\ldots}}
-
-% currency
-
-\def\dollar%
- {\bgroup
- \ifnum\fam=\itfam
- \sl
- \else\ifnum\fam=\bifam
- \bs
- \fi\fi
- \$%
- \egroup}
-
-\def\sterling%
- {\bgroup
- \ifnum\fam=\bffam
- \bi
- \else\ifnum\fam=\bifam
- \bi
- \else\ifnum\fam=\bsfam
- \bi
- \else
- \it
- \fi\fi\fi
- \$%
- \egroup}
-
-\def\florijn%
- {\bgroup
- \ifnum\fam=\bffam
- \bi
- \else\ifnum\fam=\bifam
- \bi
- \else\ifnum\fam=\bsfam
- \bi
- \else
- \it
- \fi\fi\fi
- f%
- \egroup}
-
-%I n=Citaten
-%I c=\startcitaat,\citaat,\stelcitatenin
-%I c=\citeer,\stelciterenin
-%I
-%I Als variant op \startsmaller is het volgende commando
-%I beschikbaar:
-%I
-%I \startcitaat
-%I tekst
-%I \stopcitaat
-%I
-%I Rond de tekst worden in de marge dubbele quotes
-%I geplaatst. Ook bij dit commando kunnen tussen [] maten
-%I worden opgegeven:
-%I
-%I \startcitaat[2*links,rechts]
-%I
-%I In de lopende tekst kan gebruik worden gemaakt van:
-%I
-%I \citaat{tekst}
-%I \citeer{tekst}
-%I
-%I Het eerste commando levert dubbele quotes en het tweede
-%I enkele quotes.
-%P
-%I Er zijn twee varianten (1 en 2) beschikbaar die kunnen
-%I worden ingesteld met:
-%I
-%I \stelciterenin
-%I [variant=,letter=]
-%I
-%I Variant 1 levert 'ziezo' of ''ziezo'' en variant 2
-%I levert `ziezo' of ``ziezo''.
-
-\newsignal\quotationsignal
-\def\quotationskip{.125em}
-
-\def\stelciterenin%
- {\dodoubleargument\getparameters[\??ci]}
-
-\def\stelcitatenin%
- {\stelciterenin}
-
-\def\dostartcitaat[#1]%
- {\bgroup
- \@@civoor
- \doifelsenothing{#1}
- {\let\dostopcitaat=\relax}
- {\startsmaller[#1]
- \let\dostopcitaat=\stopsmaller}%
- \dostartattributes\??ci{}%
- \setbox0=\hbox{\getvalue{\??la\currentlanguage\c!leftquotation}}%
- \hskip-\wd0
- \box0\relax
- \ignorespaces}
-
-\def\stopcitaat%
- {\unskip\hsmash{\getvalue{\??la\currentlanguage\c!rightquotation}}%
- \dostopattributes
- \dostopcitaat
- \@@cina
- \egroup}
-
-\def\startcitaat%
- {\dosingleempty\dostartcitaat}
-
-\def\handlequotation#1%
- {\ifdim\lastkern=\quotationsignal
- \unskip
- \hskip\quotationskip
- \fi
- \getvalue{\??la\currentlanguage#1}%
- \kern\quotationsignal}
-
-\def\citaat%
- {\groupedcommand
- {\handlequotation\c!leftquotation}
- {\handlequotation\c!rightquotation}}
-
-\def\citeer%
- {\doifelse{\@@ciletter}{\v!normaal}
- {\let\next=\doquotedcite}
- {\let\next=\doattributedcite}%
- \next}
-
-\def\doquotedcite%
- {\groupedcommand
- {\handlequotation\c!leftquote}
- {\handlequotation\c!rightquote}}
-
-\def\doattributedcite%
- {\groupedcommand
- {\dostartattributes\??ci}
- {\dostopattributes}}
-
-% Tijden horen hier niet thuis en zullen in een aparte
-% module worden ondergebracht. voorlopig handhaven we ze nog
-% even. Een implementatie met \doordefinieren zou beter voldoen
-% omdat een en ander dan instelbaar wordt. Het is trouwens
-% zowieso beter het commando \tijd te reserveren voor de
-% systeemtijd.
-
-% %I n=Tijden
-% %I c=\tijd,\tijdspan,\activiteit
-% %I
-% %I De volgende commando's kunnen worden gebruikt om
-% %I tijden en activiteiten in overzichten weer te geven:
-% %I
-% %I uu.mm
-% %I
-% %I \tijd{uur.min}
-% %I
-% %I uu.mm --- uu.mm
-% %I
-% %I \tijdspan{uur.min}{uur.min}
-% %I
-% %I uu.mm --- uu.mm activiteit
-% %I
-% %I \activiteit{uur.min}{uur.min} ... (\par)
-
-\def\tijd#1%
- {\setbox0=\hbox{00.00}%
- \hbox to \wd0{\hfill#1}}
-
-\def\tijdspan#1#2%
- {\hbox{\tijd{#1}~---~\tijd{#2}}}
-
-\def\activiteit#1#2%
- {\activity{\tijdspan{#1}{#2}}}
-
-\def\activiteit#1#2%
- {\sym{\tijdspan{#1}{#2}}}
-
-%I n=Toevoegen
-%I c=\toevoegen
-%I
-%I Er kan witruimte worden gemarkeerd met het commando:
-%I
-%I \toevoegen[instelling]{korte tekst}
-%I
-%I waarbij als instellingen mogelijk zijn: klein, middel of
-%I groot.
-
-\def\dotoevoegen#1%
- {\def\next{#1}%
- \herhaal[#1*{\inlinker{\next~+}\def\next{}\crlf}]}
-
-\def\complextoevoegen[#1]%
- {\blanko
- \processaction
- [#1]
- [ \v!klein=>\dotoevoegen{3},
- \v!middel=>\dotoevoegen{6},
- \v!groot=>\dotoevoegen{9},
- \s!default=>\dotoevoegen{6},
- \s!unknown=>\dotoevoegen{#1}]
- \blanko}
-
-\def\toevoegen%
- {\complexorsimpleempty{toevoegen}}
-
-%I n=Tekstlijn
-%I c=\tekstlijn,\starttekstlijn,\steltekstlijnenin
-%I
-%I Een stuk tekst kan worden omgeven door horizontale lijnen,
-%I waarin al dan niet een tekst is opgenomen.
-%I
-%I \tekstlijn[plaats]{tekst}
-%I
-%I Mogelijke plaatsen zijn boven en onder. De onderstaande twee
-%I commando's zijn equivalent:
-%I
-%I \tekstlijn
-%I \tekstlijn[onder]{}
-%I
-%I Daarnaast zijn beschikbaar:
-%I
-%I \starttekstlijn{tekst}
-%I \stoptekstlijn
-%I
-%I waarbij de plaats dus boven is.
-%P
-%I Een en ander kan worden ingesteld met het commando:
-%I
-%I \steltekstlijnenin[voor=,na=,tussen=,letter=,breedte=,
-%I plaats=]
-%I
-%I De breedte heeft betrekking op de lengte van de lijn voor
-%I de tekst. Mogelijke plaatsen zijn links en inmarge.
-
-% nog eens \definieertekstlijn
-
-\def\steltekstlijnenin%
- {\dodoubleargument\getparameters[\??tl]}
-
-\def\docomplextekstlijn#1%
- {\bgroup
- \setbox0=\hbox to \hsize
- {\dimen4=0.5ex\relax
- \dimen6=-0.5ex\relax
- \advance\dimen4 by .5\linewidth
- \advance\dimen6 by .5\linewidth
- \doifsomething{#1}
- {\doifelse{\@@tlplaats}{\v!inmarge}%
- {\llap{\doattributes{\??tl}{#1}\hskip\linkermargeafstand}}
- {\vrule\!!height\dimen4\!!depth\dimen6\!!width\@@tlbreedte
- \hbox spread 1em{\hss\doattributes{\??tl}{\strut#1}\hss}}}%
- \leaders\hrule\!!height\dimen4\!!depth\dimen6\hfill}
- \ht0=\ht\strutbox
- \dp0=\dp\strutbox
- \box0
- \egroup}
-
-\def\dotoptekstlijn#1%
- {\pagina[\v!voorkeur]
- \witruimte
- \@@tlvoor
- \docomplextekstlijn{#1}%
- \geenwitruimte
- \@@tltussen
- \endgraf}
-
-\def\dobottomtekstlijn#1%
- {\ifhmode
- \endgraf
- \fi
- \dimen0=\dp\strutbox
- \ifdim\prevdepth<\dp\strutbox
- \ifdim\prevdepth>\!!zeropoint
- \advance\dimen0 by -\prevdepth
- \fi
- \fi
- \advance\dimen0 by .5ex
- \vskip\dimen0
- \@@tltussen
- \doifelse{#1}{}
- {\hrule\!!depth\linewidth\!!height\!!zeropoint}
- {\docomplextekstlijn{#1}}%
- \@@tlna
- \pagina[\v!voorkeur]}
-
-\def\complextekstlijn[#1]#2%
- {\processaction
- [#1]
- [ \v!boven=>\dotoptekstlijn{#2},
- \v!onder=>\dobottomtekstlijn{#2},
- \s!default=>\dobottomtekstlijn{#2}]}
-
-\def\simpletekstlijn%
- {\dobottomtekstlijn{}}
-
-\def\tekstlijn%
- {\complexorsimple{tekstlijn}}
-
-\def\starttekstlijn#1%
- {\bgroup
- \dotoptekstlijn{#1}}
-
-\def\stoptekstlijn%
- {\dobottomtekstlijn{}%
- \egroup}
-
-%I n=Invullijnen
-%I c=\invullijnen,\stelinvullijnenin,\invultekst
-%I
-%I Ten behoeve van invullijsten is het volgende commando
-%I beschikbaar:
-%I
-%I \invullijnen[n=,breedte=]{tekst}
-%I
-%I Dit levert:
-%I
-%I tekst _____________________________________________
-%I _____________________________________________
-%I
-%I De instellingen kunnen desgewenst achterwege blijven:
-%I
-%I \invullijnen{tekst}
-%I \invullijnen{tekst}{optionele eindtekst}
-%I
-%I In dat geval worden de standaard-instellingen gebruikt.
-%P
-%I De standaardinstellingen vinden plaats met:
-%I
-%I \stelinvullijnenin[n=,breedte=,afstand=,letter=,voor=,
-%I na=,scheider=]
-%I
-%I De afstand heeft betrekking op de afstand tussen de
-%I scheider en de lijnen.
-%I
-%I Het volgende commando plaatst een tekst op een zelfde
-%I wijze als de invullijnen.
-%I
-%I \invultekst{tekst} tekst \par
-
-\def\stelinvullijnenin%
- {\dosingleargument\getparameters[\??il]}
-
-\def\dodocomplexinvullijnen[#1]#2#3#4%
- {\endgraf
- \@@ilvoor
- \begingroup
- \stelinvullijnenin[#1]%
- \noindent
- \doifelse{\@@ilbreedte}{\v!passend}
- {\setbox0=\hbox}
- {\setbox0=\hbox to \@@ilbreedte}
- {\doattributes
- {\??il}
- {\strut#3\hfill
- \doifsomething{\@@ilscheider}
- {\hbox spread \@@ilafstand{\@@ilscheider\hss}}}}%
- \hangindent=\wd0\relax
- \parindent=\hangindent
- \box0\relax
- \stelwitruimtein[\v!groot]%
- \ignorespaces
- #2#4%
- \endgroup
- \endgraf
- \@@ilna}
-
-\def\complexinvullijnen[#1]%
- {\def\docomplexinvullijnen%
- {\dodocomplexinvullijnen[#1]{\thinrules[\c!n=\@@iln]}}%
- \dodoublegroupempty\docomplexinvullijnen}
-
-\def\invullijnen%
- {\complexorsimpleempty{invullijnen}}
-
-\def\complexinvultekst[#1]#2#3\par%
- {\dodocomplexinvullijnen[#1]{\ignorespaces#3\endgraf}{#2}{}}
-
-\def\invultekst%
- {\complexorsimpleempty{invultekst}}
-
-%I n=Invulregels
-%I c=\invulregel,\stelinvulregelin,\invultekst
-%I
-%I Ten behoeve van invullijsten is het volgende commando
-%I beschikbaar:
-%I
-%I \invulregel[breedte=,afstand=]{tekst}
-%I
-%I tekst tekst tekst tekst tekst tekst tekst
-%I tekst tekst tekst tekst tekst tekst tekst __________
-%I
-%I De instellingen kunnen desgewenst achterwege blijven:
-%I
-%I \invulregel tekst
-%I
-%I In dat geval worden de standaard-instellingen gebruikt.
-%I
-%I De standaardinstellingen vinden plaats met:
-%I
-%I \stelinvulregelsin[n=,breedte=,afstand=,voor=,na=]
-%I
-%I De lengte van de lijn is gelijk aan breedte-afstand.
-
-\def\stelinvulregelsin%
- {\dosingleargument\getparameters[\??iv]}
-
-\def\complexinvulregel[#1]#2\par%
- {%\endgraf % interferes with \doordefinieren alikes
- \@@ivvoor
- \begingroup
- \stelinvulregelsin[#1]%
- \advance\rightskip by \@@ivbreedte
- \parfillskip\!!zeropoint
- #2\hfill
- \dimen0=\@@ivbreedte
- \advance\dimen0 by -\@@ivafstand
- \rlap
- {\hskip\@@ivafstand
- \vrule\!!width\dimen0\!!height\linewidth}%
- \par % !
- \endgroup
- \par % !
- \@@ilna}
-
-\def\invulregel%
- {\complexorsimpleempty{invulregel}}
-
-%I n=Roosters
-%I c=\rooster
-%I
-%I Er kunnen roosters (te vergelijken met ruitjespapier)
-%I worden gemaakt met:
-%I
-%I \rooster[nx=,ny=,dx=,dy=,eenheid=,xstap=,ystap=,
-%I offset=,schaal=,factor=]
-%I
-%I De instelling [nx=20,ny=20,dx=.5,dy=.5,eenheid=cm] levert
-%I een patroon van 10cm bij 10cm van hokjes van 0.5cm op.
-%I
-%I Met '.stap' kunnen getallen langs de assen worden gezet.
-%I als 0 wordt ingevuld (default), dan worden geen getallen
-%I gezet. Met offset (ja of nee) kan men aangeven of de
-%I getallen langs de assen binnen of buiten de box rond
-%I het rooster vallen (vergelijk \stelpositionerenin).
-%I
-%I !! Dit commando wordt nog aangepast/uitgebreid. !!
-
-\def\dorooster[#1]%
- {\begingroup
- \getparameters[\??rt]
- [\c!nx=10,\c!ny=10,
- \c!dx=.5,\c!dy=.5,
- \c!xstap=0,\c!ystap=0,
- \c!eenheid=\s!cm,
- \c!schaal=1,
- \c!factor=1,
- \c!offset=\v!ja,
- #1]%
- \startpositioneren
- \dimen0=\@@rtdx\@@rteenheid\relax
- \dimen0=\@@rtschaal\dimen0\relax
- \dimen0=\@@rtfactor\dimen0\relax
- \multiply\dimen0 by \@@rtnx\relax
- \dimen2=\@@rtdy\@@rteenheid\relax
- \dimen2=\@@rtschaal\dimen2\relax
- \dimen2=\@@rtfactor\dimen2\relax
- \multiply\dimen2 by \@@rtny\relax
- \def\horline
- {\vbox
- {\hrule
- \!!width \dimen0
- \!!height \linewidth
- \!!depth \!!zeropoint}}%
- \def\verline%
- {\vrule
- \!!width \linewidth
- \!!height \dimen2
- \!!depth \!!zeropoint}%
- \def\setlegend##1##2%
- {\global\!!countc=0\relax
- \dimen0=2em\relax
- \dimen2=##2\@@rteenheid\relax
- \dimen2=\@@rtschaal\dimen2\relax
- \dimen2=\@@rtfactor\dimen2\relax
- \divide\dimen0 by \dimen2\relax
- \global\!!counte=\dimen0\relax
- \ifnum\!!counte>50\relax
- \global\!!counte=100\relax
- \else\ifnum\!!counte>10\relax
- \global\!!counte=50\relax
- \else\ifnum\!!counte>5\relax
- \global\!!counte=10\relax
- \else\ifnum\!!counte>1\relax
- \global\!!counte=5\relax
- \else
- \global\!!counte=1\relax
- \fi\fi\fi\fi
- \global\!!countd=0\relax
- \def\legend%
- {\ifnum\!!countd=0\relax
- \vbox
- {\hbox to 2em{\hss\the\!!countc\hss}}%
- \global\!!countd=\!!counte
- \fi
- \global\advance\!!countd by -1\relax
- \global\advance\!!countc by ##1\relax}}%
- \def\draw##1##2##3##4##5##6##7%
- {\stelpositionerenin
- [\c!xstap=\v!absoluut,
- \c!ystap=\v!absoluut,
- \c!eenheid=\@@rteenheid,
- \c!schaal=\@@rtschaal,
- \c!factor=\@@rtfactor,
- \c!offset=\@@rtoffset,
- \c!xoffset=##6,
- \c!yoffset=##7]%
- \positioneer(0,0){##1}%
- \stelpositionerenin
- [\c!xstap=\v!relatief,
- \c!ystap=\v!relatief,
- \c!schaal=\@@rtschaal,
- \c!factor=\@@rtfactor,
- \c!offset=\@@rtoffset,
- \c!eenheid=\@@rteenheid]%
- \herhaal[##2*{\positioneer(##3,##4){##5}}]}%
- \draw{\verline}{\@@rtnx}{\@@rtdx}{0}{\verline}{\!!zeropoint}{\!!zeropoint}%
- \draw{\horline}{\@@rtny}{0}{\@@rtdy}{\horline}{\!!zeropoint}{\!!zeropoint}%
- \tfx
- \doifnot{\@@rtxstap}{0}
- {\setlegend{\@@rtxstap}{\@@rtdx}%
- \draw{\legend}{\@@rtnx}{\@@rtdx}{0}{\legend}{-1em}{-1.5em}}%
- \doifnot{\@@rtystap}{0}
- {\setlegend{\@@rtystap}{\@@rtdy}%
- \draw{\legend}{\@@rtny}{0}{\@@rtdy}{\legend}{-2em}{-.75ex}}%
- \stoppositioneren
- \endgroup}
-
-\def\rooster%
- {\dosingleargument\dorooster}
-
-%I n=Literatuurlijsten
-%I c=\stelpublicatiesin,\startpublicatie,\publicatie
-%I
-%I Literatuurlijsten kunnen worden opgemaakt met het commando:
-%I
-%I \startpublicatie[referentie]
-%I \naam ....
-%I \titel ....
-%I \jaar ....
-%I \plaats ....
-%I \uitgever ....
-%I \stoppublicatie
-%I
-%I Een publicatie wordt opgeroepen met:
-%I
-%I \publicatie[referentie]
-%P
-%I Het formaat kan worden ingesteld met het commando:
-%I
-%I \stelpublicatiesin[variant=,voor=,na=,nummeren=,
-%I breedte=,kopletter=,links=,rechts=]
-%I
-%I waarbij mogelijke varianten zijn: normaal apa en normaal.
-%I Nummeren kan 'ja' of 'nee' zijn; links en rechts
-%I hebben betrekking op de weergave in de tekst en zijn
-%I standaard [ en ].
-
-% Dit wordt:
-%
-% \doorverwijzen[naam][instellingen] enz.
-%
-% waarbij <naam> bijvoorbeeld publicatie is. Dit levert:
-%
-% \start<naam>
-% \stop<naam>
-%
-% \beginvan<naam>
-% \eindvan<naam>
-%
-% \publicatie
-%
-% \volledigelijstmetpublicaties
-%
-% eigenlijk kan ook door... zo worden uitgebreid!
-
-\doornummeren
- [@publicatie]
- [\c!plaats=\v!links,
- \c!breedte=\@@pbbreedte,\c!hang=,\c!monster=,
- \c!voor=\@@pbvoor,\c!na=\@@pbna,\c!tussen=,
- \c!kopletter=\@@pbkopletter,\c!letter=,
- \c!kopkleur=\@@pbkopkleur,\c!kleur=,
- \c!wijze=\@@pbwijze,\c!blokwijze=\@@pbblokwijze,
- \c!tekst=,\c!links=\@@pblinks,\c!rechts=\@@pbrechts]
-
-\def\dostelpublicatiesin[#1]%
- {\getparameters[\??pb][#1]}
-
-\def\stelpublicatiesin%
- {\dosingleargument\dostelpublicatiesin}
-
-\def\apa@publicatie%
- {\doifsomething{\@@pb@naam}{\@@pb@naam,\spatie}%
- \doifsomething{\@@pb@titel}{{\sl\@@pb@titel}.\spatie}%
- \doifsomething{\@@pb@jaar}{(\@@pb@jaar).\spatie}%
- \doifsomething{\@@pb@plaats}{\@@pb@plaats\doifelsenothing{\@@pb@uitgever}{.}{:\spatie}}%
- \doifsomething{\@@pb@uitgever}{\@@pb@uitgever.}}
-
-\def\normaal@publicatie%
- {\@@pb@naam, \@@pb@titel, \@@pb@jaar, \@@pb@pagina, \@@pb@plaats, \@@pb@uitgever.}
-
-\def\complexstartpublicatie[#1]#2\stoppublicatie%
- {\bgroup%
- \def\dosetpublicatie%
- {\processcommalist
- [naam,titel,jaar,plaats,pagina,uitgever]
- \setpublicatie
- \ignorespaces}%
- \def\setpublicatie##1%
- {\setvalue{\??pb @##1}{}%
- \setvalue{##1}####1{\setvalue{\??pb @##1}{####1}\ignorespaces}}%
- \def\getpublicatie%
- {\doifsomething{\@@pbvariant}{\getvalue{\@@pbvariant @publicatie}}}%
- \doifelse{\@@pbnummeren}{\v!ja}%
- {\@publicatie[#1]\dosetpublicatie#2\getpublicatie\par}%
- {\@@pbvoor
- \dosetpublicatie\ignorespaces#2\getpublicatie
- \@@pbna}%
- \egroup}
-
-\def\startpublicatie%
- {\complexorsimpleempty{startpublicatie}}
-
-\def\publicatie#1[#2]%
- {\@@pblinks\in{#1}[#2]\@@pbrechts}
-
-%I n=Kenmerken
-%I c=\kenmerk,\kenmerkdatum
-%I
-%I Er kan een kenmerk worden gezet met het commando:
-%I
-%I \kenmerk[bet=,ken=,dat=,van=,aan=,ref=]
-%I
-%I waarbij de verplichte parameters staan voor 'betreft',
-%I 'kenmerk' en 'datum' en de optionele voor 'van', 'aan' en
-%I 'referentie'.
-%I
-%I Een kenmerk-datum kan worden gezet met het commando:
-%I
-%I \kenmerkdatum
-%I
-%I zodat een kenmerk er bijvoorbeeld uitziet als:
-%I
-%I \kenmerk
-%I [bet=rekening eerste termijn,
-%I ken=\kenmerkdatum.sork.gvk / afo,
-%I dat=\currentdate]
-
-\def\kenmerkdatum%
- {\currentdate[\v!kenmerk]}
-
-\def\dokenmerk[#1]%
- {\geenhoofdenvoetregels
- \getparameters
- [\??km]
- [\c!bet=\onbekend,
- \c!dat=\onbekend,
- \c!ken=\onbekend,
- \c!van=,
- \c!aan=,
- \c!ref=,
- #1]%
- \bgroup % moet anders, hoort niet in 01b
- \assigntranslation[nl=referentie,en=reference,du=Referenz,sp=referencia]\to\@@@kmref
- \assigntranslation[nl=van,en=from,du=Von,sp=de]\to\@@@kmvan
- \assigntranslation[nl=aan,en=to,du=An,sp=a]\to\@@@kmaan
- \assigntranslation[nl=betreft,en=concerns,du=Betreff,sp=]\to\@@@kmbet
- \assigntranslation[nl=datum,en=date,du=Datum,sp=fecha]\to\@@@kmdat
- \assigntranslation[nl=kenmerk,en=mark,du=Kennzeichen,sp=]\to\@@@kmken
- \doifelsenothing{\@@kmvan\@@kmaan}
- {\def\@@dokmvanaan{}}
- {\def\@@dokmvanaan{&\omit\cr}}%
- \doifelsenothing{\@@kmvan}
- {\def\@@dokmvan{}}
- {\def\@@dokmvan{\@@@kmvan&\@@kmvan\cr}}%
- \doifelsenothing{\@@kmaan}
- {\def\@@dokmaan{}}
- {\def\@@dokmaan{\@@@kmaan&\@@kmaan\cr}}%
- \doifelsenothing{\@@kmref}
- {\def\@@dokmref{}}
- {\def\@@dokmref{&\omit\cr\@@@kmref&\@@kmref\cr}}%
- \witruimte
- \tabskip=\!!zeropoint
- \noindent\halign
- \bgroup
- ##~&:~##\hfil\cr
- \@@@kmbet&\@@kmbet\cr
- \@@@kmdat&\@@kmdat\cr
- \@@@kmken&\kap{\@@kmken}\cr
- \@@dokmvanaan
- \@@dokmvan
- \@@dokmaan
- \@@dokmref
- \egroup
- \egroup}
-
-\def\kenmerk%
- {\dosingleargument\dokenmerk}
-
-% NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW
-% NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW
-
-\def\??ri{@@ri}
-
-\def\stelrijenin%
- {\dodoubleargument\getparameters[\??ri]}
-
-\def\complexstartrijen[#1]%
- {\bgroup
- \stelrijenin[#1]%
- \let\do@@rionder=\relax
- \def\rij%
- {\do@@rionder
- \egroup
- \dimen0=\vsize
- \divide\dimen0 by \@@rin
- \advance\dimen0 by -\lineskip
- \vbox to \dimen0
- \bgroup
- \@@riboven
- \let\do@@rionder=\@@rionder
- \ignorespaces}%
- \bgroup
- \rij}
-
-\def\startrijen%
- {\complexorsimpleempty{startrijen}}
-
-\def\stoprijen%
- {\do@@rionder
- \egroup
- \egroup}
-
-\stelrijenin
- [n=2,
- boven=,
- onder=\vfill]
-
-% NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW
-% NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW
-
-% Standaardinstellingen
-
-\stelitemsin
- [\c!plaats=\v!links,
- \c!symbool=5,
- \c!breedte=\hsize,
- \c!uitlijnen=\v!midden,
- \c!n=\v!onbekend,
- \c!voor=\blanko,
- \c!tussen={\blanko[\v!middel]},
- \c!na=\blanko]
-
-\steltekstlijnenin
- [\c!plaats=\v!links,
- \c!voor=\blanko,
- \c!na=\blanko,
- \c!tussen=,
- \c!breedte=2em,
- \c!letter=\v!vet,
- \c!kleur=]
-
-\stelinvullijnenin
- [\c!breedte=\v!passend,
- \c!afstand=1em,
- \c!voor=\blanko,
- \c!na=\blanko,
- \c!n=1,
- \c!scheider=,
- \c!letter=\v!normaal,
- \c!kleur=]
-
-\stelinvulregelsin
- [\c!breedte=3cm,
- \c!afstand=1em,
- \c!voor=\blanko,
- \c!na=\blanko]
-
-\steltabin
- [\c!plaats=\v!links]
-
-\definieeralineas
- [tabulatie]
- [\c!n=3,
- \c!voor=\blanko,
- \c!na=\blanko,
- \c!afstand=1em]
-
-\stelpublicatiesin
- [\c!nummeren=\v!ja,
- \c!variant=\c!apa,
- \c!breedte=2em,
- \c!hang=,
- \c!monster=,
- \c!voor=,
- \c!na=,
- \c!tussen=,
- \c!kopletter=,
- \c!kopkleur=,
- \c!letter=,
- \c!kleur=,
- \c!blokwijze=\v!per\v!tekst,
- \c!wijze=\v!per\v!tekst,
- \c!tekst=,
- \c!links={[},
- \c!rechts={]}]
-
-\stelciterenin
- [\c!variant=1,
- \c!letter=\v!normaal,
- \c!kleur=,
- \c!voor=\startsmaller,
- \c!na=\stopsmaller]
-
-\protect
-
-\endinput
- \ No newline at end of file
+%D \module
+%D [ file=core-01b,
+%D version=1997.03.31,
+%D title=\CONTEXT\ Core Macros,
+%D subtitle=1B (to be split),
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. Non||commercial use is
+%C granted.
+
+\writestatus{loading}{Context Core Macros (b)}
+
+\unprotect
+
+%I n=Items
+%I c=\items,\stelitemsin
+%I
+%I Met het commando \items kunnen invullijsten worden
+%I gegenereerd:
+%I
+%I \items{alternatief1,alternatief2,...,alternatiefN}
+%I
+%I Als in plaats van een alternatief een - wordt gegeven,
+%I dan wordt ruimte opengelaten.
+%I
+%I De wijze waarop items worden weergegeven wordt ingesteld
+%I met het commando:
+%I
+%I \stelitemsin[plaats=,symbool=,breedte=,n=,voor=,
+%I tussen=,na=,uitlijnen=]
+%I
+%I Mogelijke plaatsen zijn links, rechts, onder, boven en
+%I inmarge. Als breedte wordt de breedte van de totale tekst
+%I opgegeven. Het aantal is facultatief, eventueel kan er
+%I 'onbekend' worden meegegeven. Uitlijnen is 'ja' of 'nee'.
+%P
+%I Indien gewenst, kan de instelling direkt achter \item worden
+%I geplaatst:
+%I
+%I \items[plaats=,symbool=,...]{alternatief1,...}
+%I
+%I In plaats van een symbool kan ook een van de volgende
+%I aanduidingen worden meegegeven:
+%I
+%I a a, b, c, d, ...
+%I A A, B, C, D, ...
+%I n 1, 2, 3, 4, ...
+%I r i, ii, iii, ...
+%I R I, II, III, ...
+%I
+%I Eventueel kan een nummer worden meegegeven. In dat
+%I geval wordt het overeenkomstige symbool van de
+%I opsomming gebruikt (1--n).
+
+%\def\checkinterlineskip%
+% {\ifvmode
+% \ifdim\lastskip>\!!zeropoint\relax
+% \nointerlineskip
+% \else\ifdim\lastkern>\!!zeropoint\relax
+% \nointerlineskip
+% \fi\fi
+% \fi}
+
+\def\horitems#1#2% #1=breedte #2=commandos
+ {\dimen0=#1\relax
+ \divide\dimen0 by \nofitems
+ \!!counta=0\relax
+ \def\docommando##1%
+ {\advance\!!counta by 1\relax
+ \processaction
+ [\@@isuitlijnen]
+ [ \v!links=>\hbox to \dimen0{\strut##1\hss},
+ \v!rechts=>\hbox to \dimen0{\hss\strut##1},
+ \v!midden=>\hbox to \dimen0{\hss\strut##1\hss},
+ \v!marge=>\ifnum\!!counta=1\hss\else\hfill\fi
+ \strut##1%
+ \ifnum\!!counta=\nofitems\hss\else\hfill\fi,
+ \s!default=>\hbox to \dimen0{\hss\strut##1\hss}, % midden
+ \s!unknown=>\hbox to \dimen0{\strut##1\hss}]}% % links
+ \hbox to #1{\hss#2\hss}}
+
+\def\veritems#1#2% #1=breedte #2=commandos
+ {\dimen0=#1\relax
+ \def\docommando##1%
+ {\ifdim\dimen0<\!!zeropoint\relax % the - was a signal
+ \hbox to -\dimen0{\hss\strut##1}%
+ \else\ifdim\dimen0>\!!zeropoint\relax
+ \hbox to \dimen0{\strut##1\hss}%
+ \else
+ \hbox{\strut##1}%
+ \fi\fi}%
+ \vbox{#2}}
+
+\def\dostelitemsin[#1]% maakt direkt gebruik van \??ss en \??cv
+ {\getparameters[\??is][#1]%
+ \doif{\@@isbreedte}{\v!onbekend}
+ {\def\@@isbreedte{\hsize}}%
+ \doifdefinedelse{\??cv\@@issymbool}
+ {\def\doitembullet##1{\convertnumber{\@@issymbool}{##1}}}
+ {\doifdefined{\??ss\@@issymbool}
+ {\def\doitembullet##1{\symbol[\@@issymbool]}}}}
+
+\def\makeitemsandbullets#1%
+ {\doifelse{\@@isn}{\v!onbekend}
+ {\getcommalistsize[#1]%
+ \edef\nofitems{\commalistsize}}
+ {\edef\nofitems{\@@isn}}%
+ \setbox0=\hbox
+ {\doitems
+ {\@@isbreedte}
+ {\processcommalist[#1]\docommando}}%
+ \setbox2=\hbox
+ {\doitems
+ {\@@isbulletbreedte}
+ {\herhaal[\nofitems*\docommando{\strut\doitembullet{\herhaler}}]}}}
+
+\def\dostartitems#1#2#3%
+ {\let\doitems=#2
+ \def\@@isbulletbreedte{#3}%
+ \makeitemsandbullets{#1}%
+ \@@isvoor}
+
+\def\dostopitems%
+ {\@@isna
+ \egroup}
+
+\setvalue{doitems\v!boven}#1%
+ {\dostartitems{#1}\horitems\@@isbreedte
+ \noindent\vbox
+ {\forgetall
+ \doifsomething{\@@issymbool}
+ {\doifnot{\@@issymbool}{\v!geen}
+ {\box2
+ \@@istussen
+ \nointerlineskip}}%
+ \box0}%
+ \dostopitems}
+
+\setvalue{doitems\v!onder}#1%
+ {\dostartitems{#1}\horitems\@@isbreedte
+ \noindent\vbox
+ {\forgetall
+ \box0
+ \doifsomething{\@@issymbool}
+ {\@@istussen
+ \nointerlineskip
+ \box2}}%
+ \dostopitems}
+
+\setvalue{doitems\v!inmarge}#1%
+ {\dostartitems{#1}{\veritems}{-1.5em}% - is a signal
+ \noindent\hbox{\llap{\box2\hskip\linkermargeafstand}\box0}%
+ \dostopitems}
+
+\setvalue{doitems\v!links}#1%
+ {\advance\hsize by -1.5em\relax
+ \dostartitems{#1}{\veritems}{1.5em}%
+ \noindent\hbox{\box2\box0}%
+ \dostopitems}
+
+\setvalue{doitems\v!rechts}#1%
+ {\dostartitems{#1}{\veritems}{0em}%
+ \noindent\hbox{\box0\hskip-\wd2\box2}%
+ \dostopitems}
+
+\def\stelitemsin%
+ {\dosingleargument\dostelitemsin}
+
+\def\complexitems[#1]%
+ {\bgroup
+ \stelitemsin[#1]%
+ \parindent=\!!zeropoint
+ \setlocalhsize
+ \hsize=\localhsize
+ \mindermeldingen
+ \doifundefined{doitems\@@isplaats}%
+ {\let\@@isplaats\v!links}%
+ \getvalue{doitems\@@isplaats}}
+
+\definecomplexorsimpleempty\items
+
+%I n=Tabulatie (1)
+%I c=\definieeralineas,\stelalineasin
+%I
+%I Er kunnen paragrafen in meerdere kolommen worden gezet na
+%I het commando:
+%I
+%I \definieeralineas[naam][n=,voor=,na=,afstand=,
+%I hoogte=,lijn=,binnen=]
+%I
+%I Kolommen worden vervolgens gezet met:
+%I
+%I \startnaam .... \naam .... \naam .... \stopnaam
+%I
+%I of (soms verwarrend):
+%I
+%I \naam .... \naam .... \naam .... \naam
+%I
+%I of (lekker kort):
+%I
+%I \naam .... \\ .... \\ .... \\
+%I
+%I waarbij het aantal malen .... \naam of \\ gelijk is
+%I aan n. Naast \naam en \\ is ook \volgendenaam toegestaan.
+%P
+%I Het is mogelijk per kolom een en ander in te stellen met
+%I het commando:
+%I
+%I \stelalineasin[naam][kolomnummer][afstand=,breedte=,
+%I hoogte=,boven=,onder=,letter=,binnen=,lijn=,
+%I uitlijnen=,tolerantie=]
+
+% Te zijner tijd [plaats=boven,onder,midden] implementeren,
+% in dat geval moet eerst de maximale hoogte worden bepaald.
+%
+% Overigens kan een en ander mooier met \halign.
+
+\def\dodefinieeralineas[#1][#2]%
+ {\setvalue{\s!do\s!next#1}%
+ {\def\\{\getvalue{#1}}}%
+ \setvalue{#1}%
+ {\getvalue{\s!do\s!next#1}%
+ \dostartalineas{#1}}%
+ \setvalue{\e!volgende#1}%
+ {\getvalue{#1}}%
+ \setvalue{\e!start#1}%
+ {\bgroup
+ \setvalue{\s!do\s!next#1}{}%
+ \setvalue{\e!stop#1}%
+ {\getvalue{#1}%
+ \egroup}%
+ \getvalue{#1}}%
+ \getparameters[\??al#1]%
+ [\c!n=3,
+ \c!voor=\blanko,
+ \c!na=\blanko,
+ \c!afstand=1em,
+ \c!hoogte=\v!passend,
+ \c!lijn=\v!uit,
+ \c!commando=,
+ \c!uitlijnen=,
+ \c!tolerantie=\v!soepel,
+ \c!letter=,
+ \c!kleur=,
+ \c!boven=,
+ \c!boven=\vss,
+ \c!onder=\vfill,
+ #2]%
+ \setvalue{\e!stel#1\e!in}%
+ {\stelalineasin[#1]}%
+ \dorecurse
+ {\getvalue{\??al#1\c!n}}
+ {\stelalineasin[#1][\recurselevel]
+ [\c!breedte=,
+ \c!onder=\getvalue{\??al#1\c!onder},
+ \c!boven=\getvalue{\??al#1\c!boven},
+ \c!hoogte=\getvalue{\??al#1\c!hoogte},
+ \c!letter=\getvalue{\??al#1\c!letter},
+ \c!kleur=\getvalue{\??al#1\c!kleur},
+ \c!lijn=\getvalue{\??al#1\c!lijn},
+ \c!uitlijnen=\getvalue{\??al#1\c!uitlijnen},
+ \c!tolerantie=\getvalue{\??al#1\c!tolerantie},
+ \c!afstand=\getvalue{\??al#1\c!afstand}]}%
+ \stelalineasin[#1][1][\c!afstand=0em]}
+
+% nog monster
+%
+%\assignwidth
+% {\!!widtha}
+% {\getvalue{\??dd#1\c!breedte}}
+% {\doifelsevaluenothing{\??dd#1\c!monster}
+% {\hskip
+% {\doattributes
+% {\??al#1}\c!letter\c!kleur
+% {\getvalue{\??dd#1\c!monster}}}}
+% {0pt}
+
+\def\definieeralineas%
+ {\dodoubleargument\dodefinieeralineas}
+
+\def\dostelalineasin[#1][#2][#3]%
+ {\doifelse{#2}{\v!elk}
+ {\dorecurse
+ {\getvalue{\??al#1\c!n}}
+ {\getparameters[\??al#1\herhaler][#3]}}
+ {\ConvertToConstant\doifelse{#3}{}
+ {\getparameters[\??al#1][#2]}
+ {\def\docommando##1%
+ {\getparameters[\??al#1##1][#3]}%
+ \processcommalist[#2]\docommando}}}
+
+\def\stelalineasin%
+ {\dotripleempty\dostelalineasin}
+
+\newcount\alteller
+\newcount\alnsize
+\newdimen\alhsize
+
+\def\doalinealijn#1#2%
+ {\doifelsevalue{\??al#2\the\alteller\c!lijn}{\v!aan}
+ {\expandafter\dimen2=#1\relax
+ \hskip.5\dimen2
+ \hskip-\linewidth
+ \vrule\!!width\linewidth
+ \hskip.5\dimen2}
+ {\hskip#1}}
+
+\def\dostartalinea#1%
+ {\doifelsevaluenothing{\??al#1\the\alteller\c!breedte}
+ {\!!widtha=\alhsize\relax
+ \divide\!!widtha by \alnsize}
+ {\!!widtha=\getvalue{\??al#1\the\alteller\c!breedte}\relax}%
+ \dostartattributes
+ {\??al#1\the\alteller}\c!letter\c!kleur
+ {}%
+ \doifelsevalue{\??al#1\the\alteller\c!hoogte}{\v!passend}
+ {\setbox0=\vtop}
+ {\setbox0=\vtop to \getvalue{\??al#1\the\alteller\c!hoogte}}%
+ \bgroup
+ \blanko[\v!blokkeer]%
+ \forgetall
+ \getvalue{\??al#1\the\alteller\c!boven}%
+ \getvalue{\??al#1\c!binnen}%
+ \hsize=\!!widtha % setting \wd afterwards removed
+ \getvalue{\??al#1\the\alteller\c!binnen}%
+ \edef\!!stringa{\getvalue{\??al#1\the\alteller\c!uitlijnen}}% nodig?
+ \expandafter\steluitlijnenin\expandafter[\!!stringa]%
+ \edef\!!stringa{\getvalue{\??al#1\the\alteller\c!tolerantie}}% nodig?
+ \expandafter\steltolerantiein\expandafter[\!!stringa]%
+ \ignorespaces
+ \endgraf
+ \ignorespaces
+ %
+ % Nadeel van de onderstaande constructie is dat \everypar
+ % binnen een groep kan staan en zo steeds \begstruts
+ % worden geplaatst. Mooi is anders dus moet het anders!
+ %
+ % Hier is \Everypar niet nodig.
+ %
+ \everypar{\begstrut\everypar{}}%
+ %
+ \ignorespaces\geenspatie % dubbel: \ignorespaces
+ \getvalue{\??al#1\the\alteller\c!commando}}
+
+\def\dostopalinea#1%
+ {\ifvmode
+ \removelastskip
+ \else
+ \unskip\endstrut\endgraf
+ \fi
+ \getvalue{\??al#1\the\alteller\c!onder}%
+ \egroup
+ \ifdim\wd0=\!!zeropoint % no data
+ \wd0=\!!widtha
+ \fi
+ \box0
+ \dostopattributes
+ \ifnum\alteller<\getvalue{\??al#1\c!n}\relax
+ \def\next{\doalinea{#1}}%
+ \else
+ \def\next{\dostopalineas{#1}}%
+ \fi
+ \next}
+
+\def\doalinea#1%
+ {\global\advance\alteller by 1\relax
+ \doifelsevaluenothing{\??al#1\the\alteller\c!afstand}
+ {\doifnot{\the\alteller}{1}
+ {\hskip\getvalue{\??al#1\c!afstand}}}
+ {\doifelse{\the\alteller}{1}%
+ {\hskip\getvalue{\??al#1\the\alteller\c!afstand}}
+ {\doalinealijn{\getvalue{\??al#1\the\alteller\c!afstand}}{#1}}}%
+ \setvalue{#1}{\dostopalinea{#1}}%
+ \dostartalinea{#1}}
+
+\def\dostartalineas#1%
+ {\global\alteller=0\relax
+ \parindent=\!!zeropoint
+ \setlocalhsize
+ \alhsize=\localhsize
+ \alnsize=\getvalue{\??al#1\c!n}\relax
+ \dorecurse
+ {\getvalue{\??al#1\c!n}}
+ {\doifelsevaluenothing{\??al#1\recurselevel\c!afstand}
+ {\doifnot{\recurselevel}{1}
+ {\global\advance\alhsize by -\getvalue{\??al#1\c!afstand}\relax}}
+ {\global\advance\alhsize by -\getvalue{\??al#1\recurselevel\c!afstand}\relax}%
+ \doifvaluesomething{\??al#1\recurselevel\c!breedte}
+ {\global\advance\alnsize by -1\relax
+ \global\advance\alhsize by -\getvalue{\??al#1\recurselevel\c!breedte}\relax}}%
+ %\witruimte % gaat fout bij \framed
+ \getvalue{\??al#1\c!voor}%
+ \leavevmode % gaat wel goed bij \framed
+ \vbox\bgroup\hbox\bgroup
+ \doalinea{#1}}
+
+\def\dostopalineas#1%
+ {\egroup
+ \egroup
+ \par
+ \getvalue{\??al#1\c!na}}%
+
+%I n=Tabulatie (2)
+%I c=\steltabin,\tab
+%I
+%I Eenvoudige tabulatie is mogelijk met het commando:
+%I
+%I \tab{tekst} tekst tekst tekst .....
+%I
+%I Instelling vindt plaats met het commando:
+%I
+%I \steltabin[monster=,breedte=,kopletter=,voor,
+%I na=]
+%I
+%I Dit commando is een vereenvoudigde variant van het
+%I commando \doordefinieren. In de regel kan volstaan
+%I worden met het opgeven van een monster. Dit is het
+%I woord dat de breedte bepaalt.
+
+\def\dosteltabin[#1]%
+ {\getparameters[\??ta]
+ [\c!kopletter=\v!normaal,
+ \c!kopkleur=,
+ \c!letter=\v!normaal,
+ \c!kleur=,
+ \c!breedte=\v!ruim,
+ \c!monster={\hskip4em},
+ \c!voor=,
+ \c!na=,
+ #1]%
+ \doordefinieren
+ [tab]
+ [\c!kopletter=\@@takopletter,
+ \c!kopkleur=\@@takleur,
+ \c!monster=\@@tamonster,
+ \c!breedte=\@@tabreedte,
+ \c!voor=\@@tavoor,
+ \c!na=\@@tana]}
+
+\def\steltabin%
+ {\dosingleargument\dosteltabin}
+
+%I n=Diversen
+%I c=\celsius,\bedrag,\breuk
+%I c=\procent,\promille
+%I
+%I De volgende commando's vatten (vooral mathematische)
+%I zetcommando's samen:
+%I
+%I \chem{symbool}{onder}{boven} chemische symbolen
+%I \celsius{graden} graden Celsius (..~øC)
+%I \breuk{boven}{onder} breuken («)
+%I \bedrag{getal} geldbedragen (Ÿ~..)
+%I \punten[n] puntjes (. . .)
+%I \ongeveer plus-minus (ñ)
+%I \inch inch ('')
+%I \doorsnede \circ doorsneden met /
+%I \graden ø (^\circ)
+%I \procent percentage (vgl promille)
+%I \promille promilage
+%I \dollar dollar teken
+%I \sterling pound sterling teken
+%I \florijn gulden teken
+
+% The following macro's are derived from PPCHTEX and
+% therefore take some LaTeX font-switching into account.
+
+\newif\ifloweredsubscripts
+
+% Due to some upward incompatibality of LaTeX to LaTeX2.09
+% and/or LaTeX2e we had to force \@@chemieletter. Otherwise
+% some weird \nullfont error comes up.
+
+\doifundefined{@@chemieletter}{\def\@@chemieletter{\rm}}
+
+\def\beginlatexmathmodehack%
+ {\ifmmode
+ \let\endlatexmathmodehack=\relax
+ \else
+ \def\endlatexmathmodehack{$}$\@@chemieletter
+ \fi}
+
+\def\setsubscripts%
+ {\beginlatexmathmodehack
+ \def\dosetsubscript##1##2##3%
+ {\dimen0=##3\fontdimen5##2%
+ \setxvalue{@@\string##1\string##2}{\the##1##2\relax}%
+ ##1##2=\dimen0\relax}%
+ \def\dodosetsubscript##1##2%
+ {\dosetsubscript{##1}{\textfont2}{##2}%
+ \dosetsubscript{##1}{\scriptfont2}{##2}%
+ \dosetsubscript{##1}{\scriptscriptfont2}{##2}}%
+ %\dodosetsubscript{\fontdimen14}{?}%
+ \dodosetsubscript{\fontdimen16}{.7}%
+ \dodosetsubscript{\fontdimen17}{.7}%
+ \global\loweredsubscriptstrue
+ \endlatexmathmodehack}
+
+\def\resetsubscripts%
+ {\ifloweredsubscripts
+ \beginlatexmathmodehack
+ \def\doresetsubscript##1##2%
+ {\dimen0=\getvalue{@@\string##1\string##2}\relax
+ ##1##2=\dimen0}%
+ \def\dodoresetsubscript##1%
+ {\doresetsubscript{##1}{\textfont2}%
+ \doresetsubscript{##1}{\scriptfont2}%
+ \doresetsubscript{##1}{\scriptscriptfont2}}%
+ %\dodoresetsubscript{\fontdimen14}%
+ \dodoresetsubscript{\fontdimen16}%
+ \dodoresetsubscript{\fontdimen17}%
+ \global\loweredsubscriptsfalse
+ \endlatexmathmodehack
+ \fi}
+
+\let\beginlatexmathmodehack = \relax
+\let\endlatexmathmodehack = \relax
+
+\def\chem#1#2#3%
+ {\bgroup
+ \setsubscripts
+ \mathematics{\hbox{#1}_{#2}^{#3}}%
+ \resetsubscripts
+ \egroup}
+
+\def\celsius#1%
+ {#1\mathematics{^\circ}C}
+
+\def\graden%
+ {\mathematics{^\circ}}
+
+\def\inch%
+ {\hbox{\rm\char125\relax}}
+
+\def\breuk#1#2%
+ {\mathematics{#1\over#2}}
+
+%\def\bedrag#1%
+% {\mathematics{f~}\hbox{#1}}
+
+\def\bedragprefix{\mathematics{f\normalfixedspace}}
+\def\bedragsuffix{}
+
+\def\bedrag#1%
+ {\strut\hbox\bgroup
+ \let\normalfixedspace~%
+ \def~{\futurelet\next\dofixedspace}%
+ \def\dofixedspace%
+ {\hskip.5em\relax
+ \ifx\next,%
+ \hphantom,\let\next\gobbleoneargument
+ \else\ifx\next.%
+ \hphantom.\let\next\gobbleoneargument
+ \else
+ \let\next\relax
+ \fi\fi
+ \next}%
+ \bedragprefix#1\bedragsuffix
+ \egroup}
+
+% \definieeralineas[test][n=3]
+%
+% \stelalineasin[test][3][breedte=4cm,uitlijnen=links]
+%
+% \startopelkaar
+% \test hans \\ ton \\ \bedrag{1.000,--} \\
+% \test hans \\ ton \\ \bedrag{~.~~1,--} \\
+% \test hans \\ ton \\ \bedrag{~.~~1,~~} \\
+% \test hans \\ ton \\ \bedrag{~.100,--} \\
+% \test hans \\ ton \\ \subtot{1.000,--} \\
+% \test hans \\ ton \\ \bedrag{1.000,--} \\
+% \test hans \\ ton \\ \bedrag{1.000,--} \\
+% \test hans \\ ton \\ \totaal{1.000,--} \\
+% \test hans \\ ton \\ \bedrag{nihil,--} \\
+% \test hans \\ ton \\ \totaal{nihil,--} \\
+% \test hans \\ ton \\ \subtot{nihil,--} \\
+% \stopopelkaar
+
+\def\doorsnede%
+ {\hbox{\rlap/$\circ$} }
+
+\def\complexpunten[#1]%
+ {\dimen0=.5em\relax
+ \multiply\dimen0 by #1\relax
+ \hbox to \dimen0
+ {\leaders\hbox to .5em{\hss.\hss}\hss}}
+
+\def\simplepunten%
+ {\complexpunten[5]}
+
+\definecomplexorsimple\punten
+
+\def\ongeveer%
+ {\mathematics{\pm}}
+
+\def\permille%
+ {\mathematics{^{\scriptscriptstyle0}\kern-.25em/\kern-.2em_{\scriptscriptstyle00}}}
+
+\def\percent%
+ {\mathematics{^{\scriptscriptstyle0}\kern-.25em/\kern-.2em_{\scriptscriptstyle0}}}
+
+\let\promille=\permille
+\let\procent =\percent
+
+\def\permine%
+ {\dontleavehmode
+ \bgroup
+ \setbox0=\hbox
+ {\mathematics{+}}%
+ \hbox to \wd0
+ {\hss
+ \mathematics{^{\scriptscriptstyle-}\kern-.4em/\kern-.3em_{\scriptscriptstyle-}}%
+ \hss}%
+ \egroup}
+
+% for compatibility
+
+\def\unknown%
+ {\punten[3]}
+
+% currency
+
+\def\dollar%
+ {\bgroup
+ \ifnum\fam=\itfam
+ \sl
+ \else\ifnum\fam=\bifam
+ \bs
+ \fi\fi
+ \$%
+ \egroup}
+
+\def\sterling%
+ {\bgroup
+ \ifnum\fam=\bffam
+ \bi
+ \else\ifnum\fam=\bifam
+ \bi
+ \else\ifnum\fam=\bsfam
+ \bi
+ \else
+ \it
+ \fi\fi\fi
+ \$%
+ \egroup}
+
+\def\florijn%
+ {\bgroup
+ \ifnum\fam=\bffam
+ \bi
+ \else\ifnum\fam=\bifam
+ \bi
+ \else\ifnum\fam=\bsfam
+ \bi
+ \else
+ \it
+ \fi\fi\fi
+ f%
+ \egroup}
+
+%I n=Citaten
+%I c=\startcitaat,\citaat,\stelcitatenin
+%I c=\citeer,\stelciterenin
+%I
+%I Als variant op \startsmaller is het volgende commando
+%I beschikbaar:
+%I
+%I \startcitaat
+%I tekst
+%I \stopcitaat
+%I
+%I Rond de tekst worden in de marge dubbele quotes
+%I geplaatst. Ook bij dit commando kunnen tussen [] maten
+%I worden opgegeven:
+%I
+%I \startcitaat[2*links,rechts]
+%I
+%I In de lopende tekst kan gebruik worden gemaakt van:
+%I
+%I \citaat{tekst}
+%I \citeer{tekst}
+%I
+%I Het eerste commando levert dubbele quotes en het tweede
+%I enkele quotes.
+%P
+%I Er zijn twee varianten (1 en 2) beschikbaar die kunnen
+%I worden ingesteld met:
+%I
+%I \stelciterenin
+%I [letter=]
+
+\newsignal\quotationsignal
+\def\quotationskip{.125em}
+
+\def\stelciterenin%
+ {\dodoubleargument\getparameters[\??ci]}
+
+\def\stelcitatenin%
+ {\stelciterenin}
+
+\def\dostartcitaat[#1]%
+ {\bgroup
+ \@@civoor
+ \doifelsenothing{#1}
+ {\let\dostopcitaat=\relax}
+ {\startsmaller[#1]
+ \let\dostopcitaat=\stopsmaller}%
+ \dostartattributes\??ci\c!letter\c!kleur{}%
+ \setbox0=\hbox{\getvalue{\??la\currentlanguage\c!leftquotation}}%
+ \hskip-\wd0
+ \box0\relax
+ \ignorespaces}
+
+\def\stopcitaat%
+ {\unskip\hsmash{\getvalue{\??la\currentlanguage\c!rightquotation}}%
+ \dostopattributes
+ \dostopcitaat
+ \@@cina
+ \egroup}
+
+\def\startcitaat%
+ {\dosingleempty\dostartcitaat}
+
+\def\handlequotation#1%
+ {\ifdim\lastkern=\quotationsignal
+ \unskip
+ \hskip\quotationskip
+ \fi
+ \getvalue{\??la\currentlanguage#1}%
+ \kern\quotationsignal}
+
+\def\citaat%
+ {\groupedcommand
+ {\handlequotation\c!leftquotation}
+ {\handlequotation\c!rightquotation}}
+
+\def\citeer%
+ {\doifelse{\@@ciletter}{\v!normaal}
+ {\let\next=\doquotedcite}
+ {\let\next=\doattributedcite}%
+ \next}
+
+\def\doquotedcite%
+ {\groupedcommand
+ {\handlequotation\c!leftquote}
+ {\handlequotation\c!rightquote}}
+
+\def\doattributedcite%
+ {\groupedcommand
+ {\dostartattributes\??ci\c!letter\c!kleur}
+ {\dostopattributes}}
+
+% Tijden horen hier niet thuis en zullen in een aparte
+% module worden ondergebracht. voorlopig handhaven we ze nog
+% even. Een implementatie met \doordefinieren zou beter voldoen
+% omdat een en ander dan instelbaar wordt. Het is trouwens
+% zowieso beter het commando \tijd te reserveren voor de
+% systeemtijd.
+
+% %I n=Tijden
+% %I c=\tijd,\tijdspan,\activiteit
+% %I
+% %I De volgende commando's kunnen worden gebruikt om
+% %I tijden en activiteiten in overzichten weer te geven:
+% %I
+% %I uu.mm
+% %I
+% %I \tijd{uur.min}
+% %I
+% %I uu.mm --- uu.mm
+% %I
+% %I \tijdspan{uur.min}{uur.min}
+% %I
+% %I uu.mm --- uu.mm activiteit
+% %I
+% %I \activiteit{uur.min}{uur.min} ... (\par)
+
+\def\tijd#1%
+ {\setbox0=\hbox{00.00}%
+ \hbox to \wd0{\hfill#1}}
+
+\def\tijdspan#1#2%
+ {\hbox{\tijd{#1}~---~\tijd{#2}}}
+
+\def\activiteit#1#2%
+ {\activity{\tijdspan{#1}{#2}}}
+
+\def\activiteit#1#2%
+ {\sym{\tijdspan{#1}{#2}}}
+
+%I n=Toevoegen
+%I c=\toevoegen
+%I
+%I Er kan witruimte worden gemarkeerd met het commando:
+%I
+%I \toevoegen[instelling]{korte tekst}
+%I
+%I waarbij als instellingen mogelijk zijn: klein, middel of
+%I groot.
+
+\def\dotoevoegen#1%
+ {\def\next{#1}%
+ \herhaal[#1*{\inlinker{\next~+}\def\next{}\crlf}]}
+
+\def\complextoevoegen[#1]%
+ {\blanko
+ \processaction
+ [#1]
+ [ \v!klein=>\dotoevoegen{3},
+ \v!middel=>\dotoevoegen{6},
+ \v!groot=>\dotoevoegen{9},
+ \s!default=>\dotoevoegen{6},
+ \s!unknown=>\dotoevoegen{#1}]
+ \blanko}
+
+\definecomplexorsimpleempty\toevoegen
+
+%I n=Tekstlijn
+%I c=\tekstlijn,\starttekstlijn,\steltekstlijnenin
+%I
+%I Een stuk tekst kan worden omgeven door horizontale lijnen,
+%I waarin al dan niet een tekst is opgenomen.
+%I
+%I \tekstlijn[plaats]{tekst}
+%I
+%I Mogelijke plaatsen zijn boven en onder. De onderstaande twee
+%I commando's zijn equivalent:
+%I
+%I \tekstlijn
+%I \tekstlijn[onder]{}
+%I
+%I Daarnaast zijn beschikbaar:
+%I
+%I \starttekstlijn{tekst}
+%I \stoptekstlijn
+%I
+%I waarbij de plaats dus boven is.
+%P
+%I Een en ander kan worden ingesteld met het commando:
+%I
+%I \steltekstlijnenin[voor=,na=,tussen=,letter=,breedte=,
+%I plaats=]
+%I
+%I De breedte heeft betrekking op de lengte van de lijn voor
+%I de tekst. Mogelijke plaatsen zijn links en inmarge.
+
+% nog eens \definieertekstlijn
+
+\def\steltekstlijnenin%
+ {\dodoubleargument\getparameters[\??tl]}
+
+\def\docomplextekstlijn#1%
+ {\bgroup
+ \setbox0=\hbox to \hsize
+ {\dimen4=0.5ex\relax
+ \dimen6=-0.5ex\relax
+ \advance\dimen4 by .5\linewidth
+ \advance\dimen6 by .5\linewidth
+ \doifsomething{#1}
+ {\doifelse{\@@tlplaats}{\v!inmarge}%
+ {\llap{\doattributes\??tl\c!letter\c!kleur{#1}\hskip\linkermargeafstand}}
+ {\vrule\!!height\dimen4\!!depth\dimen6\!!width\@@tlbreedte
+ \hbox spread 1em{\hss\doattributes\??tl\c!letter\c!kleur{\strut#1}\hss}}}%
+ \leaders\hrule\!!height\dimen4\!!depth\dimen6\hfill}
+ \ht0=\ht\strutbox
+ \dp0=\dp\strutbox
+ \box0
+ \egroup}
+
+\def\dotoptekstlijn#1%
+ {\pagina[\v!voorkeur]
+ \witruimte
+ \@@tlvoor
+ \docomplextekstlijn{#1}%
+ \geenwitruimte
+ \@@tltussen
+ \endgraf}
+
+\def\dobottomtekstlijn#1%
+ {\ifhmode
+ \endgraf
+ \fi
+ \dimen0=\dp\strutbox
+ \ifdim\prevdepth<\dp\strutbox
+ \ifdim\prevdepth>\!!zeropoint
+ \advance\dimen0 by -\prevdepth
+ \fi
+ \fi
+ \advance\dimen0 by .5ex
+ \vskip\dimen0
+ \@@tltussen
+ \doifelse{#1}{}
+ {\hrule\!!depth\linewidth\!!height\!!zeropoint}
+ {\docomplextekstlijn{#1}}%
+ \@@tlna
+ \pagina[\v!voorkeur]}
+
+\def\complextekstlijn[#1]#2%
+ {\processaction
+ [#1]
+ [ \v!boven=>\dotoptekstlijn{#2},
+ \v!onder=>\dobottomtekstlijn{#2},
+ \s!default=>\dobottomtekstlijn{#2}]}
+
+\def\simpletekstlijn%
+ {\dobottomtekstlijn{}}
+
+\definecomplexorsimple\tekstlijn
+
+\def\starttekstlijn#1%
+ {\bgroup
+ \dotoptekstlijn{#1}}
+
+\def\stoptekstlijn%
+ {\dobottomtekstlijn{}%
+ \egroup}
+
+%I n=Invullijnen
+%I c=\invullijnen,\stelinvullijnenin,\invultekst
+%I
+%I Ten behoeve van invullijsten is het volgende commando
+%I beschikbaar:
+%I
+%I \invullijnen[n=,breedte=]{tekst}
+%I
+%I Dit levert:
+%I
+%I tekst _____________________________________________
+%I _____________________________________________
+%I
+%I De instellingen kunnen desgewenst achterwege blijven:
+%I
+%I \invullijnen{tekst}
+%I \invullijnen{tekst}{optionele eindtekst}
+%I
+%I In dat geval worden de standaard-instellingen gebruikt.
+%P
+%I De standaardinstellingen vinden plaats met:
+%I
+%I \stelinvullijnenin[n=,breedte=,afstand=,letter=,voor=,
+%I na=,scheider=]
+%I
+%I De afstand heeft betrekking op de afstand tussen de
+%I scheider en de lijnen.
+%I
+%I Het volgende commando plaatst een tekst op een zelfde
+%I wijze als de invullijnen.
+%I
+%I \invultekst{tekst} tekst \par
+
+\def\stelinvullijnenin%
+ {\dosingleargument\getparameters[\??il]}
+
+\def\dodocomplexinvullijnen[#1]#2#3#4%
+ {\endgraf
+ \@@ilvoor
+ \begingroup
+ \stelinvullijnenin[#1]%
+ \noindent
+ \doifelse{\@@ilbreedte}{\v!passend}
+ {\setbox0=\hbox}
+ {\setbox0=\hbox to \@@ilbreedte}
+ {\doattributes
+ \??il\c!letter\c!kleur
+ {\strut#3\hfill
+ \doifsomething{\@@ilscheider}
+ {\hbox spread \@@ilafstand{\@@ilscheider\hss}}}}%
+ \hangindent=\wd0\relax
+ \parindent=\hangindent
+ \box0\relax
+ \stelwitruimtein[\v!groot]%
+ \ignorespaces
+ #2#4%
+ \endgroup
+ \endgraf
+ \@@ilna}
+
+\def\complexinvullijnen[#1]%
+ {\def\docomplexinvullijnen%
+ {\dodocomplexinvullijnen[#1]{\thinrules[\c!n=\@@iln]}}%
+ \dodoublegroupempty\docomplexinvullijnen}
+
+\definecomplexorsimpleempty\invullijnen
+
+\def\complexinvultekst[#1]#2#3\par%
+ {\dodocomplexinvullijnen[#1]{\ignorespaces#3\endgraf}{#2}{}}
+
+\definecomplexorsimpleempty\invultekst
+
+%I n=Invulregels
+%I c=\invulregel,\stelinvulregelin,\invultekst
+%I
+%I Ten behoeve van invullijsten is het volgende commando
+%I beschikbaar:
+%I
+%I \invulregel[breedte=,afstand=]{tekst}
+%I
+%I tekst tekst tekst tekst tekst tekst tekst
+%I tekst tekst tekst tekst tekst tekst tekst __________
+%I
+%I De instellingen kunnen desgewenst achterwege blijven:
+%I
+%I \invulregel tekst
+%I
+%I In dat geval worden de standaard-instellingen gebruikt.
+%I
+%I De standaardinstellingen vinden plaats met:
+%I
+%I \stelinvulregelsin[n=,breedte=,afstand=,voor=,na=]
+%I
+%I De lengte van de lijn is gelijk aan breedte-afstand.
+
+\def\stelinvulregelsin%
+ {\dosingleargument\getparameters[\??iv]}
+
+\def\complexinvulregel[#1]#2\par%
+ {%\endgraf % interferes with \doordefinieren alikes
+ \@@ivvoor
+ \begingroup
+ \stelinvulregelsin[#1]%
+ \advance\rightskip by \@@ivbreedte
+ \parfillskip\!!zeropoint
+ #2\hfill
+ \dimen0=\@@ivbreedte
+ \advance\dimen0 by -\@@ivafstand
+ \rlap
+ {\hskip\@@ivafstand
+ \vrule\!!width\dimen0\!!height\linewidth}%
+ \par % !
+ \endgroup
+ \par % !
+ \@@ilna}
+
+\definecomplexorsimpleempty\invulregel
+
+%I n=Roosters
+%I c=\rooster
+%I
+%I Er kunnen roosters (te vergelijken met ruitjespapier)
+%I worden gemaakt met:
+%I
+%I \rooster[nx=,ny=,dx=,dy=,eenheid=,xstap=,ystap=,
+%I offset=,schaal=,factor=]
+%I
+%I De instelling [nx=20,ny=20,dx=.5,dy=.5,eenheid=cm] levert
+%I een patroon van 10cm bij 10cm van hokjes van 0.5cm op.
+%I
+%I Met '.stap' kunnen getallen langs de assen worden gezet.
+%I als 0 wordt ingevuld (default), dan worden geen getallen
+%I gezet. Met offset (ja of nee) kan men aangeven of de
+%I getallen langs de assen binnen of buiten de box rond
+%I het rooster vallen (vergelijk \stelpositionerenin).
+%I
+%I !! Dit commando wordt nog aangepast/uitgebreid. !!
+
+\def\dorooster[#1]%
+ {\begingroup
+ \getparameters[\??rt]
+ [\c!x=0,\c!y=0,
+ \c!nx=10,\c!ny=10,
+ \c!dx=.5,\c!dy=.5,
+ \c!xstap=0,\c!ystap=0,
+ \c!eenheid=\s!cm,
+ \c!schaal=1,
+ \c!factor=1,
+ \c!offset=\v!ja,
+ \c!plaats=\v!links,
+ #1]%
+ \startpositioneren
+ \dimen0=\@@rtdx\@@rteenheid\relax
+ \dimen0=\@@rtschaal\dimen0\relax
+ \dimen0=\@@rtfactor\dimen0\relax
+ \multiply\dimen0 by \@@rtnx\relax
+ \dimen2=\@@rtdy\@@rteenheid\relax
+ \dimen2=\@@rtschaal\dimen2\relax
+ \dimen2=\@@rtfactor\dimen2\relax
+ \multiply\dimen2 by \@@rtny\relax
+ \def\horline
+ {\vbox
+ {\hrule
+ \!!width \dimen0
+ \!!height \linewidth
+ \!!depth \!!zeropoint}}%
+ \def\verline%
+ {\vrule
+ \!!width \linewidth
+ \!!height \dimen2
+ \!!depth \!!zeropoint}%
+ \doglobal\newcounter\@@roosterc
+ \doglobal\newcounter\@@roosterd
+ \doglobal\newcounter\@@roostere
+ \def\setlegend##1##2##3%
+ {\gdef\@@roosterc{0}%
+ \dimen0=2em\relax
+ \dimen2=##2\@@rteenheid\relax
+ \dimen2=\@@rtschaal\dimen2\relax
+ \dimen2=\@@rtfactor\dimen2\relax
+ \divide\dimen0 by \dimen2\relax
+ \xdef\@@roostere{\number\dimen0}%
+ \ifnum\@@roostere>50
+ \gdef\@@roostere{100}%
+ \else\ifnum\@@roostere>10
+ \gdef\@@roostere{50}%
+ \else\ifnum\@@roostere>5
+ \gdef\@@roostere{10}%
+ \else\ifnum\@@roostere>1
+ \gdef\@@roostere{5}%
+ \else
+ \gdef\@@roostere{1}%
+ \fi\fi\fi\fi
+ \gdef\@@roosterd{0}%
+ \def\legend%
+ {\ifnum\@@roosterd=0\relax
+ \vbox
+ {\increment(\@@roosterc,##1)%
+ \hbox to 2em{\hss\@@roosterc\hss}}%
+ \global\let\@@roosterd=\@@roostere
+ \fi
+ \doglobal\decrement\@@roosterd
+ \doglobal\increment(\@@roosterc,##1)}}%
+ \def\draw##1##2##3##4##5##6##7##8##9%
+ {\stelpositionerenin
+ [\c!status=##8,
+ \c!xstap=\v!absoluut,
+ \c!ystap=\v!absoluut,
+ \c!eenheid=\@@rteenheid,
+ \c!schaal=\@@rtschaal,
+ \c!factor=\@@rtfactor,
+ \c!offset=\@@rtoffset,
+ \c!xoffset=##6,
+ \c!yoffset=##7]%
+ \doifelse{##9}{\v!midden}
+ {\scratchdimen=##3pt\scratchdimen=.5\scratchdimen
+ \edef\@@psxx{\withoutpt\the\scratchdimen}%
+ \scratchdimen=##4pt\scratchdimen=.5\scratchdimen
+ \edef\@@psyy{\withoutpt\the\scratchdimen}%
+ \scratchcounter=##2\advance\scratchcounter by -1
+ \edef\@@pszz{\the\scratchcounter}}
+ {\edef\@@psxx{0}\edef\@@psyy{0}\edef\@@pszz{##2}}%
+ \positioneer(\@@psxx,\@@psyy){##1}%
+ \stelpositionerenin
+ [\c!status=##8,
+ \c!xstap=\v!relatief,
+ \c!ystap=\v!relatief,
+ \c!schaal=\@@rtschaal,
+ \c!factor=\@@rtfactor,
+ \c!offset=\@@rtoffset,
+ \c!eenheid=\@@rteenheid]%
+ \dorecurse{\@@pszz}{\positioneer(##3,##4){##5}}}%
+ \draw
+ \verline\@@rtnx\@@rtdx0\verline\!!zeropoint\!!zeropoint\v!start\empty
+ \draw
+ \horline\@@rtny0\@@rtdy\horline\!!zeropoint\!!zeropoint\v!start\empty
+ \tfx
+ \doifnot{\@@rtxstap}{0}
+ {\setlegend\@@rtxstap\@@rtdx\@@rtx
+ \draw\legend\@@rtnx\@@rtdx0\legend{-1em}{-1.5em}\v!overlay\@@rtplaats}%
+ \doifnot{\@@rtystap}{0}
+ {\setlegend\@@rtystap\@@rtdy\@@rty
+ \draw\legend\@@rtny0\@@rtdy\legend{-2em}{-.75ex}\v!overlay\@@rtplaats}%
+ \stoppositioneren
+ \endgroup}
+
+\def\rooster%
+ {\dosingleempty\dorooster}
+
+%I n=Literatuurlijsten
+%I c=\stelpublicatiesin,\startpublicatie,\publicatie
+%I
+%I Literatuurlijsten kunnen worden opgemaakt met het commando:
+%I
+%I \startpublicatie[referentie]
+%I \naam ....
+%I \titel ....
+%I \jaar ....
+%I \plaats ....
+%I \uitgever ....
+%I \stoppublicatie
+%I
+%I Een publicatie wordt opgeroepen met:
+%I
+%I \publicatie[referentie]
+%P
+%I Het formaat kan worden ingesteld met het commando:
+%I
+%I \stelpublicatiesin[variant=,voor=,na=,nummeren=,
+%I breedte=,kopletter=,links=,rechts=]
+%I
+%I waarbij mogelijke varianten zijn: normaal apa en normaal.
+%I Nummeren kan 'ja' of 'nee' zijn; links en rechts
+%I hebben betrekking op de weergave in de tekst en zijn
+%I standaard [ en ].
+
+% Dit wordt:
+%
+% \doorverwijzen[naam][instellingen] enz.
+%
+% waarbij <naam> bijvoorbeeld publicatie is. Dit levert:
+%
+% \start<naam>
+% \stop<naam>
+%
+% \beginvan<naam>
+% \eindvan<naam>
+%
+% \publicatie
+%
+% \volledigelijstmetpublicaties
+%
+% eigenlijk kan ook door... zo worden uitgebreid!
+
+\doornummeren
+ [@publicatie]
+ [\c!plaats=\v!links,
+ \c!breedte=\@@pbbreedte,\c!hang=,\c!monster=,
+ \c!voor=\@@pbvoor,\c!na=\@@pbna,\c!tussen=,
+ \c!kopletter=\@@pbkopletter,\c!letter=,
+ \c!kopkleur=\@@pbkopkleur,\c!kleur=,
+ \c!wijze=\@@pbwijze,\c!blokwijze=\@@pbblokwijze,
+ \c!tekst=,\c!links=\@@pblinks,\c!rechts=\@@pbrechts]
+
+\def\dostelpublicatiesin[#1]%
+ {\getparameters[\??pb][#1]}
+
+\def\stelpublicatiesin%
+ {\dosingleargument\dostelpublicatiesin}
+
+\def\apa@publicatie%
+ {\doifsomething{\@@pb@naam}{\@@pb@naam,\spatie}%
+ \doifsomething{\@@pb@titel}{{\sl\@@pb@titel}.\spatie}%
+ \doifsomething{\@@pb@jaar}{(\@@pb@jaar).\spatie}%
+ \doifsomething{\@@pb@plaats}{\@@pb@plaats\doifelsenothing{\@@pb@uitgever}{.}{:\spatie}}%
+ \doifsomething{\@@pb@uitgever}{\@@pb@uitgever.}}
+
+\def\normaal@publicatie%
+ {\@@pb@naam, \@@pb@titel, \@@pb@jaar, \@@pb@pagina, \@@pb@plaats, \@@pb@uitgever.}
+
+\def\complexstartpublicatie[#1]#2\stoppublicatie%
+ {\bgroup%
+ \def\dosetpublicatie%
+ {\processcommalist
+ [naam,titel,jaar,plaats,pagina,uitgever]
+ \setpublicatie
+ \ignorespaces}%
+ \def\setpublicatie##1%
+ {\setvalue{\??pb @##1}{}%
+ \setvalue{##1}####1{\setvalue{\??pb @##1}{####1}\ignorespaces}}%
+ \def\getpublicatie%
+ {\doifsomething{\@@pbvariant}{\getvalue{\@@pbvariant @publicatie}}}%
+ \doifelse{\@@pbnummeren}{\v!ja}%
+ {\@publicatie[#1]\dosetpublicatie#2\getpublicatie\par}%
+ {\@@pbvoor
+ \dosetpublicatie\ignorespaces#2\getpublicatie
+ \@@pbna}%
+ \egroup}
+
+\definecomplexorsimpleempty\startpublicatie
+
+\def\publicatie#1[#2]%
+ {\@@pblinks\in{#1}[#2]\@@pbrechts}
+
+%I n=Kenmerken
+%I c=\kenmerk,\kenmerkdatum
+%I
+%I Er kan een kenmerk worden gezet met het commando:
+%I
+%I \kenmerk[bet=,ken=,dat=,van=,aan=,ref=]
+%I
+%I waarbij de verplichte parameters staan voor 'betreft',
+%I 'kenmerk' en 'datum' en de optionele voor 'van', 'aan' en
+%I 'referentie'.
+%I
+%I Een kenmerk-datum kan worden gezet met het commando:
+%I
+%I \kenmerkdatum
+%I
+%I zodat een kenmerk er bijvoorbeeld uitziet als:
+%I
+%I \kenmerk
+%I [bet=rekening eerste termijn,
+%I ken=\kenmerkdatum.sork.gvk / afo,
+%I dat=\currentdate]
+
+\def\kenmerkdatum%
+ {\currentdate[\v!kenmerk]}
+
+\def\dokenmerk[#1]%
+ {\geenhoofdenvoetregels
+ \getparameters
+ [\??km]
+ [\c!bet=\onbekend,
+ \c!dat=\onbekend,
+ \c!ken=\onbekend,
+ \c!van=,
+ \c!aan=,
+ \c!ref=,
+ #1]%
+ \bgroup % moet anders, hoort niet in 01b
+ \assigntranslation[nl=referentie,en=reference,du=Referenz,sp=referencia]\to\@@@kmref
+ \assigntranslation[nl=van,en=from,du=Von,sp=de]\to\@@@kmvan
+ \assigntranslation[nl=aan,en=to,du=An,sp=a]\to\@@@kmaan
+ \assigntranslation[nl=betreft,en=concerns,du=Betreff,sp=]\to\@@@kmbet
+ \assigntranslation[nl=datum,en=date,du=Datum,sp=fecha]\to\@@@kmdat
+ \assigntranslation[nl=kenmerk,en=mark,du=Kennzeichen,sp=]\to\@@@kmken
+ \doifelsenothing{\@@kmvan\@@kmaan}
+ {\def\@@dokmvanaan{}}
+ {\def\@@dokmvanaan{&\omit\cr}}%
+ \doifelsenothing{\@@kmvan}
+ {\def\@@dokmvan{}}
+ {\def\@@dokmvan{\@@@kmvan&\@@kmvan\cr}}%
+ \doifelsenothing{\@@kmaan}
+ {\def\@@dokmaan{}}
+ {\def\@@dokmaan{\@@@kmaan&\@@kmaan\cr}}%
+ \doifelsenothing{\@@kmref}
+ {\def\@@dokmref{}}
+ {\def\@@dokmref{&\omit\cr\@@@kmref&\@@kmref\cr}}%
+ \witruimte
+ \tabskip=\!!zeropoint
+ \noindent\halign
+ \bgroup
+ ##~&:~##\hfil\cr
+ \@@@kmbet&\@@kmbet\cr
+ \@@@kmdat&\@@kmdat\cr
+ \@@@kmken&\kap{\@@kmken}\cr
+ \@@dokmvanaan
+ \@@dokmvan
+ \@@dokmaan
+ \@@dokmref
+ \egroup
+ \egroup}
+
+\def\kenmerk%
+ {\dosingleargument\dokenmerk}
+
+% NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW
+% NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW
+
+\def\??ri{@@ri}
+
+\def\stelrijenin%
+ {\dodoubleargument\getparameters[\??ri]}
+
+\def\complexstartrijen[#1]%
+ {\bgroup
+ \stelrijenin[#1]%
+ \let\do@@rionder=\relax
+ \def\rij%
+ {\do@@rionder
+ \egroup
+ \dimen0=\vsize
+ \divide\dimen0 by \@@rin
+ \advance\dimen0 by -\lineskip
+ \vbox to \dimen0
+ \bgroup
+ \@@riboven
+ \let\do@@rionder=\@@rionder
+ \ignorespaces}%
+ \bgroup
+ \rij}
+
+\definecomplexorsimpleempty\startrijen
+
+\def\stoprijen%
+ {\do@@rionder
+ \egroup
+ \egroup}
+
+\stelrijenin
+ [n=2,
+ boven=,
+ onder=\vfill]
+
+% NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW
+% NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW NIEUW
+
+% Standaardinstellingen
+
+\stelitemsin
+ [\c!plaats=\v!links,
+ \c!symbool=5,
+ \c!breedte=\hsize,
+ \c!uitlijnen=\v!midden,
+ \c!n=\v!onbekend,
+ \c!voor=\blanko,
+ \c!tussen={\blanko[\v!middel]},
+ \c!na=\blanko]
+
+\steltekstlijnenin
+ [\c!plaats=\v!links,
+ \c!voor=\blanko,
+ \c!na=\blanko,
+ \c!tussen=,
+ \c!breedte=2em,
+ \c!letter=\v!vet,
+ \c!kleur=]
+
+\stelinvullijnenin
+ [\c!breedte=\v!passend,
+ \c!afstand=1em,
+ \c!voor=\blanko,
+ \c!na=\blanko,
+ \c!n=1,
+ \c!scheider=,
+ \c!letter=\v!normaal,
+ \c!kleur=]
+
+\stelinvulregelsin
+ [\c!breedte=3cm,
+ \c!afstand=1em,
+ \c!voor=\blanko,
+ \c!na=\blanko]
+
+\steltabin
+ [\c!plaats=\v!links]
+
+%\definieeralineas
+% [tabulatie]
+% [\c!n=3,
+% \c!voor=\blanko,
+% \c!na=\blanko,
+% \c!afstand=1em]
+
+\stelpublicatiesin
+ [\c!nummeren=\v!ja,
+ \c!variant=\c!apa,
+ \c!breedte=2em,
+ \c!hang=,
+ \c!monster=,
+ \c!voor=,
+ \c!na=,
+ \c!tussen=,
+ \c!kopletter=,
+ \c!kopkleur=,
+ \c!letter=,
+ \c!kleur=,
+ \c!blokwijze=\v!per\v!tekst,
+ \c!wijze=\v!per\v!tekst,
+ \c!tekst=,
+ \c!links={[},
+ \c!rechts={]}]
+
+\stelciterenin
+ [\c!letter=\v!normaal,
+ \c!kleur=,
+ \c!voor=\startsmaller,
+ \c!na=\stopsmaller]
+
+\protect
+
+\endinput