\startonderdeel co-nl-09

\projekt manual
\produkt cont-nl

\hoofdstuk[tekstonderdelen]{Tekstonderdelen}

\paragraaf{Inleiding}
\index{structuur}

De kern van \CONTEXT\ wordt gevormd door de
structuurcommando's. De meest voor de hand liggende
structurerende elementen zijn hoofdstukken en paragrafen.
Structuur wordt zichtbaar gemaakt door middel van de koppen
en samengevat in de inhoudsopgave.

Een tekst kan op verschillende manieren worden ingedeeld. Ter
inleiding vermelden we hier enkele mogelijke indelingen,
achtereenvolgens van H.~van Krimpen, K.~Treebus en het
Collectief Gaade:

\startopsomming[n,ruim,kolommen,drie]
\som  franse titel
\som  titel
\som  geschiedenis \& copyright
\som  opdracht
\som  voorrede|/|ten geleide
\som  \onbekend
\som  lijst van illustraties
\som  verantwoording
\som  corrigenda|/|errata
\som  de eigenlijke inhoud
\som  noten
\som  literatuuropgave
\som  register(s)
\som  colofon
\stopopsomming

De franse titel vinden we (in boeken) tegenover het
schutblad. In het colofon is plaats voor de gebruikte letter,
de namen van de typograaf, zetter en illustrator, de oplaag,
de drukkerij, het soort papier, de bindwijze enz. De indeling
van Treebus is als volgt:

\startopsomming[n,ruim,kolommen,drie]
\som  franse titel
\som  titelpagina
\som  colofon
\som  copyright
\som  opdracht
\som  voorwoord (1)
\som  inhoudsopgave
\som  lijst van illustraties
\som  inleiding|/|voorwoord (2)
\som  \onbekend
\som  nawoord|/|epiloog
\som  appendices
\som  samenvattingen
\som  noten
\som  literatuuropgaven
\som  verklarende woordenlijst
\som  addenda
\som  index
\som  verantwoording foto's
\som  (colofon)
\stopopsomming

Bij deze indeling staat het colofon op de achterzijde van de
titelpagina. Het eerste voorwoord is van anderen dan de
auteur.

De laatste indeling is die van het Collectief Gaade:

\startopsomming[n,ruim,kolommen,drie]
\som  franse titel
\som  serietitel
\som  titel
\som  copyright
\som  opdracht
\som  blanko
\som  voorwoord
\som  inhoud
\som  inleiding
\som  \onbekend
\som  appendices
\som  noten
\som  lijst van illustraties
\som  woordenlijst
\som  bibliografie
\som  colofon
\som  index
\stopopsomming

Omdat er dus geen eenduidige indeling is, is het mechanisme
om structuur aan te brengen in \CONTEXT\ zo opgezet, dat
meerdere alternatieven mogelijk zijn. Daarbij is getracht
aan de volgende voorwaarden is voldoen:

\startopsomming[n]

\som  Hoewel een tekst zelden meer dan vier niveaus kent,
      kunnen in met name handboeken aanzienlijk meer niveaus
      nodig zijn. Waar in papieren documenten een
      grote diepgang verwarrend kan werken, geldt bij
      interactieve documenten dat een grote diepgang in
      structuur vaak noodzakelijk is. Omdat de gebruiker
      nauwelijks een fysieke voorstelling van het document
      heeft, zijn structurerende elementen nodig om zinvolle
      informatie||eenheden te kunnen aanbieden.

\som  Hoewel niet ieder niveau een nummer hoeft te hebben,
      is toch vaak op de achtergrond een nummer nodig,
      bijvoorbeeld om uniek te kunnen verwijzen.

\som  De naamgeving van structurerende elementen moet
      aansluiten bij het doel.

\som  Inhoudsopgaven en registers moeten op ieder niveau
      kunnen worden opgeroepen en moeten geavanceerde
      interactieve documenten ondersteunen.

\som  Men moet een document kunnen opdelen in functionele
      onderdelen, bijvoorbeeld inleidingen of bijlagen, met
      specifieke kenmerken.

\som  Het mechanisme moet het afbreken tussen koppen zo goed
      mogelijk afhandelen.

\som  Hoofd- en voetteksten moeten worden ondersteund,
      uitgaande van document||specifieke namen, zoals
      \type{hoofdstuk} in een tekst of \type{procedure} in
      een handboek.

\som  Een gebruiker moet zelf een eigen vormgeving van koppen
      kunnen afdwingen, zonder zich zorgen te hoeven maken
      over spatiering, verwijzingen en synchronisatie.

\stopopsomming

Deze eisen hebben geresulteerd in een mechanisme dat achter
de schermen veel werk verzet. De in de volgende paragrafen
besproken commando's zijn een voorbeeld van een
implementatie, in dit geval gericht op teksten. Aan het eind
van dit hoofdstuk laten we zien hoe zelf aanvullende
definities mogelijk zijn. We zullen de termen {\em kop} en
{\em sectie} door elkaar gebruiken, maar bedoelen vaak
hetzelfde.

