diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/ntgclass/rapdoc.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/ntgclass/rapdoc.tex | 710 |
1 files changed, 710 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/ntgclass/rapdoc.tex b/Master/texmf-dist/doc/latex/ntgclass/rapdoc.tex new file mode 100644 index 00000000000..c241b5f6652 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ntgclass/rapdoc.tex @@ -0,0 +1,710 @@ +% \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[oldtoc,a4paper,10pt]{rapport3} +\usepackage[dutch]{babel} + + +\begin{document} +\date{3 september 1989 / 3 juni 1994} +\title{Documentstijlen RAPPORT$x$\\ + Verantwoording} +\author{Victor Eijkhout} +\maketitle + +\begin{abstract} + Dit is de verantwoording voor de documentstijlen `Rapport$x$'. Deze + stijlen zijn bedoeld als een mogelijke vervanging van de stijl + `Report'. 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} + +\tableofcontents +\listoftables +\listoffigures + +\part{Algemeen} + +\chapter{Verantwoording} + +De documentstijlen `Rapport$x$' zijn bedoeld als verbetering van de +standaard \LaTeX-document\-stijl `report'. De meeste macros zijn +derhalve modificaties van constructies uit `report.sty' of +`latex.tex'. Ook zijn deze stijlen te beschouwen als opwerking van +`Artikel1' en `Artikel2' (`Article'-compatibel) tot `Report'-status. + +Bij het ontwerpen van de opmaak heb ik het advies van Inge +Eijkhout~\cite{Inge} dat ik kreeg bij het ontwerpen van de `Artikel1' +stijl onverminderd kunnen gebruiken. Evenzo vermeld ik wederom de +`Tekstwijzer'~\cite{Treebus} van Karel Treebus en John Miles' +`Ontwerpen voor Desktop Publishing'~\cite{Miles}. Voor het ontwerp +van het zogenaamde `voorwerk' ben ik te rade gegaan bij Stanley +Morison~\cite{Morison}. Wat er fout is aan deze stijlen blijft +natuurlijk voor mijn rekening komen. + + +\section{Overzicht} + +De documentstijlen `Rapport1' en `Rapport2' zijn geheel compatibel met +`report': er zijn geen commando's toegevoegd of weggelaten. De +veranderingen ten opzichte van `report' 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 `report') `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). + + + +\chapter{Exportkwaliteit documentstijlen} + +De documentstijlen `Rapport$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. + +\section{Kanttekeningen} +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. + +\section{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{Specifiek} + +\chapter{Mechanismen; veranderingen in Rapport1} + +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~`Rapport1'. + +\section{Trivialiteiten} + +In de `report'-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. + + +\section{Makkelijke veranderingen: witregels} + +De \LaTeX\ artikelstijl wordt gekenmerkt door een overmaat aan +witregels. Hierin is stevig gesnoeid. + +\subsection{Witregels rond koppen} + +De `report'-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. + +\subsubsection{Implementatie van de veranderingen} +De volgende waarden voor de verticale witruimte zijn gebruikt +\begin{table}[h] + \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. + + + +\noindent 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 uit figuur~1. + +\begin{figure} + \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{witregelparameters in lijsten.} +\end{figure} + + +\noindent 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'. + +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. + + + +\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{enumerate} + \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{enumerate}}\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 `Rapport1' en `Rapport3' 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. + +\subsection{De `oldtoc' optie} +Sommige mensen houden nogal van uitgepunte inhoudsopgaves. Ik niet, +vandaar dat een inhoudsopgave analoog aan die van de `Tekstwijzer' +standaard is. Met de optie `oldtoc' kan de oude \LaTeX\ inhoudsopgave +verkregen worden. + + +\subsection{Het `Voorwerk' optiebestand} +Een essentieel verschil tussen `Rapport' en `Artikel' is dat de eerste +een heus voorwerk heeft: een titelpagina, een afzonderlijke pagina +voor de samenvatting, en losse pagina's voor de titels van de delen. +Met in het achterhoofd een citaat van Stanley Morison~\cite{Morison} +over de opbouw van de titelpagina: +\begin{quotation} + Daar onderkast een noodzakelijk kwaad is, dat we in de hand moeten + houden als we het niet kunnen uitroeien, moet het gebruik daarvan + worden vermeden daar waar dat het minst logisch en het + onaantrekkelijkst is: in grote corpsen. De belangrijkste regel moet + uit kapitalen worden gezet~[\dots]. En wat er ook nog met de rest + van de pagina moge gebeuren, de naam van de schrijver moet, zoals + alle met nadruk gepresenteerde eigennamen, uit kapitalen worden + gezet. +\end{quotation} +heb ik de `Titlepage.sty' vervangen door een `Voorwerk' stijloptie, +die titel en schrijversnaam in kapitalen zet. + + +\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. + + + +\chapter{Veranderingen in Rapport2} + +In de documentstijl `Rapport2' is voor veel zaken een geheel andere +keuze gemaakt dan in~`Rapport1'. Vaak betekende dit dat, gegeven de +moeite die in `Rapport1' 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 `report' een nadrukkelijk aanwezige +tweede kantlijn. In `Rapport1' wordt deze kantlijn gebruikt door al +het eenmaal ingesprongen materiaal. In~`Rapport2' 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~`Rapport2' 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~`Rapport1'. 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 inhoudsopgave} + +De inhoudsopgave wordt in `Rapport2' net zo gezet als in~`Rapport1', +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 Rapport3} + +Uitgaande van `Rapport1' 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, \emph{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{Morison}Stanley Morison, \emph{Grondbeginselen der + Typografie}, (vertaling uit het Engels door Huib van Krimpen) + Uitgeverij de Buitenkant, Amsterdam 1987. + +\bibitem{Treebus}Karel Treebus, \emph{Tekstwijzer, een gids voor het + grafisch verwerken van tekst}, SDU~uitgeverij, 1988. + +\end{thebibliography} + + +%\vfill\eject +%\tableofcontents + + +\end{document} + + + + + + |