> 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/da/dybtgaende-artikler/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md).

# TeX-slægtstræet: LaTeX, pdfTeX, XeTeX, LuaTeX og ConTeXt

LaTeX-historien går helt tilbage til 1977, da Donald Knuth først forstod behovet for et opsætningsprogram af høj kvalitet. Det er et bemærkelsesværdigt vidnesbyrd om LaTeX's kvalitet, at det system, han udtænkte dengang, stadig er det bedste værktøj til opgaven i dag, selvom der siden er blevet tilføjet mange nyttige forbedringer i løbet af årtierne. Faktisk er LaTeX en af disse tilføjelser til det oprindelige system, som Donald Knuth udviklede, og som hed [TeX](http://www.tug.org/).

For at bevare din street cred i LaTeX-verdenen skal du skrive det med stort T og X og udtale det som Lay-Tech. Det skyldes, at X'et i TeX faktisk er et stort chi (χ) fra græsk. Latex med normal skrivemåde og udtale er en type gummi!

## Det oprindelige TeX

Der er en stor familie af værktøjer, som nu er afledt af TeX, og det kan ved første øjekast ligne en liste over meningsløse ord: LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt og så videre. Forfaderen til dem alle er naturligvis Knuths oprindelige TeX-program. Det tager et dokument i ren tekst og forvandler det til et smukt sat dokument. Knuth var ret omhyggelig med opsætning, og sansen for detaljer i TeX er tydelig. Et eksempel på et TeX-dokument kunne se nogenlunde sådan ud:

```latex
\TeX{} er god til at sætte ord som `fjord', `efficiency',
og `fiasco'. Den er også god til at sætte matematik som,
$a^2 + b^2 = c^2$.
\bye
```

Resultatet af dette, når det er kørt gennem TeX-programmet, er:

![Texsample.png](/files/5c9cbfc32793e09ecc46f40e733ecaa07ae62b14)

Bemærk, hvordan bogstavkombinationerne 'fi', 'fj' og 'ff' i eksempelordene flyder pænt sammen, og hvordan matematiksymbolerne er godt fordelt. I større skala gør TeX et meget godt stykke arbejde med at bryde linjer de rigtige steder for at skabe veljusteret tekst med orddelinger, hvor det er passende.

Ikke alene sætter den tekst pænt op, den har også et udvalg af kommandoer, som f.eks. `\bye` og `\TeX` i eksemplet ovenfor. Disse kan gøre enkle ting som at ændre skriftstørrelsen eller ændre måden, teksten er sat op på, såvel som langt mere kraftfulde ting som at holde styr på sektionsnumre til krydsreference på tværs af sider eller automatisk opbygge en indholdsfortegnelse. TeX-programmet har omkring 300 indbyggede kommandoer, men andre kommandoer kan defineres i det. Donald Knuth skrev yderligere omkring 600 nyttige kommandoer inde fra TeX i en pakke kaldet Plain TeX, som gør nogle almindelige opsætningsopgaver lettere.

## LaTeX