\paragraaf[onderverdeling]{Onderverdeling}
\index{structuur}
\index{tekstonderdelen}
\index{delen}
\index{hoofdstukken}
\index{paragrafen}
\index{koppen}
\index{nummeren+hoofdstukken}
\index{titels}
\index{markeringen}
\index{hoofdteksten+markeringen}
\index{voetteksten+markeringen}
\macro{\tex{deel}}
\macro{\tex{hoofdstuk}}
\macro{\tex{paragraaf}}
\macro{\tex{subparagraaf}}
\macro{\tex{subsubparagraaf}}
\macro{\tex{titel}}
\macro{\tex{onderwerp}}
\macro{\tex{subonderwerp}}
\macro{\tex{subsubonderwerp}}
\macro{\tex{definieerkop}}
\macro{\tex{geenmarkering}}
\macro{\tex{geenlijst}}

Een tekst wordt in hoofdstukken, paragrafen enz. ingedeeld
met de commando's:

\toonsetup{deel}

\toonsetup{hoofdstuk}

\toonsetup{paragraaf}

\toonsetup{subparagraaf}

\toonsetup{subsubparagraaf}

en

\toonsetup{titel}

\toonsetup{onderwerp}

\toonsetup{subonderwerp}

\toonsetup{subsubonderwerp}

De eerste serie commando's (\type{\hoofdstuk} \onbekend)
genereren een genummerde kop, bij de tweede serie blijft het
kopnummer achterwege. Overigens zijn standaard enkele
niveaus meer beschikbaar; de namen laten zich raden.


\plaatstabel{Een overizicht van de structurerende elementen.}
\starttabel[|c|l|l|]
\HL
\VL \bf niveau \VL \bf genummerde kop        \VL
                   \bf nummerloze kop        \VL\SR
\HL
\VL 1          \VL {\type{\deel}}            \VL
                                             \VL\FR
\VL 2          \VL {\type{\hoofdstuk}}       \VL
                   {\type{\titel}}           \VL\MR
\VL 3          \VL {\type{\paragraaf}}       \VL
                   {\type{\onderwerp}}       \VL\MR
\VL 4          \VL {\type{\subparagraaf}}    \VL
                   {\type{\subonderwerp}}    \VL\MR
\VL 5          \VL {\type{\subsubparagraaf}} \VL
                   {\type{\subsubonderwerp}} \VL\LR
\HL
\stoptabel

Standaard genereert het commando \type{\deel} {\em geen} kop
omdat op deelniveau vaak bijzondere koppen worden gebruikt.
Wel hoogt dit commando de noodzakelijke teller op en voert
het de nodige initialisaties uit. Het commando wordt net zo
gebruikt als de overige commando's en krijgt dus een
argument mee. Het al dan niet plaatsen van een kop en/of het
nummer van een kop is instelbaar.

Een structurerend element heeft twee argumenten. Het eerste
argument, de referentie, maakt het mogelijk naar
bijvoorbeeld een hoofdstuk of bladzijde waarop een hoofdstuk
begint te verwijzen. In \in{paragraaf}[terugverwijzen]\
wordt dit verder uitgewerkt. Een referentie kan worden
weggelaten, bijvoorbeeld:

\startvoorbeeld
\starttypen
\paragraaf{Onderverdeling}
\stoptypen
\stopvoorbeeld

Hoewel \CONTEXT\ uitstekend in staat is zelf de nummers van
hoofdstukken en paragrafen te genereren, kan het soms
voorkomen dat men de in een (meestal bestaand) document al
beschikbare nummers met de hand wil afdwingen. Dit kan dan
ook.

\startbuffer
\stelkopin[subparagraaf][eigennummer=ja]
\subparagraaf{399}{Het houdt niet op.}
\subparagraaf[eenref]{400}{Nooit dus.}
\stopbuffer

\typebuffer

We zien hier dus een extra argument opduiken. Op de
achtergrond genereert \CONTEXT\ nog steeds een eigen nummer,
zodat men er van verzekerd kan zijn dat de mechanismen die
van de nummering afhankelijk zijn goed werken. Overigens
hoeft het eigennummer helemaal geen nummer te zijn, \type
{ABC-123} is ook goed.

\start \haalbuffer \stop

In hoofd- en voetteksten kan (automatisch) de titel van
een hoofdstuk, paragraaf enz. worden geplaatst. Als deze
titel te lang is, kan ze worden begrensd met:

\toonsetup{geenmarkering}

bijvoorbeeld:

\startvoorbeeld
\starttypen
\hoofdstuk{Stromingen \geenmarkering{in de 20e eeuw:} een vogelvlucht.}
\stoptypen
\stopvoorbeeld

De bij \type {\geenmarkering} opgegeven tekst wordt in dit
geval in de hoofd- en|/|of voetregels vervangen door puntjes.
Men kan overigens ook op een andere en meestal meer
comfortabele manier te lange titels afvangen. Het volgende
commando zorgt ervoor dat de hoofdstuktitel links, en de
paragraaftitel rechts in de kopregel komen te staan. Beiden
worden daarbij begrends in lengte.

