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

# TeX-sukupuu: LaTeX, pdfTeX, XeTeX, LuaTeX ja ConTeXt

LaTeXin tarina ulottuu aina vuoteen 1977, jolloin Donald Knuth ymmärsi ensimmäisen kerran tarpeen korkealaatuiselle ladontaohjelmalle. Se on huomattava osoitus LaTeXin laadusta, että hänen silloinkin hahmottelemaansa järjestelmää pidetään yhä parhaana työkaluna tähän tehtävään, vaikka sen jälkeen vuosikymmenten aikana on tehty monia hyödyllisiä lisäyksiä. Itse asiassa LaTeX on yksi näistä lisäyksistä Donald Knuthin kehittämään alkuperäiseen järjestelmään, jota kutsuttiin [TeX](http://www.tug.org/).

Jotta säilyttäisit katu-uskottavuutesi LaTeX-maailmassa, sinun täytyy kirjoittaa se isolla T:llä ja X:llä ja lausua se kuin “Lei-Tek”. Tämä johtuu siitä, että TeX:n X on itse asiassa kreikan iso chi (χ). Latex normaalilla kirjoitusasulla ja ääntämyksellä on eräänlaista kumia!

## Alkuperäinen TeX

On olemassa suuri joukko työkaluja, jotka ovat nyt peräisin TeXistä, ja ensisilmäyksellä se voi näyttää hölynpölysanaluettelolta: LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt, ja niin edelleen. Kaikkien näiden esi-isä on tietenkin Knuthin alkuperäinen TeX-ohjelma. Se ottaa dokumentin pelkkänä tekstinä ja muuntaa sen kauniisti ladotuksi dokumentiksi. Knuth oli varsin tarkka ladonnasta, ja TeXin yksityiskohtiin kiinnittämä huolellisuus näkyy selvästi. Esimerkin TeX-dokumentti voisi näyttää jotakuinkin tältä:

```latex
\TeX{} on hyvä latoessaan sanoja kuten `fjord', `efficiency',
ja `fiasco'. Se on myös hyvä latoessaan matematiikkaa, kuten,
$a^2 + b^2 = c^2$.
\bye
```

Kun tämä ajetaan TeX-ohjelman läpi, tulos on:

![Texsample.png](/files/c7627db5d9828a6b6522b466900224b9d60ba935)

Huomaa, miten esimerkkisanoissa kirjainten yhdistelmät 'fi', 'fj' ja 'ff' sulautuvat miellyttävästi yhteen, ja miten matematiikan symbolit ovat hyvin eroteltuja. Suuremmassa mittakaavassa TeX tekee erittäin hyvää työtä rivien katkaisemisessa sopiviin kohtiin tuottaen tasattua tekstiä, tarvittaessa tavutuksin.

Se ei pelkästään lato tekstiä siististi, vaan siinä on myös joukko komentoja, kuten `\bye` ja `\TeX` yllä olevassa esimerkissä. Niillä voi tehdä yksinkertaisia asioita, kuten muuttaa fonttikokoa tai tekstin asettelua, sekä paljon voimakkaampia asioita, kuten pitää yllä osioiden laskuria sivujesi ristiviittausta varten tai rakentaa sisällysluettelon automaattisesti. TeX-ohjelmassa on noin 300 sisäänrakennettua komentoa, mutta sen sisällä voidaan määritellä myös muita komentoja. Donald Knuth kirjoitti vielä noin 600 hyödyllistä komentoa TeXin sisältä käsin paketissa nimeltä Plain TeX, joka helpottaa joitakin tavallisia ladontatehtäviä.

## LaTeX

TeXin ja Plain TeXin komennot ovat edelleen melko perustasoisia, eikä niillä ole helppo tehdä monimutkaisia asioita. Tätä helpottaakseen Leslie Lamport loi [LaTeX](http://www.latex-project.org/) 1980-luvun alkupuolella tarjotakseen korkeammantasoisen kielen työskennellä kuin TeX. LaTeX on joukko komentoja, jotka on määritelty taustalla olevien TeX-komentojen avulla, usein monen monen abstraktiokerroksen kautta. Kaikki LaTeX-dokumentissa käyttämäsi komennot ovat itse asiassa vain monimutkaisia TeX-komentojen kokonaisuuksia taustalla, ellei tietenkin käytä TeX-komentoa suoraan! Käsitteet kuten paketit (`\usepackage{...}`), ympäristöt (`\begin{environment} ... \end{environment}`), ja dokumenttiluokat (`\documentclass{...}`) esitteli Leslie Lamport LaTeXissa.

Luomalla standardoidun pakettijärjestelmän LaTeXille Leslie Lamport mahdollisti yhteisön kasvun valtavaksi. Saatavilla on nyt tuhansia ja taas tuhansia LaTeX-paketteja, joilla voit latoa kaikkea alikuvista neulekaavioihin. Saatavilla on myös monia dokumenttiluokkia erityyppisille asiakirjoille, kirjoititpa sitten kirjaa, laboratoriorttia tai ansioluetteloa. Monilla kustantajilla ja lehdillä on omat räätälöidyt dokumenttiluokkansa, jotka muotoilevat heidän asiakirjansa haluamallaan tavalla.

## pdfTeX

TeX-ohjelma on huomattavan vakaa yli 20 vuotta vanhaksi ohjelmistoksi; Knuth julisti sen ominaisuuksiltaan valmiiksi vuonna 1989, ja sen jälkeen on tehty vain virheenkorjauksia. Tietenkään tämä ei ole estänyt LaTeXin merkittävää ja jatkuvaa kehitystä, koska se on kirjoitettu itse TeXillä. Itse asiassa TeXin vakaus on mahdollistanut sen päällä rakennettujen pakettien, kuten LaTeXin, kukoistamisen.

Tämä ei tarkoita, ettei taustalla oleva TeX-ohjelma olisi nähnyt mitään edistysaskelia viimeisten 20 vuoden aikana. Päinvastoin, parannuksia on tehty TeXin rinnalla, kun alkuperäinen TeX on jätetty vakaaksi. 1990-luvun tärkein parannus oli [pdfTeX](http://www.tug.org/applications/pdftex/) Hàn Thế Thànhin toimesta hänen väitöskirjaansa varten. Alkuperäinen TeX-ohjelma tuottaa ladotun dokumentin omaan DVI-muotoon (DeVice Independent format), jonka voi myöhemmin muuntaa PostScript-tiedostoksi tulostusta varten. PDF-muoto tuli kuitenkin vuonna 1993, ja nykyään näemme selvästi, että se voitti PostScriptin paremman formaatin. On monia ominaisuuksia, jotka tekevät PDF:stä paremman, kuten linkit osioiden välillä, metatietoja sisältävä osio, jonka avulla voit nähdä sisällysluettelon PDF-lukijasi vasemmassa reunassa, sekä tuen laajemmalle ja nykyaikaisemmalle kuvatiedostomuotojen joukolle. pdfTeX on TeXin muunnos, joka mahdollistaa suoran PDF-tulostuksen ja siten näiden lisäominaisuuksien hyödyntämisen.

Kun asennat LaTeX-jakelun järjestelmääsi tänään, mukana tulee itse asiassa kaksi eri ohjelmaa: `tex`, ja `pdftex`. Se sisältää näiden lisäksi myös kaksi muuta ohjelmaa: `latex` ja `pdflatex`, mutta ne ovat itse asiassa vain kääreitä `tex` ja `pdftex` vastaavasti. Ne lataavat ensin LaTeX-paketit ennen kuin käsittelevät asiakirjasi, mutta ovat pohjimmiltaan yhä TeXiä. Jos suoritat `latex` tai `tex` saat DVI-tiedoston, jonka voit muuntaa PostScript-tiedostoksi tai PDF:ksi, mutta jos suoritat `pdflatex` saat PDF:n suoraan.

Pääosin, `pdftex` ja `pdflatex` ovat parannuksia verrattuna `tex` ja `latex`, mutta siinä on yksi haittapuoli. Alkuperäinen TeX ja DVI-muoto tukevat Encapsulated PostScript -tiedostoja (`.eps`) koska ne voidaan helposti sisällyttää PostScript-tiedostoihin (jotka tuotetaan muuntamalla `.dvi` tiedostoja PostScriptiksi käyttäen [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)). Kuitenkin, `pdftex` ei voi sisällyttää EPS-tiedostoja, ja sinun pitäisi sen sijaan käyttää PDF:iä (joita voidaan tuottaa EPS-tiedostoista komennolla `epstopdf` joka yleensä sisältyy LaTeX-jakeluihin). Tämän haitan vastapainoksi pdfTeX kuitenkin lisää tuen `.png`, `.jpg` ja `.pdf` kuville, kun taas alkuperäinen TeX tukee vain .eps-tiedostoja (komennon [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX ja LuaTeX

Tähän mennessä olemme nähneet, että TeX on kehittynyt kahdella eri tavalla alusta lähtien: lisäämällä alkuperäisen järjestelmän päälle helpommin käytettäviä komentoja (LaTeX) ja päivittämällä taustalla olevaa ohjelmaa PDF-tulostuksen tueksi (pdfTeX). Tarina ei kuitenkaan lopu tähän, ja TeXin nykyaikaistamiseksi on tehty jatkuvasti työtä. Vuonna 2004 Jonathon Kew loi [XeTeX](http://tug.org/xetex/), joka on toinen muunnos taustalla olevasta TeX-moottorista, tällä kertaa tukemaan laajempaa merkkivalikoimaa kuin pelkät englannin numerot ja kirjaimet, sekä lisäämään tuen nykyaikaisille fonttiformaateille. Tämä tekee vierailla kielillä kirjoittamisesta paljon helpompaa ja antaa myös käyttää LaTeXissa fontteja, jotka perinteisesti olivat saatavilla vain tekstinkäsittelyohjelmallesi.

[LuaTeX](http://www.luatex.org/) on yritys laajentaa alkuperäistä TeX-ohjelmaa järkevämmällä ohjelmointikielellä. Vaikka periaatteessa voit tehdä TeXin sisältä käsin aivan mitä tahansa, käytännössä se on hyvin kömpelö ohjelmointikieli, ellei sitä voi edes kutsua ohjelmointikieleksi. Suuri osa LaTeXin sisäisestä toiminnasta on monimutkaista ja ulkopuolisille vaikeaa ymmärtää, koska on työskenneltävä vain TeXillä. LuaTeXiä on laajennettu sen nimikkokäsikirjoituskielellä, Lualla, joka on yksinkertainen ja vakaa kieli, ihanteellinen monimutkaisten makrojen kirjoittamiseen. Vuonna 2012 sitä kehitetään yhä aktiivisesti, ja sen API voi muuttua, mutta se on silti erittäin käyttökelpoinen.

## ConTeXt

Olemme maininneet LaTeXin TeXissä käytettävissä olevien komentojen laajennuksena, mutta se ei ole ainoa paketti, joka on laajentanut TeXiä merkittävällä tavalla. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) on toinen järjestelmä, jonka Hans Hagen loi vuonna 1990. LaTeX pyrkii vapauttamaan käyttäjän tekemästä päätöksiä typografiasta ja asettelusta (kirjoitat `\section` ja `\emph` mutta sinun ei tarvitse miettiä, mitä ne tekevät - se jää dokumenttiluokan tai asettelun päätettäväksi). Toisaalta ConTeXt pyrkii tarjoamaan helppokäyttöisen käyttöliittymän edistyneille typografisille ominaisuuksille. Valitettavasti en tiedä ConTeXtistä niin paljon kuin haluaisin, joten en voi selittää sitä paljon pidemmälle, mutta jos joskus ehdin kokeilla sitä enemmän, kirjoitan varmasti havaintoni ylös.

Viimeisenä historiallisena huomautuksena minun pitäisi mainita [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) joka oli laajennus Plain TeX -makroihin ja jota American Mathematical Society (AMS) käytti vuosina 1982–1985. Sen perintö elää AMS-LaTeX-paketeissa, jotka ovat monien LaTeX-dokumenttien peruskauraa: `\usepackage{amsmath}`.

## Tulevaisuus

Mitä tulevaisuus tuo TeXille ja LaTeXille? En vielä tiedä, mutta kuten Alan Kay kerran sanoi:

> Paras tapa ennustaa tulevaisuutta on keksiä se.

ShareLaTeXin avulla toivomme voivamme parantaa TeXiä ja LaTeXia kolmannessa suunnassa tuomalla merkittäviä parannuksia LaTeX-työnkulkuun. Vaikka LaTeX on yli 20 vuotta vanha, se on yhä suurelta osin komentoriviohjelma, jota on käytettävä kömpelössä kirjoittamisen, kääntämisen ja tuloksen tarkistamisen kierrossa. Yhteistyötavat perustuvat yleensä kömpelöihin sähköpostiviesteihin sen sijaan, että käytettäisiin tekstinkäsittelylle ominaisia virtaviivaisia prosesseja, kuten Google Docsissa.


---

# 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/fi/syvalliset-artikkelit/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.