Kommandoerne i TeX og Plain TeX er stadig ret grundlæggende, og det er ikke let at gøre komplicerede ting med dem. For at hjælpe med dette skabte Leslie Lamport [LaTeX](http://www.latex-project.org/) i begyndelsen af 1980'erne for at give et sprog på et højere niveau at arbejde i end TeX. LaTeX er et sæt kommandoer, der er defineret ud fra de underliggende TeX-kommandoer, ofte i mange, mange abstraktionslag. Alle de kommandoer, du bruger i et LaTeX-dokument, er faktisk bare komplicerede sæt af TeX-kommandoer underneden, medmindre du naturligvis bruger en TeX-kommando direkte! Begreber som pakker (`\usepackage{...}`), miljøer (`\begin{environment} ... \end{environment}`), og dokumentklasser (`\documentclass{...}`) blev alle introduceret af Leslie Lamport i LaTeX.

Ved at skabe et standardiseret pakkesystem til LaTeX lod Leslie Lamport fællesskabet vokse enormt. Der findes nu tusindvis på tusindvis af LaTeX-pakker, som gør det muligt at sætte alt op fra underfigurer til strikkemønstre. Der findes også mange dokumentklasser til forskellige typer dokumenter, uanset om du skriver en bog, en laboratorierapport eller et CV. Mange forlag og tidsskrifter har deres egne tilpassede dokumentklasser, som formaterer deres dokumenter, som de ønsker.

## pdfTeX

TeX-programmet er bemærkelsesværdigt stabilt for et stykke software, der er over 20 år gammelt; Knuth erklærede, at det var funktionsmæssigt færdigt i 1989, og siden da er der kun blevet lavet fejlrettelser. Det har naturligvis ikke stoppet den betydelige og løbende udvikling af LaTeX, fordi det er skrevet i selve TeX. Faktisk har TeX's stabilitet gjort det muligt for pakker som LaTeX, der er bygget oven på det, at trives.

Det betyder ikke, at det underliggende TeX-program ikke har set nogen fremskridt i de sidste 20 år. Tværtimod er det blot sådan, at forbedringerne er blevet lavet sideløbende med TeX, mens det oprindelige TeX er forblevet stabilt. Den vigtigste forbedring i 1990'erne var skabelsen af [pdfTeX](http://www.tug.org/applications/pdftex/) af Hàn Thế Thành til hans Ph.d.-afhandling. Det oprindelige TeX-program outputter det opsatte dokument i et specialformat kaldet DVI (enhedsuafhængigt format), som senere kan omdannes til en PostScript-fil til udskrivning. PDF-formatet kom imidlertid i 1993, og vi kan i dag se, at det tydeligt vandt som det bedre format over PostScript. Der er masser af funktioner, som gør PDF bedre, såsom hyperlinks mellem sektioner, et metadataafsnit, der lader dig se en indholdsfortegnelse i venstre side af din PDF-fremviser, og understøttelse af et bredere og mere moderne udvalg af billedformater. pdfTeX er en modificering af TeX, som gør det muligt at outputte direkte til PDF og dermed udnytte disse ekstra funktioner.

Når du installerer en LaTeX-distribution på dit system i dag, følger der faktisk to forskellige programmer med: `tex`, og `pdftex`. Der følger også yderligere to programmer med oveni disse: `LaTeX` og `pdflatex`, men disse er faktisk bare omslag omkring `tex` og `pdftex` henholdsvis. Disse indlæser først LaTeX-pakkerne, før de behandler dit dokument, men er stadig TeX underneden. Hvis du kører `LaTeX` eller `tex` så får du en DVI-fil, som du kan omdanne til en PostScript-fil eller en PDF, men hvis du kører `pdflatex` så får du direkte en PDF.

For det meste er `pdftex` og `pdflatex` forbedringer i forhold til `tex` og `LaTeX`, men der er en ulempe. Det oprindelige TeX og DVI-formatet har understøttelse af Encapsulated PostScript-filer (`.eps`) fordi disse nemt kan inkluderes i PostScript-filer (fremstillet ved at konvertere `.dvi` -filer til PostScript via [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)). Men `pdftex` kan ikke inkludere EPS-filer, og du bør i stedet bruge PDF'er (som kan produceres fra EPS-filer med kommandoen `epstopdf` som normalt følger med LaTeX-distributioner). Som betaling for denne ulempe tilføjer pdfTeX dog understøttelse af `.png`, `.jpg` og `.pdf` -billeder, hvor det oprindelige TeX kun understøtter .eps (via [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX og LuaTeX

Indtil nu har vi set, at TeX har udviklet sig på to forskellige måder siden begyndelsen: med tilføjelsen af lettere anvendelige kommandoer oven på det oprindelige system (LaTeX) og med opdateringer af det underliggende program for at understøtte PDF-output (pdfTeX). Historien stopper dog ikke der, og der har været fortsatte bestræbelser på at modernisere TeX. I 2004 skabte Jonathon Kew [XeTeX](http://tug.org/xetex/), som er endnu en modificering af den underliggende TeX-motor, denne gang for at understøtte et bredere udvalg af tegn ud over blot almindelige engelske tal og bogstaver og for at inkludere understøttelse af moderne skrifttypeformater. Det gør det meget lettere at skrive på fremmedsprog og lader dig også bruge skrifttyper i LaTeX, som traditionelt kun var tilgængelige i dit tekstbehandlingsprogram.

[LuaTeX](http://www.luatex.org/) er et forsøg på at udvide det oprindelige TeX-program med et mere fornuftigt programmeringssprog. Selvom man i princippet kan gøre absolut hvad som helst inde fra TeX, er det i praksis et meget klodset programmeringssprog at arbejde med, hvis det overhovedet kan kaldes et programmeringssprog. Meget af internals i LaTeX er kompliceret og svært for udenforstående at forstå på grund af, at man kun kan arbejde i TeX. LuaTeX er udvidet med det eponyme scriptsprog, Lua, som er et enkelt og stabilt sprog, ideelt til at skrive komplicerede makroer. Pr. 2012 er det stadig under aktiv udvikling, og dets API kan ændre sig, men det er stadig meget brugbart.

## ConTeXt

Vi har nævnt LaTeX som en udvidelse af kommandoerne, der er tilgængelige i TeX, men det er ikke den eneste pakke, der har udvidet TeX på en væsentlig måde. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) er et andet system, som blev skabt i 1990 af Hans Hagen. LaTeX har som mål at fritage brugeren for at skulle tage beslutninger om typografi og layout (du skriver `\section` og `\emph` men du bekymrer dig ikke om, hvad disse gør - det overlades til dokumentklassen eller layoutet). ConTeXt har derimod til formål at give en nem grænseflade til avancerede typografiske funktioner. Desværre ved jeg ikke så meget om ConTeXt, som jeg gerne ville, så jeg kan ikke uddybe det meget mere, men hvis jeg en dag får eksperimenteret mere med det, skal jeg nok skrive mine resultater op.

Som en afsluttende historisk bemærkning bør jeg nævne [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) som var en udvidelse til Plain TeX-makroerne og blev brugt af American Mathematical Society (AMS) fra 1982 til 1985. Dets arv lever videre i AMS-LaTeX-pakker, som er en fast bestanddel i mange LaTeX-dokumenter: `\usepackage{amsmath}`.

## Fremtiden

Hvad vil fremtiden bringe for TeX og LaTeX? Det ved jeg ikke endnu, men som Alan Kay engang sagde:

> Den bedste måde at forudsige fremtiden på er at opfinde den.

Med ShareLaTeX håber vi at forbedre TeX og LaTeX i en tredje retning ved at bringe væsentlige forbedringer til LaTeX-arbejdsgangen. På trods af at det er over 20 år gammelt, er LaTeX stadig i høj grad et kommandolinjeprogram, som skal bruges i en besværlig cyklus af skrivning, kompilering og kontrol af outputtet. Samarbejdsmetoder har tendens til at involvere klodsede e-mails i stedet for de strømlinede processer, der er tilgængelige for tekstbehandling som Google Docs.


---

# 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/da/dybtgaende-artikler/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.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.
