\startonderdeel co-nl-24

\projekt manual
\produkt context

% old new fil usr sys opt enz

\hoofdstuk{Technische gegevens}

\paragraaf{Geschiedenis}

In 1989 is binnen \PRAGMA\ op kleine schaal begonnen
documenten op te maken met \TEX. In eerste instantie is
daarbij gebruik gemaakt van het macropakket \LATEX. Een van
de problemen waarmee we werden geconfronteerd was het nogal
amerikaanse karakter van \LATEX, wat tot uiting kwam in
zowel de door het systeem gegenereerde labels als in de
layout. Bovendien was \LATEX\ moeilijk aan te passen aan de
specifieke wensen van gebruikers.

De eerste aanzet tot een eigen systeem lag dan ook in een
schil rond \LATEX. Een kortstondig overschakelen op
\LAMSTEX\ leerde ons welke elementen in ieder geval tot de
standaardonderdelen van een (flexibel) macropakket behoren.
Het macropakket \INRSTEX\ bleek vervolgens beter geschikt
voor een eigen schil, zodat ongeveer een half jaar gebruik
gemaakt is van dit systeem; we zijn dan inmiddels aangeland in
1991.

De toenemende wensen van gebruikers en het vaak op wiskundig
zetwerk gerichte karakter van de verschillende
macropakketten, hebben ons doen besluiten zelf een volledig
pakket te ontwikkelen. Gebruikersvriendelijkheid (voor zover
mogelijk), flexibiliteit (een parametergestuurd karakter) en
eenvoud (geen overvloed aan style- en hulpfiles) zijn daarbij
uitgangspunt geweest.

Hoe ontstaat nu zo'n systeem? In onze documenten waren
opsommingen en structurerende elementen vrijwel altijd
dominant aanwezig. Dit zijn dan ook de eerst
ge\"implementeerde onderdelen, samen met de structurerende
elementen, zoals hoofdstukken en paragrafen. Dit mechanisme
is in de loop der tijd uitgebreid met opties ten behoeve van
interactieve teksten (handboeken). Zo bleken vijf niveaus
onvoldoende. Het lijstmechanisme volgde deze ontwikkeling. 

Veel tijd is gaan zitten in het plaatsen van figuren en het
opmaken van kolommen. Beide mechanismen gaan inmiddels hun
derde leven in, zij het dat de combinatie van beide nog te
wensen overlaat.

Definities en doornummeringen dateren, los van
uitbreidingen, uit de begintijd. Dergelijke commando's zijn
namelijk onmisbaar bij het vorm en inhoud geven van
studieteksten. Hetzelfde geldt voor synoniemen en registers,
hoewel in eerste instantie slechts ‚‚n register mogelijk was
en alleen afkortingen waren ge‹mplementeerd. Pas later is
een mechanisme ontwikkeld waarbij een index en afkortingen
een voorbeeld zijn van een register en synoniemen.

Ook het verplaatsen van blokken dateert uit de begintijd van
\CONTEXT. Bij gebrek aan diepgaande \TEX||kennis maakte de
eerste implementatie gebruik van \TEXUTIL\ om de blokken uit
de verschillende teksten (onderdelen, produkten enz.) te
filteren. De huidige implementatie is eenvoudiger, kan meer
en de gebruiker merkt geen verschil.

Zolang er maar ‚‚n korps wordt gebruikt, voldoet een
eenvoudig font||mechanisme. Het huidige mechanisme is vrij
gecompliceerd, maar doet dan ook veel. De complexiteit
schuilt deels in de noodzaak snel en zonder ongewenste
neveneffecten te kunnen wisselen van korps. Dit mechanisme
is nog niet helemaal af. Met name de specifieke per
letterfamilie sterk verschillende wijze van defini\"eren van
bijzondere (wiskundige) karakters verdient nog aandacht.

Kleur is pas laat aan \CONTEXT\ toegevoegd, eenvoudig omdat
er geen behoefte aan bestond. Pas met de komst van
interactieve teksten bleek kleur handig te zijn. Het is niet
eenvoudig om kleur in \TEX\ te implementeren, omdat \TEX\
daar geen middelen voor heeft en dientengevolge groeperen
niet mogelijk is. Dergelijke opties worden dan ook doorgaans
gerealiseerd met behulp van \type{\special}. De huidige
implementatie voldoet en werkt onafhankelijk van
\DVI||processors.