\startvoorbeeld
\starttypen
\stelhoofdtekstenin[hoofdstuk][paragraaf]
\stelhoofdin[linkerbreedte=.4\hsize,rechterbreedte=.5\hsize]
\stoptypen
\stopvoorbeeld

Een soortgelijk probleem kan zich voortdoen bij de
inhoudsopgave; in dat geval gebruiken we \type {\geenlijst}:

\startvoorbeeld
\starttypen
\hoofdstuk{Stromingen in de 20e eeuw: \geenlijst{een vogelvlucht.}}
\stoptypen
\stopvoorbeeld

Als men in een titel het commando \type{\\} opneemt, wordt
in de titel zelf overgegaan naar een nieuwe regel. Met
\type{\crlf} gaat men alleen in de inhoudsopgave over op een
nieuwe regel. Zo levert:

\startvoorbeeld
\starttypen
\hoofdstuk
  {Stromingen in de 20e eeuw:\crlf een vogelvlucht.}
\stoptypen
\stopvoorbeeld

in de inhoudsopgave twee regels op, terwijl in de tekst de
titel op \'e\'en regel staat. Het omgekeerde zou het geval
zijn als we \type {\\} hadden gebruikt.

Het is mogelijk eigen koppen te defini\"eren. Een \citeer
{eigen} kop wordt daarbij gekoppeld aan een eerder
gedefinieerde kop.

\toonsetup{definieerkop}

Een voorbeeld van een definitie is:

\startvoorbeeld
\starttypen
\definieerkop[rubriek][subonderwerp]
\stoptypen
\stopvoorbeeld

Het vanaf dat moment beschikbare commando \type{\rubriek}
gedraagt zich net als \type{\subonderwerp}. Rubrieken worden
dus niet genummerd.

Een aantal kenmerken van koppen zijn instelbaar met het in
\in{paragraaf}[titels] beschreven commando
\type{\stelkopin}. Ook zelf gedefinieerde koppen zijn
instelbaar. Hoewel bepaalde kenmerken behouden blijven,
zoals bijvoorbeeld nummeren, kunnen andere kenmerken worden
ingesteld. De hierboven genoemde (zelf gedefinieerde)
rubrieken kunnen dus nog nader worden ingesteld.

Het is mogelijk het weergeven van de sectienummers te
blokkeren met de instelling \type
{\stelkoppenin[sectienummer=nee]}. Er wordt in dat geval
achter de schermen wel doorgenummerd. Dit is nodig met het
oog op lokale handelingen, zoals het plaatsen lokale
inhoudsopgaven.

Omdat het gevaar bestaat dat een naam reeds wordt gebruikt
voor andere doeleinden, raden we het gebruik van hoofdletters
aan. We zien dan meteen dat het om een eigen commando gaat:

\startvoorbeeld
\starttypen
\definieerkop[WerkVoorschrift][paragraaf]
\stoptypen
\stopvoorbeeld

\paragraaf[titels]{Variaties in koppen}
\index{hoofdstukken}
\index{titels}
\index{nummeren+hoofdstukken}
\macro{\tex{stelkoppenin}}
\macro{\tex{stelkopin}}
\macro{\tex{stelkopnummerin}}
\macro{\tex{kopnummer}}
\macro{\tex{koppeldocument}}

De wijze waarop hoofdstukken, paragrafen en subparagrafen
worden genummerd en getiteld, kan worden ingesteld met de
commando's:

\toonsetup{stelkoppenin}

en

\toonsetup{stelkopin}

Het nummer van een kop kan handmatig worden ingesteld met:

\toonsetup{stelkopnummerin}

Dit commando accepteert absolute en relatieve nummers, dus
\type{[12]}, \type{[+2]} en \type{[+]}. De relatieve methode
verdient de voorkeur, zoals:

\starttypen
\stelkopin[hoofdstuk][+1]
\stoptypen

Dit commando wordt alleen gebruikt als men in macros listige
dingen met koppen doet. Een nummer kan worden opgevraagd
met:

\toonsetup{kopnummer}

en/of:

\toonsetup{huidigekopnummer}

Bijvoorbeeld:

\starttabulatie[|l|l|]
\NC \type{\huidigekopnummer}     \EQ \huidigekopnummer     \NC\NR
\NC \type{\kopnummer[hoofdstuk]} \EQ \kopnummer[hoofdstuk] \NC\NR
\NC \type{\kopnummer[paragraaf]} \EQ \kopnummer[paragraaf] \NC\NR
\stoptabulatie

Als men het nummer in berekeningen wil gebruiken, dan komt
alleen \type {\huidigekopnummer} in aanmerking. Men kan dit
nummer berekenen met:

\toonsetup{bepaalkopnummer}

Met paragrafen en hoofdstukken meelopende hoofd- en
voetregels worden automatisch aangepast bij het overgaan
naar nieuwe pagina's. Het volgende resulteert in het steeds
op een rechter pagina starten van een nieuw hoofdstuk.

