summaryrefslogtreecommitdiff
path: root/tex/context/base/core-nav.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/core-nav.tex')
-rw-r--r--tex/context/base/core-nav.tex678
1 files changed, 318 insertions, 360 deletions
diff --git a/tex/context/base/core-nav.tex b/tex/context/base/core-nav.tex
index 60b843af4..c3b9828e0 100644
--- a/tex/context/base/core-nav.tex
+++ b/tex/context/base/core-nav.tex
@@ -1,360 +1,318 @@
-%D \module
-%D [ file=core-nav,
-%D version=1998.01.15,
-%D title=\CONTEXT\ Core Macros,
-%D subtitle=Navigation,
-%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 / Navigation}
-
-\unprotect
-
-%D Support for interactive document is very present in
-%D \CONTEXT\ and interwoven in many modules. This means that in
-%D this module, where we deal with some common navigational
-%D features, there will be quite some forward references.
-%D
-%D When I started implementing hypertext support, the macros
-%D were mostly dealing with things related to locations, that
-%D is click in this location and goto that one. The
-%D functionality of many macro depends on the output medium:
-%D paper or screen. The next boolean holds the state:
-
-\newif\iflocation
-
-%D We also allocate a scratchbox:
-
-\newbox\locationbox
-
-%D There is no interaction at all unless enabled by saying:
-%D
-%D \starttypen
-%D \setupinteraction[state=start]
-%D \stoptypen
-%D
-%D The other settings are:
-%D
-%D \showsetup{\y!stelinteractiein}
-%D
-%D In the special driver modules we introduced a switch that
-%D forces page destinations (instead of named ones). We set
-%D this switch here.
-
-\def\stelinteractiein%
- {\dosingleargument\dostelinteractiein}
-
-\def\dostelinteractiein[#1]%
- {\getparameters[\??ia][#1]%
- \doifelse{\@@iastatus}{\v!start}
- {\iflocation\else
- \showmessage{\m!interactions}{2}{\ifusepagedestinations\space(PAGE)\fi}%
- \global\locationtrue
- \fi}
- {\iflocation
- \showmessage{\m!interactions}{3}{\ifusepagedestinations\space(PAGE)\fi}%
- \global\locationfalse
- \fi}%
- \doifelse{\@@iastrut}{\v!ja}
- {\locationstruttrue}
- {\locationstrutfalse}%
- \doifelse{\@@iapagina}{\v!ja}
- {\global\usepagedestinationstrue}
- {\global\usepagedestinationsfalse}}
-
-%D We have to make sure of some settings:
-
-\def\dolocationstartup%
- {\iflocation
- \dosetupinteraction
- \setupinteractionscreens
- \global\let\dolocationstartup=\relax
- \fi}
-
-\appendtoks \dolocationstartup \to \everyshipout
-
-%D The next few macros are really horrible. For proper
-%D navigation a in||line hypertext fragment must have
-%D comfortable properties, so we must force some minimal
-%D dimensions. On the other hand button, and here I mean those
-%D pieces of text with fancy outlines and/or backgrounds, often
-%D have fixed, preset dimensions.
-%D
-%D To make things even worse, if we choose to let the optimal
-%D dimensions depend on the height and depth of a strut, a not
-%D too uncommon practice in \TEX, we have to deal with the fact
-%D that such a strut, set inside a box, is unknown too the
-%D outside world.
-%D
-%D The solution lays in passing the strut characteristics in
-%D a proper way, in our case by applying \type{\presetgoto}:
-%D
-%D \starttypen
-%D {some piece of text \presetgoto}
-%D \stoptypen
-%D
-%D This macro stores the current strut values.
-
-\newif\iflocationstrut
-
-\def\resetgoto%
- {\global\let\@@ia@@hoogte=\!!zeropoint
- \global\let\@@ia@@diepte=\!!zeropoint}
-
-\resetgoto
-
-\def\presetgoto%
- {\iflocationstrut
- \setstrut
- \xdef\@@ia@@hoogte{\the\ht\strutbox}%
- \xdef\@@ia@@diepte{\the\dp\strutbox}%
- \else
- \global\let\@@ia@@hoogte=\@@iahoogte
- \global\let\@@ia@@diepte=\@@iadiepte
- \fi}
-
-%D In the macros that deal with making areas into hyperlinks,
-%D we use:
-
-\def\dostartgoto\data#1\start#2\stop#3\dostopgoto%
- {\hbox
- {\setbox0=\hbox{#1}%
- \ifdim\wd0<\@@iabreedte\relax
- \buttonwidth=\@@iabreedte\relax
- \else
- \buttonwidth=\wd0\relax
- \fi
- \ifdim\ht0<\@@ia@@hoogte\relax
- \buttonheight=\@@ia@@hoogte\relax
- \else
- \buttonheight=\ht0
- \fi
- \ifdim\dp0<\@@ia@@diepte\relax
- \dimen0=\@@ia@@diepte\relax
- \else
- \dimen0=\dp0\relax
- \fi
- \advance\buttonheight by \dimen0
- \setbox2=\hbox
- {\lower\dimen0\hbox
- {\mindermeldingen
- \dimen0=.5\wd0
- \advance\dimen0 by -.5\buttonwidth
- \hskip\dimen0#2#3}}%
- \ifreversegoto
- \dimen0=\wd0\box0\kern-\dimen0\smashbox2\box2\kern\dimen0
- \else
- \smashbox2\box2\box0
- \fi
- \resetgoto}}
-
-%D The width of the active area depends on the dimensions
-%D preset, the actual dimens and/or the height and depth of the
-%D strut.
-%D
-%D Normally the hyper active area is laid on top of the text.
-%D This enables stacking hyperlinks on top of each other. When,
-%D for some reason the opposite is prefered, one can use the
-%D next boolean to signal this wish.
-
-\newif\ifreversegoto \reversegotofalse
-
-%D As long as there a natural feeling of what can be considered
-%D hyper active or not, we have to tell users where they can
-%D possibly click. We've already seen a few macros that deal
-%D with this visualization, something we definitely do not let
-%D up to the viewer. One way of telling is using a distinctive
-%D typeface, another way is using color.
-%D
-%D There are two colors involved: one for normal hyperlinks,
-%D and one for those that point to the currentpage, the
-%D contrast color.
-
-\definecolor [interactioncolor] [r=0, g=.6, b=0]
-\definecolor [interactioncontrastcolor] [r=.8, g=0, b=0]
-
-\definecolor [interactiekleur] [interactioncolor]
-\definecolor [interactiecontrastkleur] [interactioncontrastcolor]
-
-%D The next few macros are responsible for highlighting hyper
-%D links. The first one, \type{\showlocation}, is used in those
-%D situations where the typeface is handled by the calling
-%D macro.
-
-%D CHECK WHERE USED / CONSISTENCY
-
-\def\showlocation#1%
- {\iflocation\color[\@@iakleur]{#1\presetgoto}\else#1\fi}
-
-%D When local color settings are to be used, we can use the
-%D next macro, where \type{#1} is a tag like \type{\??tg} and
-%D \type{#2} some text.
-
-\def\showcoloredlocation#1#2%
- {\iflocation
- \color[\getvalue{#1\c!kleur}]{#2\presetgoto}%
- \else
- #2%
- \fi}
-
-%D When we're dealing with pure page references, contrast
-%D colors are used when we are already at the page mentioned.
-
-\def\showcontrastlocation#1#2#3% the \@EA is needed
- {\iflocation
- \ifnum#2=\realpageno\relax
- \doifelsevaluenothing{#1\c!kleur}
- {#3\presetgoto}
- {\color[\getvalue{#1\c!contrastkleur}]{#3\presetgoto}}%
- \else
- \color[\getvalue{#1\c!kleur}]{#3\presetgoto}%
- \fi
- \else
- #3%
- \fi}
-
-%D The next simple macro can be used in color specifications,
-%D like \type{\color[\locationcolor{green}]}.
-
-\def\locationcolor#1%
- {\iflocation#1\fi}
-
-%D More tokens are spend when we want both typeface and color
-%D highlighting.
-
-\def\dolocationattributes#1#2%
- {\bgroup
- \iflocation
- \doifdefinedelse{#1\c!kleur}
- {\edef\colorattribute{\getvalue{#1\c!kleur}}}
- {\let\colorattribute\empty}%
- \else
- \let\colorattribute\empty
- \fi
- \doifdefinedelse{#1\c!letter}
- {\edef\fontattribute{\getvalue{#1\c!letter}}}
- {\let\fontattribute\empty}%
- \startcolor[\colorattribute]%
- \doconvertfont{\fontattribute}{#2}%
- \stopcolor
- \egroup}
-
-%D Special hyperlinks, namely those to pages or navigational
-%D properties, are associated with symbols.
-
-\definesymbol [\v!eerste\v!pagina] [\gotobegincharacter]
-\definesymbol [\v!vorige\v!pagina] [\gobackwardcharacter]
-\definesymbol [\v!volgende\v!pagina] [\goforwardcharacter]
-\definesymbol [\v!laatste\v!pagina] [\gotoendcharacter]
-\definesymbol [\v!eerste\v!sub\v!pagina] [\gotobegincharacter]
-\definesymbol [\v!vorige\v!sub\v!pagina] [\gobackwardcharacter]
-\definesymbol [\v!volgende\v!sub\v!pagina] [\goforwardcharacter]
-\definesymbol [\v!laatste\v!sub\v!pagina] [\gotoendcharacter]
-\definesymbol [\v!PreviousJump] [\gobackjumpcharacter]
-\definesymbol [\v!NextJump] [\goforjumpcharacter]
-\definesymbol [\v!CloseDocument] [\closecharacter]
-
-%D These symbols are taken from the Computer Moders Roman
-%D symbol set or, when present, from the additional symbols of
-%D the American Mathematical Society. Of course one can use
-%D his or her own symbols by redefining them.
-
-\def\dogotocharacter#1#2#3%
- {\ifx#1\undefined#2\else#3\fi}
-
-\def\gotobegincharacter%
- {\hbox
- {\dogotocharacter\blacktriangleleft
- {\setbox0=\hbox{$\triangleleft$}%
- \vrule\!!width.085ex\!!height1.075\ht0\!!depth\dp0
- \kern-.11ex\box0}
- {\setbox0=\hbox{$\blacktriangleleft$}%
- \setbox2=\hbox{\vrule\!!height\ht0\!!depth\dp0\!!width.25ex}%
- \hbox{\lower.03ex\box2\kern-.35ex\box0}}}}
-
-\def\gotoendcharacter%
- {\hbox
- {\dogotocharacter\blacktriangleright
- {\setbox0=\hbox{\mathematics{\triangleright}}%
- \copy0\kern-.11ex
- \vrule\!!width.085ex\!!height1.075\ht0\!!depth\dp0}
- {\setbox0=\hbox{$\blacktriangleright$}%
- \setbox2=\hbox{\vrule\!!height\ht0\!!depth\dp0\!!width.25ex}%
- \hbox{\box0\kern-.35ex\lower.03ex\box2}}}}
-
-\def\gobackwardcharacter%
- {\mathematics{\dogotocharacter\blacktriangleright\triangleleft\blacktriangleleft}}
-
-\def\goforwardcharacter%
- {\mathematics{\dogotocharacter\blacktriangleleft\triangleright\blacktriangleright}}
-
-\def\gonowherecharacter%
- {\mathematics{\bullet}}
-
-\def\gotosomewherecharacter% {} permits ^\...
- {{\hbox{\hsmash{\gobackwardcharacter}\goforwardcharacter}}}
-
-\unexpanded\def\closecharacter%
- {\dogotocharacter\boxtimes
- {\ruledhbox{\mathematics{\times}}}
- {\mathematics{\boxtimes}}}
-
-\def\goforjumpcharacter%
- {\hbox{\goforwardcharacter \kern-.5em\goforwardcharacter}}
-
-\def\gobackjumpcharacter%
- {\hbox{\gobackwardcharacter\kern-.5em\gobackwardcharacter}}
-
-%D We have already seen some of the next values in action,
-%D others will be applied in other modules.
-
-%D Although not decently supported in current viewers, a
-%D provisory hiding mechanims is implemented. Areas marked as
-%D such, are visible on screen, but invisible on paper. Don't
-%D trust this mechanism yet!
-
-\def\dostartinteractie%
- {\bgroup
- \let\stopinteractie=\egroup
- \dowithnextbox{\dostarthide\box\nextbox\dostophide\egroup}\hbox}
-
-\let\startinteractie = \relax
-\let\stopinteractie = \relax
-
-% in the future:
-%
-% eerst boolean invoeren bij menu, achtergrond, balk, button
-% enz; verder startinteractie een argument meegeven {#1} ->
-% \getvalue{#1\c!print}=={\v!ja} enz. Consequent menubutton
-% gebruiken!
-
-\def\@@iatimestamp%
- {\the\normalyear
- \ifnum\normalmonth<10 0\fi\the\normalmonth
- \ifnum\normalday <10 0\fi\the\normalday}
-
-\stelinteractiein
- [\c!status=\v!stop,
- \c!pagina=\v!nee,
- \c!menu=\v!uit,
- \c!letter=\v!vet,
- \c!strut=\v!ja,
- \c!kleur=interactioncolor,
- \c!contrastkleur=interactioncontrastcolor,
- \c!breedte=1em,
- \c!hoogte=\!!zeropoint,
- \c!diepte=\!!zeropoint,
- \c!titel=,
- \c!subtitel=,
- \c!auteur=,
- \c!datum=\@@iatimestamp]
-
-\protect
-
-\endinput
- \ No newline at end of file
+%D \module
+%D [ file=core-nav,
+%D version=1998.01.15,
+%D title=\CONTEXT\ Core Macros,
+%D subtitle=Navigation,
+%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 / Navigation}
+
+\unprotect
+
+%D Support for interactive document is very present in
+%D \CONTEXT\ and interwoven in many modules. This means that in
+%D this module, where we deal with some common navigational
+%D features, there will be quite some forward references.
+%D
+%D When I started implementing hypertext support, the macros
+%D were mostly dealing with things related to locations, that
+%D is click in this location and goto that one. The
+%D functionality of many macro depends on the output medium:
+%D paper or screen. The next boolean holds the state:
+
+\newif\iflocation
+
+%D We also allocate a scratchbox:
+
+\newbox\locationbox
+
+%D There is no interaction at all unless enabled by saying:
+%D
+%D \starttypen
+%D \setupinteraction[state=start]
+%D \stoptypen
+%D
+%D The other settings are:
+%D
+%D \showsetup{\y!stelinteractiein}
+%D
+%D In the special driver modules we introduced a switch that
+%D forces page destinations (instead of named ones). We set
+%D this switch here.
+
+\def\stelinteractiein%
+ {\dosingleargument\dostelinteractiein}
+
+\def\dostelinteractiein[#1]%
+ {\getparameters[\??ia][#1]%
+ \dosetuppageview{\@@iascherm}%
+ \doifelse{\@@iastatus}{\v!start}
+ {\iflocation\else
+ \showmessage{\m!interactions}{2}{\ifusepagedestinations\space(PAGE)\fi}%
+ \global\locationtrue
+ \fi}
+ {\iflocation
+ \showmessage{\m!interactions}{3}{\ifusepagedestinations\space(PAGE)\fi}%
+ \global\locationfalse
+ \fi}%
+ \doifelse{\@@iastrut}{\v!ja}
+ {\locationstruttrue}
+ {\locationstrutfalse}%
+ \doifelse{\@@iapagina}{\v!ja}
+ {\global\usepagedestinationstrue}
+ {\global\usepagedestinationsfalse}}
+
+%D We have to make sure of some settings:
+
+\def\dolocationstartup%
+ {\iflocation
+ \dosetupinteraction
+ \handlereferenceactions\@@iaopenactie\dosetupopenaction
+ \handlereferenceactions\@@iasluitactie\dosetupcloseaction
+ \setupinteractionscreens
+ \global\let\dolocationstartup=\relax
+ \fi}
+
+\appendtoks \dolocationstartup \to \everyshipout
+
+%D The next few macros are really horrible. For proper
+%D navigation a in||line hypertext fragment must have
+%D comfortable properties, so we must force some minimal
+%D dimensions. On the other hand button, and here I mean those
+%D pieces of text with fancy outlines and/or backgrounds, often
+%D have fixed, preset dimensions.
+%D
+%D To make things even worse, if we choose to let the optimal
+%D dimensions depend on the height and depth of a strut, a not
+%D too uncommon practice in \TEX, we have to deal with the fact
+%D that such a strut, set inside a box, is unknown too the
+%D outside world.
+%D
+%D The solution lays in passing the strut characteristics in
+%D a proper way, in our case by applying \type{\presetgoto}:
+%D
+%D \starttypen
+%D {some piece of text \presetgoto}
+%D \stoptypen
+%D
+%D This macro stores the current strut values.
+
+\newif\iflocationstrut
+
+\def\resetgoto%
+ {\global\let\@@ia@@hoogte=\!!zeropoint
+ \global\let\@@ia@@diepte=\!!zeropoint}
+
+\resetgoto
+
+\def\presetgoto%
+ {\iflocationstrut
+ \setstrut
+ \xdef\@@ia@@hoogte{\the\ht\strutbox}%
+ \xdef\@@ia@@diepte{\the\dp\strutbox}%
+ \else
+ \global\let\@@ia@@hoogte=\@@iahoogte
+ \global\let\@@ia@@diepte=\@@iadiepte
+ \fi}
+
+%D In the macros that deal with making areas into hyperlinks,
+%D we use:
+
+\def\dostartgoto\data#1\start#2\stop#3\dostopgoto%
+ {\ifsecondaryreference
+ \bgroup\setbox0=\hbox{#2#3}\egroup
+ \else
+ \hbox
+ {\setbox0=\hbox{#1}%
+ \ifdim\wd0<\@@iabreedte\relax
+ \buttonwidth=\@@iabreedte\relax
+ \else
+ \buttonwidth=\wd0\relax
+ \fi
+ \ifdim\ht0<\@@ia@@hoogte\relax
+ \buttonheight=\@@ia@@hoogte\relax
+ \else
+ \buttonheight=\ht0
+ \fi
+ \ifdim\dp0<\@@ia@@diepte\relax
+ \dimen0=\@@ia@@diepte\relax
+ \else
+ \dimen0=\dp0\relax
+ \fi
+ \advance\buttonheight by \dimen0
+ \setbox2=\hbox
+ {\lower\dimen0\hbox
+ {\mindermeldingen
+ \dimen0=.5\wd0 % direct skipping is faster of course
+ \advance\dimen0 by -.5\buttonwidth % buts this is nicer
+ \hskip\dimen0#2#3}}% when visualizing things
+ \ifreversegoto
+ \dimen0=\wd0\box0\kern-\dimen0\smashbox2\box2\kern\dimen0
+ \else
+ \smashbox2\box2\box0
+ \fi
+ \resetgoto}%
+ \fi}
+
+%D The secondary references are processed but not typeset. The
+%D special driver must collect the data needed.
+
+%D The width of the active area depends on the dimensions
+%D preset, the actual dimens and/or the height and depth of the
+%D strut.
+%D
+%D Normally the hyper active area is laid on top of the text.
+%D This enables stacking hyperlinks on top of each other. When,
+%D for some reason the opposite is prefered, one can use the
+%D next boolean to signal this wish.
+
+\newif\ifreversegoto \reversegotofalse
+
+%D As long as there a natural feeling of what can be considered
+%D hyper active or not, we have to tell users where they can
+%D possibly click. We've already seen a few macros that deal
+%D with this visualization, something we definitely do not let
+%D up to the viewer. One way of telling is using a distinctive
+%D typeface, another way is using color.
+%D
+%D There are two colors involved: one for normal hyperlinks,
+%D and one for those that point to the currentpage, the
+%D contrast color.
+
+\definecolor [interactioncolor] [r=0, g=.6, b=0]
+\definecolor [interactioncontrastcolor] [r=.8, g=0, b=0]
+
+\definecolor [interactiekleur] [interactioncolor]
+\definecolor [interactiecontrastkleur] [interactioncontrastcolor]
+
+%D The next few macros are responsible for highlighting hyper
+%D links. The first one, \type{\showlocation}, is used in those
+%D situations where the typeface is handled by the calling
+%D macro.
+
+\def\interactioncolor%
+ {\iflocation
+ \ifrealreferencepage
+ \@@iacontrastkleur
+ \else
+ \@@iakleur
+ \fi
+ \fi}
+
+%D CHECK WHERE USED / CONSISTENCY
+
+\def\showlocation#1%
+ {\iflocation\color[\@@iakleur]{#1\presetgoto}\else#1\fi}
+
+%D When local color settings are to be used, we can use the
+%D next macro, where \type{#1} is a tag like \type{\??tg} and
+%D \type{#2} some text.
+
+\def\showcoloredlocation#1#2%
+ {\iflocation
+ \color[\getvalue{#1\c!kleur}]{#2\presetgoto}%
+ \else
+ #2%
+ \fi}
+
+%D When we're dealing with pure page references, contrast
+%D colors are used when we are already at the page mentioned.
+
+\def\showcontrastlocation#1#2#3% the \@EA is needed
+ {\iflocation
+ \ifnum#2=\realpageno\relax
+ \doifelsevaluenothing{#1\c!kleur}
+ {#3\presetgoto}
+ {\color[\getvalue{#1\c!contrastkleur}]{#3\presetgoto}}%
+ \else
+ \color[\getvalue{#1\c!kleur}]{#3\presetgoto}%
+ \fi
+ \else
+ #3%
+ \fi}
+
+%D The next simple macro can be used in color specifications,
+%D like \type{\color[\locationcolor{green}]}.
+
+\def\locationcolor#1%
+ {\iflocation#1\fi}
+
+%D More tokens are spend when we want both typeface and color
+%D highlighting.
+
+\def\dolocationattributes#1#2#3#4%
+ {\bgroup
+ \doifdefinedelse{#1#2}
+ {\def\fontattribute{\getvalue{#1#2}}}
+ {\let\fontattribute\empty}%
+ \iflocation
+ \doifdefinedelse{#1#3}
+ {\def\colorattribute{\getvalue{#1#3}}}
+ {\let\colorattribute\empty}%
+ \else
+ \let\colorattribute\empty
+ \fi
+ \startcolor[\colorattribute]%
+ \@EA\doconvertfont\@EA{\fontattribute}{#4}% no \edef, but \@EA here
+ \stopcolor
+ \egroup}
+
+%D Although not decently supported in current viewers, a
+%D provisory hiding mechanims is implemented. Areas marked as
+%D such, are visible on screen, but invisible on paper. Don't
+%D trust this mechanism yet!
+
+\def\dostartinteractie%
+ {\bgroup
+ \let\stopinteractie=\egroup
+ \dowithnextbox{\dostarthide\box\nextbox\dostophide\egroup}\hbox}
+
+\let\startinteractie = \relax
+\let\stopinteractie = \relax
+
+% in the future:
+%
+% eerst boolean invoeren bij menu, achtergrond, balk, button
+% enz; verder startinteractie een argument meegeven {#1} ->
+% \getvalue{#1\c!print}=={\v!ja} enz. Consequent menubutton
+% gebruiken!
+
+\def\@@iatimestamp%
+ {\the\normalyear
+ \ifnum\normalmonth<10 0\fi\the\normalmonth
+ \ifnum\normalday <10 0\fi\the\normalday}
+
+% happens in core-fld
+%
+% \definereference [AtOpenInitializeForm] [\v!geen]
+
+\stelinteractiein % start fit page and reset form
+ [\c!status=\v!stop,
+ \c!pagina=\v!nee,
+ %\c!openactie={\v!eerstepagina,AtOpenInitializeForm},
+ \c!openactie={\v!eerstepagina,\v!ResetForm},
+ \c!sluitactie=,
+ \c!scherm=\v!passend,
+ \c!menu=\v!uit,
+ \c!letter=\v!vet,
+ \c!strut=\v!ja,
+ \c!kleur=interactioncolor,
+ \c!contrastkleur=interactioncontrastcolor,
+ \c!symboolset=,
+ \c!breedte=1em,
+ \c!hoogte=\!!zeropoint,
+ \c!diepte=\!!zeropoint,
+ \c!titel=,
+ \c!subtitel=,
+ \c!auteur=,
+ \c!datum=\@@iatimestamp]
+
+\protect
+
+\endinput