Margeteksten bleken nogal eens in de verkeerde marge te
belanden. Daarom is gekozen voor een implementatie die
gebruik maakt van een extra verwerkingsslag. Toen dit goed
bleek te werken, zijn ook andere optimalisaties gerealiseerd
met behulp van extra verwerkingsslagen.

De layout is eveneens sterk be‹nvloed door interactieve
teksten. Er zijn randen en boven- en onderregels bijgekomen,
mogelijkheden voor menus en achtergronden enz. Op dit moment
worden een enkelzijdige, dubbelzijdige en gecombineerde
layout ondersteund.

Verwijzingen horen vanzelfsprekend bij een macropakket en
dus ook bij \CONTEXT. Dit mechanisme is reeds op de schop
gegaan bij het ondersteunen van interactieve teksten en zal
nog wel eens op de schop gaan.

Pas vrij laat zijn verfijningen aangebracht in de interlinie
en spati\"ering. De standaard \TEX||macro's en instellingen
bleken meestal prima te voldoen. Met name het
kolommen||mechanisme noodzaakte echter ook hier tot een
eigen, zij het eenvoudige, implementatie.

Vrijwel alle uitbreidingen en veranderingen bleken te kunnen
plaatsvinden binnen de geparameteriseerde aanpak. Zo kwamen
er instellingen en argumenten bij, werden argumenten
optioneel, kregen commando's verschillende gedaantes enz.,
zonder dat de gebruiker daar iets van merkte. Wel moeten we
de kanttekening plaatsen dat \CONTEXT, juist door zijn
flexibiliteit, inmiddels wat ingewikkelder is geworden dan
de bedoeling was.

De ontwikkelingen op het gebied van tekstproduktie en
-gebruik worden nauwlettend in de gaten gehouden en vinden
hun weerslag in nieuwe functionaliteit. Denk daarbij aan het
verwerken van \SGML\ en \XML\ invoer en het produceren van
zeer geavanceerde \PDF\ documenten, met alles er op en
eraan, zoals invulvelden en \JAVASCRIPT's. Op de \PRAGMA\
website zijn verschillende voorbeelden te vinden.

\paragraaf{Verantwoording}
\index{verantwoording}

Binnen de \TEX||gemeenschap is het gebruikelijk dat de
ervaringen van individuele gebruikers worden gedeeld. Dit
krijgt onder meer gestalte in de (overwegend) professionele
gebruikersclubs en het publiek maken van vindingen.

Binnen \CONTEXT\ wordt dan ook gebruik gemaakt van een
aangepaste versie van het \type {\mark}||mechanisme van
J.~Fox. Daarnaast zijn in routines voor het plaatsen van
figuren nog sporen terug te vinden van het
side||float||mechanisme van D.~Comenetz. Eind jaren '90,
toen \CONTEXT\ publiek ging, is de \CONTEXT\ Task Force
geformeerd, bestaande uit de auteurs, Tobias Burnus, Gilbert
van den Dobbelsteen en Taco Hoekwater. Deze groep
funtioneert als vraagbaak en testgroep en speelt een rol bij
de verdere ontwikkeling van \CONTEXT. Natuurlijk vervullen
ook enkele gebruikers van het eerste uur zo hun rol, zoals
Berend de Boer, de eerste \CONTEXT\ gebruiker buiten
\PRAGMA !

\paragraaf{Systeemvariabelen}
\index{systeemvariabelen}

Er staan de gebruiker een aantal systeemvariabelen ter
beschikking. Het gebruik hiervan veronderstelt een zekere
kennis van \TEX\ en \CONTEXT. Tussen haakjes staat steeds de
interne representatie van een variabele vermeld.