\startvoorbeeld
\starttypen
\stelkopin
  [hoofdstuk]
  [pagina=rechts,
   na={\blanko[2*groot]}]
\stoptypen
\stopvoorbeeld

Bij omvangrijke teksten kan men ervoor kiezen de paragrafen
op een nieuwe bladzijde te laten beginnen. Doorgaans komt
het echter beter uit als de eerste paragraaf op dezelfde
bladzijde begint als het hoofdstuk. Het kan echter voorkomen
dat men bewust ook de eerste paragraaf op een nieuwe
bladzijde wil laten beginnen. In dat geval kan men aan
\type{doorgaan} de waarde \type{nee} toekennen.

\startvoorbeeld
\starttypen
\stelkopin
  [paragraaf]
  [pagina=ja,doorgaan=nee,
   na=\blanko]
\stoptypen
\stopvoorbeeld

\indent \in{Figuur}[fig:doorgaan] toont het verschil tussen
beide alternatieven. In het eerste geval wordt de eerste
paragraaf op dezelfde bladzijde geplaatst (\type{doorgaan}),
in de tweede situatie begint ook de eerste paragraaf op een
nieuwe bladzijde.

\startbuffer
\stelomlijndin[breedte=8em,hoogte=10em,boven=,uitlijnen=rechts]
\tfx
\startcombinatie[4*2]
  {\omlijnd{Hoofdstuk 1\\Paragraaf 1.1}} {}
  {\omlijnd{Paragraaf 1.2}}              {}
  {\omlijnd{Paragraaf 1.3}}              {}
  {}                                     {}
  {\omlijnd{Hoofdstuk 1}}                {}
  {\omlijnd{Paragraaf 1.1}}              {}
  {\omlijnd{Paragraaf 1.2}}              {}
  {\omlijnd{Paragraaf 1.3}}              {}
\stopcombinatie
\stopbuffer

\plaatsfiguur
  [hier]
  [fig:doorgaan]
  {Afwijkend gedrag van eerste subkop.}
  {\haalbuffer}

Evenzo kan het voorkomen dat men op de bladzijde waarop
bijvoorbeeld een hoofdstuk begint {\em geen} hoofdteksten
wil plaatsen. In dat geval moet men aan \type{hoofd} de
waarde \type{leeg}, \type {hoog}, \type {geenmarkering} of
een identificatie van een zelf gedefinieerde hoofdtekst
toekennen (\in {zie} [hoofdenvoet]).

Standaard worden koppen in een wat groter formaat letter
weergegeven dan normaal. De gebruiker kan echter zelf het
lettertype bepalen. Wanneer de koppen dezelfde stijl (serif,
sans, enz.) moeten hebben als de lopende tekst, dan moet men
zo mogelijk gebruik maken van neutrale aanduidingen, dus
\type{\tfb} in plaats van \type{\rmb}, tenzij men natuurlijk
zeker weet dat men een serif letter wil. Zo is ook het
gebruik van snelle wisselingen af te raden. Als we
bijvoorbeeld \type{\ssbf} gebruiken in plaats van
\type{\ss\bf}, dan lopen we kans dat kapitalen, synoniemen
enz. niet goed worden weergegeven. Dit is overigens geen
fout of tekortkoming, maar een gevolg van het feit een
snelle wisseling niet voor niets snel is. In het eerste
geval schakelen we namelijk expliciet over naar een vette
sans serif letter, in het tweede geval gaan we over op een
sans serif stijl en vervolgens op een vette letter.
Commando's als \type{\kap} passen hun gedrag aan dergelijke
wisselingen aan.

Een kop bestaat uit een nummer en een tekst. Het is mogelijk
zelf een commando te defini\"eren dat beide op een andere
manier plaatst. Beginners wordt aangeraden gebruik te maken
van de standaard weergave van koppen.

% In verband met de interactieve versie herstellen we enkele
% standaardinstellingen.  Dit is iets voor insiders.

\startbuffer
\stelkoppenin[variant=normaal]
\subparagraaf{Kop variant normaal}
\stelkoppenin[variant=inmarge]
\subparagraaf{Kop variant inmarge}
\stelkoppenin[variant=midden]
\subonderwerp{Kop variant midden}
\stopbuffer

\start

\writestatus{PAS OP}{controleer in co-nl-09.tex of de kop goed staat}

\stellijstin
  [subparagraaf]
  [status=stop]

\unprotected\stelkopin
  [subparagraaf]
  [commando=\normalplacehead,
   voorcommando=,
   letter=\tfb,tekstletter=,nummerletter=]

\haalbuffer

\stop

Deze koppen zijn gegenereerd met:

\typebuffer

In deze handleiding is een wat afwijkende weergave gebruikt.
Het ontwikkelen van zo'n afwijkende kop kost vaak wat tijd.
In de onderstaande voorbeelden volgen we dit proces.

% In verband met de interactieve versie herstellen we enkele
% standaardinstellingen. Dit is iets voor insiders.

