> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/nl/diepgaande-artikelen/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

# What's in a Name: Een gids voor de vele smaken van TeX

## Inleiding

Misschien heb je gehoord van, of gelezen over, iets dat “TeX”, “LaTeX” of “pdfLaTeX” heet — of een van de vele vergelijkbaar klinkende termen — maar weet je niet helemaal wat ze eigenlijk betekenen? Zo ja, dan is dit artikel voor jou: een niet-technische achtergrond om de vele varianten van TeX-gebaseerde software uit te leggen — wat ze betekenen en waarom ze bestaan. Voor nu vereenvoudigen we de bespreking door de generieke term “TeX” te gebruiken, maar later geven we de context en betekenis van de vele afgeleiden en varianten: LaTeX, pdfTeX, pdfLaTeX, XeTeX, XeLaTeX, LuaTeX en LuaLaTeX. Je hebt sommige van die termen misschien gezien in het menu van Overleaf, waar je je voorkeur voor een “Compiler” kunt selecteren:

![Een LaTeX-compiler kiezen in Overleaf](/files/09d2f615a342e8760b40195e7338576914474da5)

Als je geen doorgewinterde TeX-gebruiker bent, of niet bekend bent met het ecosysteem ervan, kunnen de vele “soorten TeX” verwarrend zijn; tegen het einde van dit artikel zul je je echter veel beter geïnformeerd en op je gemak voelen wanneer je met collega’s, auteurs of redacteuren van tijdschriften praat die vertrouwd zijn met TeX-gerelateerde terminologie.

### De context: 40 jaar ontwikkeling

De wortels van TeX gaan terug tot het einde van de jaren zeventig, en in de decennia na de creatie ervan zijn talloze op TeX gebaseerde zetprogramma’s ontwikkeld die aanzienlijke verbeteringen en extra functionaliteit bieden ten opzichte van het oorspronkelijke TeX-programma. Wie nieuw is in STM-publicaties, of het als carrière overweegt, zal misschien verbaasd zijn te horen dat zetsoftware waarvan de oorsprong ongeveer 40 jaar teruggaat nog steeds op grote schaal wordt gebruikt door technische auteurs — en via diensten zoals Overleaf een cruciaal onderdeel vormt van veel moderne publicatieworkflows.

### TeX is niet alleen voor wiskunde