\starttabulatie[|l|p|l|]
\HL
\NC\tex{korpsgrootte}        \NC actuele korpsgrootte        \NC\tex{dimen}\NR
\NC\tex{korpspunten}         \NC actuele korpsgrootte        \NC\tex{count}\NR
\HL
\NC\tex{subpaginanummer}     \NC actuele subpaginanummer          \NC macro\NR
\NC\tex{aantalsubpaginas}    \NC aantal subpaginas in sectie      \NC macro\NR
\NC\tex{paginanummer}        \NC actuele paginanummer             \NC macro\NR
\NC\tex{totaalaantalpaginas} \NC totaal aantal pagina's           \NC macro\NR
\HL
\NC\tex{papierhoogte}  \NC hoogte van het papier             \NC\tex{dimen}\NR
\NC\tex{papierbreedte} \NC breedte van het papier            \NC\tex{dimen}\NR
\NC\tex{kopwit}        \NC ruimte boven zetspiegel           \NC\tex{dimen}\NR
\NC\tex{rugwit}        \NC ruimte links van zetspiegel       \NC\tex{dimen}\NR
\NC\tex{zethoogte}     \NC hoogte zetspiegel                 \NC\tex{dimen}\NR
\NC\tex{zetbreedte}    \NC breedte zetspiegel                \NC\tex{dimen}\NR
\NC\tex{teksthoogte}   \NC berekende teksthoogte             \NC\tex{dimen}\NR
\NC\tex{tekstbreedte}  \NC berekende tekstbreedte            \NC\tex{dimen}\NR
\NC\tex{bovenafstand}  \NC afstand tussen bovenrand en hoofd      \NC macro\NR
\NC\tex{hoofdhoogte}   \NC hoogte hoofd                      \NC\tex{dimen}\NR
\NC\tex{hoofdafstand}  \NC afstand tussen hoofd en tekst          \NC macro\NR
\NC\tex{bovenhoogte}   \NC hoogte bovenrand                  \NC\tex{dimen}\NR
\NC\tex{voetafstand}   \NC afstand tussen tekst en voet           \NC macro\NR
\NC\tex{voethoogte}    \NC hoogte voet                       \NC\tex{dimen}\NR
\NC\tex{onderafstand}  \NC afstand tussen voet en onderrand       \NC macro\NR
\NC\tex{onderhoogte}         \NC hoogte onderrand            \NC\tex{dimen}\NR
\NC\tex{linkerrandbreedte}   \NC breedte linkerrand          \NC\tex{dimen}\NR
\NC\tex{linkermargebreedte}  \NC breedte linkermarge         \NC\tex{dimen}\NR
\NC\tex{rechtermargebreedte} \NC breedte rechtermarge        \NC\tex{dimen}\NR
\NC\tex{rechterrandbreedte}  \NC breedte rechterrand         \NC\tex{dimen}\NR
\HL
\NC\tex{recurselevel}  \NC de teller binnen \tex{dorecurse}       \NC macro\NR
\NC\tex{recurselevel}  \NC het niveau van nesting \tex{dorecurse} \NC macro\NR
\HL
\NC\tex{EveryPar}            \NC (vaak) voor iedere paragraaf \NC\tex{toks}\NR
\NC\tex{EveryLine}           \NC (soms) voor iedere regel     \NC\tex{toks}\NR
\HL
\NC\tex{iflijstgeplaatst}    \NC status opgeroepen lijst        \NC\tex{if}\NR
\NC\tex{ifregistergeplaatst} \NC status opgeroepen register     \NC\tex{if}\NR
\HL
\NC\tex{ifinleidingen}       \NC status sectieblok inleidingen  \NC\tex{if}\NR
\NC\tex{ifhoofdteksten}      \NC status sectieblok hoofdteksten \NC\tex{if}\NR
\NC\tex{ifbijlagen}          \NC status sectieblok bijlagen     \NC\tex{if}\NR
\NC\tex{ifuitleidingen}      \NC status sectieblok uitleidingen \NC\tex{if}\NR
\HL
\stoptabulatie

\paragraaf{Systeemfactoren}
\index{factoren}

Voor de volledigheid vermelden we hier een aantal factoren
die een rol spelen bij de horizontale en verticale
spati\"ering.

