summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ntgclass/artdoc.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ntgclass/artdoc.tex
Initial commit
Diffstat (limited to 'macros/latex/contrib/ntgclass/artdoc.tex')
-rw-r--r--macros/latex/contrib/ntgclass/artdoc.tex682
1 files changed, 682 insertions, 0 deletions
diff --git a/macros/latex/contrib/ntgclass/artdoc.tex b/macros/latex/contrib/ntgclass/artdoc.tex
new file mode 100644
index 0000000000..b581d23529
--- /dev/null
+++ b/macros/latex/contrib/ntgclass/artdoc.tex
@@ -0,0 +1,682 @@
+% \iffalse meta-comment
+%
+% % \iffalse meta-comment
+% %
+% % Copyright (C) 1990-2004 Nederlandstalige TeX Gebruikersgroep.
+% % All rights reserved.
+% %
+% % This file is part of the NTG document classes distribution
+% % ----------------------------------------------------------
+% %
+% % It may be distributed and/or modified under the
+% % conditions of the LaTeX Project Public License, either version 1.3
+% % of this license or (at your option) any later version.
+% % The latest version of this license is in
+% % http://www.latex-project.org/lppl.txt
+% % and version 1.3 or later is part of all distributions of LaTeX
+% % version 2003/12/01 or later.
+% %
+% % This work has the LPPL maintenance status "maintained".
+% %
+% % The Current Maintainer of this work is Johannes Braams.
+% %
+% % The list of all files belonging to the NTG document classes
+% % distribution is given in the file `manifest.txt.
+% %
+% % The list of derived (unpacked) files belonging to the distribution
+% % and covered by LPPL is defined by the unpacking scripts (with
+% % extension .ins) which are part of the distribution.
+% % \fi
+% \fi
+\documentclass[a4paper]{artikel1} %ja,ja, onze eigen documentstijl!
+\usepackage[dutch]{babel}
+
+\begin{document}
+\date{3 september 1989 / 3 juni 1994}
+\title{Documentstijlen Artikel$x$\\
+ Verantwoording}
+\author{Victor Eijkhout}
+\maketitle
+
+\begin{abstract}
+ Dit is de verantwoording voor de documentstijlen `Artikel1',
+ `Artikel2', en~`Artikel3'. Deze stijlen zijn bedoeld als een
+ \emph{mogelijke} vervanging van de stijl `article'. In dit verhaal
+ zijn beschreven
+\begin{enumerate}
+\item de redenen waarom bepaalde veranderingen zijn aangebracht;
+\item de parameters en commando's die op de veranderingen betrekking
+ hebben; en
+\item de wijze waarop de veranderingen zijn ge"implementeerd.
+\end{enumerate}
+Tegelijk is dit document een uitprobeerobject voor de nieuwe
+stijlen\footnote{De hoeveelheid gebruikte \LaTeX-constructies is
+ derhalve aan de ruime kant. De lezer wordt vriendelijk gevraagd zich
+ hieraan niet te ergeren.}.
+\end{abstract}
+
+
+\part{Algemeen}
+
+\section{Verantwoording}
+
+De documentstijlen `Artikel$x$' zijn bedoeld als verbetering van de
+standaard \LaTeX-document\-stijl `Article'. De meeste macros zijn
+derhalve modificaties van constructies uit `article.sty' of
+`latex.tex'.
+
+Bij het ontwerpen van de opmaak heb ik advies gehad van Inge
+Eijkhout~\cite{Inge}. Het boek `Tekstwijzer'~\cite{Karel} van Karel
+Treebus was verder een hulp (de opmaak van de inhoudsopgave in
+`Artikel1' is daar zelfs compleet uit overgenomen). Ook erken ik de
+invloed van John Miles' `Ontwerpen voor Desktop
+Publishing'~\cite{Miles}. Nico Poppelier heeft met raad en daad ter
+zijde gestaan. Wat er fout is aan deze stijlen blijft natuurlijk voor
+mijn rekening komen.
+
+\section{Overzicht}\label{overzicht:sectie}
+
+De documentstijlen `Artikel$x$' zijn geheel compatibel met `Article':
+er zijn geen commando's toegevoegd of weggelaten. De veranderingen
+ten opzichte van `Article' betreffen enkel de opmaak. In het
+bijzonder is er gesleuteld aan:
+\begin{enumerate}
+\item witregels rond koppen van secties, subsecties en subsubsecties
+ (van nu af aan `sectiekoppen' genoemd),
+\item verdere veranderingen aan de opmaak van deze koppen,
+\item de hoeveelheid inspringing bij lijststructuren (gegenereerd met
+ het \LaTeX\ \verb.\@list. commando), in het bijzonder `itemize',
+ `enumerate', en (specifiek voor `article') `description', en
+\item verdere opmaak van lijststructuren,
+\item verdere opmaak van sectiekoppen, en
+\item de inhoudsopgave.
+\end{enumerate}
+Over het algemeen is het de bedoeling geweest een strakke opmaak te
+krijgen (de standaard stijlen van \LaTeX\ `zwemmen' over de pagina).
+
+\section{Exportkwaliteit documentstijlen}
+
+De documentstijlen `Artikel$x$' kunnen zowel gebruik maken van de
+stijloptie `Dutch' (auteur: Johannes Braams) als van `German' (auteur:
+Hubert Partl), als van elke andere optie die de door Partl in `German'
+gesuggereerde parametrisaties doorvoert. Deze opties zijn een
+reparatie voor het euvel dat de meeste taalspecifieke termen in de
+stijlen van de heer Lamport niet geparametriseerd zijn.
+
+In `Dutch' worden definities uit `Article' en dergelijke overreden
+door geparametriseerde versies\footnote{Een listige truc laat `Dutch'
+ achterhalen door welke stijl hij aangeroepen is; de `Artikel'
+ stijlen zijn een onbekende stijl voor `Dutch'}, die op verschillende
+talen ingesteld kunnen worden. Deze definities hadden natuurlijk al
+in de stijlen van heer Lamport geparametriseerd moeten zijn.
+
+De optie `German' is minder drastisch dan `Dutch': deze gaat ervan uit
+dat hij door geparametriseerde stijlbestanden opgeroepen wordt, en zet
+zelf alleen de parameters. De `Artikel' stijlen zijn geparametriseerd
+volgens de suggestie van Partl.
+
+\subsection{Kanttekening}De stijl `Dutch' parametriseert
+onder andere het commando `abstract'. Aangezien ik dit commando om
+opmaaktechnische redenen al herdefinieer, kan `Dutch' niet op
+`Artikel' losgelaten worden alsof het gewoon `Article' was. Momenteel
+is `Artikel' dus een `onbekende documentstijl' waar het `Dutch'
+betreft, en wordt er geen gebruik gemaakt van het feit dat een aantal
+definities zich ook in `Dutch' bevinden.
+
+\subsection{Een steek onder water}
+Hoewel het mij tegen de borst stuit het Engels een voorkeurspositie te
+geven onder de wereldtalen --~zeker in een voor het Nederlands
+bedoelde stijl~-- heb ik besloten de Engelse parameterwaarden uit
+`Dutch' als verstekwaarde in de `Artikel'-stijlen op te nemen. Een
+belangrijk argument hiervoor is dat dit de stijlen geheel gelijk maakt
+aan `Article' op commando\-nivo: zonder extra opties worden er Engelse
+teksten geleverd, en voor Nederlands of Duits in een optiebestand
+nodig.
+
+Een minstens zo belangrijk argument\footnote{mij door Nico Poppelier
+ aan de hand gedaan} hiervoor is dat de `Artikel'-stijlen zo een
+steek onder water naar Leslie Lamport vormen. Ze zeggen als het ware
+`\emph{Look here buster,} zo had het van begin af aan moeten zijn'.
+
+\part{Mechanismen; veranderingen in Artikel1}
+
+In de nu volgende subsecties worden de veranderingen ten opzichte van
+de oude artikelstijl besproken in volgorde van oplopende
+moeilijkheidsgraad van implementatie. De algemene mechanismen worden
+besproken, alsmede hun concrete realisatie in~`Artikel1'.
+
+\section{Trivialiteiten}
+
+In de `article'-stijl staat `raggedbottom' aan voor enkelzijdige
+documenten. Dit moet uit. `Frenchspacing' dient altijd aan te staan.
+
+\subsection{Paginanummers}
+De gebruiker kan met \verb.\pagestyle{STIJL}. een stijl van kop- en
+voetregels opgeven. De `Article' stijl definieert `plain'
+(gecentreerde voetregels), en `headings' en `myheadings'
+(asymmetrische kopregels). Als een gebruiker een stijl specificeert,
+resulteert dat in de aanroep van een commando \verb.\ps@STIJL..
+
+Omdat ik paginanummers wil hebben die rechts staan voor enkelzijdige
+documenten, en links/rechts voor tweezijdige documenten heb ik het
+commando \verb.\ps@plain., de verstekwaarde, omgebouwd.
+
+\subsection{De samenvatting in `Artikel1'}
+In `Artikel1' heb ik de samenvatting tegen de linker kantlijn aan
+getrokken. Het is nu enkel een groep waarbinnen de korpsgrootte
+`small' gebruikt wordt.
+
+\section{Makkelijke veranderingen: witregels}
+
+De \LaTeX\ artikelstijl wordt gekenmerkt door een overmaat aan
+witregels. Hierin is stevig gesnoeid.
+
+\subsection{Witregels rond koppen}
+
+De `article'-stijl maak zowel het wit boven als onder koppen rekbaar.
+Gevoegd bij het feit dat de `natuurlijke lengte' van dit wit al aan de
+ruime kant is, maakt dit het paginabeeld erg los. Witregels moeten
+kleiner worden, en mogen tussen kop en de eerste regel van de tekst
+niet rekbaar zijn. Verder verdient het aanbeveling de witruimte in
+termen van het regeltransport aan te geven.
+
+\subsubsection{Relevante concepten}
+Het wit onder en boven koppen wordt bepaald door parameters 4~en~5 van
+\verb.\@start.\-\verb.section., hetwelk commando in `art1$x$.sty'
+gebruikt wordt om de sectiekopcommando's te defini"eren. Parameter~4
+dient (in ons geval) het negatieve van de gewenste skip te
+specificeren.
+
+\newpage
+\subsubsection{Implementatie van de veranderingen}
+De volgende waarden voor de verticale witruimte zijn gebruikt
+\begin{table}[ht]
+ \begin{center}
+ \begin{tabular}{|l|r|r|} \hline
+ \emph{kop} & \emph{wit boven kop}&\emph{wit onder kop}\\ \hline
+ section & -2-1+.5 & .5\\
+ subsection & -1-.5+.25 & .25\\
+ subsubsection& -1-.5+.25 & .25\\ \hline
+ \end{tabular}
+ \end{center}
+ \caption{Hoeveelheid vertikaal wit in termen van
+ `normalbaselineskip'}
+\end{table}
+(in eerste instantie waren mij hogere waarden gesuggereerd, na
+inspectie bleken deze waarden beter te voldoen).
+
+De hoeveelheid wit boven koppen steekt niet zo nauw. Die eronder wel.
+In het bijzonder is het een merkwaardig idee het wit onder koppen
+rekbaar te hebben. De grootte van dit wit draagt aanzienlijk bij aan
+het ritme van de pagina.
+
+
+Opmerking: Aangezien alle skips in termen van de `baselineskip'
+gegeven worden, kunnen deze definities opgetild worden van het
+optiebestand naar het stijlbestand.
+
+
+\subsection{Witregels rond lijststructuren}
+
+Witregels rond de items van een lijststructuur maken het paginabeeld
+onrustiger, en zijn vaak niet functioneel: een `itemize'-structuur is
+meestal \'e\'en doorlopend betoog waarin witregels ongewenst zijn. Er
+valt iets voor te zeggen rondom `description'-structuren wel witregels
+toe te staan, aangezien de beschrijvende termen in feite een kopje
+vormen.
+
+De eerste tekstregel na een lijststructuur dient niet ingesprongen te
+worden, ongeacht of de gebruiker een regel open gelaten heeft achter
+de lijst (bij voorbeeld om zijn invoer overzichtelijker te maken).
+
+
+\subsubsection{Inventaris van relevante concepten}
+\LaTeX\ bestuurt witregels rond en in lijststructuren met de
+parameters `topsep', `partopsep', `itemsep', `parsep'.
+\begin{figure}[hb]
+ \begin{center}
+ \begin{tabular}{ll}
+ topsep & ruimte boven een lijst\\
+ partopsep & extra als de lijst een nieuwe paragraaf opent\\
+ itemsep & ruimte tussen items\\
+ parsep & ruimte tussen paragrafen.\\
+ \end{tabular}
+ \end{center}
+ \caption{Parameters in tabel-omgeving}
+\end{figure}
+Deze parameters worden gezet in `art1$x$.sty' in het commando
+\begin{verbatim}
+@list\romannumeral\the\@listdepth
+\end{verbatim}
+hetgeen ge`eval'd wordt in \verb.\@list..
+
+Spaties na een lijststructuur kunnen onderdrukt worden door
+\verb.\if@ignoretrue. toe te voegen aan `enditemize'
+en~`endenumerate'. Het is nog niet duidelijk of voorkomen kan worden
+dat er ingesprongen wordt als de gebruiker een lege regel ingeeft.
+
+
+\subsubsection{Implementatie van de veranderingen}
+Voor de gebruikte lijststructuren (met mogelijke uitzondering van
+`description') dienen al deze parameters nul te zijn.
+
+Opmerking: als voor de `labelwidth' en de `labelsep' een oplossing in
+termen van fontparameters gevonden wordt, kunnen de `listi' en
+dergelijke commando's opgetild worden van het stijloptiebestand naar
+het stijlbestand zelf.
+
+
+\subsection{Verdere witregels}
+Het wit rond lijststructuren wordt bestuurd door de locale `topsep',
+die we boven nul gemaakt hebben, en door de globale `topsep'. Voor
+een strakke opmaak is het wenselijk die nul te maken, echter hiermee
+verdwijnt ook het wit op een plaats waar dat wel wenselijk is: rond
+`verbatim' delen van het document. De oplossing zou kunnen zijn het
+invoegen van een `topsep' in het \verb.\verbatim. commando.
+
+De witregel tussen voetnoten wordt bestuurd door de `footnotesep'. Ik
+zou niet weten waarom die anders dan nul zou moeten zijn.
+
+
+\section{Ook niet moeilijk: fonts}
+
+Er moet wat met fonts gerommeld worden. Voornamelijk moeten ze
+kleiner, en het cursief moet vervangen worden door wat in Nederlandse
+terminologie `gecursiveerd' heet; wij \TeX ies kennen dit als
+`slanted'.
+
+\subsection{Fonts in sectiekoppen}
+
+De fonts gebruikt in tussenkopjes zijn proefondervindelijk tot stand
+gekomen, en waarschijnlijk nog aan mutatie onderhevig. De
+oorspronkelijk idee"en komen uit de `Sober'-stijl van Nico Poppelier.
+Daarna is het `italic' vervangen door `slanted'. Kwestie van smaak.
+Ik hou niet van de~\mbox{\emph{cmti}}. Verder is het klein kapitalen
+font als `\dots~en hopeloos ouderwets'~\cite{Inge} de laan
+uitgestuurd.
+
+\subsection{Theorems en het `emphasize' font}
+
+Om tekst te beklemtonen gebruikt \LaTeX\ het cursieve font
+\texttt{cmti}. Dit vin' ik niet mooi. Binnen de Nederlandse stijlen
+wordt er dus beklemtoond met \texttt{cmsl}. Ook in de `theorem'
+omgevingen is deze vervanging doorgevoerd.
+
+
+\section{Moeilijke veranderingen: eenheidsinspringing}
+
+Ten einde een strakke paginaopmaak te verkrijgen, verdient het
+aanbeveling het aantal (impliciete) kantlijnen tot een minimum te
+beperken. De radicaalste oplossing voor dit probleem bestaat uit
+
+\begin{enumerate}
+\item alle labels in lijststructuren tegen de linkerkantlijn aan te
+ plaatsen (dit is niet zo mooi als er ver ingesprongen wordt),
+\item voetnoten niet te laten inspringen (ingesprongen voetnoten zien
+ er alleen goed uit als ze meer dan \'e\'en regel lang zijn), en
+\item een eenheidsinspringing in te voeren voor
+ \begin{itemize}
+ \item alinea's,
+ \item teksten van koppen op alle nivo's, en
+ \item de ingesprongen tekst in lijststructuren.
+ \end{itemize}
+\end{enumerate}
+Laten we er voorlopig dus vanuit gaan dat er een parameter
+`unitindent' is. De berekening van deze grootheid komt verderop aan de
+orde.
+
+\subsection{Inspring bij lijststructuren}
+
+Labels voor items in een lijst defini"eren gemakkelijk een tweede
+kantlijn. Het kan dus gewenst zijn ze tegen de linkerkantlijn van de
+omringende tekst aan te plaatsen.
+
+\subsubsection{Inventaris van relevante concepten}
+Een lijst op het eerste nivo springt in over `leftmargini'. Het label
+wordt van de tekst gescheiden door `labelsep', en heeft breedte
+`labelwidth', tenzij de natuurlijke breedte groter is. De linkerkant
+van het label staat echter altijd op `labelwidth' plus `labelsep' van
+de ingesprongen kantlijn. De inhoud van het label wordt in de
+omringende box geplaatst door het commando `makelabel'.
+
+Al deze begrippen worden ingevuld in de commando's `list$x$'.
+
+\subsubsection{Implementatie van de veranderingen}
+Het zetten van parameters kan mooi in de `list$x$' commando's
+gebeuren:
+\begin{verbatim}
+\def\@listi{\leftmargin=\unitindent
+ \labelsep=\enspace
+ \labelwidth=\leftmargin
+ \advance\labelwidth by -\labelsep}}
+\end{verbatim}
+Als de `unitindent' door fontparameters bepaald wordt, hoeft deze
+definitie niet meer in het optiebestand te staan, maar kan naar de
+stijldefinitie opgetild worden.
+
+Het veranderen van de definitie van `makelabel' is lastiger: dit moet
+in het tweede argument van `list' gebeuren. We zullen dus `itemize' en
+`enumerate' moeten herdefini"eren met een nieuwe definitie van
+`makelabel'.
+
+\subsubsection{Speciale behandeling eerste nivo}
+
+Omdat de `unitindent' tamelijk groot uitvalt, heb ik ervoor gekozen
+labels op het eerste nivo rechts aan te lijnen (waardoor ze dus in
+bescheiden mate een nieuwe kantlijn definieren), andere labels lijnen
+links.
+
+Dit is ge"implementeerd door in het `commands' argument van
+\verb.\@list. de definitie van `makelabel' afhankelijk te maken van de
+\verb.\@listdepth..
+
+
+
+\subsection{Inspring bij koppen}
+
+De plaatsing van de tekst van koppen (achter het sectienummer) is in
+\LaTeX\ ogenschijnlijk willekeurig, en draagt hiermee (zeker als twee
+koppen onder elkaar staan) bij tot een onrustig paginabeeld. Dit kan
+aanmerkelijk verbeterd worden door voor het sectienummer en de erop
+volgende spatie een eenheidsbreedte te nemen.
+
+\subsubsection{Inventaris van relevante concepten}
+In het commando \verb.\@sect. wordt een commando \verb.\@svsec.
+ge`edef't dat het sectie nummer afdrukt, gevolgd door
+`1~em'\footnote{Ter herinnering:
+ \begin{itemize}
+ \item Er zijn 5 nivo's van sectiekoppen: `section', `subsection',
+ `subsubsection', `paragraph', en `subparagraph'.
+ \item De eerste 3 nivo's zijn genummerd.
+ \item De laatste twee nivo's geven een kop die in de tekst is
+ ingebed.
+ \end{itemize}}\footnote{Aangezien de definitie van 'em' met het
+ gebruikte font meeverandert, geeft het gebruik van twee of drie
+ koppen onder elkaar een merkwaardig visueel effect.}.
+
+\subsubsection{Implementatie van de veranderingen}
+Er moet een nieuwe versie van \verb.\@sect. komen die een verbeterde
+\verb.\@svsec. bevat:
+\begin{verbatim}
+\edef\@svsec{\hbox to \unitindent
+ {\csname the#1\endcsname\hfil}}
+\end{verbatim}
+In plaats van `unitindent' kan als breedte ook een verdere
+parametrisatie met
+\begin{verbatim}\csname #1labelwidth\endcsname
+\end{verbatim}
+gekozen worden. De `unitindent' kan als volgt gegenereerd worden:
+\begin{verbatim}
+\newdimen\unitindent
+{\setbox0\hbox{\normalsize\bf 2.2.2\ }
+ \global\unitindent=\wd0}
+\parindent=\unitindent
+\leftmargini=\unitindent
+\end{verbatim}
+
+Dit is helaas nog niet voldoende. Als een gebruiker erg veel van
+secties en subsecties houdt, kunnen de nummers een grotere breedte dan
+die van `2.2.2' krijgen. Daarom wordt het label iedere keer bij een
+nieuw kopje opgemeten, en zonodig wordt de `unitindent' bijgesteld.
+Bij het afsluiten van het document wordt dan de definitieve waarde
+(die misschien de oude is, en misschien veel meer) naar het
+\texttt{.aux}-bestand geschreven. Dat wil zeggen: er wordt een
+toewijzing van die waarde aan de unitindent weggeschreven.
+
+Adders en voetangels te over: hiervoor moet het commando `enddocument'
+herschreven worden.
+
+
+\section{Verdere moeilijke veranderingen: de opmaak van
+ lange koppen. Zoals deze dus. Reeds. Antidisestablishmentarianism.
+ Hottentottententententoonstelling.}
+
+\LaTeX\ zet koppen als ingesprongen paragrafen. Het is echter niet
+gewoon dat een meerregelige kop zo behandeld wordt: beter is het vrije
+regelval te gebruiken en vooral woordafbreking (zelfs in samengestelde
+woorden) te verbieden.
+
+\subsection{Inventaris van relevante concepten}
+Binnen het commando \verb.\@sect. wordt de kop van de sectie gezet als
+\begin{verbatim}
+{\interlinepenalty\@M #8\par}
+\end{verbatim}
+
+\subsection{Implementatie van de veranderingen}
+Aan de zetcommando's voor de sectiekoppen dient een aanroep van
+`headstyle' toegevoegd te worden, waar
+\begin{verbatim}
+\def\headstyle{\nohyphenation \rightskip=0cm plus 3cm}
+\end{verbatim}
+of zoiets. Het commando `nohyphenation' kan op verschillende manieren
+bereikt worden, ik heb gekozen voor \verb+\hyphenpenalty=10000+, en
+idem zo voor de `exhyphenpenalty'.
+
+\section{Opties}
+
+De stijlen `Artikel1' en `Artikel3' hebben een door de gebruiker te
+kiezen optie. Hiermee kan de gebruiker de opmaak naar eigen
+goeddunken varieren. Misschien dat er nog wel meer van dat soort
+opties komen.
+
+\subsection{Hoe werken opties}
+Een door de gebruiker gespecificeerde stijloptie wordt soms
+gerealiseerd door een commando in het stijlbestand, en soms door een
+in te laden optiebestand. Het mechanisme dat dit bewerkstelligt is
+het volgende.
+
+Ergens bovenin het stijlbestand worden commando's \verb.\ds@OPTION.
+gedefinieerd. Als de gebruiker de betreffende optie meegegeven heeft,
+wordt dit commando uitgevoerd door \verb.\@options., dat ook ergens
+bovenin het stijlbestand staat. Voor die opties waarvoor geen
+\verb.\ds@OPTION. macro gedefinieerd is, wordt na de verwerking van
+het stijlbestand door \LaTeX\ een bestand \verb.OPTION.STY. geladen.
+
+\section{De inhoudsopgave}
+
+\subsection{Beschrijving}
+\subsubsection{Inventaris van kwalen}
+Treebus vindt het zogenaamde `uitpunten' van een inhoudsopgave een
+minder geslaagd idee. Ook over het steeds verder inspringen van kopjes
+in de inhoudsopgave is hij niet te spreken. Laat dit nu precies zijn
+wat \LaTeX\ doet.
+
+Wat mij dan nog stoort zijn de grote verschillen in zetwijze
+van kopjes op verschillende nivo's.
+
+\subsubsection{Remedie}
+
+\paragraph{Kantlijnen}
+Alle nummers worden tegen de linker kantlijn getrokken, en de kopjes
+staan dan (allemaal) op `unitindent' van de linker kantlijn. Dit
+levert geen problemen op omdat er net zoveel nivo's nummering in
+kopjes als in de inhoudsopgave voorkomen.
+
+\paragraph{Fonts}
+Kopjes worden in drie verschillende fonts gezet om de hierarchie uit
+te doen komen. Ik heb gekozen voor `bf', `sl', en `rm' in
+`normalsize'. Er valt over te twisten of dit misschien gewoon de fonts
+van de koppen zelf moeten zijn.
+
+\paragraph{Verdere zetwijze}
+Er wordt vrije regelval gebruikt. Het paginanummer verschijnt direct
+achter het kopje (met een vaste hoeveelheid wit).
+
+\subsection{Implementatie}
+
+Ten eerste is er een commando \verb+\toc@font+ gekomen dat het font
+bepaalt waarmee een kop in de inhoudsopgave gaat verschijnen. Deze
+bepaling gebeurt in \verb+\@sect+, die daartoe verder is aangepast.
+
+Ten tweede is er, als vervanging van \verb+\@dottedtocline+,
+een commando\\ \verb+\@regtocline+ dat de opmaak van de kop regelt.
+De merkwaardige sequentie
+\begin{verbatim}
+\@tempdima=\unitindent
+\end{verbatim}
+zorgt ervoor dat het nummer (dat in \verb+\@sect+ in een `numberline'
+gestopt is) op de goede breedte gezet wordt.
+
+De \verb+\l@TYPE+ commando's (waar `type' is `section' en dergelijke)
+zijn omgezet zodat ze \verb+\@regtocline+ gebruiken. Uitzondering:
+\verb+\l@part+. Daar kom ik nog wel een keer aan toe.
+
+
+
+\part{Veranderingen in Artikel2}
+
+In de documentstijl `Artikel2' is voor veel zaken een geheel andere
+keuze gemaakt dan in~`Artikel1'. Vaak betekende dit dat, gegeven de
+moeite die in `Artikel1' geinvesteerd was, slechts een paar parameters
+veranderd hoefden te worden. In enkele gevallen, echter, moest een
+geheel nieuwe aanpak gevolgd worden.
+
+\section{Variaties}
+
+De beide hier beschreven documentstijlen hebben als voornaamste
+verbetering ten opzichte van `Article' een nadrukkelijk aanwezige
+tweede kantlijn. In `Artikel1' wordt deze kantlijn gebruikt door al
+het eenmaal ingesprongen materiaal. In~`Artikel2' wordt deze kantlijn
+minder radicaal gevolgd:
+\begin{itemize}
+\item`verbatim' omgevingen worden weer gewoon tegen de linkerkantlijn
+ geplaatst;
+\item de eerste kantlijn voor lijststructuren bedraagt de helft van de
+ paragraafinspinging; en
+\item de labelbreedte van voetnoten is hieraan gelijk gemaakt.
+\end{itemize}
+Alles bij elkaar wordt het gewicht van de pagina verder tegen de
+linkerkantlijn geplaatst.
+
+Van een andere kant bekeken is de tweede kantlijn (zeg dat die door de
+`parindent' bepaald wordt) in de stijl~`Artikel2' juist nadrukkelijker
+aanwezig:
+\begin{itemize}
+\item alle tussenkopjes springen in over de `parindent, en
+\item de eerste regel na een kopje springt ook in.
+\end{itemize}
+
+
+\section{Behandeling van koppen}
+\subsection{Sectie, subsectie, subsubsectie}
+\subsubsection{Elementaria}
+
+Het laten inspringen van koppen gaat door een positieve waarde voor de
+derde parameter van \verb.\@startsection. te specificeren. Door de
+vierde parameter positief te maken springt de eerste regel na de kop
+ook in.
+
+Omdat de tekst van de kopjes nu geen verdere kantlijn definieert hoeft
+er niet zo'n moeite gedaan te worden om die te plaatsen als
+in~`Artikel1'. Ik heb de normale \LaTeX-constructie van een vaste
+`skip' weer in ere hersteld; op drie-tiende `em' deze keer.
+
+\subsubsection{Complicaties}
+
+Om te voorkomen dat bij lange koppen de tekst alsnog een tweede
+kantlijn gaat defini"eren moest de \verb.\@hangfrom. die dit
+bewerkstelligt verwijderd worden. Bij volledig verwijderen, echter,
+zal de tweede regel van de kop tegen de linker kantlijn geplaatst
+worden. Ook niet de bedoeling.
+
+In de aanpak die ik gevolgd heb hangt de tekst nu aan de inspringing;
+het commando \verb.\@svsec. dat het nummer zet is gewoon in de tekst
+geplaatst.
+
+
+\subsection{Part}
+
+Het zou leuk zijn als de eerste regel na een `part'-kop ook insprong.
+Het al dan niet inspringen van deze regel wordt bestuurd door de
+schakelaar \verb.\@ifafterindent. waarop getest wordt in
+\verb.\@afterheading.. Normaal wordt inspringen voorkomen door deze
+schakelaar in `part' op onwaar te zetten.
+
+Het zal de perceptieve lezer duidelijk zijn wat ik gedaan heb om
+inspringen van de eerste regel na een `part' af te dwingen.
+
+\section{De samenvatting}
+
+In `Article' (maar niet in `Artikel1') wordt de samenvatting gezet
+door middel van de `quotation' omgeving. Dit, op zijn beurt, is een
+`list' met slechts een item, in dit geval de tekst van de
+samenvatting. Net als in~`Article' zou ik de samenvatting ingesprongen
+willen zien over de alineainspring. Dit lukt niet meer als de
+samenvatting als een `quotation' gezet wordt, aangezien de
+lijstinspringing (op het eerste nivo) de helft van de
+alineainspringing bedraagt.
+
+Ik heb er derhalve voor gekozen de samenvatting expliciet als een
+lijst te zetten, waarbij in het tweede argument van `list' (het
+argument waarin commando's meegegeven kunnen worden) de `leftmargin'
+op `unitindent' gezet wordt.
+
+\section{De inhoudsopgave}
+
+De inhoudsopgave wordt in `Artikel2' net zo gezet als in~`Artikel1',
+met het verschil dat de sectienummers nu niet links maar rechts
+lijnen. Dit in het kader van het beklemtonen van de tweede kantlijn.
+Hiertoe moest het commando `numberline' uit `LaTeX.tex' overgenomen en
+aangepast worden.
+
+Overigens is de tweede kantlijn in de inhoudsopgave verder naar rechts
+dan in de rest van het document. De inhoudsopgave dient dus liever
+niet op een tekstpagina te beginnen.
+
+Dat de tweede kantlijn verder naar rechts staat betekent overigens dat
+het woord `inhoudsopgave', dat als een sectiekop gezet wordt,
+voorafgegaan moet worden door een `skip' ter breedte van het verschil.
+
+
+
+\part{Veranderingen in Artikel3}
+
+Uitgaande van `Artikel1' was het kinderspel een stijl te maken die net
+zo strak links lijnend oogde, maar die bovendien geen
+alinea\-inspringing heeft en dit compenseert met een `parskip'.
+\begin{itemize}
+\item Er is gekozen voor een `parskip' ter grootte van de helft van de
+ `baselineskip'.
+\item De `topsep' in lijststructuren --~de witruimte boven en onder de
+ gehele lijst~-- is \emph{minus} de halve `parskip'; netto effect is
+ dat hier de helft van de witruimte komt die zich tussen alineas
+ bevindt.
+\item De grootte van de `unitindent' kon ongewijzigd blijven,
+ aangezien kopjes nog steeds op dezelfde wijze gezet worden.
+\item Het wit onder kopjes is op nul gezet. Dit betekent niet dat er
+ geen wit staat, want de `parskip' krijg je hoe dan ook kado.
+\end{itemize}
+Het geheel oogt wel aardig.
+
+\begin{thebibliography}{9}
+
+\bibitem{Inge}Inge Eijkhout, Gesprekken en correspondentie, 1989.
+
+\bibitem{Leslie}Leslie Lamport, \emph{\LaTeX, a document preparation
+ system}, Addison-Wesley, 1986.
+
+\bibitem{Miles}John Miles, \emph{Ontwerpen voor Desktop
+ Publishing\footnote{De Nederlandse uitgave is goedkoper dan de
+ Engelse, maar doet een zware aanslag op je ogen, door het soort
+ zetfout dat in \TeX\ onmogelijk zou kunnen voorkomen.}, Alles
+ over layout en typografie op de personal computer}, Uitgeverij
+ Mingus, Baarn~1988.
+
+\bibitem{Karel}Karel Treebus, \emph{Tekstwijzer, een gids voor het
+ grafisch verwerken van tekst}, SDU~uitgeverij, 1988.
+
+\end{thebibliography}
+
+
+\newpage
+\tableofcontents
+\listoftables
+\listoffigures
+
+\end{document}
+
+
+
+
+
+