summaryrefslogtreecommitdiff
path: root/tex/context/base/core-02a.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/core-02a.tex')
-rw-r--r--tex/context/base/core-02a.tex382
1 files changed, 191 insertions, 191 deletions
diff --git a/tex/context/base/core-02a.tex b/tex/context/base/core-02a.tex
index 5340e96a1..a79681138 100644
--- a/tex/context/base/core-02a.tex
+++ b/tex/context/base/core-02a.tex
@@ -1,191 +1,191 @@
-%D \module
-%D [ file=core-02a,
-%D version=1997.03.31,
-%D title=\CONTEXT\ Core Macros,
-%D subtitle=2A (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 Extra Macros (a)}
-
-\unprotect
-
-\startmessages dutch library: addresses
- title: adressen
- 1: --
- 2: hoofdbestand --
- 3: nevenbestand --
-\stopmessages
-
-\startmessages english library: addresses
- title: addresses
- 1: --
- 2: primary base --
- 3: secondary base --
-\stopmessages
-
-\startmessages german library: addresses
- title: Adressen
- 1: --
- 2: Haupbestand --
- 3: Nebenbestand --
-\stopmessages
-
-%I n=Kontakten
-%I c=\laadkontakten
-%I
-%I De onderstaande commando's werken samen met het programma
-%I TeXAdres.
-%I
-%I \laadkontakten[naam,groep,...]
-%I
-%I Dit commando doorzoekt eerst de file 'texadres.tao' en
-%I vervolgens de file 'texadres.tae' op naam en groep. Bij
-%I elk gevonden adres (naam of groepslid) wordt het commando
-%I \doemetkontakt{logisch} aangeroepen.
-%I
-%I De waarden van de verschillende velden zijn op te roepen met
-%I het commando \kontaktwaarde{veldnaam}. Let op: het in
-%I bijvoorbeeld een adres opgenomen commando \\ moet men zelf
-%I definieren, bijvoorbeeld: \def\\{\endgraf}.
-%P
-%I TeXAdres zet alle files op een gebied met de extensie 'tai'
-%I om in een file met de extensie 'tao' of 'tae'. Een invoerfile
-%I is als volgt opgebouwd:
-%I
-%I Een adres in de uitvoerfile ziet er als volgt uit:
-%I
-%I \beginvankontakt{...}
-%I \lidvangroep{...,...,...}
-%I \naam{...}
-%I \letters{...}
-%I \...{...}
-%I \postadres{...}
-%I \eindvankontakt{...}
-%P
-%I De invoerfile bevat zowel definities van kontakten als van
-%I groepen.
-%I
-%I Een kontakt wordt als volgt gedefinieerd:
-%I
-%I < kontakt >
-%I
-%I [ logisch ] hagenj
-%I [ naam ] Hagen
-%I [ letters ] J.
-%I [ voornaam ] Hans
-%I [ titel ] heer
-%I [ telefoon ] 053 - 336934
-%I [ telefax ]
-%I [ postadres ] J. Hagen \\ Ridderstraat 27--29 \\ 8061 GH Hasselt
-%I [ info ] ach ja
-%P
-%I Een groep wordt als volgt gedefinieerd:
-%I
-%I < groep >
-%I
-%I [ logisch ] werkgroep
-%I [ naam ]
-%I [ lid ] ottenaf
-%I [ lid ] hagenj
-%I [ lid ] jonkerj
-%I [ lid ] marlecvan
-
-% In eerste instantie leek het werken met % voor te skippen
-% regels mij een aardige oplossing. Echter, het opslurpen van
-% een heel blok tot \eindvankontakt gaat net zo snel.
-%
-% Hoewel het mechanisme inmiddels uitstekend is te combineren
-% met het tekstblok-mechanisme, wordt vooralsnog deze snelle
-% variant gebruikt.
-%
-% Om conflicten te voorkomen met reeds gedefinieerde commando's,
-% zoals \naam, wordt enkele malen \bgroup..\egroup gebruikt.
-
-\newevery \everykontakt \EveryKontakt
-
-\def\stelkontaktenin[#1]%
- {\getparameters[\??kt][#1]}%
-
-\def\presetkontaktwaarde#1%
- {\setgvalue{\??kw#1}{}%
- \setvalue{#1}##1%
- {\setgvalue{\??kw#1}{##1}}}
-
-\def\resetkontaktwaarde#1%
- {\setgvalue{\??kw#1}{}%
- \setvalue{#1}##1%
- {\skipkontakt}}
-
-\def\kontaktwaarde#1%
- {\getvalue{\??kw#1}}
-
-\def\presetkontakt%
- {\rawprocesscommalist%
- [naam,letters,voornaam,titel,telefoon,telefax,postadres,info]%
- \presetkontaktwaarde}
-
-\def\resetkontakt%
- {\rawprocesscommalist%
- [naam,letters,voornaam,titel,telefoon,telefax,postadres,info]%
- \resetkontaktwaarde}
-
-\def\skipkontakt%
- {\long\def\next##1\eindvankontakt%
- {\def\next####1{\egroup}\next}%
- \next}
-
-\newif\ifkontaktok
-
-\let\doemetkontakt=\gobbleoneargument
-
-\def\laadkontakten[#1]%
- {\makerawcommalist[#1]\gevraagdekontakten
- \resetkontakt
- \doifelsenothing{\gevraagdekontakten}
- {\def\gevraagdekontakten{\v!alles}%
- \kontaktoktrue}
- {\kontaktokfalse}%
- \def\checkkontakt##1%
- {\rawdoifinsetelse{##1}{\gevraagdekontakten}{\kontaktoktrue}{}}%
- \def\lidvangroep##1%
- {\doifsomething{##1}
- {\rawprocesscommalist[##1]\checkkontakt}%
- \ifkontaktok
- \let\next=\presetkontakt
- \else
- \let\next=\skipkontakt
- \fi
- \next}%
- \def\beginvankontakt##1%
- {\bgroup
- \ifkontaktok
- \def\lidvangroep####1{}%
- \let\next=\presetkontakt
- \else
- \checkkontakt{##1}%
- \ifkontaktok
- \def\lidvangroep####1{}%
- \let\next=\presetkontakt
- \else
- \let\next=\relax
- \fi
- \fi
- \next}%
- \def\eindvankontakt##1%
- {\relax
- \egroup
- \the\everykontakt
- \doemetkontakt{##1}}%
- \showmessage{\m!addresses}{1}{\gevraagdekontakten}%
- \readsysfile{texadres.tao}{\showmessage{\m!addresses}{2}{(tao)}}{\relax}%
- \readjobfile{texadres.tae}{\showmessage{\m!addresses}{3}{(tae)}}{\relax}}
-
-\protect
-
-\endinput
+%D \module
+%D [ file=core-02a,
+%D version=1997.03.31,
+%D title=\CONTEXT\ Core Macros,
+%D subtitle=2A (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 Extra Macros (a)}
+
+\unprotect
+
+\startmessages dutch library: addresses
+ title: adressen
+ 1: --
+ 2: hoofdbestand --
+ 3: nevenbestand --
+\stopmessages
+
+\startmessages english library: addresses
+ title: addresses
+ 1: --
+ 2: primary base --
+ 3: secondary base --
+\stopmessages
+
+\startmessages german library: addresses
+ title: Adressen
+ 1: --
+ 2: Haupbestand --
+ 3: Nebenbestand --
+\stopmessages
+
+%I n=Kontakten
+%I c=\laadkontakten
+%I
+%I De onderstaande commando's werken samen met het programma
+%I TeXAdres.
+%I
+%I \laadkontakten[naam,groep,...]
+%I
+%I Dit commando doorzoekt eerst de file 'texadres.tao' en
+%I vervolgens de file 'texadres.tae' op naam en groep. Bij
+%I elk gevonden adres (naam of groepslid) wordt het commando
+%I \doemetkontakt{logisch} aangeroepen.
+%I
+%I De waarden van de verschillende velden zijn op te roepen met
+%I het commando \kontaktwaarde{veldnaam}. Let op: het in
+%I bijvoorbeeld een adres opgenomen commando \\ moet men zelf
+%I definieren, bijvoorbeeld: \def\\{\endgraf}.
+%P
+%I TeXAdres zet alle files op een gebied met de extensie 'tai'
+%I om in een file met de extensie 'tao' of 'tae'. Een invoerfile
+%I is als volgt opgebouwd:
+%I
+%I Een adres in de uitvoerfile ziet er als volgt uit:
+%I
+%I \beginvankontakt{...}
+%I \lidvangroep{...,...,...}
+%I \naam{...}
+%I \letters{...}
+%I \...{...}
+%I \postadres{...}
+%I \eindvankontakt{...}
+%P
+%I De invoerfile bevat zowel definities van kontakten als van
+%I groepen.
+%I
+%I Een kontakt wordt als volgt gedefinieerd:
+%I
+%I < kontakt >
+%I
+%I [ logisch ] hagenj
+%I [ naam ] Hagen
+%I [ letters ] J.
+%I [ voornaam ] Hans
+%I [ titel ] heer
+%I [ telefoon ] 053 - 336934
+%I [ telefax ]
+%I [ postadres ] J. Hagen \\ Ridderstraat 27--29 \\ 8061 GH Hasselt
+%I [ info ] ach ja
+%P
+%I Een groep wordt als volgt gedefinieerd:
+%I
+%I < groep >
+%I
+%I [ logisch ] werkgroep
+%I [ naam ]
+%I [ lid ] ottenaf
+%I [ lid ] hagenj
+%I [ lid ] jonkerj
+%I [ lid ] marlecvan
+
+% In eerste instantie leek het werken met % voor te skippen
+% regels mij een aardige oplossing. Echter, het opslurpen van
+% een heel blok tot \eindvankontakt gaat net zo snel.
+%
+% Hoewel het mechanisme inmiddels uitstekend is te combineren
+% met het tekstblok-mechanisme, wordt vooralsnog deze snelle
+% variant gebruikt.
+%
+% Om conflicten te voorkomen met reeds gedefinieerde commando's,
+% zoals \naam, wordt enkele malen \bgroup..\egroup gebruikt.
+
+\newevery \everykontakt \EveryKontakt
+
+\def\stelkontaktenin[#1]%
+ {\getparameters[\??kt][#1]}%
+
+\def\presetkontaktwaarde#1%
+ {\setgvalue{\??kw#1}{}%
+ \setvalue{#1}##1%
+ {\setgvalue{\??kw#1}{##1}}}
+
+\def\resetkontaktwaarde#1%
+ {\setgvalue{\??kw#1}{}%
+ \setvalue{#1}##1%
+ {\skipkontakt}}
+
+\def\kontaktwaarde#1%
+ {\getvalue{\??kw#1}}
+
+\def\presetkontakt%
+ {\rawprocesscommalist%
+ [naam,letters,voornaam,titel,telefoon,telefax,postadres,info]%
+ \presetkontaktwaarde}
+
+\def\resetkontakt%
+ {\rawprocesscommalist%
+ [naam,letters,voornaam,titel,telefoon,telefax,postadres,info]%
+ \resetkontaktwaarde}
+
+\def\skipkontakt%
+ {\long\def\next##1\eindvankontakt%
+ {\def\next####1{\egroup}\next}%
+ \next}
+
+\newif\ifkontaktok
+
+\let\doemetkontakt=\gobbleoneargument
+
+\def\laadkontakten[#1]%
+ {\makerawcommalist[#1]\gevraagdekontakten
+ \resetkontakt
+ \doifelsenothing{\gevraagdekontakten}
+ {\def\gevraagdekontakten{\v!alles}%
+ \kontaktoktrue}
+ {\kontaktokfalse}%
+ \def\checkkontakt##1%
+ {\rawdoifinsetelse{##1}{\gevraagdekontakten}{\kontaktoktrue}{}}%
+ \def\lidvangroep##1%
+ {\doifsomething{##1}
+ {\rawprocesscommalist[##1]\checkkontakt}%
+ \ifkontaktok
+ \let\next=\presetkontakt
+ \else
+ \let\next=\skipkontakt
+ \fi
+ \next}%
+ \def\beginvankontakt##1%
+ {\bgroup
+ \ifkontaktok
+ \def\lidvangroep####1{}%
+ \let\next=\presetkontakt
+ \else
+ \checkkontakt{##1}%
+ \ifkontaktok
+ \def\lidvangroep####1{}%
+ \let\next=\presetkontakt
+ \else
+ \let\next=\relax
+ \fi
+ \fi
+ \next}%
+ \def\eindvankontakt##1%
+ {\relax
+ \egroup
+ \the\everykontakt
+ \doemetkontakt{##1}}%
+ \showmessage{\m!addresses}{1}{\gevraagdekontakten}%
+ \readsysfile{texadres.tao}{\showmessage{\m!addresses}{2}{(tao)}}{\relax}%
+ \readjobfile{texadres.tae}{\showmessage{\m!addresses}{3}{(tae)}}{\relax}}
+
+\protect
+
+\endinput