\starttabulatie[|l|l|c|]
\HL
\NC \tex{strutheightfactor}      \NC hoogte van een \tex{strut}     \NC .72\NR
\NC \tex{strutdepthfactor}       \NC diepte van een \tex{strut}     \NC .28\NR
\HL
\NC \tex{baselinefactor}         \NC regelafstand                   \NC 2.8\NR
\NC \tex{baselinegluefactor}     \NC rek in de regelafstand         \NC 0  \NR
\HL
\NC \tex{skipfactor}             \NC witruimte                      \NC .75\NR
\NC \tex{skipgluefactor}         \NC rek in de witruimte            \NC .25\NR
\HL
\NC \tex{topskipfactor}          \NC \tex{topskip}                  \NC 1.0\NR
\NC \tex{maxdepthfactor}         \NC \tex{maxdepth}                 \NC 0.4\NR
\HL
\NC \tex{displayskipfactor}      \NC \tex{..displayskip}            \NC 1.0\NR
\NC \tex{displaygluefactor}      \NC rek in \tex{..displayskip}     \NC 0.3\NR
\NC \tex{displayshortskipfactor} \NC \tex{..ditsplayshortskip}      \NC 0.8\NR
\NC \tex{displayshortgluefactor} \NC rek in \tex{..displayshortskip}\NC 0.2\NR
\HL
\stoptabulatie

Men kan deze factoren aanpassen, maar dient daarna wel het
volgende commando aan te roepen:

\startvoorbeeld
\starttypen
\stelfactorenin
\stoptypen
\stopvoorbeeld

\paragraaf{Every...}

\TEX\ kent een aantal Every||registers, bijvoorbeeld
\type{\everypar}. Dit register, dat voor iedere paragraaf
wordt uitgevoerd, wordt door \CONTEXT\ gebruikt bij het
plaatsen van figuren. Eigen toekenningen aan dit register
worden dan ook afgeraden. Voor de liefhebbers is er echter
\type{\EveryPar}.

We geven hier een voorbeeld van het gebruik van dit register.
We gebruiken bovendien het register \type{\EveryLine}. (Dit
is een voorbeeld voor ingewijden.)

\startvoorbeeld
\starttypen
\newcount\NOfLines

\EveryPar%
  {\global\NOfLines=0 }

\EveryLine%
  {\global\advance\NOfLines by 1
   \hbox to 3em{\hss\the\NOfLines\hskip1em}}

\startbuffer
test test test test
     test test test test
test test test test
\stopbuffer

\typebuffer
\stoptypen
\stopvoorbeeld

Het commando \type{\typebuffer} plaatst in dit geval netjes
de tekst uit de buffer en nummert daarbij de regels.

\paragraaf{Gebruikersinstellingen}
\index{gebruikersinstellingen}

Tijdens het opstarten laadt \CONTEXT\ de file \type
{cont-sys.tex}. Het gebied waar deze file staat moet
natuurlijk wel voor \TEX\ te vinden zijn. Deze file maakt
geen deel uit van de distributie van \CONTEXT, zodat geen
gevaar bestaat voor overschrijven bij een nieuwe versie.

Enkele voorbeelden van instellingen zijn:

\starttypen
\setupoutput[dviwindo] % de YandY special drivers laden

\runMPgraphicstrue     % MetaPost aanroepen vanuit TeX
\stoptypen

Gebruikers kunnen de file \type {cont-sys.tex} gebruiken voor
eigen instellingen. Op deze manier kan bijvoorbeeld een
basishuisstijl worden opgezet. Aangeraden wordt de file niet
te groot en dus onoverzichtelijk te maken, maar waar
mogelijk gebruik te maken van extra files en die in
\type {cont-sys.tex} op te halen met \type {\input}.

\paragraaf{Verwerkingsslagen}
\index[texutil]{\TEXUTIL}
\index{verwerkingsslagen}

Tijdens een verwerkingsslag schrijft \CONTEXT\ een aantal
gegevens weg naar de file \type{jobname.tui}. Deze gegevens
worden in de volgende slag gebruikt. Een deel van deze
gegevens wordt daartoe door \TEXUTIL\ verwerkt. Zo worden
registers, synoniem- en sorteerlijsten gesorteerd en
weggeschreven in de file \type{jobname.tuo}. De gegevens in
deze file worden er door \CONTEXT\ naar behoefte
uitgefilterd.

