TeX voor beginners

Om te beginnen, het woord "TeX" wordt vaak in verschillende betekenissen gebruikt:
  • De werkomgeving waarin alle voor TeX-gebruikers relevante gereedschap zijn opgenomen;
  • Het programma (executable), zeg maar de "compiler" die TeX-documenten verwerkt;
  • Het macropakket dat alle TeX-commando's definieert.

In het eerste geval hebben we het over een omvangrijk software-pakket dat uit duizenden bestanden kan bestaan, waaronder de TeX "compiler".

In het tweede geval hebben we het over het belangrijkste onderdeel van dat pakket. De compiler is namelijk het programma dat een TeX-document verwerkt tot uitvoer, bv. in de vorm van PDF.

In het derde geval bedoelen we een pakket van macro's (kleine procedures of functies) die het opzetten van TeX-documenten makkelijk maken, en dat bepalend is voor wat er al dan niet mogelijk is.

TeX-documenten

Hoe zien TeX-documenten er dan uit, en hoe bewerk je ze? TeX-documenten zijn puur ASCII en kunnen dus met willekeurige "editors" gemaakt worden. Onder Windows is dat bv. Notepad of WinEdt; onder Unix bv. Vim of Emacs; op de Mac bv. BBedit.

Zo'n ASCII-bestand is dus niet "What You See Is What You Get", maar lijkt meer op de broncode van een webpagina. Er zitten nl. "commando's" in die door de compiler geïnterpreteerd worden. Welke commando's dat zijn hangt af van het macropakket dat gebruikt wordt.

Er worden momenteel drie belangrijke macropakketten op grote schaal gebruikt:

  • Plain TeX: dit is het meest oorspronkelijke, en vormt de basis voor zowel LaTeX als ConTeXt. Het is voor beginnende gebruikers echter niet gemakkelijk onder de knie te krijgen.
  • LaTeX: dit pakket wordt het meest gebruikt en biedt functionaliteit en is relatief gemakkelijk in het gebruik.
  • ConTeXt: dit pakket is het meest geavanceerd en desalniettemin gemakkelijk in het gebruik.
Als we de volgende tekst:
TeX is fantastisch want:
  1. Het is krachtig
    • Het is programmeerbaar
    • Het is betrouwbaar
  2. Het is leuk

Conclusie

Gek dat niet iedereen TeX gebruikt.
in TeX willen zetten, dan zou dat er ongeveer zo uitzien:

Plain TeX:

\TeX\ is fantastisch want:
\item {1.}  Het is krachtig
  \itemitem * Het is programmeerbaar
  \itemitem * Het is betrouwbaar
\item {2.} Het is leuk

\beginsection Conclusie

Gek dat niet {\it iedereen} \TeX\ gebruikt.
\bye

LaTeX:

\documentclass{report}
\begin{document}
\TeX\ is fantastisch want:
\begin{enumerate}
\item Het is krachtig
\begin{itemize}
  \item Het is programmeerbaar
  \item Het is betrouwbaar
\end{itemize}
\item Het is leuk
\end{enumerate}

\section*{Conclusie}

Gek dat niet \emph{iedereen} \TeX\ gebruikt.
\end{document}

ConTeXt:

\starttekst
\TeX\ is fantastisch want:
\startopsomming[n]
\item Het is krachtig
\startopsomming[2]
  \item Het is programmeerbaar
  \item Het is betrouwbaar
\stopopsomming
\item Het is leuk
\stopopsomming

\section{Conclusie}

Gek dat niet {\em iedereen} \TeX\ gebruikt.
\stoptekst

Merk op dat alleen ConTeXt Nederlandstalige commando's biedt (overigens ook Engels, Frans, Duits e.d.). Merk ook op dat bij LaTeX en ConTeXt een hoger abstractieniveau van commando's beschikbaar is.

Naast de getoonde commando's bevatten alle drie de pakketten nog vele honderden andere, die een TeX-gebruiker echter gelukkig niet allemaal hoeft te kennen. Wel is het belangrijk te weten dat bijna alles mogelijk is en ook al eens door iemand geprogrammeerd is. O.a. via mailing lists is vaak snel te krijgen op vragen hoe iets het beste kan worden gedaan.

De compiler

De ASCII-tekst wordt door een compiler verwerkt tot uitvoer in de vorm van (meestal) DVI of PDF. DVI is een eigen formaat van TeX waar we hier niet verder op ingaan.

Als de ASCII-tekst volledig correct is, dan zal de compiler meestal binnen een seconde of wat klaar zijn. Als de compiler echter een fout ontdekt dan zal die daar melding van maken, en mogelijk wachten tot de gebruiker aangeeft hoe nu verder. Het doorgronden van foutmeldingen kan erg lastig zijn.

Mogelijkheden

Wat we hierboven hebben laten zien is het meest basale van werken met TeX. Uiteraard is er veel meer mogelijk. We noemen er hier slechts een paar:
  • Inhoudsopgave: die maakt TeX automatisch, met vele mogelijkheden om de vormgeving daarvan aan te passen.
  • Bibliografieën: TeX kan automatisch referentie naar artikelen, boeken, etc. invoegen en op het eind een referentielijst produceren. De stijl waarin gerefereerd wordt en de opmaak van de lijst zijn volledig configureerbaar.
  • Indexen: ook die kan TeX moeiteloos produceren.
  • Interactieve documenten: denk aan presentaties waarin op het scherm knoppen staan die bepaalde functies activeren.
  • Documenten van uitzonderlijke omvang en complexiteit: TeX heeft geen moeite met bv. een encyclopedie van 10.000 bladzijden, met 1.000.000 kruisverwijzingen en 30.000 figuren en foto's. Dat daar 100 verschillende auteurs gelijktijdig aan werken maakt ook niet uit.
  • "Vreemde" talen: TeX kan ook overweg met Grieks, Arabisch (rechts naar links), Chinees, Russisch, etc. Desgewenst allemaal door elkaar. Ook voor westerse talen geldt dat TeX in staat is alle typografische regels van die talen te respecteren, zoals aanhalingstekens, spatiëring, accenten, afbreekregels, nummering, datumweergave en nog veel meer.

Verder lezen

Er is enorm veel literatuur beschikbaar. We doen een greep in de gratis beschikbare documenten die geschikt zijn voor beginners:
  • A Gentle Introduction to TeX (Michael Doob): Een Engelstalige handleiding die stap voor stap uitlegt hoe TeX werkt en hoe documenten in Plain TeX opgezet kunnen worden.
  • Handleiding LaTeX (Piet van Oostrum): Een uitvoerige Nederlandstalige handleiding bij het gebruik van LaTeX.
  • ConTeXT; de handleiding (Hans Hagen): Een Nederlandstalige handleiding die in detail uitlegt hoe met ConTeXt om te gaan.
  • 4TeX for Windows (Wietse Dol & Erik Frambach): Een Engelstalige handleiding waarin de principes van TeX worden behandeld, en waarin ook vereenvoudigde introducties op Plain TeX, LaTeX en ConTeXt zijn opgenomen.
Wie serieus wil beginnen raden we aan om een complete TeX-omgeving op zijn computer te installeren en zich te abonneren op een mailing list zoals TEX-NL, waar alle mogelijke vragen gesteld kunnen worden aan specialisten. En als het bevalt, wordt dan lid van de NTG, een vereniging die veel voordelen biedt voor TeX-gebruikers!