Het is een veelvoorkomende, zij het begrijpelijke, misvatting dat het gebruik van TeX beperkt is tot wetenschappelijke en technische disciplines; in het bijzonder het zetten van complexe wiskunde. Hoewel het vooral in die domeinen wordt gebruikt, wordt TeX-gebaseerde software ook op grote schaal ingezet voor de productie van niet-wiskundige inhoud — vanwege de hoge uitvoerkwaliteit en ongelooflijke veelzijdigheid. Naast het zetten van wiskunde ondersteunen de nieuwste versies van TeX (XeTeX en LuaTeX genoemd) moderne lettertype-technologieën (OpenType), Unicode-gebaseerde tekstinvoer, OpenType-gebaseerde wiskundige lettertypen (zoals geïntroduceerd door Microsoft Word), meertalig zetten (inclusief Arabisch en andere complexe schriftsystemen), directe uitvoer naar PDF en nog veel meer. Hier is bijvoorbeeld een demonstratie van XeTeX’s [meertalige zetwerk met talen met complexe schriftsystemen](https://www.overleaf.com/latex/examples/how-to-write-multilingual-text-with-different-scripts-in-latex/wfdxqhcyyjxz)inclusief Arabisch, Sanskriet, Hindi, Chinees, Japans, Koreaans, Grieks en Thais. Of, als je geïnteresseerd bent in koken, wat dacht je van het maken van [een receptenboekje](https://www.overleaf.com/latex/examples/simple-recipes-for-first-time-away-from-home-cooks/gscqdhnwzsfg)?

## Het ontstaan van TeX: een korte geschiedenis

De Amerikaanse historicus [Daniel J. Boorstin](https://en.wikipedia.org/wiki/Daniel_J._Boorstin) merkte ooit op dat:

> “Proberen de toekomst te plannen zonder gevoel voor geschiedenis is als proberen afgesneden bloemen te planten.”

In de geest van dat citaat beginnen we met een korte geschiedenis van TeX: waar kwam het vandaan, wie heeft het gemaakt — en waarom?

Op 30 maart 1977 noteerde het dagboek van professor Donald Knuth, een computerwetenschapper aan Stanford University, de volgende opmerking om zijn ontevredenheid uit te drukken over de kwaliteit van de drukproeven die hij zojuist had ontvangen voor deel 2 van zijn boekenreeks *The Art of Computer Programming*:

> “Drukproeven voor deel 2 komen eindelijk binnen, ze zien er afschuwelijk uit... (typografisch gezien). Ik besluit dat ik het probleem zelf moet oplossen.”

Het citaat hierboven komt van pagina 482 van [Digital Typography](https://www.amazon.co.uk/Digital-Typography-Language-Information-Publication/dp/1575860104) door Donald E. Knuth. Dat kleine dagboekfragment van professor Knuth vormde de katalysator voor een programmeerreis die vele jaren duurde en resulteerde in de creatie van zetsoftware die in staat is om prachtig gezette wiskunde en natuurlijk fraai gezette tekst te produceren: een programma dat Knuth noemde *TeX*.

Knuth is een briljant computerwetenschapper en terwijl hij TeX ontwikkelde, ontwierpen hij en zijn collega’s nieuwe en geavanceerde algoritmen om enkele zeer complexe zetproblemen op te lossen: waaronder [automatische regelafbreking](http://onlinelibrary.wiley.com/doi/10.1002/spe.4380111102/abstract), [woordafbreking](http://www.tug.org/docs/liang/liang-thesis.pdf) en natuurlijk [wiskundig zetwerk](http://www.tug.org/TUGboat/tb27-1/tb86jackowski.pdf). Als onderdeel van de ontwikkeling van TeX had Knuth lettertypen nodig voor gebruik met zijn zetsoftware, dus ontwikkelde hij zijn eigen lettertype-technologie genaamd MetaFont — hoewel we die hier niet in detail zullen bespreken.

### TeX was een enorm succes

Een aantal redenen droeg bij aan de populariteit van TeX, waaronder:

* *Zetwerk van hoge kwaliteit*: Naast de geavanceerde algoritmen die in TeX zijn ingebouwd, leidde Knuths extreme aandacht voor typografisch detail ertoe dat TeX zeer hoogwaardige gezette wiskunde en tekst kon produceren.
* *TeX is programmeerbaar*: Knuth gaf TeX zijn eigen programmeertaal. Gebruikers konden “TeX-macro’s” schrijven (een verzameling TeX-commando’s) waarmee ze veel controle kregen over het zetproces van TeX. De programmeerbaarheid van TeX is een belangrijk onderwerp en daarover bespreken we hieronder meer in detail.
* *TeX is gratis*: Knuth maakte TeX kosteloos beschikbaar — inclusief de broncode (d.w\.z. programmacode).
* *Draagbaarheid*: Knuth ontwierp de interne opzet van TeX zodanig dat het zeer draagbaar was en op veel verschillende computersystemen kon draaien. Met dezelfde invoer zou TeX identieke uitvoer produceren, ongeacht het systeem waarop het draaide — inclusief dezelfde regelafbrekingen en pagina-afbrekingen.

Auteurs waren verheugd omdat TeX wiskundigen, natuurkundigen, computerwetenschappers en anderen in staat stelde nauwkeurige controle te hebben over het zetten en de visuele verschijning van hun werk. Auteurs konden TeX gebruiken om hun artikelen of boeken te schrijven en hun manuscripten (TeX-bestanden) in te dienen bij uitgevers, zich iets zekerder voelend dat hun proefdrukken niet hetzelfde lot zouden ondergaan als dat van Knuth in 1977.

## Knuth onderhoudt TeX nog steeds, maar nieuwe “versies” zijn ontstaan

Tijdens de jaren tachtig besloot Knuth de actieve ontwikkeling van TeX te bevriezen omdat hij de stabiliteit van zijn software op lange termijn wilde waarborgen: hij besloot dat er geen nieuwe functies aan TeX zouden worden toegevoegd. In 1989 werd Knuth overgehaald om [een laatste reeks wijzigingen](https://www.tug.org/TUGboat/tb10-3/tb25knut.pdf) aan TeX aan te brengen — voornamelijk om over te stappen van 7-bits naar 8-bits tekensets. In 1990 publiceerde Knuth een artikel met de titel [The Future of TeX and MetaFont](https://www.tug.org/TUGboat/tb11-4/tb30knut.pdf) waarin hij verklaarde dat zijn ontwikkeling van TeX (en verwante software) ten einde was, maar dat anderen vrij waren voort te bouwen op het werk dat hij had gedaan.

Vandaag de dag, zo’n 4 decennia na dat noodlottige ontstaan van TeX, blijft Knuth periodiek bugfixes aanbrengen in de masterbroncode van TeX — die beschikbaar is via [CTAN (Comprehensive TeX Archive Network)](https://www.ctan.org/tex-archive/systems/knuth/dist/tex/). Die updates vinden om de paar jaar plaats, waarbij de nieuwste is [De TeX-update van 2014](https://www.tug.org/TUGboat/tb35-1/tb109knut.pdf) zoals gerapporteerd in het TeX-tijdschrift [TUGboat](https://www.tug.org/TUGboat/Contents/contents35-1.html)— de volgende update staat gepland voor 2021! Tijdens die updates voegt Knuth geen nieuwe functies toe aan TeX; het zijn echt alleen bugfixes — hoewel TeX door velen wordt beschouwd als het meest bugvrije programma ter wereld.

**Een opmerking over “versies” van TeX**: Wanneer je over TeX schrijft, is het uiterst belangrijk om te benadrukken dat er strikt genomen maar één definitieve versie van “TeX” bestaat: degene die Knuth heeft geschreven en onderhoudt. In feite is “TeX” (aangeduid met zijn gezette logo) een handelsmerk van de American Mathematical Society. Knuth heeft anderen niet uitgesloten of belemmerd om zijn code te gebruiken om software te ontwikkelen *gebaseerd op TeX*— en Knuths software uit te breiden met functies en mogelijkheden die verder gaan dan wat Knuth zelf had gekozen te implementeren. Knuth stelde echter, zoals zijn volste recht is, één sterke voorwaarde, die in de broncode van TeX te vinden is:

`Als dit programma wordt gewijzigd, mag het resulterende systeem geen TeX worden genoemd; de officiële naam TeX op zichzelf is voorbehouden aan softwaresystemen die volledig compatibel zijn met elkaar.`

Daarom is het niet helemaal correct om programma’s die zijn afgeleid van Knuths broncode als “versies” van TeX te beschrijven. Strikt genomen, *TeX-gebaseerde* software die is afgeleid van TeX’s broncode zou “aanpassingen” of “afgeleiden” moeten worden genoemd, maar voor de eenvoud blijven we de term “versies” gebruiken, met inachtneming van de hier genoemde kanttekeningen.

Ondanks dat Knuth de ontwikkeling bevroor, bestond er nog steeds een sterke wens naar nieuwe TeX-functies of verbeteringen aan bestaande, en door de jaren heen zijn er verschillende pogingen gedaan om “de volgende generatie TeX” te ontwikkelen — sommige waren zeer succesvol, andere niet. Het is een interessante geschiedenis, maar niet iets wat we hier kunnen uitwerken — de ondernemende lezer kan een veel vollediger verslag vinden in een artikel van Frank Mittelbach: [TUGboat, deel 34 (2013), nr. 1](https://www.tug.org/TUGboat/tb34-1/tb106mitt.pdf).

Tijdens de jaren negentig begonnen sommige onderdelen van TeX ouderdomsverschijnselen te vertonen — waaronder de omgang met lettertypen en het bestandsformaat dat voor TeX-uitvoer werd gebruikt: het zogenoemde DeVice Independent-formaat, oftewel DVI. De meeste gebruikers zetten de uitvoer van TeX om naar PostScript, maar halverwege de jaren negentig werd PostScript overvleugeld door de opkomst van PDF als voorkeursformaat voor uitvoerbestanden. En natuurlijk was er ook de plaats van TeX in een wereld die inmiddels het internet had. Ondanks deze tekortkomingen waren veel kernalgoritmen van TeX — regelafbreking en uitvulling, woordafbreking en wiskundig zetwerk — nog steeds ongeëvenaard. Ontwikkelaars wilden voortbouwen op de sterke punten van TeX, maar die gebieden moderniseren waar de wereld verder was gegaan en TeX echt moest bijbenen.

### Wat zit er in een naam?

Het is een conventie geworden dat software die is afgeleid van TeX zijn naam krijgt door een voorvoegsel toe te voegen aan het woord “TeX”: waardoor programmanaam zoals **pdf**TeX, **Xe**TeX en **Lua**TeX. Hoewel deze programma’s zijn afgeleid van Knuths oorspronkelijke TeX-software, bevatten ze functies en mogelijkheden die niet beschikbaar zijn in Knuths oorspronkelijke versie. Gezamenlijk worden deze uitvoerbare programma’s vaak aangeduid als **TeX-engines**— zie ze als de software die *aanstuurt* het zetproces. Aan het einde van dit artikel wordt een korte beschrijving gegeven van pdfTeX, XeTeX en LuaTeX.

### LaTeX: een set macro’s, geen TeX-engine

We hebben al vermeld dat op TeX gebaseerde programma’s die zijn afgeleid van Knuths software namen hebben zoals pdfTeX of XeTeX; vanzelfsprekend zou je kunnen denken dat LaTeX gewoon weer een andere versie is van Knuths software. Helaas is het niet zo eenvoudig. LaTeX is geen versie van het uitvoerbare TeX-zetprogramma: het is een verzameling zogenoemde *TeX-macro’s*, een onderwerp dat we hieronder in meer detail zullen bespreken. De macro’s waaruit LaTeX bestaat werden halverwege de jaren tachtig geschreven door Leslie Lamport — die dat pakket zijn naam gaf. Net als de TeX-engines zelf wordt het LaTeX-macro-pakket nog steeds actief ontwikkeld, en de geïnteresseerde lezer kan meer vinden op de [website van het LaTeX-project](https://www.latex-project.org/).

## Dus, wat doet TeX eigenlijk?

Zoals opgemerkt is TeX een zetprogramma, maar als je je een strak grafische gebruikersinterface (GUI) voorstelt, zoals Adobe InDesign, denk dan nog eens na. Ten tijde van het ontstaan van TeX (eind jaren zeventig) bevonden de geavanceerde grafische interfaces en besturingssystemen van vandaag zich nog ver in de toekomst, en de werkwijze van TeX weerspiegelt nog steeds zijn afkomst, zelfs voor de nieuwe moderne varianten van TeX.

Wie gewend is om moderne pagina-opmaaktoepassingen zoals Adobe InDesign te gebruiken, zal misschien verbaasd zijn te zien hoe TeX werkt. Stel dat iemand je een kopie geeft van wat TeX-software (maar geen fraaie teksteditors) en je besluit het te draaien om te zien wat er gebeurt: wat zou je zien? Eerlijk gezegd niet veel! TeX gebruikt een zogenoemde [opdrachtregelinterface](https://en.wikipedia.org/wiki/Command-line_interface): het heeft geen mooi grafisch scherm waarin je je tekst typt om te zetten of waar je met wijzen, klikken of tikken opties of instellingen kiest. Als je een van de TeX-programma’s (engines) zou starten, zou je een eenvoudig scherm met een knipperende cursor zien — bijvoorbeeld LuaTeX draaien op een lokale machine (luatex.exe onder Windows):

![LuaTeX draaien onder Windows](/files/7726074830fa7b2d1e2d3a8593f500966304aaad)

Natuurlijk krijgen mensen die TeX-gebaseerde software via Overleaf gebruiken een veel handiger en auteursvriendelijker interface aangeboden.

### De programmeerbaarheid van TeX begrijpen

Het is duidelijk dat als je software iets wilt laten zetten, je die een vorm van invoer moet geven (materiaal om te zetten) en vervolgens enkele “instructies” moet geven die aangeven wat je wilt bereiken — zoals welke lettertypen te gebruiken en welk papierformaat het uiteindelijke document moet hebben, naast vele andere details. Als je een hulpmiddel zoals Adobe InDesign gebruikt, kun je via verschillende menu’s, schermen en dialoogvensters de parameters kiezen die je enige invloed en controle geven over het gedrag van de software. Maar wat als een dergelijk scherm niet bestaat en je alleen een leeg scherm en een knipperende cursor hebt? Hier komt de *programmeerbaarheid* van TeX van pas.

### TeX het programma en TeX de programmeertaal

Omdat TeX geen ingebouwde grafische gebruikersinterface heeft waarmee je zijn gedrag kunt bedienen en aansturen, moet je expliciete schriftelijke instructies geven om het door het zetproces te leiden. Je maakt een tekstbestand dat niet alleen de tekst van je werk bevat, maar ook de expliciete zetinstructies (of commando’s) die TeX vertellen wat het moet doen. Zodra je bijvoorbeeld je TeX-bestand hebt geschreven, met de naam mybook.tex, geef je TeX opdracht om het te verwerken en, als alles goed gaat, ontvang je als uitvoer een prachtig gezet document “mybook.pdf”.

Die “zetinstructies” die worden gebruikt om het gedrag van TeX te sturen, zijn in feite geschreven in een programmeertaal — een taal die Knuth speciaal heeft ontworpen om TeX-gebruikers veel controle te geven over zijn geavanceerde zetprogramma. Het is deze zet-programmeertaal die TeX zijn ongelooflijke kracht en flexibiliteit geeft.

We kunnen nu beginnen te zien dat TeX in feite een stuk zetsoftware is dat gebruikers kunnen aansturen door het instructies te geven die in een speciale programmeertaal zijn geschreven. Je moet “TeX” zien als een uitvoerbaar programma (zet-engine) dat kan worden aangestuurd met je instructies geschreven in de TeX-zettaal. Omdat TeX natuurlijk wordt aangestuurd door een programmeertaal, is er altijd de mogelijkheid om fouten te maken — bugs in je TeX-bestand die TeX niet kan begrijpen of die simpelweg niet het resultaat opleveren dat je verwachtte. Het is een alledaags “genoegen” waar gebruikers van TeX-gerelateerde software maar al te bekend mee zijn. Inzicht in het feit dat TeX-engines programmeerbaar zijn, is de sleutel tot het echt waarderen van de verschillen tussen LaTeX, pdfTeX, pdfLaTeX, XeTeX, LuaTeX enzovoort. Elke TeX-engine (elk programma) begrijpt honderden zogenoemde *primitieve* commando’s. Primitief betekent in deze zin niet “eenvoudig” of “niet-geavanceerd”, het betekent dat ze de fundamentele bouwstenen van de TeX-taal zijn. Een eenvoudige, zij het niet helemaal nauwkeurige, analogie is het alfabet van een bepaalde taal: de afzonderlijke tekens van het alfabet kunnen niet worden gereduceerd tot eenvoudigere eenheden; het zijn de fundamentele bouwstenen waaruit woorden, zinnen enz. worden opgebouwd.

## En tot slot: van TeX naar pdfTeX, XeTeX en LuaTeX

Ter herinnering. Toen Knuth de oorspronkelijke versie van TeX schreef, voorzag hij die van de functies en mogelijkheden die volgens hem voldoende waren om te voldoen aan de behoeften van geavanceerd tekst- en wiskundig zetwerk, gebaseerd op de technologische omgeving van die tijd — inclusief rekenkracht en geheugen van computers, lettertype-technologieën en uitvoerapparaten. Knuths specificatie van TeX omvatte het interne/programmeerontwerp (en de zetalgoritmen) plus natuurlijk het definiëren van de TeX-taal die werd gebruikt om het te zetten materiaal “van markeringen te voorzien”. Wat we bedoelen met “het definiëren van de TeX-taal” is het definiëren van de set van enkele honderden primitieve commando’s die de TeX-engine kan begrijpen — en de actie die de TeX-engine onderneemt wanneer hij tijdens de verwerking van je invoertekst een van die primitieve commando’s tegenkomt.

Natuurlijk evolueren technologische omgevingen: computers worden sneller en hebben meer opslag/geheugen, nieuwe lettertype-technologieën worden uitgebracht (Type 1, TrueType, OpenType), bestandsuitvoerformaten ontwikkelen zich (bijvoorbeeld de overstap van PostScript naar PDF) en Unicode werd de dominante manier om tekst te coderen. Vanzelfsprekend wilden TeX-gebruikers dat deze nieuwe technologieën zouden worden ondersteund — naast het toevoegen van nieuwe functies en mogelijkheden die niet aanwezig waren in Knuths oorspronkelijke TeX-programma.

Zoals eerder opgemerkt besloot Knuth in de jaren tachtig zijn ontwikkeling van TeX te bevriezen: geen nieuwe functies meer in zijn versie. Met de echte noodzaak om Knuths oorspronkelijke software bij te werken en te moderniseren, hebben experts in TeX-programmering Knuths oorspronkelijke broncode genomen en verbeterd om nieuwe functies toe te voegen en ondersteuning te bieden voor moderne zettechnologieën. Die nieuwe versies van TeX bieden niet alleen extra functies (bijv. directe uitvoer naar PDF, ondersteuning voor OpenType-lettertypen), ze breiden en passen ook de TeX-taal aan: er worden nieuwe primitieve commando’s toegevoegd aan Knuths oorspronkelijke set, waardoor gebruikers meer programmeerkracht en flexibiliteit krijgen om de extra functionaliteit in nieuwe TeX-gebaseerde zet-engines te beheren en te benutten.

Elke nieuwe TeX-engine krijgt zijn eigen naam om hem te onderscheiden van Knuths oorspronkelijke software: daarom heb je nu pdfTeX, XeTeX en LuaTeX. Die drie TeX-engines zijn niet 100% compatibel met elkaar en het is heel goed mogelijk invoer voor te bereiden die met de ene TeX-engine kan worden verwerkt maar met andere niet werkt — simpelweg omdat een bepaalde TeX-engine primitieve commando’s kan ondersteunen die de andere niet ondersteunen. Maar niet alles is verloren: welkom in de wereld van TeX-macro’s!

### Primitieven zijn niet het hele verhaal: TeX-macro’s

We hebben vermeld dat elke TeX-engine een bepaalde set laag-niveau commando’s ondersteunt die primitieve commando’s worden genoemd — maar dat is niet het hele verhaal. Natuurlijk worden veel van dezelfde primitieve commando’s door alle engines ondersteund, maar sommige zijn specifiek voor een bepaalde engine. TeX bereikt zijn ware kracht en verfijning via zogenoemde TeX-macro’s. De primitieve commando’s van de TeX-taal van een engine kunnen worden gecombineerd om nieuwe commando’s te definiëren (macro’s genoemd), die zijn opgebouwd uit combinaties van laag-niveau primitieve instructies en/of andere macro’s. TeX-macro’s stellen gebruikers in staat nieuwe commando’s te definiëren die complexe zetbewerkingen kunnen uitvoeren, waardoor veel tijd, typen en programmeerfouten worden bespaard. Bovendien bieden TeX-engines primitieve commando’s waarmee kan worden bepaald welke TeX-engine wordt gebruikt om een document te zetten — zodat een TeX-engine zijn gedrag onderweg kan aanpassen, afhankelijk van of hij een bepaalde primitieve opdracht ondersteunt die hij tegenkomt. Als een bepaalde primitieve opdracht niet rechtstreeks wordt ondersteund maar kan worden “nagebootst” (met combinaties van andere primitieve commando’s), dan is alles meestal in orde — maar als de gekozen TeX-engine echt niet met een bepaalde primitieve opdracht overweg kan, mislukt het zetten en wordt een fout gemeld. De TeX-taal is per slot van rekening een programmeertaal, zij het een die is ontworpen om zetproblemen op te lossen; maar als programmeertaal is TeX uiterst archaïsch en werkt het heel anders dan de meeste programmeertalen die je tegenwoordig waarschijnlijk tegenkomt.

### Dus, tenslotte, wat is LaTeX?

We hebben gesproken over verschillende versies van de TeX-engine — van Knuths oorspronkelijke TeX tot zijn afstammelingen pdfTeX, XeTeX en LuaTeX, en kort TeX besproken als zettaal: primitieve commando’s, programmering en de mogelijkheid om macro’s te schrijven. Uiteindelijk zijn we in staat om LaTeX te bespreken. De logische uitbreiding van het schrijven van individuele TeX-macro’s voor eigen gebruik is het samenstellen van een verzameling macro’s die ook anderen kunnen gebruiken — een pakket macro’s dat nuttige hulpmiddelen en commando’s biedt waar andere (La)TeX-gebruikers van kunnen profiteren. En dat is precies wat LaTeX is: het is een zeer grote verzameling complexe en geavanceerde macro’s die zijn ontworpen om je te helpen boeken, tijdschriftartikelen en dergelijke te zetten. Het biedt een schat aan functies om zaken als pagina-opmaak, lettertypen en talloze andere zetdetails te beheren. Bovendien is LaTeX zo ontworpen dat het uitbreidbaar is: je kunt extra, meer gespecialiseerde macro-pakketten toevoegen die zijn geschreven om specifieke zetproblemen op te lossen — bijvoorbeeld mooi gezette tabellen, het zetten van bijzonder complexe vormen van wiskunde, chemische diagrammen enzovoort. Als je de [Comprehensive TeX Archive Network](https://www.ctan.org) kunt kiezen uit honderden, zo niet duizenden, macro-pakketten die zijn geschreven en bijgedragen door gebruikers over de hele wereld.

Dus als iemand zegt dat hij of zij zijn werk met LaTeX zet, dan vertelt die persoon je slechts een deel van het verhaal. Wat daarmee echt wordt bedoeld, is dat men het LaTeX-macro-pakket gebruikt met een bepaalde TeX-engine — meestal pdfTeX, maar misschien XeTeX (voor meertalig werk) of LuaTeX (misschien voor geavanceerde aangepaste documentproductie). Vaak zul je termen zien zoals pdfLaTeX, XeLaTeX of LuaLaTeX: maar dit zijn eigenlijk niet de namen van TeX-engines; ze geven alleen aan welke TeX-engine wordt gebruikt om de LaTeX-macroverzameling uit te voeren:

* pdfLaTeX betekent het gebruik van het LaTeX-macro-pakket met de pdfTeX-engine
* XeLaTeX betekent het gebruik van het LaTeX-macro-pakket met de XeTeX-engine
* LuaLaTeX betekent het gebruik van het LaTeX-macro-pakket met de LuaTeX-engine

Bijvoorbeeld, zeggen “ik gebruik pdfLaTeX” betekent “ik bereid mijn gezette document voor met het LaTeX-macro-pakket en verwerk het met de pdfTeX-engine”. Evenzo, als iemand je vertelt dat hij of zij “TeX gebruikt”, dan zul je nu zien dat die uitspraak waarschijnlijk niet het hele verhaal vertelt — tenzij men Knuths oorspronkelijke versie van TeX gebruikt, wat tegenwoordig nogal onwaarschijnlijk is.

## Van TeX-engines naar TeX-installaties

We hebben kort de geschiedenis van TeX verkend en gezien dat de moderne afgeleiden — pdfTex, XeTeX en LuaTeX — veel nieuwe functies en mogelijkheden aan Knuths oorspronkelijke software hebben toegevoegd. Om onze bespreking af te ronden kijken we kort naar de drie populairste TeX-engines en bespreken we beknopt TeX-installaties.

### Belangrijkste kenmerken van pdfTeX, XeTeX en LuaTeX

Hier is een samenvatting van *enkele* belangrijke kenmerken die worden geboden door de drie populairste TeX-engines:

* **pdfTeX**: Zoals de naam al aangeeft, biedt het de mogelijkheid om rechtstreeks naar PDF uit te voeren, zodat gebruikers TeX’s eigen DVI-formaat niet hoeven om te zetten naar PostScript en dat vervolgens via GhostScript of Acrobat Distiller naar PDF hoeven te converteren (NB: sommige gebruikers gaan ook van DVI naar PDF via hulpmiddelen zoals dvipdf). pdfTeX introduceerde ook verfijningen in TeX’s zetwerk — zoals margin kerning (uitstekende tekens). pdfTeX werd ontwikkeld door Hàn Thế Thành en de implementatiedetails vormden de basis voor zijn proefschrift [Micro-typographic extensions to the TeX typesetting system](https://www.tug.org/TUGboat/tb21-4/tb69thanh.pdf).
* Eerste releasedatum (zoals vermeld in de releasenotities): augustus 2001
* Meer informatie: [www.tug.org/applications/pdftex](http://www.tug.org/applications/pdftex)
* **XeTeX**: Het introduceerde de mogelijkheid om TeX-bestanden die zijn opgeslagen of gemaakt in UTF-8-codering rechtstreeks te lezen/invoeren, en voegde geavanceerde verwerking toe voor meertalig zetwerk — inclusief complexe schriftsystemen zoals het Arabisch. Een bijzonder nuttige functie is dat XeTeX het gebruik van OpenType-lettertypen heel eenvoudig en handig maakte, en latere versies voegden OpenType-gebaseerd zetten van wiskunde toe. XeTeX werd ontwikkeld door Jonathan Kew, hoewel de verdere ontwikkeling is geleid door andere leden van de TeX-gemeenschap.
* Eerste releasedatum (Wikipedia): aanvankelijk alleen Mac OSX, april 2004
* Meer informatie: <http://tug.org/xetex>
* **LuaTeX**: Waarschijnlijk de krachtigste en veelzijdigste van alle TeX-engines. LuaTeX is afgeleid van pdfTeX (naast vele andere bronnen/bibliotheken) en biedt aanzienlijke extra functionaliteit. De belangrijkste innovatie is de toevoeging van de Lua-scripttaal, waarmee zeer geavanceerde controle over de TeX-engine mogelijk is via een gebruiksvriendelijke scripttaal. Het ondersteunt ook UTF-8-tekencodering, OpenType-gebaseerd wiskundig zetten en zeer geavanceerd gebruik van OpenType-lettertypen voor tekstzetwerk — hoewel het mechanisme verschilt van dat van XeTeX. LuaTeX integreert ook de grafische taal MetaPost, waardoor gebruikers volledig kunnen profiteren van de geavanceerde tekenmogelijkheden van MetaPost. Naast de voorbereiding van boeken en tijdschriftartikelen is LuaTeX ideaal voor geavanceerde of aangepaste documentengineering — een krachtige functie is de uitbreidbaarheid van LuaTeX via “plugins” geschreven in C/C++ en geladen als een .DLL (Windows) of .so (op Linux). LuaTeX wordt ontwikkeld door een team met onder meer Hans Hagen, Taco Hoekwater, Luigi Scarso en anderen.
* Eerste releasedatum: de ontwikkeling begon rond 2006 met talrijke bètaversies die culmineerden in een versie 1.0-uitgave in september 2016. Het wordt nog steeds zeer actief ontwikkeld.
* Meer informatie: [www.luatex.org](http://www.luatex.org)

### TeX-installaties: TeX Live

Je vraagt je misschien af hoe gebruikers toegang krijgen tot de verschillende op TeX gebaseerde zetprogramma’s en de bijbehorende LaTeX-macro-pakketten? Het antwoord is het gebruik van een zogenoemde *TeX-distributie* die gebruikers kunnen downloaden en installeren — moderne TeX-installaties bevatten tegenwoordig veel meer dan alleen de op TeX gebaseerde zet-engines. In de loop der jaren hebben TeX-gebruikers over de hele wereld een verbazingwekkende reeks TeX-gerelateerde hulpmiddelen en software ontwikkeld en bijgedragen, naast honderden lettertypen en natuurlijk een groot aantal gespecialiseerde LaTeX-pakketten. Deze enorme verzameling software wordt beheerd en bijgewerkt door toonaangevende leden van de TeX-gemeenschap en mondt uit in jaarlijkse releases van een distributie genaamd [TeX Live](https://www.tug.org/texlive/)— die ook de nieuwste stabiele releases van TeX-engines voor elk ondersteund platform (Windows, Linux enz.) bevat. Gebruikers op Windows maken vaak gebruik van een andere distributie genaamd [MiKTeX](https://miktex.org/).

## Overleaf: ondersteuning voor het LaTeX-ecosysteem

De context van het hedendaagse onderzoekslandschap is natuurlijk een sterk onderling verbonden en collaboratieve omgeving — inclusief samenwerken aan het schrijven en voorbereiden van artikelen voor publicatie. Het per e-mail verspreiden en delen van op LaTeX gebaseerde artikelen, inclusief eventuele bijbehorende afbeeldingen of gegevens, kan frustrerend zijn — niet alleen vanwege het probleem van versiebeheer (en bestandsgroottes), maar ook vanwege de reële kans dat een of meer medeauteurs een LaTeX-installatie hebben die het LaTeX-bestand niet kan verwerken; bijvoorbeeld door ontbrekende lettertypen, variaties in beschikbaarheid van pakketten of verouderde LaTeX-versies. Een medeauteur kan onderweg zijn of tijdelijk werken op een locatie zonder toegang tot LaTeX. Alles bij elkaar leidt dat tot een potentieel frustrerende situatie — vooral wanneer een indieningsdeadline nadert! Academische instellingen of commerciële bedrijven die hun personeel of teams toegang tot LaTeX willen geven, moeten mogelijk een uitgebreid, organisatiebreed TeX-systeem installeren en daarna onderhouden, bijwerken en ondersteunen. Dat kan een complexe onderneming zijn, die misschien gespecialiseerde expertise vereist die bij één persoon ligt. Als je LaTeX-installatie-expert vertrekt naar een andere baan, kan het een uitdaging zijn om die te vervangen. TeX-installaties moeten actief worden onderhouden omdat de TeX-wereld niet statisch is en je installatie al snel verouderd kan raken — tot grote ergernis van je gebruikers, die misschien gebruik willen maken van nieuwere of geavanceerdere TeX-gebaseerde tools. Nieuwe en bijgewerkte LaTeX-pakketten worden voortdurend uitgebracht, net als extra lettertypen en TeX-gerelateerde softwaretools. Bovendien blijven TeX-engines, vooral LuaTeX, in ontwikkeling.

### Overleaf: LaTeX-oplossingen voor auteurs en instellingen

Overleaf biedt auteurs en hun instellingen een cloudgebaseerd systeem voor het schrijven en beheren van LaTeX-projecten — ondersteund door krachtige servers met een geavanceerde TeX-installatie.

#### Overleaf voor auteurs

Met de op de browser gebaseerde LaTeX-editor van Overleaf kunnen auteurs hun op LaTeX gebaseerde projecten maken, delen, samenwerken en beheren waar ze ook werken. Alles wat je nodig hebt is internettoegang en een apparaat met een moderne browser.

Overleaf biedt een zeer handige manier om LaTeX te gebruiken, waaronder:

* Geen LaTeX-bestanden en enorme figuren meer e-mailen — stuur je collega’s gewoon een link naar je project in Overleaf om te beginnen met samenwerken en delen.
* Uitstekende technische ondersteuning — neem op elk moment contact met ons op met je vragen over het gebruik van LaTeX.
* Medeauteurs gebruiken dezelfde LaTeX-installatie — geen behoefte om te vertrouwen op lokale installaties of beperkt te worden door een verouderd LaTeX-systeem.
* Laat je documenten opvallen — kies uit een breed scala aan moderne OpenType-lettertypen die direct klaar zijn voor gebruik, of upload extra lettertypen naar je project. Eenvoudig en gemakkelijk te gebruiken met het fontspec-pakket.
* Je hoeft de TeX-engines niet zelf te draaien — Overleaf doet het voor je. Bespaar tijd en profiteer van de snelle, realtime voorvertoning van je gezette LaTeX-document of schakel over naar handmatig verversen als je dat liever hebt.
* Dien je artikel rechtstreeks in bij deelnemende tijdschriften en preprintdiensten of download je volledige LaTeX-project in één ZIP-bestand voor verdere verzending naar een tijdschrift naar keuze.
* Toegang tot een volledig uitgeruste Linux-server: de tools en hulpprogramma’s die je nodig kunt hebben voor grafische en tekstverwerking — TeX’s \write18 is nog nooit zo blij geweest!
* Selecteer de TeX-engine om je LaTeX-code te verwerken of laat Overleaf de engine detecteren en gebruiken die het best geschikt is om je document te verwerken. Overleaf ondersteunt LaTeX-verwerking met pdfTeX, XeTeX, LuaTeX en dvipdf.

#### Overleaf voor instellingen en ondernemingen

Geef je communities en teams toegang tot een geavanceerde LaTeX-installatie — maar zonder enige beheerslast. Geen technische ondersteuningsoproepen meer over LaTeX-installaties, geen zorgen meer over Windows, Linux of Mac OS — profiteer van de technische infrastructuur van Overleaf. Je gemeenschap van LaTeX-gebruikers zal de reeks functies waarderen die Overleaf biedt om hun LaTeX-projecten te beheren — van het uploaden van bestanden en afbeeldingen tot het delen van projectlinks waarmee teams samen aan hetzelfde artikel kunnen werken. Lever een uitstekende service aan onderzoekers — stimuleer samenwerkingen om het allerbeste onderzoek te ondersteunen. Dank je voor het lezen van dit artikel, we hopen dat je iets van interesse hebt gevonden. Als je vragen hebt over Overleaf, neem dan gerust contact met ons op [contact met ons op](https://www.overleaf.com/contact)— het Overleaf-team kijkt ernaar uit van je te horen.

Veel (La)TeX-plezier!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/nl/diepgaande-artikelen/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
