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

# TeX-familiens slektstre: LaTeX, pdfTeX, XeTeX, LuaTeX og ConTeXt

LaTeX-historien går helt tilbake til 1977, da Donald Knuth først forsto behovet for et typograferingsprogram av høy kvalitet. Det er et bemerkelsesverdig vitnesbyrd om kvaliteten til LaTeX at systemet han tenkte seg den gang fortsatt er det beste verktøyet for jobben i dag, selv om mange nyttige tillegg har blitt laget i tiårene siden. Faktisk er LaTeX et av disse tilleggene til det opprinnelige systemet som Donald Knuth utviklet, og som ble kalt [TeX](http://www.tug.org/).

For å beholde gatecred i LaTeX-verdenen må du skrive det med stor T og X, og uttale det som Lay-Tech. Dette er fordi X-en i TeX faktisk er en stor chi (χ) fra gresk. Latex med vanlig bruk av store og små bokstaver og uttale er en type gummi!

## Det opprinnelige TeX

Det finnes en stor familie av verktøy som nå er avledet fra TeX, og den kan se ut som en liste over meningsløse ord ved første øyekast: LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt, og så videre. Forfaderen til alle disse er selvfølgelig Knuths opprinnelige TeX-program. Dette tar et dokument i ren tekst og omformer det til et vakkert satt dokument. Knuth var svært opptatt av typografi, og oppmerksomheten på detaljer i TeX er tydelig. Et eksempel på et TeX-dokument kan se omtrent slik ut:

```latex
\TeX{} er god til å sette ord som `fjord', `efficiency',
og `fiasco'. Det er også god til å sette matematikk som,
$a^2 + b^2 = c^2$.
\bye
```

Resultatet etter å ha kjørt dette gjennom TeX-programmet er:

![Texsample.png](/files/11c91ec90b8dc73bb0feeae586d242820d1e3153)

Legg merke til hvordan kombinasjonene av bokstavene 'fi', 'fj' og 'ff' i eksempelordene flyter sammen på en behagelig måte, og hvordan matematikksymbolene har god avstand. I større skala gjør TeX en veldig god jobb med å bryte linjer på de riktige stedene for å lage godt blokkjustert tekst, med orddeling der det passer.

Ikke bare setter det tekst pent, det har også et utvalg av kommandoer, som `\bye` og `\TeX` i eksemplet ovenfor. Disse kan gjøre enkle ting som å endre skriftstørrelsen, eller endre hvordan teksten er lagt opp, samt langt mer kraftfulle ting som å holde styr på seksjonsnummer for kryssreferering av sidene dine, eller automatisk bygge opp en innholdsfortegnelse. TeX-programmet har omtrent 300 innebygde kommandoer, men andre kommandoer kan defineres inni det. Donald Knuth skrev rundt 600 andre nyttige kommandoer innenfor TeX, i en pakke som heter Plain TeX, som gjør noen vanlige typografiske oppgaver enklere.

## LaTeX

Kommandoene i TeX og Plain TeX er fortsatt ganske grunnleggende, og det er ikke lett å gjøre kompliserte ting med dem. For å hjelpe med dette, laget Leslie Lamport [LaTeX](http://www.latex-project.org/) på begynnelsen av 1980-tallet for å gi et språk på et høyere nivå å arbeide i enn TeX. LaTeX er et sett med kommandoer definert i termer av de underliggende TeX-kommandoene, ofte på mange, mange lag av abstraksjon. Alle kommandoene du bruker i et LaTeX-dokument er egentlig bare kompliserte sett av TeX-kommandoer under overflaten, med mindre du selvfølgelig bruker en TeX-kommando direkte! Begreper som pakker (`\usepackage{...}`), miljøer (`\begin{environment} ... \end{environment}`), og dokumentklasser (`\documentclass{...}`) ble alle introdusert av Leslie Lamport i LaTeX.

Ved å skape et standardisert pakkesystem for LaTeX lot Leslie Lamport fellesskapet vokse seg enormt. Det finnes nå tusenvis og atter tusenvis av LaTeX-pakker tilgjengelig som lar deg sette alt fra underfigurer til strikkemønstre. Det finnes også mange dokumentklasser tilgjengelig for ulike typer dokumenter, enten du skriver en bok, en labrapport eller en CV. Mange forlag og tidsskrifter har sine egne tilpassede dokumentklasser som utformer dokumentene slik de vil.

## pdfTeX

TeX-programmet er bemerkelsesverdig stabilt for et stykke programvare som er over 20 år gammelt; Knuth erklærte at det var funksjonskomplett i 1989, og siden da har det bare blitt gjort feilrettinger. Selvfølgelig har ikke dette stoppet den betydelige og pågående utviklingen av LaTeX, fordi den er skrevet i TeX selv. Faktisk har stabiliteten til TeX gjort at pakker som LaTeX, som er bygget oppå det, har kunnet blomstre.

Dette betyr ikke at det underliggende TeX-programmet ikke har sett noen fremskritt de siste 20 årene. Langt ifra, faktisk; det er bare det at forbedringer har blitt gjort ved siden av TeX, mens den opprinnelige TeX ble holdt stabil. Den viktigste forbedringen på 1990-tallet var opprettelsen av [pdfTeX](http://www.tug.org/applications/pdftex/) av Hàn Thế Thành til doktorgradsavhandlingen hans. Det opprinnelige TeX-programmet skriver det satte dokumentet ut i et egendefinert format kalt DVI (DeVice Independent format), som senere kan gjøres om til en PostScript-fil for utskrift. PDF-formatet kom imidlertid i 1993, og vi kan i dag se at det tydelig vant som det bedre formatet enn PostScript. Det er mange funksjoner som gjør PDF bedre, som hyperlenker mellom seksjoner, en metadatadel som lar deg se en innholdsfortegnelse på venstre side i PDF-viseren din, og støtte for et bredere og mer moderne utvalg av bildeformater. pdfTeX er en modifikasjon av TeX som lar det skrive direkte til PDF og dermed dra nytte av disse ekstra funksjonene.

Når du installerer en LaTeX-distribusjon på systemet ditt i dag, følger den faktisk med to forskjellige programmer: `tex`, og `pdftex`. Den følger også med ytterligere to programmer i tillegg til disse: `latex` og `pdflatex`, men disse er egentlig bare innpakninger rundt `tex` og `pdftex` henholdsvis. Disse laster først inn LaTeX-pakkene før de behandler dokumentet ditt, men er fortsatt TeX under panseret. Hvis du kjører `latex` eller `tex` vil du få en DVI-fil som du kan gjøre om til en PostScript-fil eller en PDF, men hvis du kjører `pdflatex` får du en PDF direkte.

Som oftest, `pdftex` og `pdflatex` er forbedringer i forhold til `tex` og `latex`, men det er én ulempe. Det opprinnelige TeX- og DVI-formatet har støtte for Encapsulated PostScript-filer (`.eps`) fordi disse enkelt kan inkluderes i PostScript-filer (laget ved å 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 bruke PDF-er (som kan lages fra EPS-filer med kommandoen `epstopdf` som vanligvis følger med LaTeX-distribusjoner). Som motvekt til denne ulempen legger pdfTeX imidlertid til støtte for `.png`, `.jpg` og `.pdf` bilder, mens den opprinnelige TeX bare støtter .eps (via [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX og LuaTeX

Så langt har vi sett at TeX har utviklet seg på to ulike måter siden begynnelsen: med tilførselen av enklere kommandoer oppå det opprinnelige systemet (LaTeX), og med oppdateringer av det underliggende programmet for å støtte PDF-utdata (pdfTeX). Historien stopper imidlertid ikke der, og det har vært kontinuerlige forsøk på å modernisere TeX. I 2004 opprettet Jonathon Kew [XeTeX](http://tug.org/xetex/), som er en annen modifikasjon av den underliggende TeX-motoren, denne gangen for å støtte et bredere spekter av tegn enn bare vanlige engelske tall og bokstaver, og for å inkludere støtte for moderne skriftformater. Dette gjør det mye enklere å skrive på fremmedspråk, og lar deg også bruke skrifter i LaTeX som tradisjonelt bare var tilgjengelige i tekstbehandlingsprogrammet ditt.

[LuaTeX](http://www.luatex.org/) er et forsøk på å utvide det opprinnelige TeX-programmet med et mer fornuftig programmeringsspråk. Selv om du i prinsippet kan gjøre absolutt hva som helst innenfor TeX, er det i praksis et veldig klønete programmeringsspråk å arbeide med, om det i det hele tatt kan kalles et programmeringsspråk. Mye av det indre i LaTeX er komplisert og vanskelig for utenforstående å forstå på grunn av at man bare må arbeide i TeX. LuaTeX er utvidet med skriptspråket Lua, som er et enkelt og stabilt språk, ideelt for å skrive kompliserte makroer. Per 2012 er det fortsatt under aktiv utvikling, og API-et er utsatt for endringer, men det er fortsatt svært brukbart.

## ConTeXt

Vi har nevnt LaTeX som en utvidelse av kommandoene som er tilgjengelige i TeX, men det er ikke den eneste pakken som har utvidet TeX på en betydelig måte. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) er et annet system som ble opprettet i 1990 av Hans Hagen. LaTeX har som mål å skille brukeren fra å måtte ta beslutninger om typografi og oppsett (du skriver `\section` og `\emph` men du trenger ikke bekymre deg for hva disse gjør - det overlates til dokumentklassen eller layouten). På den annen side har ConTeXt som mål å gi et enkelt grensesnitt til avanserte typografifunksjoner. Dessverre vet jeg ikke like mye om ConTeXt som jeg skulle ønske, så jeg kan ikke utdype så mye mer, men hvis jeg noen gang kommer meg rundt til å eksperimentere mer med det, skal jeg sørge for å skrive ned funnene mine.

Som en siste historisk merknad bør jeg nevne [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) som var en utvidelse av Plain TeX-makroene og ble brukt av American Mathematical Society (AMS) fra 1982 til 1985. Arven lever videre i AMS-LaTeX-pakker som er en selvfølge i mange LaTeX-dokumenter: `\usepackage{amsmath}`.

## Fremtiden

Hva vil fremtiden bringe for TeX og LaTeX? Det vet jeg ikke ennå, men som Alan Kay en gang sa:

> Den beste måten å forutsi fremtiden på er å oppfinne den.

Med ShareLaTeX håper vi å forbedre TeX og LaTeX i en tredje retning, ved å bringe betydelige forbedringer til LaTeX-arbeidsflyten. Til tross for at det er over 20 år gammelt, er LaTeX fortsatt i stor grad et kommandolinjeprogram som må brukes i en klønete syklus med skriving, kompilering og kontroll av resultatet. Samarbeidsmetoder har en tendens til å innebære klønete e-postmeldinger snarere enn de strømlinjeformede prosessene som er tilgjengelige for tekstbehandling som Google Dokumenter.


---

# 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/no/dybdeartikler/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.
