summaryrefslogtreecommitdiff
path: root/tex/context/base/core-01d.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/core-01d.tex')
-rw-r--r--tex/context/base/core-01d.tex2331
1 files changed, 0 insertions, 2331 deletions
diff --git a/tex/context/base/core-01d.tex b/tex/context/base/core-01d.tex
deleted file mode 100644
index fe6a6f069..000000000
--- a/tex/context/base/core-01d.tex
+++ /dev/null
@@ -1,2331 +0,0 @@
-%D \module
-%D [ file=core-01d,
-%D version=1997.03.31,
-%D title=\CONTEXT\ Core Macros,
-%D subtitle=1D (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. See mreadme.pdf for
-%C details.
-
-\writestatus{loading}{Context Core Macros (d)}
-
-\unprotect
-
-\startmessages dutch library: interactions
- title: interactie
- 1: aspect ratio -- x -- (b x h)
- 2: actief
- 3: niet actief
- 4: geen paginasynchronisatie (--) in hmode
-\stopmessages
-
-\startmessages english library: interactions
- title: interaction
- 1: aspect ratio -- x -- (b x h)
- 2: active
- 3: inactive
- 4: no pagesynchronisation (--) in hmode
-\stopmessages
-
-\startmessages german library: interactions
- title: Interaktion
- 1: Aspekt des Verhaeltnis -- x -- (B x H)
- 2: aktiv
- 3: inaktiv
- 4: keine Seitensynchronisation (--) im hmode
-\stopmessages
-
-\startmessages czech library: interactions
- title: interakce
- 1: pomer -- x -- (s x v)
- 2: aktivni
- 3: neaktivni
- 4: zadna strankova synchronizace (--) v hmode
-\stopmessages
-
-\startmessages dutch library: versions
- title: versie
- 1: er mankeert een @+
- 2: markeren pagina's
- 3: geselecteerde pagina's: --
-\stopmessages
-
-\startmessages english library: versions
- title: version
- 1: missing @+
- 2: marking pages
- 3: selected pages: --
-\stopmessages
-
-\startmessages german library: versions
- title: Version
- 1: fehlendes @+
- 2: Erstelle Seiten
- 3: Ausgewaehlte Seiten: --
-\stopmessages
-
-\startmessages czech library: versions
- title: verze
- 1: postradam @+
- 2: oznacuji se strany
- 3: oznacene strany: --
-\stopmessages
-
-%I n=Interacteren
-%I c=\setupinteraction,\stelinteractiemenuin
-%I c=\definieerinteractiemenu,\startinteractiemenu
-%I c=\blokkeerinteractiemenu,\geefinteractiemenuvrij
-%I c=\stelinteractieschermin,\scherm
-%I
-%I Overzichten en verwijzingen kunnen worden voorzien van
-%I voor DVIWINDO en Acrobat betekenisvolle codes. De volgende
-%I commando's zijn (voorlopig) beschikbaar:
-%I
-%I \setupinteraction[status=,menu=,letter=,kleur=,strut=,
-%I breedte=,hoogte=,diepte=,pagina=]
-%I
-%I Hierbij hebben 'letter' en 'kleur' betrekking op in de tekst
-%I gemarkeerde woorden waar een verwijzing achter zit. Status
-%I kan 'start' of 'stop' zijn en het 'menu' kan 'aan' of 'uit'
-%I staan. Met 'pagina=ja' dwingen we pagina verwijzingen af.
-%I
-%I Zonodig kunnen een 'titel', 'subtitel', 'auteur' en 'datum'
-%I worden ingesteld.
-%P
-%I Een menu wordt gedefinieerd met het commando:
-%I
-%I \definieerinteractiemenu[naam][plaats][instellingen]
-%I
-%I waarbij in plaats van de instellingen de naam van een
-%I reeds gedefinieerd menu kan worden opgegeven.
-%I
-%I Mogelijke plaatsen zijn 'boven', 'onder', 'links' en
-%I 'rechts'.
-%P
-%I De inhoud van een menu wordt gedefinieerd met:
-%I
-%I \definieerinteractiemenu[naam][inhoud]
-%I
-%I Een voorbeeld van zo'n definitie is:
-%I
-%I \definieerinteractiemenu
-%I [links]
-%I [{inhoud[inhoud]},
-%I {formules[formules]},
-%I {index[index]}]
-%I
-%I De accolades zijn essentieel! De verwijzingen dienen met de
-%I daarvoor gebruikelijke commando's te worden aangemaakt.
-%I Verwijzingen zoals [inhoud] en [index] zijn automatisch
-%I beschikbaar.
-%P
-%I Naast [inhoud], [index] en andere voor de hand liggende
-%I verwijzingen zijn beschikbaar:
-%I
-%I [eerstepagina]
-%I [vorigepagina]
-%I [volgendepagina]
-%I [laatstepagina]
-%P
-%I Een alternatieve manier om menu's te definieren levert
-%I het commando
-%I
-%I \startinteractiemenu
-%I \stopinteractiemenu
-%I
-%I Hierbinnen zijn de volgende commando's mogelijk:
-%I
-%I \raw tekst \\ : ongeformatteerde tekst
-%I \but[ref] tekst \\ : interactief menu item
-%I \nop \\ : dummy menu item
-%I \txt tekst \\ : niet interactief menu item
-%I \rul tekst \\ : niet interactief menu item (omlijnd)
-%I \com commandos \\ : commando's
-%P
-%I Instellingen kunnen ook apart plaatsvinden met:
-%I
-%I \stelinteractiemenuin[naam][voor=,na=,tussen=,breedte=,
-%I kader=,letter=,status=,achtergrond=,achtergrondkleur=,
-%I achtergrondraster=]
-%I
-%I Aan 'voor', 'na' en 'tussen' kunnen commando's worden
-%I toegekend, zoals: \hfill, \blanko en \hskip1em. Bij
-%I 'breedte' kan een maat, 'passend' of 'ruim' worden
-%I meegegeven. Het kader kan 'aan' of 'uit' staan.
-%I
-%I De status kan 'start', 'stop', 'leeg' of 'geen' zijn. De
-%I instelling 'leeg' geldt slechts een pagina. De instelling
-%I 'geen' heeft alleen zin bij meerdere menus naast cq. boven
-%I elkaar.
-%P
-%I Het is mogelijk een menu te (de)blokkeren. Dit gebeurt met
-%I behulp van het referentie-mechanisme. Het commando luidt:
-%I
-%I \blokkeerinteractiemenu[plaats][verwijzingen]
-%I \geefinteractiemenuvrij[plaats][verwijzingen]
-%I
-%I De verwijzingen moeten worden gescheiden door comma's.
-%I Wanneer geen verwijzingen worden meegegeven, wordt de
-%I blokkade opgeheven.
-%P
-%I Eventueel kunnen tussen menuitems commando's worden
-%I opgenomen,
-%I
-%I \definieerinteractiemenu
-%I [links]
-%I [{alfa[eerste]},
-%I {beta[tweede]},
-%I {{\blanko[forceer,3*groot]}},
-%I {gamma[derde]},
-%I {{\vfil}},
-%I {omega[laatste]}]
-%I
-%I De extra {} zijn nodig, omdat anders onduidelijkheid is
-%I of het commando's zijn of verwijzingen.
-%P
-%I De afmetingen van het interactiescherm kunnen worden
-%I ingesteld met het commando:
-%I
-%I \stelinteractieschermin[breedte=,hoogte=,rugwit=,
-%I kopwit=,optie=]
-%I
-%I Dit is alleen nodig als men het interactieprogramma wil
-%I dwingen de tekst op een afwijkend papierformaat weer te
-%I geven. Als hoogte en breedte kan 'passend' worden
-%I opgegeven, in dat geval wordt uitgegaan van de
-%I instellingen bij \stellayoutin.
-%I
-%I Er kan (in acrobat) met een vol scherm worden opgestart
-%I met optie=max.
-%P
-%I Er zijn meerdere menu's naast elkaar mogelijk. Eerst
-%I wordt een menu gedefinieerd met:
-%I
-%I \definieerinteractiemenu[naam][plaats][instellingen]
-%I
-%I De afstand tussen menus wordt ingesteld met 'afstand'.
-%I Als afstand=overlay dan vallen menus over elkaar.
-
-\def\setupinteractionscreens%
- {}
-
-%\def\initializepaper%
-% {\iflocation % without screen settings
-% \dosetuppaper
-% {\papierformaat}
-% {\the\papierbreedte}
-% {\the\papierhoogte}%
-% \else
-% \dosetuppaper
-% {\printpapierformaat}
-% {\the\printpapierbreedte}
-% {\the\printpapierhoogte}%
-% \fi}
-
-\def\berekeninteractiescherm%
- {\doifelse{\@@scbreedte}{\v!passend}
- {\!!widtha=\linkerrandbreedte
- \advance\!!widtha by \linkerrandafstand
- \advance\!!widtha by \paginascheiding
- \advance\!!widtha by \linkermargebreedte
- \advance\!!widtha by \linkermargeafstand
- \ifdim\rugwit>\!!widtha\ifdim\rugwit>\!!zeropoint\relax
- \advance\rugwit by -\!!widtha
- \fi\fi
- \advance\!!widtha by \zetbreedte
- \advance\!!widtha by \rechtermargeafstand
- \advance\!!widtha by \rechtermargebreedte
- \advance\!!widtha by \paginascheiding
- \advance\!!widtha by \rechterrandafstand
- \advance\!!widtha by \rechterrandbreedte
- \scratchdimen=\@@scrugwit
- \advance\scratchdimen by \@@scrugoffset
- \advance\!!widtha by 2\scratchdimen}
- {\doifelse{\@@scbreedte}{\v!max}
- {\!!widtha=\printpapierbreedte}
- {\!!widtha=\@@scbreedte}}%
- \doifelse{\@@schoogte}{\v!passend}
- {\!!heighta=\bovenhoogte
- \advance\!!heighta by \bovenafstand
- \ifdim\kopwit>\!!heighta\ifdim\kopwit>\!!zeropoint\relax
- \advance\kopwit by -\!!heighta
- \fi\fi
- \advance\!!heighta by \zethoogte
- \advance\!!heighta by \onderafstand
- \advance\!!heighta by \onderhoogte
- \scratchdimen=\@@sckopwit
- \advance\scratchdimen by \@@sckopoffset
- \advance\!!heighta by 2\scratchdimen}
- {\doifelse{\@@schoogte}{\v!max}
- {\!!heighta=\printpapierhoogte}
- {\!!heighta=\@@schoogte}}%
- \doif{\@@scwachttijd}{\v!geen}{\def\@@scwachttijd{0}}}
-
-\def\complexstelinteractieschermin[#1]%
- {\getparameters[\??sc][#1]%
- \def\initializepaper%
- {\bgroup
- \berekeninteractiescherm
-\ifdim \!!widtha>\papierbreedte \papierbreedte=\!!widtha \fi
-\ifdim \!!heighta>\papierhoogte \papierhoogte=\!!heighta \fi
- \dosetuppaper
- {\printpapierformaat}
- {\the\papierbreedte}
- {\the\papierhoogte}%
- \egroup}%
- \def\setupinteractionscreens% met a, b en \number
- {\bgroup
- \berekeninteractiescherm
- \processaction
- [\@@scoptie]
- [ \v!max=>\!!counte=1,
- \v!bookmark=>\!!counte=2,
- \s!unknown=>\!!counte=0,
- \s!default=>\!!counte=0]%
- %\doifelse{\@@scoptie}{\v!max}
- % {%\doif{\@@lyplaats}{\v!midden} % werkt niet goed / bovendien niet gewenst
- % % {\scratchdimen=\printpapierhoogte
- % % \advance\scratchdimen by -\papierhoogte
- % % \divide\scratchdimen by 2
- % % \advance\kopoffset by \scratchdimen
- % % \scratchdimen=\printpapierbreedte
- % % \advance\scratchdimen by -\papierbreedte
- % % \divide\scratchdimen by 2
- % % \advance\rugoffset by \scratchdimen}%
- % \!!counte=1}
- % {\doifelse{\@@scoptie}{\v!bookmark}
- % {\!!counte=2}
- % {\!!counte=0}}%
- \showmessage{\m!interactions}{1} % niet waterdicht
- {\@EA\withoutpt\the\!!widtha,\@EA\withoutpt\the\!!heighta}%
- \dosetupscreen
- {\number\rugoffset}{\number\kopoffset}
- {\number\!!widtha}{\number\!!heighta}
- {\the\!!counte}%
- \dosetupidentity
- {\@@iatitel}
- {\@@iasubtitel}
- {\@@iaauteur} % The next line is not to be removed. Copyright!
- {CONTEXT / www.pragma-ade.nl / \jobname.tex}
- {\@@iadatum}
- \egroup}}
-
-\def\simplestelinteractieschermin%
- {\setupinteractionscreens}
-
-\definecomplexorsimple\stelinteractieschermin
-
-%D Due to requests I finally decided to support bookmarks, a
-%D driver dependant way of showing tables of content. The most
-%D simple way of support is hooking bookmark generation into
-%D the existing list mechanisms. That way users can generate
-%D bookmarks automatically, although its entirely valid to add
-%D bookmarks by defining alternative ones. These will be added
-%D at the appropriate place in the list.
-
-% \hoofdstuk{het eerste hoofdstuk}
-%
-% \bookmark {de eerste bookmark} % optional overuled hoofdstuk
-%
-% .... text ....
-%
-% \placebookmarks [hoofdstuk,paragraaf,subparagraaf,subsubparagraaf,mylist]
-% [open list]
-%
-% \bookmark[mylist]{whatever}
-
-\def\@@bookmark {bm::}
-\def\@@booklevel{bl::}
-\def\@@bookcount{bc::}
-
-\definieerlijst[\@@bookmark]
-
-\appendtoks\flushpostponedbookmark\to\everypar
-\appendtoks\flushpostponedbookmark\to\neverypar
-
-\let\flushpostponedbookmark\relax
-
-\def\simplebookmark#1%
- {\ifx\flushpostponedbookmark\relax \else
- \bgroup
- \convertargument#1\to\ascii
- \writestatus{system}{clashing bookmarks: \ascii}% ECHTE MESSAGE MAKEN
- \egroup
- \fi
- \gdef\flushpostponedbookmark%
- {\global\let\flushpostponedbookmark\relax
- \schrijfnaarlijst[\@@bookmark]{}{#1}}}
-
-\def\complexbookmark[#1]#2%
- {\schrijfnaarlijst[#1]{}{#2}}
-
-\definecomplexorsimple\bookmark
-
-%\def\insertbookmark[#1]#2%
-% {\bgroup
-% \doifreferencefoundelse{#1}
-% {\doinsertbookmark{0}{0}{#2}{\currentrealreference}}{1}
-% {\unknownreference{#1}}%
-% \egroup}
-
-\newif\iftracebookmarks \tracebookmarksfalse
-
-\let\tracebookmarks\tracebookmarkstrue
-
-\def\placebookmarks%
- {\dodoubleempty\doplacebookmarks}
-
-\def\doplacebookmarks[#1][#2]%
- {\iflocation
- \iffirstargument
- \bgroup
- \ifsecondargument
- \edef\openbookmarklist{#2}%
- \else
- \let\openbookmarklist=\empty
- \fi
- \global\let\bookmarklevellist=\empty
- \def\bookmarklevelcount{0}%
- \doprocessbookmarks[#1]\dogetbookmarkelement
- \dolijstelement{}{}{}{}{}{}% needed to finish the first pass
- \doprocessbookmarks[#1]\doputbookmarkelement
- \flushbookmark
- \egroup
- \else
- \expanded{\placebookmarks\@EA[\getvalue{\??ih\v!inhoud\c!lijst}]}%
- \fi
- \fi}
-
-\def\doprocessbookmarks[#1]#2%
- {\let\dolijstelement=#2\relax
- \scratchcounter=0
- \def\docommando##1%
- {\advance\scratchcounter by 1
- \getlistlevel[##1]\listlevel{\the\scratchcounter}%
- \setxvalue{\@@bookcount\the\scratchcounter}{1}%
- \setxvalue{\@@booklevel##1}{\listlevel}}%
- \processcommalist[#1]\docommando
- \setxvalue{\@@bookcount0}{1}%
- \global\chardef\currentbookmarklevel=0
- \global\chardef\previousbookmarklevel=0
- \doutilities{#1,\@@bookmark}{\jobname}{#1}{}{}}
-
-\def\dodogetbookmarkelement#1#2#3#4#5#6%
- {%\doifsomething{#1}
- % {\global\chardef\currentbookmarklevel=\getvalue{\@@booklevel#1}}%
- \doifelsenothing{#1}
- {\global\chardef\currentbookmarklevel=0\relax}
- {\global\chardef\currentbookmarklevel=\getvalue{\@@booklevel#1}\relax}%
- \ifnum\currentbookmarklevel>\previousbookmarklevel
- \setxvalue{\@@bookcount\the\currentbookmarklevel}{1}%
- \else\ifnum\currentbookmarklevel<\previousbookmarklevel
- \bgroup
- \!!counta=\previousbookmarklevel
- \doloop
- {\let\bookmarktag=\empty
- \!!countb=\!!counta
- \advance\!!countb by -1
- \dorecurse{\!!countb}
- {\edef\bookmarktag%
- {\bookmarktag\getvalue{\@@bookcount\recurselevel}:}}%
- \edef\bookmarklevelcount%
- {\getvalue{\@@bookcount\the\!!counta}}%
- \xdef\bookmarklevellist%
- {\bookmarklevellist/\bookmarktag:\bookmarklevelcount/}%
- \advance\!!counta by -1
- \ifnum\!!counta=\currentbookmarklevel
- \exitloop
- \fi}%
- \egroup
- \@EA\doglobal\@EA\increment\csname \@@bookcount\the\currentbookmarklevel\endcsname\relax
- \else
- \@EA\doglobal\@EA\increment\csname \@@bookcount\the\previousbookmarklevel\endcsname\relax
- \fi\fi
- \global\utilitydonetrue
- \global\chardef\previousbookmarklevel=\currentbookmarklevel}
-
-\def\getbookmarklevelcount%
- {\@EA\def\@EA\docommando\@EA[\@EA##\@EA1\@EA/\bookmarktag:##2/##3]%
- {\def\bookmarklevelcount{##2}}%
- \@EA\@EA\@EA\docommando\@EA\@EA\@EA[\@EA\bookmarklevellist\@EA/\bookmarktag:0/]}
-
-\def\dodoputbookmarkelement#1#2#3#4#5#6%
- {%\doifsomething{#1}
- % {\global\chardef\currentbookmarklevel=\getvalue{\@@booklevel#1}}%
- \doifelsenothing{#1}
- {\global\chardef\currentbookmarklevel=0\relax}
- {\global\chardef\currentbookmarklevel=\getvalue{\@@booklevel#1}\relax}%
- \ifnum\currentbookmarklevel>\previousbookmarklevel
- \setxvalue{\@@bookcount\the\currentbookmarklevel}{1}%
- \else\ifnum\currentbookmarklevel<\previousbookmarklevel
- \@EA\doglobal\@EA\increment\csname \@@bookcount\the\currentbookmarklevel\endcsname\relax
- \else
- \@EA\doglobal\@EA\increment\csname \@@bookcount\the\previousbookmarklevel\endcsname\relax
- \fi\fi
- \let\bookmarktag=\empty
- \!!countb\currentbookmarklevel
- \dorecurse{\!!countb}
- {\edef\bookmarktag%
- {\bookmarktag\getvalue{\@@bookcount\recurselevel}:}}%
- \getbookmarklevelcount
- \iftracebookmarks
- \bgroup
- \par
- \bookmarktag\quad
- \dorecurse{\currentbookmarklevel}{\quad}\unskip#1\quad
- (\bookmarklevelcount)\quad
- \egroup
- \fi
- \global\chardef\previousbookmarklevel=\currentbookmarklevel
- \global\utilitydonetrue
- \insertsomebookmark
- {#1}
- {\the\currentbookmarklevel}
- {\bookmarklevelcount}
- {#4}
- {#6}}
-
-\def\dogetbookmarkelement#1#2#3#4#5#6%
- {\doifnot{#1}{\@@bookmark}
- {\dodogetbookmarkelement{#1}{#2}{#3}{#4}{#5}{#6}}}
-
-\def\doputbookmarkelement#1#2#3#4#5#6%
- {\doifelse{#1}{\@@bookmark}
- {\localbookmark{#4}}
- {\flushbookmark
- \dodoputbookmarkelement{#1}{#2}{#3}{#4}{#5}{#6}}}
-
-\let\flushbookmark=\relax
-\let\localbookmark=\gobbleoneargument
-
-\def\insertsomebookmark#1#2#3#4#5%
- {\gdef\flushbookmark%
- {\doinsertsomebookmark{#1}{#2}{#3}{#4}{#5}{g}}%
- \gdef\localbookmark##1%
- {\doinsertsomebookmark{#1}{#2}{#3}{##1}{#5}{l}}}
-
-\def\doinsertsomebookmark#1#2#3#4#5#6%
- {\global\utilitydonetrue
- \global\let\localbookmark=\gobbleoneargument
- \global\let\flushbookmark=\relax
- \doifinstringelse{#1}{\openbookmarklist}
- {\chardef\openbookmark=1}
- {\chardef\openbookmark=0}%
- \iftracebookmarks(#6: #4)\quad(\the\openbookmark)\par\fi
- \doinsertbookmark{#2}{#3}{#4}{#5}{\openbookmark}}
-
-% \startinteractiemenu[rechts]
-% \but [eerste] eerste \\
-% \txt hello world \\
-% \but [tweede] tweede \\
-% \nop \\
-% \but [tweede] tweede \\
-% \rul whow \\
-% \but [tweede] tweede \\
-% \raw hello world \\
-% \but [tweede] tweede \\
-% \com \vfill \\
-% \but [derde] derde \\
-% \stopinteractiemenu
-
-\newif\iflocationmenupermitted
-
-\def\testinteractiemenu#1%
- {\iflocation
- \doifelse{\@@iamenu}{\v!aan}
- {\doifelsevalue{\??am#1\c!status}{\v!start}
- {\global\locationmenupermittedtrue}
- {\global\locationmenupermittedfalse}}
- {\global\locationmenupermittedfalse}%
- \else
- \global\locationmenupermittedfalse
- \fi}
-
-\def\doblokkeerinteractiemenu[#1][#2][#3]%
- {\def\dodoblokkeerinteractiemenu##1%
- {\doifelse{#3}{}
- {\setevalue{\??am##1\c!blokkade}{}}
- {\edef\interactieblokkade{\getvalue{\??am##1\c!blokkade}}
- \def\docommando####1%
- {#1{####1}{\interactieblokkade}}% #1 = \remove or \add
- \processcommalist[#3]\docommando
- \setevalue{\??am##1\c!blokkade}{\interactieblokkade}}}%
- \processcommalist[#2]\dodoblokkeerinteractiemenu}
-
-\def\blokkeerinteractiemenu%
- {\dotripleempty\doblokkeerinteractiemenu[\addtocommalist]}
-
-\def\geefinteractiemenuvrij%
- {\dotripleempty\doblokkeerinteractiemenu[\removefromcommalist]}
-
-% ja : kader/achtergrond met tekst
-% leeg : kader/achtergrond maar geen tekst
-% nee : alleen ruimte reserveren
-% geen : helemaal weglaten
-
-\newif\iflocationdummy
-\newif\ifskippedmenuitem
-
-\def\dosetlocationbox#1[#2]#3#4%
- {\global\skippedmenuitemfalse
- \setbox\locationbox=\hbox
- {% anders cyclische aanroep !
- \resetgoto
- \iflocationdummy
- \edef\locationboxborder{\getvalue{#1\c!kader}}%
- \edef\locationboxbackground{\getvalue{#1\c!achtergrond}}%
- \else
- \edef\locationboxborder{\v!uit}%
- \edef\locationboxbackground{}%
- \fi
- \localframed[#1]
- [\c!kader=\locationboxborder,
- \c!achtergrond=\locationboxbackground,
- #2]
- {\dolocationattributes{#1}\c!letter\c!kleur{#3}}}%
- \hbox{#4{\box\locationbox}}}%{\copy\locationbox}}}
-
-\def\setlocationboxyes#1[#2]#3[#4]%
- {\ifx\currentouterreference\empty
- \ifrealreferencepage\!!doneatrue\else\!!doneafalse\fi
- %\doifelse{\currentrealreference}{\realfolio}
- % {\!!doneatrue}{\!!doneafalse}%
- \else
- \!!doneafalse
- \fi
- \if!!donea
- \ifcase0\getvalue{#1\c!zelfdepagina}\relax
- \bgroup
- \locationdummytrue
- \setevalue{#1\c!kleur}{\getvalue{#1\c!contrastkleur}}%
- \dosetlocationbox{#1}[#2,\c!leeg=\v!nee]{#3}{\gotolocation{#4}}%
- \egroup
- \or
- \locationdummytrue
- \dosetlocationbox{#1}[#2,\c!leeg=\v!ja]{#3}{\gotolocation{#4}}%
- \or
- \locationdummyfalse
- \dosetlocationbox{#1}[#2,\c!leeg=\v!ja]{#3}{\gotolocation{#4}}%
- \or
- \locationdummyfalse
- \global\skippedmenuitemtrue
- \fi
- \else
- \locationdummytrue
- \dosetlocationbox{#1}[#2,\c!leeg=\v!nee]{#3}{\gotolocation{#4}}%
- \fi}
-
-\def\setlocationboxnop#1[#2]#3[#4]%
- {\ifcase\getvalue{#1\c!onbekendeverwijzing}\relax
- \locationdummytrue
- \dosetlocationbox{#1}[#2,\c!leeg=\v!nee]{#3}{}%
- \or
- \locationdummytrue
- \dosetlocationbox{#1}[#2,\c!leeg=\v!ja]{#3}{}%
- \or
- \locationdummyfalse
- \dosetlocationbox{#1}[#2,\c!leeg=\v!ja]{#3}{}%
- \or
- \locationdummyfalse
- \global\skippedmenuitemtrue
- \fi}
-
-%\def\setlocationbox#1[#2]#3[#4]%
-% {\doifinstringelse{#4}{\getvalue{#1\c!blokkade}}
-% {\setlocationboxnop{#1}[#2]{#3}[#4]}
-% {\doifreferencefoundelse{#4}
-% {\setlocationboxyes{#1}[#2]{#3}[#4]}
-% {\setlocationboxnop{#1}[#2]{#3}[#4]%
-% \unknownreference{#4}}}}
-
-\def\setlocationbox#1[#2]#3[#4]%
- {\doifreferencepermittedelse{#4}{\getvalue{#1\c!blokkade}}
- {\setlocationboxyes{#1}[#2]{#3}[#4]}
- {\setlocationboxnop{#1}[#2]{#3}[#4]}}
-
-%\dolocationattributes{#1}\c!letter\c!kleur{#3}}}%
-
-\def\dodosetlocationcommanditem#1#2#3[#4]#5\\%
- {\bgroup
- \leavevmode
- \doifelse{#5}{[]}
- {\doifinstringelse{=}{#4}
- {#3}
- {\setlocationbox{\??am#1}[]{#3}[#4]}}
- {#3}%
- \ifskippedmenuitem \else
- \getvalue{\??am#1#2}%
- \fi
- \egroup}
-
-\def\dosetlocationcommanditem#1#2#3%
- {\dodosetlocationcommanditem{#1}{#2}#3[]\\}
-
-\def\setlocationnop#1[#2]#3%
- {\localframed[#1][#2]{#3}}
-
-\def\executeamboxcommands#1#2#3#4#5%
- {\processaction
- [\getvalue{\??am#1\c!dummy}]
- [ \v!ja=>\chardef\handleunknownmenuitem=0\relax,
- \v!leeg=>\chardef\handleunknownmenuitem=1\relax,
- \v!nee=>\chardef\handleunknownmenuitem=2\relax]%
- \getvalue{\??am#1#3}\relax
- \ifextendedmenu
- \setamboxcommands{#1}{#4}%
- \def\next%
- {\ignorespaces#2}%
- \else
- \def\dolocationcommand##1%
- {\dosetlocationcommanditem{#1}{#4}{##1}}%
- \def\next%
- {\processcommalist[#2]\dolocationcommand}%
- \fi
- \next
- \unskip
- \getvalue{\??am#1#5}}
-
-\def\setamboxcommands#1#2%
- {\def\@@amboxcommand##1\\%
- {\bgroup
- \leavevmode\ignorespaces##1\unskip\relax
- \ifskippedmenuitem \else
- \getvalue{\??am#1#2}%
- \fi
- \egroup
- \ignorespaces}%
- \def\raw[##1]##2\\%
- {\@@amboxcommand\naarbox{\ignorespaces##2\unskip}[##1]\\}%
- \def\but[##1]##2\\%
- {\@@amboxcommand\setlocationbox{\??am#1}[]{\ignorespaces##2\unskip}[##1]\\}%
- \def\got[##1]##2\\%
- {\@@amboxcommand\setlocationbox{\??am#1}[\c!kader=\v!uit,\c!achtergrond=]{\ignorespaces##2\unskip}[##1]\\}%
- \def\nop##1\\%
- {\@@amboxcommand\phantom{\localframed[\??am#1][]{}}\\}%
- \def\txt##1\\%
- {\@@amboxcommand\localframed[\??am#1][\c!kader=\v!uit,\c!achtergrond=]{\ignorespaces##1\unskip}\\}%
- \def\rul##1\\%
- {\@@amboxcommand\localframed[\??am#1][]{\ignorespaces##1\unskip}\\}%
- \def\com##1\\%
- {\ignorespaces##1\unskip}}
-
-\def\@@amhbox#1#2#3#4%
- {\testinteractiemenu{#3}%
- \iflocationmenupermitted
- \bgroup
-\showcomposition
- \def\dolocationcommand##1%
- {\dosetlocationcommanditem{#3}{##1}}%
- \dimen0=\zetbreedte
- \advance\dimen0 by \pagebackgroundhoffset
- \advance\dimen0 by \pagebackgroundhoffset
- \advance\dimen0 by -\getvalue{\??am#3\c!linkeroffset}%
- \advance\dimen0 by -\getvalue{\??am#3\c!rechteroffset}%
- \setbox0=\hbox to \dimen0
- {\forgetall
- \executeamboxcommands{#3}{#4}\c!links\c!midden\c!rechts}%
- \wd0=\zetbreedte
- % geen \ht=#2 setting (yet)
- \hskip-\pagebackgroundhoffset
- \hskip \getvalue{\??am#3\c!linkeroffset}%
- \box0\relax
- \egroup
- \else
- #1\relax
- \fi}
-
-\def\@@amvbox#1#2#3#4% don't change skipping, this one works!
- {\testinteractiemenu{#3}%
- \iflocationmenupermitted
- \bgroup
-\showcomposition
- \dimen0=\teksthoogte
- \advance\dimen0 by \pagebackgroundvoffset
- \advance\dimen0 by \pagebackgroundvoffset
- \advance\dimen0 by \pagebackgrounddepth
- \advance\dimen0 by -\getvalue{\??am#3\c!bovenoffset}%
- \advance\dimen0 by -\getvalue{\??am#3\c!onderoffset}%
- \setbox0=\vbox to \dimen0
- {\forgetall % Voor't geval de afstand
- \stelblankoin[\v!standaard]% % (tijdelijk) is aangepast.
- \hsize#2\relax
- \executeamboxcommands{#3}{#4}\c!voor\c!tussen\c!na}%
- \setbox0=\vbox
- {\vskip-\pagebackgroundvoffset
- \vskip\getvalue{\??am#3\c!bovenoffset}%
- \ht0=\!!zeropoint
- \box0
- \vskip\pagebackgroundvoffset}% overbodig
- \ht0=\teksthoogte
- \wd0=#2\relax
- \box0
- \egroup
- \else
- #1\relax
- \fi}
-
-\setvalue{\??am\s!do\v!rechts}%
- {\@@amvbox{\dodummypageskip\v!rechts}\rechterrandbreedte}
-
-\setvalue{\??am\s!do\v!links}%
- {\@@amvbox{\dodummypageskip\v!links}\linkerrandbreedte}
-
-\setvalue{\??am\s!do\v!boven}%
- {\@@amhbox{\dodummypageskip\v!boven}\bovenhoogte}
-
-\setvalue{\??am\s!do\v!onder}%
- {\@@amhbox{\dodummypageskip\v!onder}\onderhoogte}
-
-\def\dointeractiemenu#1#2%
- {\getvalue{\??am\s!do\getvalue{\??am#1\c!plaats}}{#1}{#2}}
-
-\unexpanded\def\interactiemenu[#1]%
- {\getvalue{\??am\c!menu#1}}
-
-\def\horizontaalinteractiemenu#1#2#3#4%
- {\ifdim#2>\!!zeropoint % new
- \dimen2=\!!zeropoint
- \setbox0=\hbox
- {\def\docommando##1%
- {\doifnotvalue{\??am##1\c!status}{\v!geen}
- {\hskip\dimen2
- \setbox2=\hbox to #2
- {\getvalue{\??am##1#3}\interactiemenu[##1]\getvalue{\??am##1#4}}%
- \doifelsevalue{\??am##1\c!afstand}{\v!overlay}
- {\dimen2=\!!zeropoint
- \wd2=\!!zeropoint}%
- {\dimen2=\getvalue{\??am##1\c!afstand}}%
- \box2}}%
- \startinteractie
- \processcommacommand[\getvalue{\??am#1}]\docommando
- \stopinteractie}%
- \wd0=#2\relax
- \box0\relax
- \fi}
-
-\def\vertikaalinteractiemenu#1#2#3#4%
- {\ifdim#2>\!!zeropoint % new
- \dimen2=\!!zeropoint
- \setbox0=\vbox
- {\def\docommando##1%
- {\doifnotvalue{\??am##1\c!status}{\v!geen}
- {\vskip\dimen2
- \setbox2=\vbox to #2
- {\getvalue{\??am##1#3}\interactiemenu[##1]\getvalue{\??am##1#4}}%
- \doifelsevalue{\??am##1\c!afstand}{\v!overlay}
- {\dimen2=\!!zeropoint
- \offinterlineskip
- \dp2=\!!zeropoint
- \ht2=\!!zeropoint}%
- {\dimen2=\getvalue{\??am##1\c!afstand}}%
- \box2}}%
- \startinteractie
- \processcommacommand[\getvalue{\??am#1}]\docommando
- \stopinteractie}%
- \ht0=#2\relax
- \dp0=\!!zeropoint
- \box0\relax
- \fi}
-
-\def\interactiemenus[#1]%
- {\iflocation
- \processaction
- [#1]
- [ \v!links=>\horizontaalinteractiemenu\v!links\linkerrandbreedte\c!links\c!rechts,
- \v!rechts=>\horizontaalinteractiemenu\v!rechts\rechterrandbreedte\c!links\c!rechts,
- \v!boven=>\vertikaalinteractiemenu\v!boven\bovenhoogte\c!voor\c!na,
- \v!onder=>\vertikaalinteractiemenu\v!onder\onderhoogte\c!voor\c!na]%
- \else
- \dodummypageskip{#1}%
- \fi}
-
-\setvalue{\??am\v!links }{}
-\setvalue{\??am\v!rechts}{}
-\setvalue{\??am\v!boven }{}
-\setvalue{\??am\v!onder }{}
-
-\newif\ifextendedmenu
-
-\def\dodefinieerinteractiemenu[#1][#2][#3]%
- {\ConvertToConstant\doifelse{#3}{}
- {\setvalue{\??am\c!menu#1}%
- {\extendedmenufalse\dointeractiemenu{#1}{#2}}}
- {\setvalue{\??am\c!menu#1}%
- {\extendedmenufalse\dointeractiemenu{#1}{}}%
- \presetlocalframed[\??am#1]%
- \letvalue{\??am#1\c!blokkade}\empty
- \edef\!!stringe{\getvalue{\??am#2}}%
- \addtocommalist{#1}\!!stringe
- \letvalue{\??am#2}=\!!stringe
- \doifnot{#1}{#2}
- {\copyparameters[\??am#1][\??am#2]
- [\c!links,\c!midden,\c!rechts,\c!voor,\c!na,\c!tussen,
- \c!breedte,\c!hoogte,\c!afstand,\c!offset,\c!kader,
- \c!achtergrond,\c!achtergrondkleur,\c!achtergrondraster,
- \c!letter,\c!kleur,\c!contrastkleur,\c!zelfdepagina,\c!onbekendeverwijzing,
- \c!linkeroffset,\c!rechteroffset,\c!bovenoffset,\c!onderoffset]}%
- \ConvertToConstant\doifinstringelse{=}{#3}
- {\getparameters[\??am#1][\c!plaats=#2,#3]}%
- {\doifnot{#2}{#3}
- {\copyparameters[\??am#1][\??am#3]
- [\c!links,\c!midden,\c!rechts,\c!voor,\c!na,\c!tussen,
- \c!breedte,\c!hoogte,\c!afstand,\c!offset,\c!kader,
- \c!achtergrond,\c!achtergrondkleur,\c!achtergrondraster,
- \c!letter,\c!kleur,\c!zelfdepagina,\c!onbekendeverwijzing,
- \c!linkeroffset,\c!rechteroffset,\c!bovenoffset,\c!onderoffset]}%
- \getparameters[\??am#1][\c!plaats=#2]}}}
-
-\def\definieerinteractiemenu%
- {\dotripleempty\dodefinieerinteractiemenu}
-
-\processbetween{\e!interactiemenu}\dostartinteractiemenu
-
-\def\dostartinteractiemenu#1%
- {\dodostartinteractiemenu#1\dodostopinteractiemenu}
-
-\def\dodostartinteractiemenu[#1]#2\dodostopinteractiemenu%
- {\setvalue{\??am\c!menu#1}{\extendedmenutrue\dointeractiemenu{#1}{#2}}}
-
-\def\dododostelinteractiemenuin#1%
- {\processaction
- [\getvalue{#1}]
- [ \v!ja=>\setvalue{#1}{0},
- \v!leeg=>\setvalue{#1}{1},
- \v!nee=>\setvalue{#1}{2},
- \v!geen=>\setvalue{#1}{3},
- \s!default=>\setvalue{#1}{1}]}
-
-\def\dodostelinteractiemenuin[#1][#2]%
- {\def\docommando##1%
- {\getparameters[\??am##1][#2]%
- \dododostelinteractiemenuin{\??am##1\c!onbekendeverwijzing}%
- \dododostelinteractiemenuin{\??am##1\c!zelfdepagina}}%
- \processcommalist[#1]\docommando}
-
-\def\dostelinteractiemenuin[#1][#2]%
- {\ConvertToConstant\doifinstringelse{=}{#2}
- {\dodostelinteractiemenuin[#1][#2]}
- {\dodefinieerinteractiemenu[#1][#2][]}}
-
-\def\stelinteractiemenuin%
- {\dodoubleargument\dostelinteractiemenuin}
-
-% \scherm moet worden als \pagina
-
-\def\simplescherm% zou niet nodig moeten zijn
- {\iflocation
- \pagina[\v!ja]%
- \fi}
-
-\def\complexscherm[#1]%
- {\iflocation
- \pagina[#1]%
- \fi}
-
-\definecomplexorsimple\scherm
-
-%I n=Springen
-%I c=\naar,\button,\menubutton,\stelbuttonsin
-%I
-%I Een woord kan woren gemarkeerd met:
-%I
-%I \naar{woord}[referentie]
-%I
-%I Voorlopig zijn daarnaast beschikbaar:
-%I
-%I \button[instellingen]{woord}[referentie]
-%I \menubutton[plaats][instellingen]{woord}[referentie]
-%I
-%I waarbij de [instellingen] facultatief zijn en {geen} in
-%I plaats van {woord} kan worden opgegeven. De instellingen komen,
-%I voor zover relevant, overeen met die van \omlijnd. Vaste
-%I instellingen vinden plaats met:
-%I
-%I \stelbuttonsin[breedte=,hoogte=,offset=,kader=,
-%I achtergrond=,achtergrondkleur=,achtergrondraster=,
-%I kleur=]
-%P
-%I De elders reeds beschreven commando's \op en \in zijn in
-%I geval van interactie ook als volgt te gebruiken:
-%I
-%I \in{woord}[referentie]
-%I \op{woord}[referentie]
-%I
-%I In dat geval wordt 'tekst~referentie' net zo weergegeven
-%I als
-%I
-%I \naar{woord}[referentie] % woorden
-%I \naarbox{woord}[referentie] % robuust
-%I
-%I opgeroepen verwijzing.
-
-\def\domenubutton[#1][#2]#3[#4]%
- {\bgroup
- \locationdummytrue
- \iffirstargument
- \ifsecondargument
- \setlocationbox{\??am#1}[#2]{#3}[#4]%
- \else
- \ConvertToConstant\doifinstringelse{=}{#1}
- {\setlocationbox{\??bt}[#1]{#3}[#4]}
- {\setlocationbox{\??am#1}[]{#3}[#4]}%
- \fi
- \else
- \setlocationbox{\??bt}[]{#3}[#4]%
- \fi
- \egroup}
-
-\unexpanded\def\menubutton%
- {\dodoubleempty\domenubutton}
-
-\def\domenubox[#1][#2]#3%
- {\bgroup
- \def\setlocationbox##1[##2]##3[##4]%
- {\localframed[##1][##2]%
- {\dolocationattributes{##1}\c!letter\c!kleur{##3}}}%
- \domenubutton[#1][#2]#3[]%
- \egroup}
-
-\def\menubox%
- {\dodoubleempty\domenubox}
-
-%I n=Externe files
-%I c=\gebruikexterndocument,\uit
-%I c=\startsynchroniseer,\stopsynchronisatie,\synchroniseer,
-%I c=\stelsynchronisatiein,\stelsynchronisatiebalkin,\synchronisatiebalk
-%I
-%I Mits ondersteund door het interactieprogramma, kan naar
-%I een andere file worden gesprongen. Zo'n file moet eerst
-%I worden gedefinieerd met:
-%I
-%I \gebruikexterndocument [naam] [file] [omschrijving]
-%I
-%I Een verwijzing naar een andere file ziet er als volgt
-%I uit:
-%I
-%I \in{tekst}[naam::verwijzing]
-%I \op{tekst}[naam::verwijzing]
-%I \naar{tekst}[naam::verwijzing]
-%I
-%I De naam van het andere document kan worden opgeroepen met
-%I
-%I \uit[naam]
-%I
-%I terwijl \uit zonder [naam] de bij \in, \op of \naar
-%I behorende omschrijving oproept.
-%P
-%I Documenten kunnen worden gesynchroniseerd. Dat wil zeggen
-%I dat gesprongen kan worden naar hetzelfde punt in een anders
-%I vormgegeven tekst. Een synchronisatiepunt wordt aangegeven
-%I met:
-%I
-%I \sychroniseer
-%I
-%I Een synchronisatie kan uit de pas lopen, bijvoorbeeld als
-%I we in een kop een synchronisatiebalk oproepen. Wanneer vindt
-%I immers precies de synchronisatie plaats? Vandaar de wat
-%I meer betrouwbare menier van aangeven:
-%I
-%I \startsynchronisatie % voor de kop (nu mag balk)
-%I \stopsynchronisatie % eind van de kop (fixeert plaats)
-%P
-%I Synchronisatie kan worden ingesteld met:
-%I
-%I \stelsynchronisatiein[status=]
-%I
-%I Het synchronisatiemechanisme is in geval van interactieve
-%I teksten standaard niet actief.
-%P
-%I Er kan een synchronisatiebalk worden opgeroepen waarmee
-%I naar een ander document kan worden gesprongen.
-%I
-%I \synchronisatiebalk[naam][instellingen]
-%I
-%I De instellingen kunnen ook apart worden opgegeven:
-%I
-%I \stelsynchronisatiebalkin[variant=,breedte=,
-%I letter=,kleur=,achtergrond=,achtergrondraster=,
-%I achtergrondkleur=]
-%I
-%I Mogelijke varianten zijn 'lokaal' en 'pagina'. In het
-%I eerste geval wordt slechts een mogelijkheid geboden, in het
-%I tweede geval zijn tot drie mogelijkheden mogelijk. Deze
-%I zijn te vergelijken met markeringen.
-
-% Hier volgen de synchronisatiemacro's:
-
-\def\syncprefix{sync}
-\def\syncmarker{syncmark}
-
-%\definieermarkering[\syncmarker]
-%\stelmarkeringin[\syncmarker][\c!expansie=\v!ja]
-
-\newmark\syncmarker
-
-\newcounter\synccounter
-
-\newif\ifsynchronisation
-
-\def\startsynchronisatie%
- {\iflocation\ifsynchronisation
- \doglobal\increment\synccounter
- \fi\fi}
-
-\def\stopsynchronisatie%
- {\iflocation\ifsynchronisation
- %\thisisdestination{\syncprefix:\synccounter}%
- \paginareferentie[\syncprefix:\synccounter]%
- \ifvmode
- \@EA\setmark\@EA\syncmarker\@EA{\synccounter} % \marking[\syncmarker]{\synccounter}%
- \else
- \showmessage{\m!interactions}{4}{\synccounter}%
- \fi
- \fi\fi}
-
-\def\synchroniseer%
- {\startsynchronisatie
- \stopsynchronisatie}
-
-\def\dostelsynchronisatiein[#1]%
- {\getparameters[\??sy][#1]%
- \doifelse{\@@systatus}{\v!start}
- {\synchronisationtrue}
- {\synchronisationfalse}}
-
-\def\stelsynchronisatiein%
- {\dosingleargument\dostelsynchronisatiein}
-
-\def\definieersynchronisatie%
- {\dosingleargument\dodefinieersynchronisatie}
-
-\def\stelsynchronisatiebalkin%
- {\dodoubleargument\getparameters[\??ba]}
-
-\presetlocalframed[\??ba]
-
-\setvalue{synchronisatie\v!pagina}[#1]%
- {\bgroup
- \setupinteraction[\c!breedte=\!!zeropoint]%
- \setbox0=\hbox
- {\localframed[\??ba][]%
- {\dolocationattributes\??ba\c!letter\c!kleur{\strut\@@batekst}}}%
- \mindermeldingen
- \def\onder%
- {\leaders\hrule\!!depth1ex\!!height-.5ex\hfil}%
- \def\boven##1##2##3%
- {\dimen0=\wd0
- \divide\dimen0 by 3
- \multiply\dimen0 by ##2\relax
- \dimen2=.25em
- \advance\dimen0 by -##3\dimen2
- %\gotodestination
- % {}{#1}{\syncprefix:##1}{}
- % {\hbox to \dimen0{\color[\locationcolor\@@bakleur]{\onder}}}}%
- \naarbox
- {\hbox to \dimen0{\color[\locationcolor\@@bakleur]{\onder}}}%
- [#1::\syncprefix:##1]}%
- \hbox
- {\def\check##1##2%
- {\edef##2{0##1\syncmarker}%
- \ifnum0##2=0 \def##2{1}\fi}%
- \check\gettopmark\top
- \check\getfirstmark\first
- \check\getbotmark\bot
- \setbox2=\hbox to \wd0
- {\ifnum\top=\first\relax
- \ifnum\first=\bot\relax
- \boven\first30\relax
- \else
- \boven\first21\hss\boven\bot11\relax
- \fi
- \else
- \ifnum\first=\bot\relax
- \boven\top11\hss\boven\first21\relax
- \else
- \boven\top11\hss\boven\first11\hss\boven\bot11\relax
- \fi
- \fi}%
- \wd2=\!!zeropoint\box2
- \box0\relax}%
- \egroup}
-
-\setvalue{synchronisatie\v!lokaal}[#1]%
- {\bgroup
- \setupinteraction[\c!breedte=\!!zeropoint]%
- \def\blackrule{\hbox{\vrule\!!height.5em\!!width.5em}}%
- %\gotodestination
- % {}{##1}{\syncprefix:#1}{0}
- % {\color[\locationcolor\@@bakleur]{\blackrule}}%
- \naarbox %
- {\color[\locationcolor\@@bakleur]{\blackrule}}%
- [#1::\syncprefix:\synccounter]%
- \egroup}
-
-\def\synchronisatiebalk[#1][#2]%
- {\iflocation\ifsynchronisation
- \bgroup
- \stelsynchronisatiebalkin
- [\c!tekst=\getvalue{doc:des:#1},#2]%
- \getvalue{synchronisatie\@@bavariant}[#1]%
- \egroup
- \fi\fi}
-
-%I n=Interactiebalk
-%I c=\interactiebalk,\stelinteractiebalkin
-%I
-%I Het volgende commando genereert een interactiebalk. Pas op:
-%I de waarde van \realpageno staat niet echt vast.
-%I
-%I \interactiebalk[variant=,breedte=,hoogte=,diepte=,
-%I achtergrond=,achtergrondkleur=,achtergrondraster=,
-%I kader=,stap=]
-%I
-%I \interactiebalk[reset]
-%I
-%I \stelinteractiebalkin[...]
-%I
-%I Mogelijke stappen zijn 'klein', 'middel', 'groot' en 'n';
-%I beschikbare varianten zijn:
-%I
-%I a meter (scrollbar)
-%I b jumper (symbool: begin terug vooruit eind)
-%I c jumper (balk: begin terug vooruit eind)
-%I d pagina (subpaginas vast formaat)
-%I e pagina (subpaginas vrij formaat)
-%I f pagina (subpaginas grote aantallen)
-%I g pagina (subpaginas jumper)
-
-% Dit is leuke toepassing van glue!
-
-\newbox\meterbox
-
-\newif\ifbalksymbool
-
-\def\doganaareenpagina#1#2#3% nog checken !
- {\checkreferences % nodig ??
- \iflocation
- \ifnum#3=\realpageno
- {#2}%
- \else
- \doifelsenothing{#1}
- {\hbox{\gotorealpage{}{}{#3}
- {#2}}}
- {\hbox{\gotorealpage{}{}{#3}
- {\dolocationattributes{#1}\c!letter\c!kleur{#2}}}}%
- \fi
- \else
- {#2}%
- \fi}
-
-\def\interactiebalka%
- {\iflocation
- \bgroup
- \setupinteraction[\c!breedte=\!!zeropoint]%
- \setupblackrules[\c!hoogte=\v!max,\c!diepte=\v!max]% maten ??
- \!!widthb=\@@ibbreedte\relax
- \advance\!!widthb by -2.75em\relax
- \!!widtha=\!!widthb\relax
- \divide\!!widtha by \lastpage\relax
- \bgroup
- \advance\realpageno by -1\relax
- \ifvoid\meterbox
- \bgroup
- \processaction
- [\@@ibstap]
- [ \v!klein=>\dimen0=.25em\relax,
- \v!middel=>\dimen0=.5em\relax,
- \v!groot=>\dimen0=1em\relax,
- \s!unknown=>\dimen0=\!!widtha]%
- \ifdim\!!widtha<\dimen0\relax
- \!!counta=\dimen0\relax
- \!!countb=\!!widtha
- \divide\!!counta by \!!countb
- \else
- \!!counta=\@@ibstap\relax
- \fi
- \!!widtha=\!!counta\!!widtha
- \setbox0=\hbox{\blackrule[\c!breedte=\!!widtha]}%
- \global\setbox\meterbox=\hbox to \!!widthb
- {\hss
- \for \teller=1 \to \lastpage \step \!!counta \do
- {\gotorealpage{}{}{\teller}{\copy0}}%
- \hss}%
- \global\wd\meterbox=\!!zeropoint\relax
- \egroup
- \fi
- \egroup
- \noindent
- \strut
- \hbox to \@@ibbreedte
- {\mindermeldingen
- \setupblackrules[\c!breedte=1em]%
- \doganaareenpagina\??ib\blackrule\firstpage
- \hss
- \color[middlegray]{\copy\meterbox}%
- \hbox to \!!widthb
- {\ifdim\!!widtha<1em\relax
- \!!widtha=1em\relax
- \fi
- \setupblackrules[\c!breedte=\!!widtha]%
- \ifnum\realpageno>1\relax
- \!!counta=\realpageno
- \advance\!!counta by -2\relax
- \hskip\!!zeropoint\!!plus\!!counta sp\relax % cm gives overflow
- \doganaareenpagina\??ib\blackrule\prevpage
- \fi
- \color[\@@ibcontrastkleur]{\blackrule[\c!breedte=.5em]}%
- \ifnum\realpageno<\lastpage\relax
- \doganaareenpagina\??ib\blackrule\nextpage
- \!!counta=\lastpage\relax
- \advance\!!counta by -\realpageno
- \advance\!!counta by -1\relax
- \hskip\!!zeropoint\!!plus\!!counta sp\relax % cm gives overflow
- \fi}%
- \hss
- \doganaareenpagina\??ib\blackrule\lastpage}%
- \egroup
- \fi}
-
-\presetlocalframed[\??ib]
-
-\def\interactiebalkc%
- {\iflocation
- \ifnum\lastpage>1
- \hbox to \@@ibbreedte
- {\setupblackrules[\c!hoogte=\@@ibhoogte,\c!diepte=\@@ibdiepte]%
- \def\gotox##1%
- {\doganaareenpagina{}{\blackrule[\c!breedte=##1]}}%
- \dimen0=\@@ibbreedte\relax
- \advance\dimen0 by -4em
- \!!counta=\lastpage
- \advance\!!counta by -1
- \divide\dimen0 by \!!counta
- \!!counta=\realpageno
- \advance\!!counta by -1
- \!!widtha=\!!counta\dimen0\relax
- \!!countb=\lastpage
- \advance\!!countb by -\realpageno
- \!!widthb=\!!countb\dimen0
- \startcolor[\locationcolor\@@ibkleur]%
- \gotox{1em}\firstpage
- \hss
- \gotox{\!!widtha}\prevpage
- \color[\@@ibcontrastkleur]{\blackrule[\c!breedte=1em]}%
- \gotox{\!!widthb}\nextpage
- \hss
- \gotox{1em}\lastpage
- \stopcolor}%
- \fi
- \fi}
-
-\def\interactiebalkd%
- {\iflocation\ifshowingsubpage
- \ifnum\nofsubpages>1
- \hbox
- \bgroup
- \setupinteraction[\c!breedte=\!!zeropoint]%
- \ifbalksymbool % beter: 3 chars assign en 3*box
- \setupsymbolset[\@@iasymboolset]%
- \setbox0=\hbox{\symbol[\v!vorige]}%
- \setbox2=\hbox{\symbol[\v!ergens]}%
- \setbox4=\hbox{\symbol[\v!volgende]}%
- \else
- \setbox0=\hbox
- {\vrule
- \!!height\@@ibhoogte
- \!!depth\@@ibdiepte
- \!!width\@@ibbreedte}%
- \setbox2=\copy0
- \setbox4=\copy0
- \fi
- \startcolor[\locationcolor\@@ibkleur]%
- \for\teller=1\to\nofsubpages\step1\do
- {\bgroup
- \increment(\teller,\firstsubpage)\relax
- \decrement\teller\relax
- \ifnum\teller<\realpageno\relax
- \gotorealpage{}{}{\teller}{\copy0}\relax
- \else\ifnum\teller=\realpageno\relax
- \color
- [\@@ibcontrastkleur]
- {\gotorealpage{}{}{\teller}{\copy2}}%
- \else
- \gotorealpage{}{}{\teller}{\copy4}\relax
- \fi\fi
- \egroup
- \hskip\@@ibafstand}%
- \unskip
- \stopcolor
- \egroup
- \fi
- \fi\fi}
-
-\def\interactiebalke% KAN WORDEN GECOMBINEERD MET D
- {\iflocation\ifshowingsubpage
- \ifnum\nofsubpages>1
- \bgroup
- \!!widthb=\@@ibafstand
- \multiply\!!widthb by \nofsubpages
- \advance\!!widthb by -\@@ibafstand % (n-1)
- \!!widtha=\@@ibbreedte
- \advance\!!widtha by -\!!widthb
- \divide\!!widtha by \nofsubpages\relax
- \ifdim\!!widtha<\@@ibafstand\relax
- \interactiebalkf
- \else
- \setupinteraction[\c!breedte=\!!zeropoint]%
- \noindent
- \hbox to \@@ibbreedte
- \bgroup
- \ifbalksymbool
- \setupsymbolset[\@@iasymboolset]%
- \setbox0=\hbox{\symbol[\v!vorige]}%
- \setbox2=\hbox{\symbol[\v!ergens]}%
- \setbox4=\hbox{\symbol[\v!volgende]}%
- \else
- \setbox0=\hbox
- {\vrule
- \!!height\@@ibhoogte
- \!!depth\@@ibdiepte
- \!!width\!!widtha}%
- \setbox2=\copy0
- \setbox4=\copy0
- \fi
- \startcolor[\locationcolor\@@ibkleur]%
- \for\teller=1\to\nofsubpages\step1\do
- {\bgroup
- \increment(\teller,\firstsubpage)\relax
- \decrement\teller\relax
- \ifnum\teller<\realpageno\relax
- \gotorealpage{}{}{\teller}{\copy0}\relax
- \else\ifnum\teller=\realpageno\relax
- \color
- [\@@ibcontrastkleur]
- {\gotorealpage{}{}{\teller}{\copy2}}%
- \else
- \gotorealpage{}{}{\teller}{\copy4}\relax
- \fi\fi
- \egroup
- \hss}%
- \unskip
- \stopcolor
- \egroup
- \fi
- \egroup
- \fi
- \fi\fi}
-
-\def\interactiebalkf% !! KAN WORDEN GECOMBINEERD MET D !!
- {\iflocation\ifshowingsubpage
- \ifnum\nofsubpages>1
- \setupinteraction[\c!breedte=\!!zeropoint]%
- \noindent
- \hbox to \@@ibbreedte
- \bgroup
- \!!countb=0
- \loop
- \advance\!!countb by 1
- \!!countc=\nofsubpages
- \divide\!!countc by \!!countb
- \advance\!!countc by 1
- \!!widthb=\@@ibafstand
- \multiply\!!widthb by \!!countc
- \advance\!!widthb by -\@@ibafstand
- \!!widtha=\@@ibbreedte
- \advance\!!widtha by -\!!widthb
- \divide\!!widtha by \!!countc
- \ifdim\!!widtha<\@@ibafstand\relax
- \repeat
-\advance\!!countc by -2
-\!!widtha=-\@@ibafstand
-\!!widtha=\!!countc\!!widtha
-\advance\!!widtha by \@@ibbreedte
-\advance\!!countc by 1
-\divide\!!widtha by \!!countc
- \ifbalksymbool
- \setupsymbolset[\@@iasymboolset]%
- \setbox0=\hbox{\symbol[\v!vorige]}%
- \setbox4=\hbox{\symbol[\v!ergens]}%
- \setbox8=\hbox{\symbol[\v!volgende]}%
- \setbox2=\copy4
- \setbox6=\copy4
- \else
- \setbox0=\hbox
- {\vrule
- \!!height\@@ibhoogte
- \!!depth\@@ibdiepte
- \!!width\!!widtha}%
- \setbox4=\copy0
- \setbox8=\copy0
- \setbox2=\hbox
- {\vrule
- \!!height.5\ht0
- \!!depth.5\dp0
- \!!width\!!widtha}%
- \ht2=\ht0
- \dp2=\dp0
- \setbox6=\copy2
- \fi
- \def\gotox##1%
- {\ifnum\teller=\realpageno
- \color
- [\@@ibcontrastkleur]
- {\gotorealpage{}{}{\teller}{\copy##1}}%
- \else
- \gotorealpage{}{}{\teller}{\copy##1}%
- \fi
- \!!countf=0
- \hss}%
- \startcolor[\locationcolor\@@ibkleur]%
- \!!countc=\realpageno \advance\!!countc by -2
- \!!countd=\realpageno \advance\!!countd by 2
- \!!countf=0
- \for\teller=\firstsubpage\to\lastsubpage\step1\do
- {\!!doneafalse
- \advance\!!countf by 1
- \ifnum\teller=\firstsubpage\relax \!!doneatrue \fi
- \ifnum\teller=\lastsubpage\relax \!!doneatrue \fi
- \ifnum\teller>\!!countc \ifnum\teller<\!!countd \!!doneatrue \fi\fi
- \if!!donea
- \ifnum\teller<\realpageno
- \gotox0%
- \else\ifnum\teller>\realpageno
- \gotox4%
- \else
- \gotox8%
- \fi\fi
- \else\ifnum\!!countf=\!!countb
- \ifnum\teller<\realpageno
- \gotox2%
- \else\ifnum\teller>\realpageno
- \gotox6%
- \else
- \gotox4%
- \fi\fi
- \fi\fi}%
- \unskip
- \stopcolor
- \egroup
- \fi
- \fi\fi}
-
-\def\interactiebalkb%
- {\ifnum\lastpage>\firstpage\relax
- \interactiebuttons
- [\v!eerstepagina,
- \v!vorigepagina,
- \v!volgendepagina,
- \v!laatstepagina]%
- \fi}
-
-\def\interactiebalkg%
- {\ifnum\lastsubpage>\firstsubpage\relax
- \interactiebuttons
- [\v!eerstesubpagina,
- \v!vorigesubpagina,
- \v!volgendesubpagina,
- \v!laatstesubpagina]%
- \fi}
-
-\def\checkinteractiebalk#1#2%
- {\doifnothing{\@@ibhoogte}{\def\@@ibhoogte{#1}}%
- \doifnothing{\@@ibdiepte}{\def\@@ibdiepte{#2}}}
-
-\def\complexinteractiebalk[#1]%
- {\doifelse{#1}{\v!reset}
- {\global\setbox\meterbox=\box\voidb@x}%
- {\bgroup
- \iflocation
- \checksubpages % goes wrong / loads \numberofpages too
- \getparameters[\??ib][#1]%
- \doif{\@@ibstatus}{\v!start}
- {\startinteractie
- \processaction
- [\@@ibvariant]
- [ c=>\checkinteractiebalk\v!max\v!max,
- d=>\checkinteractiebalk{.5em}\!!zeropoint,
- e=>\checkinteractiebalk{.5em}\!!zeropoint,
- f=>\checkinteractiebalk{.5em}\!!zeropoint,
- \s!default=>\checkinteractiebalk\v!ruim\!!zeropoint,
- \s!unknown=>\checkinteractiebalk\v!ruim\!!zeropoint]%
- \doifelse{\@@ibsymbool}{\v!ja}
- {\balksymbooltrue}{\balksymboolfalse}%
- \getvalue{interactiebalk\@@ibvariant}%
- \stopinteractie}%
- \fi
- \egroup}}
-
-\definecomplexorsimpleempty\interactiebalk
-
-\def\stelinteractiebalkin%
- {\dodoubleargument\getparameters[\??ib]}
-
-%I n=Profielen
-%I c=\definieerprofiel,\startprofiel,\volgprofiel
-%I
-%I Er kunnen een gericht leesprofiel worden gedefinieerd.
-%I Daartoe worden delen van de tekst gemerkt met commando:
-%I
-%I \startprofiel[label,label,...]
-%I \stopprofiel
-%I
-%I Een profiel wordt vervolgens samengesteld uit gemerkte
-%I teksten:
-%I
-%I \definieerprofiel[naam,naam][label,label,...]
-%I
-%I en kan worden gevolgd met:
-%I
-%I \volgprofiel{tekst}[naam]
-%I
-%I Dit laatste commando is te vergelijken met \naar, met dat
-%I verschil dat naar een serie teksten wordt gesprongen.
-%P
-%I Profielen kunnen worden getest. In dat geval worden de
-%I begin- en eindpunten in de tekst aangegeven. De labels
-%I zijn actief, zodat snel heen en weer gesprongen kan worden.
-%I
-%I \stelprofielenin[optie=]
-%I
-%I Hierbij kan optie de waarde 'test' hebben.
-
-% Er wordt vooralsnog uitgegaan van een symmetrische
-% start-stop situatie.
-
-\def\c!profiel!! {profiel:} % brrr
-\def\c!versie!! {versie:}
-
-\def\dodefinieerprofiel[#1][#2]%
- {\iflocation
- \def\dododefinieerprofiel##1%
- {\def\dodododefinieerprofiel####1%
- {\doifdefinedelse{\c!profiel!!####1}%
- {\edef\!!stringa{\getvalue{\c!profiel!!####1}}%
- \setevalue{\c!profiel!!####1}{\!!stringa,##1}}%
- {\setevalue{\c!profiel!!####1}{##1}}}%
- \processcommalist[#2]\dodododefinieerprofiel}%
- \processcommalist[#1]\dododefinieerprofiel
- \fi}
-
-\def\definieerprofiel%
- {\dodoubleargument\dodefinieerprofiel}
-
-% Als met \getpar wordt gewerkt, dan moet \next worden toegepast.
-
-% TZT initialisatie!
-
-\def\profilepage{}
-
-\let\dosetprofilepage=\relax
-\let\dogetprofilepage=\relax
-
-\def\processprofile#1[#2]%
- {\iflocation
- \par % needed for pdftex
- \bgroup
- \dosetprofilepage
- \dogetprofilepage
- \def\processoneprofile##1##2%
- {\ExpandBothAfter\doifinsetelse{##2}{\processedprofiles}%
- {\doifsomething{##1}{(##1)}}%
- {\addtocommalist{##2}\processedprofiles
- ##1\relax
- \ifcase#1\relax
- \dobeginofprofile
- {##2}
- {\number\papierbreedte}{\number\papierhoogte}
- {\profilepage}%
- \else
- \doendofprofile
- \fi}}%
- \def\processedprofiles{}%
- \def\doprocessprofile##1%
- {\doifelse{\@@pfoptie}{\v!test}%
- {\goodbreak\blanko\nobreak\tt[\spatie
- \ifcase#1\v!start\else\v!stop\fi profiel\spatie ##1:\spatie
- \doifdefinedelse{\c!profiel!!##1}%
- {\def\dodoprocessprofile####1%
- {\processoneprofile
- {\naar{####1}[\c!profiel!!####1]}%
- {####1}%
- \spatie}%
- \processcommacommand
- [\getvalue{\c!profiel!!##1}]\dodoprocessprofile}%
- {- }%
- ]\nobreak\blanko}%
- {\doifdefined{\c!profiel!!##1}%
- {\def\dodoprocessprofile####1%
- {\processoneprofile{}{####1}}%
- \processcommacommand
- [\getvalue{\c!profiel!!##1}]\dodoprocessprofile}}}%
- \processcommalist[#2]\doprocessprofile
- \egroup
- \par % needed for pdftex
- \fi}
-
-\def\startprofiel[#1]%
- {\iflocation
- \bgroup
- \addtocommalist{#1}\actualprofile
- \def\stopprofiel%
- {\processprofile1[#1]%
- \egroup}%
- \DoAfterFi\processprofile0[#1]%
- \fi}
-
-\let\stopprofiel=\relax
-
-\def\dovolgprofiel#1[#2]%
- {\iflocation
- \hbox
- {\dostartgoto
- \data
- {\dolocationattributes\??ia\c!letter\c!kleur{#1\presetgoto}}%
- \start
- \dostartgotoprofile
- {\number\buttonwidth}{\number\buttonheight}
- {#2}%
- \stop
- \dostopgotoprofile
- \dostopgoto}%
- \else
- {#1}%
- \fi}
-
-\def\volgprofiel#1[#2]%
- {\iflocation
- \doif{\@@pfoptie}{\v!test}{\pagereference[\c!profiel!!#2]}%
- \dovolgprofiel{#1}[#2]%
- \fi}
-
-\def\stelprofielenin%
- {\dodoubleargument\getparameters[\??pf]}
-
-% Als er nog geen tekst op de pagina staat, dan heeft het
-% profiel betrekking op het bovenstaande, dus soms een vorige
-% pagina! Vreemd, omdat PDF paginagewijs werkt. Gelukkig
-% biedt /page een oplossing. Echter: expansie van een
-% \special kan niet worden uitgesteld, zodat alleen een
-% two-pass een oplossing vormt. Het onderstaande kan komen
-% te vervallen als Acrobat dit ondervangt. Het scheelt een
-% pass en een lijst.
-%
-% Er kunnen eventueel twee lijsten worden gebruikt. Een voor
-% het begin (start) en een voor het eind (stop). Nu staat
-% alles in een lijst.
-
-\definetwopasslist{\s!profile}
-
-\newcounter\currentprofile
-
-\def\dosetprofilepage%
- {\doglobal\increment\currentprofile
- \edef\docommando%
- {\writeutilitycommand%
- {\twopassentry%
- {\s!profile}%
- {\currentprofile}%
- {\noexpand\realfolio}}}%
- \docommando}
-
-\def\dogetprofilepage%
- {\gettwopassdata{\s!profile}%
- \let\profilepage=\twopassdata}
-
-%I n=Versies
-%I c=\definieerversie,\stelversiesin,\startversie
-%I c=\selecteerversie,\markeerversie,\volgversie
-%I
-%I Het mechanisme om wijzigingen in een tekst te markeren en
-%I selecteren sluit aan op dat van profielen.
-%I
-%I Een deel van de tekst kan worden gemarkeerd met ofwel
-%I
-%I \startversie[nr,nr,...]
-%I \stopversie
-%I
-%I of tussen @+ ...... @-. Eventueel mogen achter @+ nummers
-%I worden opgenomen: @+nr,nr,... ...... @-.
-%I
-%I Aldus gemerkte tekst kan in een afwijkende letter worden
-%I weergegeven, bijvoorbeeld \ss. Daarbij wordt de laagste
-%I nog te mrkeren versie opgegeven:
-%I
-%I \stelversiesin[nummer=,letter=]
-%I
-%I Een versienummer mag punten (.) bevatten. Deze worden
-%I voor het vergelijken niet meegenomen. Oppassen dus: 1.10
-%I wordt 110 en 2.2 wordt 22.
-%P
-%I Het is mogelijk alleen de 'recente' wijzigingen te
-%I verwerken. Dit gaat in twee slagen:
-%I
-%I \markeerversie (eerste slag)
-%I \selecteerversie (tweede slag)
-%I
-%I Er is gekozen voor het bewust markeren, omdat het
-%I markeren gaat ten koste van de omvang van de hulpfile.
-%P
-%I Evenals profielen, kunnen ook versie worden gevolgd. Ook
-%I hier dient eerst een definitie plaats te vinden:
-%I
-%I \definieerversie[naam][nummer,nummer,nummer]
-%I
-%I waarna gebruik kan worden gemaakt van:
-%I
-%I \volgversie{tekst}[naam]
-%I
-%I Er is ook een combinatie (doorsnede) mogelijk van
-%I profielen en versies:
-%I
-%I \volgprofielversie{tekst}[naam profiel][naam versie]
-
-\newcounter\versionlevel
-\newcounter\versionorder
-
-\newif\ifrecentversion
-
-\let\oldatcharacter=@
-
-\def\minimumversion{0}
-\def\actualversion{0}
-
-\def\dostelversiesin[#1]%
- {\getparameters[\??ve][#1]
- \stripcharacter.\from\@@venummer\to\minimumversion
- \setversion}
-
-\def\stelversiesin%
- {\dosingleargument\dostelversiesin}
-
-\definetwopasslist{\s!versionbegin}
-\definetwopasslist{\s!versionend}
-
-\def\actualprofile{}
-
-\def\doresetpageversion%
- {\edef\docommando%
- {\writeutilitycommand%
- {\twopassentry%
- {\s!versionend}%
- {\versionorder}%
- {\noexpand\realfolio}}}%
- \docommando}
-
-\def\dosetpageversion#1%
- {\recentversiontrue
- \doglobal\increment\versionorder\relax
- \edef\docommando%
- {\writeutilitycommand%
- {\twopassentry%
- {\s!versionbegin}%
- {\versionorder}%
- {\noexpand\realfolio}}}%
- \docommando
- \let\resetpageversion=\doresetpageversion}
-
-\def\recentcontributions{}
-
-\def\checkrecentcontributions%
- {\gettwopassdata{\s!versionbegin}%
- \iftwopassdatafound
- \!!counta=\twopassdata\relax
- \gettwopassdata{\s!versionend}%
- \iftwopassdatafound
- \!!countb=\twopassdata\relax
- \doglobal\increment\versionorder\relax
- \writeutilitycommand%
- {\twopassentry%
- {\s!versionbegin}%
- {\versionorder}%
- {\the\!!counta}}%
- \writeutilitycommand%
- {\twopassentry%
- {\s!versionend}%
- {\versionorder}%
- {\the\!!countb}}%
- \for\teller=\!!counta\to\!!countb\step1\do%
- {\@EA\doglobal\@EA\addtocommalist\@EA{\teller}{\recentcontributions}}%
- \let\next=\checkrecentcontributions
- \else
- \let\next=\relax
- \fi
- \else
- \let\next=\relax
- \fi
- \next}
-
-\def\docheckpageversion%
- {\ExpandBothAfter\doifinsetelse{\realfolio}{\recentcontributions}
- {\geselecteerdtrue}%
- {\geselecteerdfalse}}
-
-\let\setpageversion = \gobbleoneargument
-\let\resetpageversion = \relax
-\let\checkpageversion = \relax
-
-\def\complexstartversie[#1]%
- {\bgroup
- \doifelse{\actualprofile}{}%
- {\startprofiel[#1]}%
- {\startprofiel[#1,\actualprofile]}%
- \def\docomplexstartversie##1%
- {\stripcharacter.\from##1\to\actualversion
- \ifnum\versionlevel>0\relax
- \ifnum\actualversion=0\relax
- \setpageversion\actualversion % unknown version
- \else
- \ifnum\actualversion<\minimumversion\relax
- \relax % old version
- \else
- \setpageversion\actualversion % new version
- \fi
- \fi
- \fi}%
- \doglobal\increment\versionlevel\relax
- \doifelsenothing{#1}
- {\docomplexstartversie{0}}%
- {\processcommalist[#1]\docomplexstartversie}}
-
-\definecomplexorsimpleempty\startversie
-
-\def\stopversie%
- {\stopprofiel
- \doglobal\decrement\versionlevel
- \ifnum\versionlevel<0\relax
- \showmessage{\m!versions}{1}{}%
- \else
- \resetpageversion
- \egroup
- \fi}
-
-\bgroup
-\catcode`@=\active
-\gdef\setversion%
- {\catcode`@=\active % we can't use \@@active here
- \long\def@##1##2 %
- {\ifx##1+%
- \startversie[##2]%
- \else\ifx##1-%
- \stopversie
- \else
- \oldatcharacter##1##2 %
- \fi\fi}}
-\egroup
-
-\def\markeerversie%
- {\showmessage{\m!versions}{2}{}%
- \let\setpageversion=\dosetpageversion
- \let\resetpageversion=\relax
- \let\checkpageversion=\relax}
-
-\def\selecteerversie%
- {\checkrecentcontributions
- \showmessage{\m!versions}{3}{\recentcontributions}%
- \let\setpageversion=\gobbleoneargument
- \let\resetpageversion=\relax
- \let\checkpageversion=\docheckpageversion
- \setversion}
-
-\def\dodefinieerversie[#1][#2]%
- {\setvalue{\c!versie!!#1}{#2}%
- \definieerprofiel[#1][#2]}
-
-\def\definieerversie%
- {\dodoubleargument\dodefinieerversie}
-
-\def\volgversie%
- {\volgprofiel}
-
-\def\volgprofielversie#1[#2][#3]%
- {\def\docommando##1%
- {\definieerprofiel[#2#3][##1]}%
- \processcommacommand[\getvalue{\c!versie!!#3}]\docommando
- \volgprofiel#1[#2#3]}
-
-\newcounter\currentpagetransition
-
-\newif\ifrandomtransitions
-
-\def\stelpaginaovergangenin%
- {\dosingleempty\dostelpaginaovergangenin}
-
-\def\dostelpaginaovergangenin[#1]%
- {\doifelsenothing{#1}
- {\doifnot{\@@scwachttijd}{\v!geen}
- {\let\setpagetransition\setsomepagedelay}}
- {\doifelse{#1}{\v!start}
- {\doifnot{\@@scwachttijd}{\v!geen}
- {\let\setpagetransition\setsomepagedelay}}
- {\doglobal\newcounter\currentpagetransition
- \doifinsetelse{#1}{\v!reset,\v!stop}
- {\let\setpagetransition\relax}
- {\let\setpagetransition\setsomepagetransition
- \doifinsetelse{\v!willekeurig}{#1}
- {\randomtransitionstrue}{\randomtransitionsfalse}%
- \edef\userpagetransitions{#1}%
- \@EA\removefromcommalist\@EA{\v!willekeurig}\userpagetransitions
- \ifx\userpagetransitions\empty
- \let\userpagetransitions\pagetransitions
- \fi}}}}
-
-\def\setsomepagedelay%
- {\expanded{\dosetpagetransition{0}{\@@scwachttijd}}}
-
-\def\setsomepagetransition%
- {\iflocation
- \ifrandomtransitions
- \expanded{\getcommalistsize[\userpagetransitions]}%
- \getrandomnumber{\currentpagetransition}{1}{\commalistsize}%
- \else
- \doglobal\increment\currentpagetransition
- \fi
- \expanded{\getfromcommalist[\userpagetransitions][\currentpagetransition]}%
- \doifnumberelse{\commalistelement}
- {\expanded{\getfromcommalist[\pagetransitions][\commalistelement]}}
- {}%
- \ifx\commalistelement\empty
- \doglobal\newcounter\currentpagetransition
- \setsomepagetransition
- \else
- \doifelse{\@@scwachttijd}{\v!geen}
- {\expanded{\dosetpagetransition{\commalistelement}{0}}}
- {\expanded{\dosetpagetransition{\commalistelement}{\@@scwachttijd}}}%
- \fi
- \fi}
-
-\prependtoks \setpagetransition \to \everyshipout
-
-% temporary here
-
-%D \startbuffer
-%D \dorecurse{10}
-%D {\horizontalpositionbar
-%D \pos\recurselevel \min1 \max10
-%D \token\framed{\recurselevel}%
-%D \\}
-%D
-%D \hbox to 15em
-%D {\hss
-%D \dorecurse{10}
-%D {\verticalpositionbar\pos\recurselevel\min1\max10\token\blokje\\
-%D \hss}}
-%D \stopbuffer
-
-\def\horizontalpositionbar\pos#1\min#2\max#3\token#4\\%
- {\hbox to \hsize
- {\hskip\!!zeropoint\!!plus #1\!!fill
- \hskip\!!zeropoint\!!plus-#2\!!fill
- #4\relax
- \hskip\!!zeropoint\!!plus #3\!!fill
- \hskip\!!zeropoint\!!plus-#1\!!fill}}
-
-\def\verticalpositionbar\pos#1\min#2\max#3\token#4\\%
- {\vbox to \vsize
- {\vskip\!!zeropoint\!!plus #1\!!fill
- \vskip\!!zeropoint\!!plus-#2\!!fill
- \hbox{#4}\relax
- \vskip\!!zeropoint\!!plus #3\!!fill
- \vskip\!!zeropoint\!!plus-#1\!!fill}}
-
-\def\horizontalgrowingbar\pos#1\min#2\max#3\height#4\depth#5\\%
- {\hbox to \hsize
- {\scratchcounter=#1\relax
- \advance\scratchcounter by -#2\relax
- \advance\scratchcounter by 1\relax
- \leaders\vrule\hskip\!!zeropoint\!!plus \scratchcounter\!!fill
- \vrule\!!width\!!zeropoint\!!height#4\!!depth#5\relax
- \hskip\!!zeropoint\!!plus #3\!!fill
- \hskip\!!zeropoint\!!plus-#1\!!fill}}
-
-\def\verticalgrowingbar\pos#1\min#2\max#3\width#4\\%
- {\vbox to \vsize
- {\scratchcounter=#1\relax
- \advance\scratchcounter by -#2\relax
- \advance\scratchcounter by 1\relax
- \leaders\hrule\vskip\!!zeropoint\!!plus\scratchcounter\!!fill
- \hrule\!!width#4\!!height\!!zeropoint\!!depth\!!zeropoint
- \vskip\!!zeropoint\!!plus #3\!!fill
- \vskip\!!zeropoint\!!plus-#1\!!fill}}
-
-\newbox\commentbox
-
-\def\flushcomments%
- {\ifvoid\commentbox\else
- \inmarge{\hbox{\raise\ht\strutbox\box\commentbox}}%
- \fi}
-
-\def\stelcommentaarin%
- {\dodoubleargument\getparameters[\??cc]}
-
-\setvalue{\e!start\e!commentaar}% the dummy triple gobbles trailing spaces
- {\dotripleempty\dostartcommentaar}
-
-\def\dostartcommentaar[#1][#2][#3]%
- {\bgroup
- \doifassignmentelse{#1}
- {\getparameters[\??cc][#1]}
- {\getparameters[\??cc][\c!titel=#1,#2]}%
- \bgroup
- \obeylines
- \doif{\@@ccspatie}{\v!ja}{\obeyspaces}%
- \long\def\docommando##1%
- {\egroup
- \global\setbox\commentbox=\hbox
- {\!!widtha=\@@ccbreedte
- \!!heighta=\@@cchoogte
- \doinsertcomment
- {\@@cctitel}{\number\!!widtha}{\number\!!heighta}
- {\@@cckleur}{0}{\@@ccsymbool}{##1}%
- \hskip\ifvoid\commentbox\@@ccmarge\else\@@ccafstand\fi
- \box\commentbox
- \egroup}}%
- \grabuntil{\e!stop\e!commentaar}\docommando}
-
-\def\commentaar%
- {\dodoubleempty\docommentaar}
-
-\def\docommentaar[#1][#2]#3%
- {\bgroup
- \doifassignmentelse{#1}
- {\getparameters[\??cc][#1]}
- {\getparameters[\??cc][\c!titel=#1,#2]}%
- \!!widtha=\@@ccbreedte
- \!!heighta=\@@cchoogte
- \hbox to \!!zeropoint
- {\hskip-\@@ccmarge
- \raise\ht\strutbox\hbox
- {\doPDFinsertcomment
- {\@@cctitel}{\number\!!widtha}{\number\!!heighta}
- {\@@cckleur}{0}{\@@ccsymbool}{#3}}}%
- \egroup
- \ignorespaces}
-
-% \startcommentaar
-% hello beautiful\\world
-% \stopcommentaar
-%
-% \startcommentaar[hallo]
-% hello \<< \'e\'erste \>>
-% beautiful
-% world
-% \stopcommentaar
-%
-% \startcommentaar[hallo][kleur=groen,breedte=4cm,hoogte=3cm]
-% hello \<< \'e\'erste \>>
-% beautiful
-% world
-% \stopcommentaar
-%
-% \startcommentaar[hallo][kleur=groen,breedte=4cm,hoogte=3cm]
-% hello \<< \'e\'erste \>>
-%
-% beautiful
-%
-% world
-% \stopcommentaar
-%
-% \startcommentaar[symbool=Balloon]
-% Do we want this kind of rubish? And, why isn't this and
-% some more features related to text annotations so poorly
-% (actually not) documented? Anyhow, by providing this
-% functionality we demonstrate that \pdfTeX\ can do it. By
-% the way, it's funny that when in Acrobat we scale up the
-% text, the symbols scale down.
-% \stopcommentaar
-
-%D \macros
-%D {registermenubuttons}
-%D
-%D A still undocumented macro that generates a clickable
-%D alphabet to a register.
-
-\def\doregistermenubuttons[#1][#2]% [menu id] [register]
- {\bgroup
- \ifsecondargument
- \stelinteractiemenuin
- [#1][\c!onbekendeverwijzing=\v!ja,\c!zelfdepagina=\v!ja]%
- \def\docommando##1%
- {\noindent
- \menubutton[#1]{##1}[#2:##1]%
- \space}%
- \else
- \def\docommando##1%
- {\noindent
- \button[\c!onbekendeverwijzing=\v!ja,\c!zelfdepagina=\v!ja]{##1}[#1:##1]%
- \space}%
- \fi
- \handletokens abcdefghijklmnopqrstuvwxyz\with\docommando
- \egroup}
-
-\def\registermenubuttons%
- {\dodoubleempty\doregistermenubuttons}
-
-\definieerinteractiemenu
- [\v!rechts]
- [\v!rechts]
- [\c!voor=,
- \c!na=\vfil,
- \c!tussen=\blanko,
- \c!afstand=\bodyfontsize, % 12pt
- \c!links=\hss,
- \c!rechts=\hss,
- \c!breedte=\rechterrandbreedte,
- \c!hoogte=\v!ruim]
-
-\definieerinteractiemenu
- [\v!links]
- [\v!links]
- [\c!voor=,
- \c!na=\vfil,
- \c!tussen=\blanko,
- \c!afstand=\bodyfontsize, % 12pt
- \c!links=\hss,
- \c!rechts=\hss,
- \c!breedte=\linkerrandbreedte,
- \c!hoogte=\v!ruim]
-
-\definieerinteractiemenu
- [\v!onder]
- [\v!onder]
- [\c!voor=\vss,
- \c!na=\vss,
- \c!midden=\hfil,
- \c!afstand=\bodyfontsize, % 12pt
- \c!breedte=\v!passend,
- \c!hoogte=\v!ruim]
-
-\definieerinteractiemenu
- [\v!boven]
- [\v!boven]
- [\c!voor=\vss,
- \c!na=\vss,
- \c!midden=\hfil,
- \c!afstand=\bodyfontsize, % 12pt
- \c!breedte=\v!passend,
- \c!hoogte=\v!ruim]
-
-\stelinteractiemenuin
- [\v!links,\v!rechts,\v!boven,\v!onder]
- [\c!offset=.25em,
- \c!kader=\v!aan,
- \c!achtergrond=,
- \c!achtergrondkleur=,
- \c!achtergrondraster=\@@rsraster,
- \c!letter=\@@ialetter,
- \c!kleur=\@@iakleur,
- \c!contrastkleur=\@@iacontrastkleur,
- \c!status=\v!start,
- \c!zelfdepagina=\v!ja,
- \c!onbekendeverwijzing=\v!leeg,
- \c!bovenoffset=\!!zeropoint,
- \c!onderoffset=\!!zeropoint,
- \c!linkeroffset=\!!zeropoint,
- \c!rechteroffset=\!!zeropoint]
-
-%\stelbovenin [\v!tekst] [\c!middentekst={\interactiemenus[\v!boven]}]
-%\stelonderin [\v!tekst] [\c!middentekst={\interactiemenus[\v!onder]}]
-
-\def\plaatsrechterrandblok {\interactiemenus[\v!rechts]}
-\def\plaatslinkerrandblok {\interactiemenus[\v!links]}
-\def\plaatsboventekstblok {\interactiemenus[\v!boven]}
-\def\plaatsondertekstblok {\interactiemenus[\v!onder]}
-
-\def\plaatsboventekstblok%
- {\vbox to \bovenhoogte
- {\getvalue{\??tk\v!boven\v!tekst\c!voor}
- \interactiemenus[\v!boven]
- \getvalue{\??tk\v!boven\v!tekst\c!na}
- \kern\!!zeropoint}}
-
-\def\plaatsondertekstblok%
- {\vbox to \onderhoogte
- {\getvalue{\??tk\v!onder\v!tekst\c!voor}
- \interactiemenus[\v!onder]
- \getvalue{\??tk\v!onder\v!tekst\c!na}
- \kern\!!zeropoint}}
-
-\stelinteractieschermin
- [\c!breedte=\printpapierbreedte,
- \c!hoogte=\printpapierhoogte,
- \c!rugoffset=\!!zeropoint,
- \c!kopoffset=\!!zeropoint,
- \c!rugwit=\rugwit,
- \c!kopwit=\kopwit,
- \c!optie=\c!min,
- \c!wachttijd=\v!geen]
-
-\stelbuttonsin
- [\c!status=\v!start,
- \c!breedte=\v!passend,
- \c!hoogte=\v!ruim,
- \c!offset=0.25em,
- \c!kader=\v!aan,
- \c!achtergrond=,
- \c!achtergrondraster=\@@rsraster,
- \c!achtergrondkleur=,
- \c!letter=\@@ialetter,
- \c!kleur=\@@iakleur,
- \c!contrastkleur=\@@iacontrastkleur,
- \c!zelfdepagina=\v!ja,
- \c!onbekendeverwijzing=\v!ja]
-
-\stelinteractiebalkin
- [\c!status=\v!start,
- \c!variant=a,
- \c!symbool=\v!nee,
- \c!breedte=\rechterrandbreedte,
- \c!hoogte=, % these are taken care
- \c!diepte=, % of at calling time
- \c!afstand=.5em, % beter relateren aan breedte
- \c!stap=1,
- \c!kleur=\@@iakleur,
- \c!contrastkleur=\@@iacontrastkleur,
- \c!kader=\v!aan,
- \c!achtergrond=,
- \c!achtergrondraster=\@@rsraster,
- \c!achtergrondkleur=]
-
-\stelsynchronisatiebalkin
- [\c!variant=\v!pagina,
- \c!breedte=\rechterrandbreedte,
- \c!letter=\@@ialetter,
- \c!kleur=\@@iakleur,
- \c!achtergrond=,
- \c!achtergrondraster=\@@rsraster,
- \c!achtergrondkleur=]
-
-\stelsynchronisatiein
- [\c!status=\v!stop]
-
-\stelprofielenin
- [\c!optie=]
-
-\stelprogrammasin
- [\c!gebied=]
-
-\stelpaginaovergangenin
- [\v!reset]
-
-\stelcommentaarin
- [\c!marge=2.5em,
- \c!afstand=1em,
- \c!breedte=.3\tekstbreedte,
- \c!hoogte=.2\teksthoogte,
- \c!kleur=\@@iakleur,
- \c!titel=,
- \c!spatie=\v!nee,
- \c!symbool=\v!normaal]
-
-\stelversiesin % beware, @ is made active here,
- [\c!nummer=1, % therefore we set this one at the end
- \c!letter=\ss,
- \c!kleur=]
-
-\protect
-
-\endinput