Als een tekst wordt gewijzigd, verandert ook de inhoud van
de hulpfiles, zodat we als het ware steeds een slag
achterlopen. In de praktijk levert dit geen problemen, als
men maar bij de definitieve versie van een document een
extra slag toepast. Het feit dat meerdere slagen nodig zijn,
lijkt een tekortkoming. Het goed zetten van een tekst kan
echter nooit in ‚‚n slag, alleen al omdat we aan het begin
niet weten wat ons aan het eind van een tekst te wachten
staat.

Hieronder behandelen we kort het gebruik van de hulpfile. We
verschaffen daarbij enig inzicht in de noodzakelijke slagen.

\startopsomming

\kop  sectielijsten

      Sectielijsten (inhoudsopgaven) noodzaken tenminste een
      verwerkingsslag. Als een lijst in lengte zo is
      toegenomen dat er meer bladzijden nodig zijn, dan is
      wederom een extra slag nodig omdat de nummers van de
      bladzijden opschuiven.

\kop  synoniemlijsten

      zie: sectielijsten

\kop  sorteerlijsten

      zie: sectielijsten

\kop  verwijzingen

      Een extra referentie noodzaakt pas tot een extra
      verwerkingsslag wanneer er daadwerkelijk gebruik van
      wordt gemaakt. Een enkele verwijzing kan grote
      gevolgen hebben: een cijfer meer levert mogelijk een
      langere zin, een langere alinea, een vollere
      bladzijde, een verschoven structuur enz. Gelukkig valt
      het in de praktijk erg mee.

\kop  opsommingen

      Het aantal items van een opsomming wordt
      geregistreerd. Dit om ongunstige paginaovergangen te
      voorkomen. Het tussenvoegen van een opsomming kan dan
      ook grote gevolgen hebben voor de eerstvolgende slag.
      Na de volgende slag loopt echter alles weer synchroon,
      maar lijsten hoeven dan nog niet te kloppen.

\kop  margeblokken

      Als we margeteksten in de buitenste marges plaatsen
      (met \type{\inmarge}), wordt bijgehouden waar zo'n tekst
      moet staan: links of rechts. Bij een volgende slag
      wordt de definitieve plaats vastgesteld. Deze extra
      slag is nodig, omdat \TEX\ altijd wat vooruit kijkt
      bij het opmaken van een pagina. Het woord wordt in een
      marge geplaatst, terwijl pas later wordt vastgesteld
      waar precies de pagina wordt afgesplitst. Als dit
      boven het margewoord gebeurt, dan staat het woord in
      de verkeerde marge. Ook hier kunnen door het
      tussenvoegen van een margewoord tijdelijk de volgende
      margewoorden verschoven worden.

\kop  plaatsblokken

      Wanneer we de plaats van een plaatsblok afdwingen met
      \type{altijd}, dan is hernummeren nodig. Een extra
      slag voldoet. Het proces van hernummeren is aan de
      hand van meldingen te volgen. Hernummeren kan gevolgen
      hebben voor lijsten en verwijzingen.

\kop  (sub)paginanummers

      Het aantal subpaginanummers in een sectie speelt een rol
      bij interactieve teksten, evenals het totaal aantal
      pagina's. Een extra verwerkingsslag is dan ook alleen
      nodig bij interactieve teksten.

\kop  tekstblokken

      Verplaatste delen van een tekst worden opgeslagen in
      een file met de naam \type{jobname.tub}. Wanneer het
      commando \type{\geenblokkenmeer} wordt gebruikt, is
      ‚‚n slag voldoende; in andere gevallen is een extra
      slag nodig. Ook hier kunnen kettingreacties optreden,
      bijvoorbeeld andere verwijzingen, grotere lijsten en
      verschoven opsommingen.

\kop  externe figuren

      Als men \TIF\ of andere bitmap plaatjes wil opnemen in
      de file, dan zal men, tenzij \PDFTEX\ wordt gebruikt
      om een \PDF\ file te genereren, een actuele \type
      {texutil.tuf} file beschikbaar moeten hebben. Als zo'n
      plaatje wijzigt, dient men dus met \TEXUTIL\ een
      nieuwe versie van deze file te genereren. Voor \EPS\
      plaatjes is dit niet nodig.