\start

\stellijstin
  [subparagraaf]
  [status=stop]

\stelkopin
  [subparagraaf]
  [voorcommando=]

\startbuffer
\def\koptitel#1#2%
  {\hbox to \hsize \bgroup
   \hfill
   \omlijnd[hoogte=1cm,breedte=2cm,uitlijnen=links]{#1}%
   \omlijnd[hoogte=1cm,breedte=4cm,uitlijnen=rechts]{#2}%
   \egroup}

\stelkopin[subparagraaf][commando=\koptitel]
\stopbuffer

\startvoorbeeld
\typebuffer
\stopvoorbeeld

\haalbuffer
\subparagraaf{Titel}

Meestal verwacht de lezer het hoofd van een paragraaf aan de
linkerkant van de bladzijde, maar hier zien we voor de
verandering de kop rechts staan. Met \type{kader=aan} kan
men meer inzicht krijgen in het proces.

\startbuffer
\def\koptitel#1#2%
  {\hbox to \hsize \bgroup
   \hfill
   \stelomlijndin[hoogte=1cm,offset=.5em,kader=uit]
   \omlijnd[breedte=2cm,uitlijnen=links]{#1}%
   \omlijnd[breedte=4cm,uitlijnen=rechts,linkerkader=aan]{#2}%
   \egroup}

\stelkopin
  [subparagraaf]
  [commando=\koptitel,
   letter=\tfb]
\stopbuffer

\haalbuffer
\subparagraaf{Nog een titel}

Deze variant is volgens mij wat aardiger dan de vorige. De
eerdere definitie hoeft op slechts enkele punten te worden
aangepast. Dit voorbeeld toont tevens wat er allemaal
mogelijk is met \type{\omlijnd}.

\typebuffer

We zien dat het lettertype wordt ingesteld met
\type{\stelkopin}. Het heeft dan ook geen zin instellingen
in het commando \type{\koptitel} op te nemen. Het is de
vraag wat er gebeurt als we een lange titel meegeven. We
laten dit hieronder zien:

\haalbuffer\subparagraaf{Een wat langere titel}

Omdat dit duidelijk niet is wat we wensen, passen we de
eerdere definitie wat aan. We lossen hierbij meteen het
probleem van ontbrekende witruimte onder de kop op.

\startbuffer
\def\koptitel#1#2%
  {\hbox to \hsize \bgroup
   \hfill
   \stelomlijndin[offset=.5em,kader=uit]
   \tbox{\omlijnd[breedte=3cm,uitlijnen=links]{#1}}%
   \tbox{\omlijnd[breedte=4cm,uitlijnen=rechts,linkerkader=aan]{#2}}%
   \egroup}

\stelkopin
  [subparagraaf]
  [commando=\koptitel]
\stopbuffer

\typebuffer

Deze definitie resulteert in een kop waarbij het nummer op de
eerste regel uitlijnen (een gevolg van \type {\tbox}).

\haalbuffer
\subparagraaf{Een heel wat langere titel}

\stop

Hoe fraaier men een kop wil weergeven, des te meer moet men
van \TEX\ weten. Niet alles valt nu eenmaal met algemene
macro's op te lossen. Een ogenschijnlijk eenvoudige, maar
achter de schermen toch nog wel ingewikkelde variant is die
waar de kop in de tekst staat.

\startbuffer
\stelkopin[subonderwerp]   [variant=tekst,letter=vet]
\stelkopin[subsubonderwerp][variant=tekst,letter=schuinvet]
\stopbuffer

\typebuffer

\start
\haalbuffer \stelkopin[subonderwerp,subsubonderwerp][commando=]

\subonderwerp
  {Tekstkoppen}
\subsubonderwerp
  {Waarom tekstkoppen wat lastiger zijn dan we op het eerste
   gezicht zouden vermoeden.}

Omdat in de regel een beeldscherm breder is dan hoog en
papier hoger is dan breed, ligt het voor de hand in geval
van elektronische verspreiding van documenten een speciale
versie te genereren ten behoeve van printen. In dat geval is
het handig als men snel en comfortabel van het ene naar het
andere document kan springen. We kunnen daarom documenten
koppelen:

\starttypen
\koppeldocument
  [schermversie]
  [repman-e]
  [hoofdstuk,paragraaf,subparagraaf,subsubparagraaf,deel,bijlage]
  [Het Reporting Manual]
\stelkopin
  [hoofdstuk,paragraaf,subparagraaf,subsubparagraaf,deel,bijlage]
  [file=schermversie]
\stoptypen

Het eerste argument van \type {\koppeldocument} betreft de
identificatie van het schermdocument en het tweede argument
de filenaam. Het derde argument specificeert de koppelingen,
en het vierde is een omschrijving. Dit commando laad alleen
de verwijzingen, de daadwerkelijke koppeling wordt vervolgens
gerealiseerd met \type {\stelkopin}. Na dit commando kan men
op bijvoorbeeld paragraaftitels klikken om naar dezelfde
plaats in het andere document tegaan. Dit werkt voor alle
varianten, dus ook voor de tekstvariant. Omdat tekstkoppen
over meerdere regels kunnen lopen is achter de schermen
nogal wat manipulatie nodig.

\stop

\paragraaf[inleidingen]{Meta||structuur}
\index{inleidingen}
\index{hoofdteksten}
\index{bijlagen}
\index{uitleidingen}
\macro{\tex{startinleidingen}}
\macro{\tex{starthoofdteksten}}
\macro{\tex{startbijlagen}}
\macro{\tex{startuitleidingen}}

Een tekst is in te delen in functionele eenheden. De
kenmerken van koppen kunnen afhangen van de eenheden.
Standaard onderscheiden we de volgende functionele eenheden:

\startopsomming[opelkaar,kolommen,vier]
\som inleidingen
\som hoofdteksten
\som bijlagen
\som uitleidingen
\stopopsomming

In- en uitleidingen kunnen worden omringd door de
onderstaande commando's. In dat geval krijgen koppen geen
nummers als hoofdstuk, maar worden wel in de inhoudsopgave
vermeld. Binnen de functionele eenheid \citeer
{hoofdteksten} gebeurt niets bijzonders, maar binnen \citeer
{bijlagen} worden de koppen in letters genummerd.

\startvoorbeeld
\steltypenin[optie=commandos]
\starttypen
\startinleidingen
  \volledigeinhoud
  \hoofdstuk{Inleiding}       <</Roman in inhoud, geen nummer>>
\stopinleidingen

\starthoofdteksten
  \hoofdstuk{Eerste}          <</Roman nummer 1, in inhoud>>
    \paragraaf{Alfa}          <</Roman nummer 1.1, in inhoud>>
    \paragraaf{Beta}          <</Roman nummer 1.2, in inhoud>>
  \hoofdstuk{Tweede}          <</Roman nummer 2, in inhoud>>
    \onderwerp{Blabla}        <</Roman geen nummer, niet in inhoud>>
\stophoofdteksten

\startbijlagen
  \hoofdstuk{Index}           <</Roman letter A, in inhoud>>
  \hoofdstuk{Afkortingen}     <</Roman letter B, in inhoud>>
\stopbijlagen

\startuitleidingen
  \hoofdstuk{Verantwoording}  <</Roman geen nummer, in inhoud>>
  \titel{Colofon}             <</Roman geen nummer, niet in inhoud>>
\stopuitleidingen
\stoptypen
\stopvoorbeeld

Wanneer deze code wordt verwerkt, zullen we zien dat
commando's als \type {\titel} en \type {\onderwerp} nooit in
de inhoud komen en nooit een nummer krijgen. Hun gedrag
wordt niet be\"invloed door de functionele inhoud. Het
gedrag van de andere commando's hangt af van de instellingen
van een functionele eenheid. Het is dus mogelijk \citeer {in
\'e\'en klap} de wijze van nummering van alle genummerde
koppen in een functionele eenheid te veranderen.

% \paragraaf[bijlagen]{Bijlagen}
% \index{bijlagen}
% \macro{\tex{startbijlagen}}
%
% Standaard worden hoofdstukken genummerd in cijfers. Bijlagen
% daarentegen worden in letters genummerd. Bijlagen worden, zo
% zagen we in de vorige paragraaf, voorafgegaan en afgesloten
% met:
%
% \startvoorbeeld
% \starttypen
% \startbijlagen
% \stopbijlagen
% \stoptypen
% \stopvoorbeeld
%
% In de volgende paragraaf zullen we zien dat bijlagen een
% voorbeeld zijn van een functionele eenheid.
%
% Er is een commando \type{\bijlage} beschikbaar waarmee
% \citeer {zelfstandig genummerde} bijlagen kunnen worden
% gemaakt.
%
% \toonsetup{bijlage}
%
% Eigenlijk is dit commando niet nodig, omdat hetzelfde
% eenvoudig kan worden bereikt met andere commando's. We geven
% hieronder de (wat uitgeklede) definitie van het commando.
%
% \startvoorbeeld
% \starttypen
% \def\bijlage[#1]#2%
%   {\pagina[rechts]
%    \stelnummeringin[status=stop]
%    \hoofdstuk[#1]{#2}
%    \pagina[rechts]
%    \stelnummeringin[status=start]
%    \stelpaginanummerin[nummer=1]}
% \stoptypen
% \stopvoorbeeld
%
% Allereerst gaan we over naar een nieuwe bladzijde. Doen we
% dit niet, dan lopen we de kans dat de instelling
% \type{[status=stop]} ook voor de vorige bladzijde geldt.
% Vervolgens plaatsen we, op een aparte bladzijde, de titel
% van de bijlage. Ook hier dwingen we weer een overgang naar
% een nieuwe bladzijde af, omdat we de nummering weer op
% \type{start} willen zetten en het paginanummer op~\type{1}.
% Het is leerzaam eens een uurtje te experimenteren met
% dergelijke commando's.
%
% De overgang naar een rechter||bladzijde is nodig in het
% geval we dubbelzijdig zetten.
%
% \startvoorbeeld
% \starttypen
% \bijlage[bijl:antwoorden]{Antwoorden}
%
% \onderdeel antwoord.tex    % of \input antwoord.tex
% \stoptypen
% \stopvoorbeeld
%
% Een voorbeeld van een aanroep is:
%
% \startvoorbeeld
% \starttypen
% \bijlage[bijl:antwoorden]{Antwoorden}
%
% \onderdeel antwoord.tex    % of \input antwoord.tex
% \stoptypen
% \stopvoorbeeld

\paragraaf[alternatieve koppen]{Alternatieve mechanismen}
\index{koppen+alternatieven}
\index{nummeren+hoofdstukken}
\macro[volgendesectie]{\tex{volgende<<sectie>>}}

Niet ieder document laat zich in een structuur persen met
hoofdstukken en paragrafen. Men kan bijvoorbeeld afzien van
nummers en een andere aanduiding van niveau gebruiken. Het
mechanisme om koppen te plaatsen is hierop afgestemd.

De onderliggende macro's hebben in principe geen weet van
hoofdstukken, paragrafen enz. Hoewel ook deze keuze arbitrair
is, wordt diep in het binnenste van \CONTEXT\ gesproken van
secties en sectieblokken. Beide worden gedefinieerd en
ingesteld met de commando's:

\toonsetup{definieersectieblok}

\toonsetup{stelsectieblokin}

\toonsetup{definieersectie}

\toonsetup{stelsectiein}

Er zijn standaard vier sectieblokken gedefinieerd:

\startvoorbeeld
\starttypen
\definieersectieblok [hoofdtekst]   [kopnummer=ja]
\definieersectieblok [bijlagen]     [kopnummer=ja]
\definieersectieblok [inleidingen]  [kopnummer=nee]
\definieersectieblok [uitleidingen] [kopnummer=nee]
\stoptypen
\stopvoorbeeld

We zien dat het al dan niet nummeren van een kop hier wordt
ingesteld. Het uitzetten van de nummering heeft als gevolg
dat er geen lokale inhoudsopgaven meer kunnen worden
gegenereerd. Wil men geen nummers zetten, dan kan dat worden
ingesteld met \type{\stelkoppenin[sectienummer=nee]}.

Standaard wordt voor en na een sectieblok overgegaan op een
nieuwe (rechter) bladzijde. Dit voorkomt dat markeringen
voortijdig worden gereset. Deze paginaovergang is instelbaar
met \type{pagina}.

Binnen \CONTEXT\ zijn standaard zeven niveaus beschikbaar,
maar meer zijn mogelijk.

\startvoorbeeld
\starttypen
\definieersectie [sectie-1]
\definieersectie [sectie-2]
................ ..........
\definieersectie [sectie-7]
\stoptypen
\stopvoorbeeld

Vervolgens zijn een aantal koppen gedefinieerd met het
eerder besproken commando \type{\definieerkop}. We laten
hier enkele van die zeven definities zien:

\startvoorbeeld
\starttypen
\definieerkop [deel]      [sectie=sectie-1]
\definieerkop [hoofdstuk] [sectie=sectie-2]
\definieerkop [paragraaf] [sectie=sectie-3]
\stoptypen
\stopvoorbeeld

De definitie van een subparagraaf wijkt wat af. Standaard
erven de sub's namelijk de eigenschappen van een paragraaf:

\startvoorbeeld
\starttypen
\definieerkop
  [subparagraaf]
  [sectie=sectie-4,
   default=paragraaf]
\stoptypen
\stopvoorbeeld

De definities van titels en (sub)onderwerpen is weer wat
anders, omdat we hier geen nummers willen:

\startvoorbeeld
\starttypen
\definieerkop
  [titel]
  [koppeling=hoofdstuk,
   default=hoofdstuk,
   verhoognummer=nee]
\stoptypen
\stopvoorbeeld

Deze definitie laat zich als volgt verwoorden. Een titel is
gekoppeld aan hoofdstuk. Dat wil zeggen dat waar het
gaat om het afhandelen van bepaalde kritische handelingen in
het binnenste van \CONTEXT, het commando zich hetzelfde
gedraagt als \type{\hoofdstuk}, bijvoorbeeld bij het
forceren cq. blokkeren van een overgang naar een nieuwe
bladzijde. Bij het afhandelen van meerdere koppen direct na
elkaar speelt het niveau namelijk een rol. Kenmerken als het
gebruikte lettertype erft het commando \type{\titel} van
\type{\hoofdstuk}, tenzij later anders ingesteld. Tot slot
geven we aan dat het nummer niet mag worden verhoogd.

We zijn nog niet klaar. De eerder gedefinieerde sectieblokken
komen namelijk nog om de hoek kijken:

\startvoorbeeld
\starttypen
\stelsectiein
  [sectie-2]
  [bijlageconversie=Letter, % Pas op, een hoofdletter!
   vorigenummer=nee]
\stelkopin
  [deel]
  [plaatskop=nee]
\stelkopin
  [hoofdstuk]
  [bijlagelabel=bijlage,
   hoofdtekstlabel=hoofdstuk]
\stoptypen
\stopvoorbeeld

Dit betekent dat binnen een \type{bijlage} conversie naar
letters plaatsvindt, echter alleen op niveau van sectie~2.
Verder krijgen koppen die zijn gekoppeld aan \type{sectie-2}
geen prefix voor het nummer. Een nummer bestaat namelijk uit
de opeenvolgende nummers van de secties:

\startvoorbeeld
\steltypenin[optie=commandos]
\starttypen
<sectie-1><scheider><sectie-2><scheider><sectie-3> <</rm enz>>
\stoptypen
\stopvoorbeeld

Standaard zou sectie~2 dus worden geprefixed door het
deelnummer en een scheider (.) en dit is meestal niet wat we
wensen, vandaar dat we op dat niveau de prefix blokkeren.
Daarmee voorkomen we tevens dat op alle lagere niveaus
(sectie~3 en hoger) het deelnummer wordt meegenomen.

We hebben daarnaast ingesteld dat bij delen geen koppen
worden geplaatst. Dit kan ongedaan worden gemaakt met:

\starttypen
\stelkopin[deel][plaatskop=nee]
\stoptypen

Hoofdstukken en bijlagen kunnen een label krijgen, dat wil
zeggen: worden voorafgegaan door een in te stellen woord.
Dit doen we (elders) met \type {\stellabeltekstin},
bijvoorbeeld:

\startvoorbeeld
\starttypen
\stellabeltekstin[bijlage=Bijlage~]
\stoptypen
\stopvoorbeeld

We zijn er bijna en hoeven alleen nog maar enkele uiterlijke
kenmerken van koppen vast te leggen. Omdat alle sub's de
instellingen van \type {\paragraaf} erven en \type {\titel},
\type {\onderwerp} en haar sub's die van de genummerde
koppen, zijn slechts drie instellingen nodig. We geven deze
volledig, omdat ze ons duidelijk maken wat de
standaardinstellingen zijn.

\startvoorbeeld
\starttypen
\stelkopin
  [deel,hoofdstuk]
  [uitlijnen=normaal,
   doorgaan=nee,
   pagina=rechts,
   hoofd=geenmarkering,
   letter=\tfc,
   voor={\blanko[2*groot]},
   na={\blanko[2*groot]}]

\stelkopin
  [paragraaf]
  [uitlijnen=normaal,
   letter=\tfa,
   voor={\blanko[2*groot]},
   na=\blanko]
\stoptypen
\stopvoorbeeld

We gebruiken bewust \type{\tfc}, zodat de kop zich aanpast
aan de actuele stijl. Bij delen en hoofdstukken willen we op
de eerste bladzijde geen hoofd geplaatst zien. De \argchars\
rond \type{\blanko} zijn essentieel, omdat we anders in de
knoei komen met \setchars.

Eerder zagen we reeds dat we nieuwe koppen kunnen defini\"eren
met de kenmerken van oude. Meestal voldoet dit:

\startvoorbeeld
\starttypen
\defineerkop[rubriek][onderwerp][letter=vet,voor=\blanko]
\defineerkop[subject][paragraaf][letter=vet,voor=\blanko]
\stoptypen
\stopvoorbeeld

Een van de redenen dat het mechanisme dat op de achtergrond
werkt vrij ingewikkeld is, ligt in het feit dat we de namen
van koppen (secties) tegenkomen als instelling bij andere
commando's. Zo komt bij markeringen \type{rubriek} overeen
met \type{onderwerp}, maar onderwerp niet met \type{paragraaf}.
Het eerste ligt voor de hand, het laatste niet. In de loop
der jaren is namelijk gebleken dat onderwerp te pas en te
onpas wordt gebruikt voor tussenkopjes, en deze willen we
zelden in een hoofd- of voetregel terugzien.

Bij het instellen van het criterium bij lijsten en registers
en de wijze van nummeren kunnen we naast \type{perparagraaf}
ook \type{persubject} gebruiken. Voor de aanduiding van het
niveau mogen we het trefwoord \type{paragraaf} naast
\type{subject} gebruiken. We kunnen dus zonder problemen de
naamgeving van koppen (secties) aanpassen aan het doel,
bijvoorbeeld:

\startvoorbeeld
\starttypen
\definieerkop [handboek]       [sectie=sectie-1]
\definieerkop [procedure]      [sectie=sectie-2]
\definieerkop [subprocedure]   [sectie=sectie-3]
\definieerkop [werkinstructie] [procedure]
\stoptypen
\stopvoorbeeld

Hierna kunnen we de koppen instellen (of instellingen laten
erven van andere koppen). Omdat standaard lijsten worden
gedefinieerd, kunnen we ook lijsten van procedures oproepen.
We komen hier in de volgende hoofdstukken op terug.

\stoponderdeel