\kop  kolommen

      De melding met betrekking tot het aantal slagen waarin
      kolommen worden gebalanceerd, staat los van de
      hulpfile. Hier wordt het aantal slagen
      (\type{\vsplit}'s) bedoeld dat nodig is om te bereiken
      dat de laatste kolom niet groter is dan de eerste.

\kop  gekoppelde registers

      Gekoppelde registers (alleen relevant in interactieve
      documenten) maken gebruik van naar de hulpfile
      weggeschreven informatie.

\kop  invulvelden

      Binnen \PDF\ worden objecten gebruikt, en de
      verwijzingen van en naar die objecten worden zonodig
      bijgehouden in de hulpfile. Wanneer men invulvelden
      verwerkt, is vaak een extra verwerkingsslag nodig,
      omdat \CONTEXT\ nogal wat datastructuren moet
      opbouwen waarvoor de gegevens pas achteraf bekend zijn.


\stopopsomming

Samengevat kunnen we dus vaststellen dat bij een volgende
verwerkingsslag alles meestal wel in orde komt. Voor de
zekerheid kan men bij de definitieve versie een extra slag
uitvoeren.

\paragraaf{Files}
\index{files}

Door \CONTEXT\ en \TEXUTIL\ worden een aantal hulpfiles
aangemaakt. De naam \type{jobname} staat hier voor de naam
van de actuele file. Deze naam kan binnen \TEX\ worden
opgeroepen met \type{\jobname}.

\starttabulatie[|Tl|p|]
\HL
\NC jobname.tui \NC door \CONTEXT\ aangemaakte file met
                    relevante informatie                 \NC \NR
\NC jobname.tuo \NC door \TEXUTIL\ bewerkte file
                    \type {file.tui}                     \NC \NR
\NC jobname.tub \NC door \CONTEXT\ gegenereerde file met
                    verplaatsbare blokken                \NC \NR
\NC jobname.tmp \NC door \CONTEXT\ gegenereerde hulpfile,
                    bijvoorbeeld bij buffers             \NC \NR
\HL
\stoptabulatie

Hoewel het aantal hulpfiles tot een minimum is beperkt, kan
een gebied toch vollopen met overbodige files. Het volgende
overzicht geeft aan welke files zondermeer mogen worden
verwijderd:

\starttabulatie[|Tl|l|l|]
\HL
\NC \bf file    \NC \bf inhoud                      \NC
                    \bf status                      \NC \NR
\HL
\NC jobname.tex \NC tekst                           \NC
                    niet verwijderen                \NC \NR
\HL
\NC jobname.tui \NC weggeschreven informatie        \NC
                    mag worden verwijderd           \NC \NR
\NC jobname.tuo \NC ingelezen informatie            \NC
                    bij voorkeur niet verwijderen   \NC \NR
\NC jobname.tub \NC blokken                         \NC
                    bij voorkeur niet verwijderen   \NC \NR
\NC jobname.tmp \NC buffer                          \NC
                    mag worden verwijderd           \NC \NR
\HL
\NC texutil.tuf \NC informatie over figuren         \NC
                    bij voorkeur niet verwijderen   \NC \NR
\HL
\NC jobname.dvi \NC de opgemaakte tekst             \NC
                    mag worden verwijderd           \NC \NR
\NC jobname.ps  \NC de te printen tekst             \NC
                    mag worden verwijderd           \NC \NR
\HL
\NC mpgraph.*   \NC (verzamelde) \METAPOST\ figuren \NC
                    evt. na afloop verwijderen      \NC \NR
\NC mprun.*     \NC idem                            \NC
                    idem                            \NC \NR
\stoptabulatie

In principe hoeft men dus alleen files met de extensie \type
{tex} te bewaren. De files met de extensies \type {tuo},
\type {tub} en \type {tuf} zijn nodig bij het verwerken, de
rest mag regelmatig worden verwijderd. Omdat de genoemde
\METAPOST\ files steeds weer worden genenereerd, mogen ze na
afloop worden verwijderd. Hetzelfde geldt voor buffer files,
te herkennen aan de extensie \type {tmp}.

\paragraaf{Toekenningen}

Er zit een zeker systeem in de beschikbare instellingen. In
de toekomst zal dit systeem worden uitontwikkeld, zodat
instellingen wat eenvoudiger worden. In het onderstaande
overzicht geven we aan welke toekenningen voor de hand
liggen.

\starttabulatie[|Tl|c|l|]
\NC voor        \NC \vl \NC \tex{blanko}, \tex{startregelcorrectie} \NC\NR
\NC tussen      \NC \vl \NC                                         \NC\NR
\NC na          \NC \vl \NC                                         \NC\NR
\NC             \NC     \NC                                         \NC\NR
\NC boven       \NC \vl \NC \tex{vfil}, \tex{vfill}, \tex{vfilll}   \NC\NR
\NC onder       \NC \vl \NC                                         \NC\NR
\NC             \NC     \NC                                         \NC\NR
\NC links       \NC \vl \NC \tex{hskip}, karakter                   \NC\NR
\NC rechts      \NC \vl \NC                                         \NC\NR
\NC             \NC     \NC                                         \NC\NR
\NC binnen      \NC \vl \NC \tex{switchnaarkorps},                  
                            \tex{stelinterliniein},                 
                            \tex{stelwitruimtein}                   \NC\NR
\NC             \NC     \NC                                         \NC\NR
\NC kleur       \NC \vl \NC identifier, trefwoord                   \NC\NR
\NC raster      \NC \vl \NC                                         \NC\NR
\NC achtergrond \NC \vl \NC                                         \NC\NR
\NC             \NC     \NC                                         \NC\NR
\NC uitlijnen   \NC \vl \NC trefwoord                               \NC\NR
\NC interlinie  \NC \vl \NC                                         \NC\NR
\NC tolerantie  \NC \vl \NC                                         \NC\NR
\NC             \NC     \NC                                         \NC\NR
\NC breedte     \NC \vl \NC trefwoord, maat                         \NC\NR
\NC hoogte      \NC \vl \NC                                         \NC\NR
\NC diepte      \NC \vl \NC                                         \NC\NR
\NC afstand     \NC \vl \NC                                         \NC\NR
\NC             \NC     \NC                                         \NC\NR
\NC variant     \NC \vl \NC identifier, nummer, letter, trefwoord   \NC\NR
\NC             \NC     \NC                                         \NC\NR
\NC status      \NC \vl \NC trefwoord                               \NC\NR
\stoptabulatie

% \paragraaf{Uitbreidingen}
% 
% Hoewel het hier beschreven systeem vrij volledig is, zijn
% toch nog enkele uitbreidingen te verwachten. Hieronder is in
% trefwoorden de verlanglijst opgenomen. Als in de marge een
% \yes\ is opgenomen, dan betreft het een structurele
% uitbreiding (iets nieuws).
% 
% \startopsomming[opelkaar,n,ruim]
% \som  het clippen cq. uitlichten van delen van figuren
% \som  figuren midden in een alinea
% \som  robuuster voetnoten
% \mar\yes  eind- en beginnoten
% \mar\yes  synchrone teksten, boven en onder, links en rechts
% \som  \type{tolerantie} en \type{uitlijnen} in meer commando's
% \som  interactieve kopnummers (elk prefixnummer actief)
% \som  indexen gecombineerd zetten
% \som  sneller laden van two||pass data
% \som  figuurkopjes in de marge
% \som  sorteren van tekstblokken
% \som  defaultinstellingen
% \som  \type{\startsectie}\onbekend\type{\stopsectie}
% \mar\yes  citaten (publicaties)
% \som  taalstatus in lijsten en blokken
% \som  rekenen met maten (+\type{randbreedte} enz)
% \som  initialen
% \som  \type{blokkeer}, \type{reset} en \type{forceer}
%       bij plaatsblokken
% \som  literatuurlijsten
% \som  zodra technisch mogelijk, versies en profielen
% \mar\yes  afhandelen fouten
% \som  profielen en versie als referentie kunnen meegeven
% \som  in||line opsommingen
% \stopopsomming

\stoponderdeel
