> 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/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

# Mikä on nimi: opas TeXin lukuisiin muunnelmiin

## Johdanto

Olet ehkä kuullut tai lukenut jostakin nimeltä “TeX”, “LaTeX” tai “pdfLaTeX” — tai jostakin lukuisista samankaltaiselta kuulostavista termeistä — mutta et ole aivan varma, mitä ne oikeastaan tarkoittavat? Jos näin on, tämä artikkeli on sinua varten: ei-tekninen tausta, joka selittää TeX-pohjaisen ohjelmiston monet muunnelmat — mitä ne tarkoittavat ja miksi niitä on olemassa. Toistaiseksi yksinkertaistamme keskustelua käyttämällä yleistermiä “TeX”, mutta myöhemmin selitämme sen monien johdannaisten ja muunnelmien kontekstin ja merkityksen: LaTeX, pdfTeX, pdfLaTeX, XeTeX, XeLaTeX, LuaTeX ja LuaLaTeX. Olet ehkä nähnyt joitakin näistä termeistä Overleafin valikossa, jossa voit valita haluamasi “kääntäjän”:

![LaTeX-kääntäjän valitseminen Overleafissa](/files/70cc58ad05d8710dbd8d3aa2f5f0601c6814c6b7)

Ellet ole kokenut TeX-käyttäjä tai muuten tuttu sen ekosysteemin kanssa, TeXin monet “lajit” voivat tuntua hämmentäviltä; tämän artikkelin lopussa sinun pitäisi kuitenkin tuntea olevasi paljon paremmin perillä ja rennompi keskustellessasi TeX-pohjaiseen terminologiaan perehtyneiden kollegoiden, kirjoittajien tai aikakauslehtien toimittajien kanssa.

### Konteksti: 40 vuoden kehitystyö

TeXin juuret ulottuvat 1970-luvun loppupuolelle, ja sen luomisen jälkeiset vuosikymmenet ovat nähneet lukuisien TeX-pohjaisten ladontaohjelmien kehityksen. Ne tarjoavat huomattavia parannuksia ja lisätoiminnallisuuksia verrattuna alkuperäiseen TeX-ohjelmaan. STM-julkaisemisen parissa uudet tulijat, tai sitä uraa harkitsevat, saattavat yllättyä kuullessaan, että ladontaohjelmisto, jonka alkuperä on noin 40 vuoden takaa, on yhä laajassa käytössä teknisten kirjoittajien keskuudessa — ja muodostaa kriittisen osan monista nykyaikaisista julkaisu­työnkuluista Overleafin kaltaisten palveluiden kautta.

### TeX ei ole vain matematiikkaa varten

On yleinen, vaikkakin ymmärrettävä, harhaluulo, että TeXin käyttö rajoittuu tieteellisiin ja teknisiin aloihin; erityisesti monimutkaisen matematiikan ladontaan. Vaikka se löytää eniten käyttäjiä näiltä alueilta, TeX-pohjaista ohjelmistoa käytetään laajalti myös ei-matemaattisen sisällön tuottamiseen — sen korkean laatutason ja uskomattoman monipuolisuuden vuoksi. Matematiikan ladonnan lisäksi TeXin uusimmat versiot (nimeltään XeTeX ja LuaTeX) tukevat nykyaikaisia fonttitekniikoita (OpenType), Unicode-pohjaista tekstinsyöttöä, OpenType-pohjaisia matematiikkafontteja (Microsoft Wordin esimerkin mukaisesti), monikielistä ladontaa (mukaan lukien arabia ja muut monimutkaiset kirjoitusjärjestelmät), suoraa PDF-ulostuloa ja paljon muuta. Esimerkiksi tässä on esimerkki XeTeXin [monikielisestä ladonnasta monimutkaisten kirjoitusjärjestelmien kielillä](https://www.overleaf.com/latex/examples/how-to-write-multilingual-text-with-different-scripts-in-latex/wfdxqhcyyjxz), mukaan lukien arabia, sanskrit, hindi, kiina, japani, korea, kreikka ja thai. Tai jos olet kiinnostunut ruoanlaitosta, entäpä [reseptivihkon](https://www.overleaf.com/latex/examples/simple-recipes-for-first-time-away-from-home-cooks/gscqdhnwzsfg)?

## TeXin synty: Lyhyt historia

Amerikkalainen historioitsija [Daniel J. Boorstin](https://en.wikipedia.org/wiki/Daniel_J._Boorstin) totesi kerran, että:

> “Yrittäminen suunnitella tulevaisuutta ilman historian tajua on kuin yrittäisi istuttaa leikattuja kukkia.”

Sopusoinnussa tuon sitaatin hengen kanssa aloitamme lyhyellä TeXin historialla: mistä se tuli, kuka sen loi — ja miksi?

30\. maaliskuuta 1977 Stanfordin yliopiston tietojenkäsittelytieteilijän professori Donald Knuthin päiväkirjaan kirjattiin seuraava huomautus, jolla hän ilmaisi tyytymättömyytensä juuri saamansa, kirjansa sarjan toisen osan ladottujen vedosten laatuun *The Art of Computer Programming*:

> “Volyymi 2:n painovedokset saapuvat vihdoin, ne näyttävät hirveiltä... (typografisesti). Päätän, että minun täytyy ratkaista ongelma itse.”

Edellä oleva lainaus on sivulta 482 teoksessa [Digital Typography](https://www.amazon.co.uk/Digital-Typography-Language-Information-Publication/dp/1575860104) Donald E. Knuthin kirjoittamana. Tämä pieni merkintä professori Knuthin päiväkirjassa käynnisti ohjelmointimatkan, joka kesti monia vuosia ja johti ladontaohjelmiston luomiseen, joka pystyi tuottamaan hienosti ladottua matematiikkaa ja tietenkin kauniisti ladottua tekstiä: ohjelma, jonka Knuth nimesi *TeX*.

Knuth on loistava tietojenkäsittelytieteilijä, ja TeXiä kehittäessään hän ja hänen kollegansa suunnittelivat uusia ja kehittyneitä algoritmeja ratkaistakseen hyvin monimutkaisia ladontaongelmia: mukaan lukien [automaattinen rivinvaihto](http://onlinelibrary.wiley.com/doi/10.1002/spe.4380111102/abstract), [tavutus](http://www.tug.org/docs/liang/liang-thesis.pdf) ja tietenkin [matematiikan ladonta](http://www.tug.org/TUGboat/tb27-1/tb86jackowski.pdf). Osana TeXin kehitystyötä Knuth tarvitsi fontteja ladontaohjelmistoaan varten, joten hän kehitti oman fonttiteknologiansa nimeltä MetaFont — vaikka emme käsittele sitä tässä yksityiskohtaisesti.

### TeX oli valtava menestys

TeXin suosiota selittivät useat syyt, mukaan lukien:

* *Korkealaatuinen ladonta*: TeXiin sisäänrakennettujen kehittyneiden algoritmien lisäksi Knuthin äärimmäinen typografisten yksityiskohtien huomioiminen johti siihen, että TeX pystyi tuottamaan erittäin korkealaatuista ladottua matematiikkaa ja tekstiä.
* *TeX on ohjelmoitava*: Knuth antoi TeXille oman ohjelmointikielen. Käyttäjät saattoivat kirjoittaa “TeX-makroja” (kokoelman TeX-komentoja), jotka antoivat heille suuren hallinnan TeXin ladontaprosessiin. TeXin ohjelmoitavuus on tärkeä aihe, josta keskustelemme tarkemmin jäljempänä.
* *TeX on ilmainen*: Knuth teki TeXin saataville maksutta — mukaan lukien sen lähdekoodi (eli ohjelmakoodi).
* *Siirrettävyys*: Knuth suunnitteli TeXin sisäisen rakenteen niin, että se oli erittäin siirrettävä ja pystyi toimimaan monissa eri tietokonejärjestelmissä. Samalla syötteellä TeX tuottaisi identtisen tuloksen riippumatta siitä järjestelmästä, jossa se ajettiin — mukaan lukien samat rivinvaihdot ja sivunvaihdot.

Kirjoittajat ilahtuivat, koska TeX antoi matemaatikoille, fyysikoille, tietojenkäsittelytieteilijöille ja muille tarkat keinot hallita työnsä ladontaa ja visuaalista ilmettä. Kirjoittajat saattoivat käyttää TeXiä artikkeliensa tai kirjojensa kirjoittamiseen ja toimittaa käsikirjoituksensa (TeX-tiedostot) kustantajille, tuntien olonsa hieman varmemmaksi siitä, etteivät heidän vedoksensa kärsisi samasta kohtalosta kuin Knuthin vuonna 1977.

## Knuth ylläpitää edelleen TeXiä, mutta uusia “versioita” on syntynyt

1980-luvulla Knuth päätti jäädyttää TeXin aktiivisen kehityksen, koska hän halusi varmistaa ohjelmistonsa pitkän aikavälin vakauden: hän päätti, ettei TeXiin lisättäisi uusia ominaisuuksia. Vuonna 1989 Knuth suostuteltiin tekemään [yhdet viimeiset muutokset](https://www.tug.org/TUGboat/tb10-3/tb25knut.pdf) TeXiin — ensisijaisesti siirtymisen 7-bittisistä merkeistä 8-bittisiin merkkijärjestelmiin. Vuonna 1990 Knuth julkaisi artikkelin nimeltä [The Future of TeX and MetaFont](https://www.tug.org/TUGboat/tb11-4/tb30knut.pdf) jossa hän totesi, että hänen TeXin (ja siihen liittyvän ohjelmiston) kehitystyönsä oli päättynyt, mutta että toiset saivat vapaasti rakentaa hänen tekemänsä työn varaan.

Tänään, noin neljä vuosikymmentä tuon kohtalokkaan TeXin synnyn jälkeen, Knuth jatkaa edelleen ajoittaisia virheenkorjauksia TeXin pää-lähdekoodiin — joka on saatavilla osoitteesta [CTAN (Comprehensive TeX Archive Network)](https://www.ctan.org/tex-archive/systems/knuth/dist/tex/). Nämä päivitykset tehdään muutaman vuoden välein, ja viimeisin oli [TeXin hienosäätö vuonna 2014](https://www.tug.org/TUGboat/tb35-1/tb109knut.pdf) kuten TeX-lehdessä raportoitiin [TUGboat](https://www.tug.org/TUGboat/Contents/contents35-1.html)— seuraava hienosäätö on suunniteltu vuodelle 2021! Näiden hienosäätöjen aikana Knuth ei lisää TeXiin uusia ominaisuuksia, kyse on todella vain virheenkorjauksista — vaikka monet pitävät TeXiä maailman virheettömimpänä ohjelmana.

**Huomautus TeXin “versioista”**: Kun kirjoitetaan TeXistä, on erittäin tärkeää korostaa, että tarkasti ottaen on olemassa vain yksi lopullinen “TeX”-versio: se, jonka Knuth kirjoitti ja jota hän ylläpitää. Itse asiassa “TeX” (joka esitetään ladotulla logollaan) on American Mathematical Societyn tavaramerkki. Knuth ei sulkenut pois tai estänyt muita käyttämästä koodiaan ohjelmiston kehittämiseen *TeXiin perustuvaa*— laajentamaan Knuthin ohjelmistoa lisäämällä ominaisuuksia ja toimintoja niiden lisäksi, jotka Knuth oli päättänyt toteuttaa. Knuth kuitenkin, kuten hänen ehdoton oikeutensa on, teki yhden vahvan ehdon, joka löytyy TeXin lähdekoodista:

`Jos tätä ohjelmaa muutetaan, syntyvää järjestelmää ei tulisi kutsua TeXiksi; virallinen nimi TeX sellaisenaan on varattu ohjelmistojärjestelmille, jotka ovat täysin yhteensopivia keskenään.`

Siksi ei ole täysin tarkkaa viitata Knuthin lähdekoodista johdettuihin ohjelmiin TeXin “versioina”. Tarkasti ottaen *TeXiin perustuva* Knuthin lähdekoodista johdettua ohjelmistoa tulisi kutsua “sovelluksiksi” tai “johdannaisiksi”, mutta yksinkertaisuuden vuoksi jatkamme termin “versiot” käyttöä, huomioiden tässä mainitut varaukset.

Vaikka Knuth jäädytti kehityksen, uusia TeX-ominaisuuksia tai parannuksia olemassa oleviin ominaisuuksiin haluttiin edelleen voimakkaasti, ja vuosien varrella on ollut erilaisia yrityksiä kehittää “TeXin seuraava sukupolvi” — jotkut ovat menestyneet hyvin, toiset eivät. Se on mielenkiintoinen historia, mutta emme voi käsitellä sitä tässä — rohkea lukija löytää paljon täydellisemmän kuvauksen Frank Mittelbachin artikkelista: [TUGboat, osa 34 (2013), nro 1](https://www.tug.org/TUGboat/tb34-1/tb106mitt.pdf).

1990-luvulla jotkin TeXin osat alkoivat näyttää ikääntyneiltä — mukaan lukien sen fonttien käsittely ja TeXin ulostulossa käytetty tiedostomuoto: niin sanottu Device Independent -muoto eli DVI. Useimmat käyttäjät muunsivat TeXin tulosteen PostScriptiksi, mutta 1990-luvun puoliväliin mennessä PostScriptin asemaa alkoi syrjäyttää PDF:n nousu suosituksi tulostiedostomuodoksi. Ja tietenkin oli myös TeXin paikka maailmassa, jossa internet oli jo olemassa. Näistä puutteista huolimatta monet TeXin ydinalgoritmeista — rivinvaihto ja tasaus, tavutus ja matemaattinen ladonta — olivat yhä vailla vertaansa. Kehittäjät halusivat rakentaa TeXin vahvuuksien varaan, mutta päivittää ne alueet, joilla maailma oli mennyt eteenpäin ja TeXin todella tarvitsi pysyä mukana.

### Mitä nimessä on?

On tullut tavaksi, että TeXistä johdetun ohjelmiston nimi saadaan lisäämällä etuliite sanaan “TeX”: näin syntyvät ohjelmanimet kuten **pdf**TeX, **Xe**TeX ja **Lua**TeX. Vaikka nämä ohjelmat ovat johdettu Knuthin alkuperäisestä TeX-ohjelmistosta, niissä on ominaisuuksia ja toimintoja, joita Knuthin alkuperäisessä versiossa ei ole. Yhteisesti näitä ajettavia ohjelmia kutsutaan usein **TeX-moottorit**— ajattele niitä ohjelmistona, joka *ohjaa* ladontaprosessia. Lyhyt kuvaus pdfTeXistä, XeTeXistä ja LuaTeXistä annetaan tämän artikkelin lopussa.

### LaTeX: joukko makroja, ei TeX-moottori

Olemme maininneet, että Knuthin ohjelmistosta johdetuilla TeX-pohjaisilla ohjelmilla on nimiä kuten pdfTeX tai XeTeX; luonnollisesti saatat ajatella, että LaTeX on vain yksi Knuthin ohjelmiston versio. Valitettavasti asia ei ole aivan noin yksinkertainen. LaTeX ei ole ajettavan TeX-ladontaohjelman versio: se on kokoelma niin sanottuja *TeX-makroja*, aihe, josta keskustelemme tarkemmin jäljempänä. LaTeXin muodostavat makrot kirjoitti 1980-luvun puolivälissä Leslie Lamport — joka antoi paketille sen nimen. Kuten itse TeX-moottoreita, myös LaTeX-makropakettia kehitetään edelleen aktiivisesti, ja kiinnostunut lukija voi lukea lisää [LaTeX-projektin verkkosivustolta](https://www.latex-project.org/).

## Mitä TeX itse asiassa tekee?

Kuten todettu, TeX on ladontaohjelma, mutta jos kuvittelet sulavan graafisen käyttöliittymän (GUI), kuten Adobe InDesignissa, mieti uudelleen. TeXin syntyaikana (1970-luvun lopulla) nykyiset kehittyneet graafiset käyttöliittymät ja käyttöjärjestelmät olivat vielä kaukana tulevaisuudessa, ja TeXin toimintatapa heijastaa yhä sen perintöä, jopa TeXin uusissa nykyaikaisissa muunnelmissa.

Niille, jotka ovat tottuneet käyttämään nykyaikaisia sivun asettelun sovelluksia, kuten Adobe InDesignia, voi olla yllätys nähdä, miten TeX toimii. Kuvitellaan, että joku antaa sinulle kopion jostakin TeX-ohjelmistosta (mutta ei hienoja tekstieditoreja) ja päätät ajaa sen nähdäksesi, mitä tapahtuu: mitä näkisit? Totuudenmukaisesti, ei kovin paljoa! TeX käyttää niin sanottua [komentorivikäyttöliittymää](https://en.wikipedia.org/wiki/Command-line_interface): sillä ei ole hienoa graafista näyttöä, johon kirjoittaisit ladottavan tekstisi tai jossa osoittaisit, klikkaisit tai naputtaisit asetuksia tai määrityksiä. Jos ajaisit yhtä TeX-ohjelmista (moottoreista), näkisit yksinkertaisen näytön, jossa vilkkuu kursori — esimerkiksi LuaTexin ajaminen paikallisella koneella (luatex.exe Windowsissa):

![LuaTexin ajaminen Windowsissa](/files/471dd510b3a4cff59e3d9ad0dd0ecf327f725328)

Tietenkin niille, jotka käyttävät TeX-pohjaista ohjelmistoa Overleafin kautta, tarjolla on paljon kätevämpi ja kirjoittajaystävällisempi käyttöliittymä.

### TeXin ohjelmoitavuuden ymmärtäminen

On selvää, että jos haluat ohjelmiston ladottavan jotakin, sinun on annettava sille jonkinlainen syöte (ladottava materiaali) ja sitten annettava sille “ohjeet”, joissa kerrotaan, mitä haluat saavuttaa — kuten mitä fontteja käytetään ja mikä on lopullisen asiakirjan sivukoko, monien muiden yksityiskohtien ohella. Jos käytät työkalua kuten Adobe InDesign, voit valita eri valikoista, näkymistä ja valintaikkunoista asetukset, jotka antavat sinulle jonkin verran vaikutusvaltaa ja hallintaa ohjelmiston toimintaan. Mutta entä jos tällaista näyttöä ei ole ja käytössäsi on vain tyhjä ruutu ja vilkkuva kursori? Tässä TeXin *ohjelmoitavuus* tulee kuvaan mukaan.

### TeX ohjelmana ja TeX ohjelmointikielenä

Koska TeXissä ei ole sisäänrakennettua graafista käyttöliittymää, jonka kautta voisit hallita ja ohjata sen toimintaa, sinun on annettava sille nimenomaiset kirjalliset ohjeet, jotka ohjaavat sitä ladontaprosessin läpi. Luo tekstitiedosto, joka sisältää paitsi työsi tekstin myös nimenomaiset ladontaohjeet (tai komennot), jotka kertovat TeXille, mitä haluat sen tekevän. Kun olet kirjoittanut TeX-tiedostosi, esimerkiksi mybook.tex, kerrot sitten TeXille käsitellä sen ja, jos kaikki menee hyvin, saat ulostulona kauniisti ladotun asiakirjan “mybook.pdf”.

Nuo TeXin toiminnan ohjaamiseen käytetyt “ladontaohjeet” on itse asiassa kirjoitettu ohjelmointikielellä — sellaisella, jonka Knuth suunnitteli nimenomaan antaakseen TeXin käyttäjille suuren hallinnan hänen kehittyneeseen ladontaohjelmaansa. Juuri tämä ladonnan ohjelmointikieli antaa TeXille sen uskomattoman tehon ja joustavuuden.

Voimme nyt alkaa nähdä, että TeX on itse asiassa ladontaohjelmisto, jota käyttäjät voivat hallita antamalla sille ohjeita, jotka on kirjoitettu erityisellä ohjelmointikielellä. TeXistä kannattaa ajatella “TeX” suoritettavana ohjelmana (ladontamoottorina), jota voidaan ohjata TeXin ladontakielellä kirjoitetuilla ohjeillasi. Koska TeXiä ohjataan ohjelmointikielellä, on tietenkin aina mahdollista tehdä virheitä — TeX-tiedostossasi voi olla bugeja, joita TeX ei ymmärrä tai jotka eivät yksinkertaisesti anna odottamiasi tuloksia. Se on TeXiin liittyvän ohjelmiston käyttäjille arkipäiväinen “ilo”, joka on hyvin tuttu. Sen ymmärtäminen, että TeX-moottorit ovat ohjelmoitavia, on avain siihen, että LaTeXin, pdfTeXin, pdfLaTeXin, XeTeXin, LuaTeXin ja vastaavien väliset erot todella hahmottaa. Kukin TeX-moottori (ohjelma) ymmärtää satoja niin sanottuja *primitiivi* komentoja. Primitiivi tässä merkityksessä ei tarkoita “yksinkertaista” tai “hienostumatonta”, vaan sitä, että ne ovat TeX-kielen perusrakennuspalikoita. Yksinkertainen, vaikkakaan ei täysin tarkka, vertaus on jonkin tietyn kielen aakkoset: aakkosten yksittäisiä merkkejä ei voi redusoida yksinkertaisemmiksi kokonaisuuksiksi; ne ovat perusrakennuspalikoita, joista sanat, virkkeet jne. muodostetaan.

## Ja lopuksi: TeXistä pdfTeXiin, XeTeXiin ja LuaTeXiin

Kerrataan vielä. Kun Knuth kirjoitti TeXin alkuperäisen version, hän varusti sen ominaisuuksilla ja kyvyillä, joiden hän katsoi riittävän vastaamaan edistyneen tekstin- ja matematiikan ladonnan tarpeisiin sen ajan teknisessä ympäristössä — mukaan lukien tietokoneiden prosessointiteho ja muisti, fonttiteknologiat sekä tulostuslaitteet. Knuthin TeXin määrittely sisälsi sen sisäisen/ohjelmointirakenteen (ja ladonta-algoritmit) sekä tietenkin TeX-kielen määrittelyn, jota käytetään ladottavan materiaalin “merkintään”. Kun puhumme “TeX-kielen määrittelystä”, tarkoitamme satojen primitiivisten komentojen joukon määrittelyä, jonka TeX-moottori ymmärtää — sekä TeX-moottorin tekemää toimintoa aina, kun se kohtaa jonkin noista primitiiveistä syötetyn tekstisi käsittelyn aikana.

Luonnollisesti tekniset ympäristöt kehittyvät: tietokoneet nopeutuvat ja niissä on enemmän tallennustilaa/muistia, uusia fonttiteknologioita julkaistaan (Type 1, TrueType, OpenType), tiedostojen ulostulomuodot kehittyvät (esim. siirtyminen PostScriptistä PDF:ään) ja Unicode on tullut tekstin koodaamisen hallitsevaksi tavaksi. TeXin käyttäjät halusivat tietenkin, että nämä uudet teknologiat tuetaan — lisäksi haluttiin uusia ominaisuuksia ja toimintoja, joita Knuthin alkuperäisessä TeX-ohjelmassa ei ollut.

Kuten aiemmin mainittiin, 1980-luvulla Knuth päätti jäädyttää TeXin kehityksen: ei enää uusia ominaisuuksia hänen versioonsa. Kun Knuthin alkuperäistä ohjelmistoa oli todellinen tarve päivittää/modernisoida, TeX-ohjelmoinnin asiantuntijat ovat ottaneet Knuthin alkuperäisen lähdekoodin ja parantaneet sitä lisätäkseen uusia ominaisuuksia ja tarjotakseen tukea nykyaikaisille ladontateknologioille. Nämä TeXin uudet versiot eivät ainoastaan tarjoa lisäominaisuuksia (esim. suora PDF-ulostulo, OpenType-fonttien tuki), vaan ne myös laajentavat ja mukauttavat TeX-kieltä: Knuthin alkuperäiseen joukkoon lisätään uusia primitiivejä, mikä antaa käyttäjille enemmän ohjelmointivoimaa ja joustavuutta hallita ja hyödyntää uusien TeX-pohjaisten ladontamoottorien sisään rakennettua lisätoiminnallisuutta.

Jokaiselle uudelle TeX-moottorille annetaan oma nimensä, jotta se erotetaan Knuthin alkuperäisestä ohjelmistosta: näin sinulla on nyt pdfTeX, XeTeX ja LuaTeX. Nämä kolme TeX-moottoria eivät ole keskenään 100-prosenttisesti yhteensopivia, ja on täysin mahdollista valmistella syöte, joka voidaan käsitellä yhdellä TeX-moottorilla mutta joka ei toimi muilla — yksinkertaisesti siksi, että jokin tietty TeX-moottori saattaa tukea primitiivisiä komentoja, joita muut eivät tue. Mutta kaikki ei ole menetetty: tervetuloa TeX-makrojen maailmaan!

### Primitiivit eivät kerro koko tarinaa: TeX-makrot

Olemme maininneet, että kukin TeX-moottori tukee tiettyä joukkoa matalan tason komentoja, joita kutsutaan primitiiveiksi — mutta tämä ei ole koko tarina. Tietenkin monet samat primitiivit ovat kaikkien moottorien tukemia, mutta jotkin ovat ominaisia vain tietylle moottorille. TeX saavuttaa todellisen tehonsa ja hienostuneisuutensa niin sanottujen TeX-makrojen kautta. Moottorin TeX-kielen primitiivikomentoja voidaan yhdistää uusien komentojen määrittelemiseksi (joita kutsutaan makroiksi), ja ne rakentuvat matalan tason primitiivisten ohjeiden ja/tai muiden makrojen yhdistelmistä. TeX-makrot antavat käyttäjille mahdollisuuden määritellä uusia komentoja, jotka pystyvät suorittamaan monimutkaisia ladontatoimintoja, mikä säästää paljon aikaa, näppäilyä ja ohjelmointivirheitä. Lisäksi TeX-moottorit tarjoavat primitiivejä, joilla voidaan määrittää, mitä TeX-moottoria asiakirjan ladonnassa käytetään — näin TeX-moottori voi lennossa mukauttaa toimintaansa sen mukaan, tukeeko se tiettyä primitiiviä, johon se saattaa törmätä. Jos tiettyä primitiiviä ei tueta suoraan, mutta se voidaan “matkia” (käyttämällä muiden primitiivien yhdistelmiä), kaikki on yleensä hyvin — mutta jos valittu TeX-moottori ei todellakaan pysty käsittelemään jotakin tiettyä primitiiviä, ladonta epäonnistuu ja virhe ilmoitetaan. TeX-kieli on loppujen lopuksi ohjelmointikieli, vaikkakin sellainen, joka on suunniteltu ratkaisemaan ladontaongelmia; mutta ohjelmointikielenä TeX on erittäin vaikeaselkoinen ja toimii hyvin eri tavalla kuin useimmat ohjelmointikielet, joihin tänä päivänä todennäköisesti törmäät.

### Joten lopulta, mikä LaTeX on?

Olemme puhuneet TeX-moottorin eri versioista — Knuthin alkuperäisestä TeXistä sen jälkeläisiin pdfTeXiin, XeTeXiin ja LuaTeXiin — ja käsitelleet lyhyesti TeXiä ladontakielenä: primitiivejä, ohjelmointia ja kykyä kirjoittaa makroja. Nyt olemme viimein valmiita keskustelemaan LaTeXistä. Luonteva jatke yksittäisten TeX-makrojen kirjoittamiselle omaan henkilökohtaiseen käyttöön on valmistella makrokokoelma, jota muutkin voivat käyttää — makropaketti, joka tarjoaa hyödyllisiä työkaluja ja komentoja, joista muut (La)TeX-käyttäjät voivat hyötyä. Ja juuri sitä LaTeX on: hyvin suuri kokoelma monimutkaisia ja kehittyneitä makroja, jotka on suunniteltu auttamaan sinua kirjojen, aikakauslehtiartikkeleiden ja vastaavien ladonnassa. Se tarjoaa runsaasti ominaisuuksia sivuasettelun, fonttien ja monien muiden ladonnan yksityiskohtien hallintaan. Eikä siinä kaikki, vaan LaTeX suunniteltiin laajennettavaksi: voit liittää siihen lisää, erikoistuneempia makropaketteja, jotka on kirjoitettu ratkaisemaan tiettyjä ladontaongelmia — esimerkiksi kauniisti ladottujen taulukoiden tuottaminen, erityisen monimutkaisten matematiikan muotojen ladonta, kemialliset kaaviot ja niin edelleen. Jos vierailet [Comprehensive TeX Archive Networkissa](https://www.ctan.org) voit valita satojen, ellei tuhansien, makropakettien joukosta, jotka käyttäjät ympäri maailmaa ovat kirjoittaneet ja lahjoittaneet.

Joten jos joku sanoo ladottavansa työnsä LaTeXillä, hän kertoo sinulle vain osan tarinasta. Hän tarkoittaa oikeastaan, että hän käyttää LaTeX-makropakettia tietyn TeX-moottorin kanssa — yleensä pdfTeXiä, mutta ehkä XeTeXiä (monikieliseen työhön) tai LuaTeXiä (ehkä edistyneeseen mukautettuun asiakirjatuotantoon). Usein näet termejä kuten pdfLaTeX, XeLaTeX tai LuaLaTeX: mutta nämä eivät itse asiassa ole TeX-moottorien nimiä, vaan ne kertovat vain, mitä TeX-moottoria käytetään LaTeX-makrokokoelman ajamiseen:

* pdfLaTeX tarkoittaa LaTeX-makropaketin käyttöä pdfTeX-moottorin kanssa
* XeLaTeX tarkoittaa LaTeX-makropaketin käyttöä XeTeX-moottorin kanssa
* LuaLaTeX tarkoittaa LaTeX-makropaketin käyttöä LuaTeX-moottorin kanssa

Esimerkiksi sanoa “käytän pdfLaTeXiä” tarkoittaa “valmistan ladotun asiakirjani LaTeX-makropakettia käyttäen ja käsittelen sen pdfTeX-moottorilla”. Samoin, jos joku sanoo sinulle “käyttävänsä TeXiä”, sinun pitäisi nyt huomata, että tuo väite ei todennäköisesti kerro koko totuutta — ellei hän käytä Knuthin alkuperäistä TeX-versiota, mikä on nykyään varsin epätodennäköistä.

## TeX-moottoreista TeX-asennuksiin

Olemme tutustuneet lyhyesti TeXin historiaan ja nähneet, että sen nykyaikaiset johdannaiset — pdfTex, XeTeX ja LuaTeX — ovat lisänneet monia uusia ominaisuuksia ja toimintoja Knuthin alkuperäiseen ohjelmistoon. Keskustelumme päätteeksi katsomme nopeasti kolmea suosituinta TeX-moottoria ja tarkastelemme lyhyesti TeX-asennuksia.

### pdfTeXin, XeTeXin ja LuaTeXin keskeiset ominaisuudet

Tässä on yhteenveto *joistakin* kolmen suosituimman TeX-moottorin tarjoamista keskeisistä ominaisuuksista:

* **pdfTeX**: Kuten nimi vihjaa, se tarjoaa mahdollisuuden tuottaa suoraan PDF:ää, jolloin käyttäjien ei tarvitse muuntaa TeXin omaa DVI-muotoa PostScriptiksi ja siitä PDF:ksi GhostScriptin tai Acrobat Distillerin avulla (huom.: jotkut käyttäjät tekevät myös DVI:stä PDF:n työkalujen, kuten dvipdf:n, kautta). pdfTeX toi myös tarkennuksia TeXin ladontaan — kuten marginaalikerningin (merkkien työntymisen). pdfTeXin kehitti Hàn Thế Thành, ja sen toteutuksen yksityiskohdat muodostivat hänen väitöskirjansa perustan [TeX-ladontajärjestelmän mikrotypografiset laajennukset](https://www.tug.org/TUGboat/tb21-4/tb69thanh.pdf).
* Ensimmäinen julkaisuajankohta (julkaisutietojen mukaan): elokuu 2001
* Lisätietoja: [www.tug.org/applications/pdftex](http://www.tug.org/applications/pdftex)
* **XeTeX**: Se toi mahdollisuuden lukea/syöttää suoraan UTF-8-koodauksella tallennettuja tai luotuja TeX-tiedostoja, lisäsi kehittyneen monikielisen ladonnan käsittelyn — mukaan lukien monimutkaiset kirjoitusjärjestelmät kuten arabia. Yksi erityisen hyödyllinen ominaisuus on, että XeTeX teki OpenType-fonttien käytöstä erittäin helppoa ja kätevää, ja myöhemmät versiot lisäsivät OpenType-pohjaisen matematiikan ladonnan. XeTeXin kehitti Jonathan Kew, vaikka myöhempää kehitystä ovat johtaneet TeX-yhteisön muut jäsenet.
* Ensimmäinen julkaisupäivä (Wikipedia): aluksi vain Mac OSX, huhtikuu 2004
* Lisätietoja: <http://tug.org/xetex>
* **LuaTeX**: Väittelemättä kaikkien TeX-moottorien joukossa tehokkain ja monipuolisin LuaTeX on johdettu pdfTeXistä (monien muiden lähteiden/kirjastojen lisäksi) ja tarjoaa merkittävästi lisätoiminnallisuutta. Keskeinen innovaatio on Lua-skriptauskielen lisääminen, mikä mahdollistaa erittäin kehittyneen TeX-moottorin hallinnan helppokäyttöisen skriptikielen avulla. Se tukee myös UTF-8-tekstikoodausta, OpenType-pohjaista matematiikan ladontaa ja erittäin kehittynyttä OpenType-fonttien käyttöä tekstin ladonnassa — vaikka mekanismi on erilainen kuin XeTeXissä käytetty. LuaTeX integroi myös MetaPost-grafiikkakielen, jolloin käyttäjät voivat hyödyntää täysin MetaPostin kehittyneitä piirto-ominaisuuksia. Kirjojen ja aikakauslehtiartikkelien valmistamisen lisäksi LuaTeX sopii erinomaisesti edistyneeseen tai räätälöityyn asiakirjatekniikkaan — tehokas ominaisuus on LuaTeXin laajennettavuus C/C++:lla kirjoitettujen ja .DLL-tiedostoina (Windows) tai .so-tiedostoina (Linuxissa) ladattujen “lisäosien” kautta. LuaTeXiä kehittää tiimi, johon kuuluu Hans Hagen, Taco Hoekwater, Luigi Scarso ja muita.
* Ensimmäinen julkaisupäivä: kehitystyö alkoi noin vuonna 2006, ja lukuisat beta-julkaisut huipentuivat versioon 1.0 syyskuussa 2016. Sitä kehitetään edelleen erittäin aktiivisesti.
* Lisätietoja: [www.luatex.org](http://www.luatex.org)

### TeX-asennukset: TeX Live

Saatat ihmetellä, miten käyttäjät pääsevät käsiksi eri TeX-pohjaisiin ladontaohjelmiin ja niihin liittyviin LaTeX-makropaketteihin? Vastaus on käyttää niin sanottua *TeX-jakelua* jonka käyttäjät voivat ladata ja asentaa — nykyaikaiset TeX-asennukset sisältävät nykyään paljon muutakin kuin vain TeX-pohjaiset ladontamoottorit. Vuosien varrella TeXin käyttäjät ympäri maailmaa ovat kehittäneet ja lahjoittaneet hämmästyttävän määrän TeXiin liittyviä työkaluja ja ohjelmistoja sekä satoja fontteja ja tietenkin valtavan määrän erikoistuneita LaTeX-paketteja. Tätä valtavaa ohjelmistokokoelmaa hallinnoivat ja päivittävät TeX-yhteisön johtavat jäsenet, ja se huipentuu vuosittaisiin jakelun julkaisuihin nimeltä [TeX Live](https://www.tug.org/texlive/)— joka sisältää myös kunkin tuetun alustan (Windows, Linux jne.) uusimmat vakaat TeX-moottorijulkaisut. Windows-käyttäjät käyttävät usein toista jakelua nimeltä [MiKTeX](https://miktex.org/).

## Overleaf: LaTeX-ekosysteemin tukeminen

Nykypäivän tutkimusympäristö on tietenkin erittäin verkottunut ja yhteistyöhön perustuva — mukaan lukien yhdessä työskentely artikkelien kirjoittamiseksi ja valmistamiseksi julkaistaviksi. LaTeX-pohjaisten artikkelien ja niihin liittyvien kuvien tai datan jakaminen sähköpostitse voi olla turhauttavaa — ei pelkästään versiohallinnan (ja tiedostokokojen) vuoksi, vaan myös siksi, että on täysin mahdollista, että yhdellä tai useammalla kanssakirjoittajalla on LaTeX-asennus, joka ei pysty käsittelemään LaTeX-tiedostoa; esimerkiksi puuttuvien fonttien, pakettien saatavuuserojen tai vanhentuneiden LaTeX-julkaisujen vuoksi. Kanssakirjoittaja saattaa olla matkalla tai väliaikaisesti paikassa, jossa hänellä ei ole pääsyä LaTeXiä varten. Kaikki tämä voi johtaa mahdollisesti turhauttavaan tilanteeseen — varsinkin lähellä lähetysdeadlinea! Akateemiset laitokset tai kaupalliset organisaatiot, jotka haluavat tarjota henkilöstölleen tai tiimeilleen pääsyn LaTeXiä varten, saattavat joutua asentamaan ja sitten ylläpitämään, päivittämään ja tukemaan kattavaa koko organisaation laajuista TeX-järjestelmää. Se voi olla monimutkainen hanke, joka saattaa vaatia erikoisosaamista, joka voi olla vain yhdellä henkilöllä. Jos LaTeX-asennuksesi asiantuntija lähtee toiseen työhön, hänen tilalleen voi olla haastavaa löytää korvaaja. TeX-asennuksia on ylläpidettävä aktiivisesti, koska TeXin maailma ei ole staattinen ja asennuksesi voi pian vanhentua — mikä ärsyttää käyttäjiäsi, jotka saattavat tarvita uudempia tai edistyneempiä TeX-pohjaisia työkaluja. Uusia ja päivitettyjä LaTeX-paketteja julkaistaan jatkuvasti, samoin lisäfontteja ja TeXiin liittyviä ohjelmistotyökaluja. Lisäksi TeX-moottorit, erityisesti LuaTeX, kehittyvät edelleen.

### Overleaf: LaTeX-ratkaisuja kirjoittajille ja organisaatioille

Overleaf tarjoaa kirjoittajille ja heidän organisaatioilleen pilvipohjaisen LaTeX-kirjoitus- ja projektinhallintajärjestelmän — tehokkaiden palvelimien tukemana, joissa on huippuluokan TeX-asennus.

#### Overleaf kirjoittajille

Overleafin selainpohjaisen LaTeX-editorin avulla kirjoittajat voivat luoda, jakaa, tehdä yhteistyötä ja hallita LaTeX-pohjaisia projektejaan missä ikinä he työskentelevätkin. Tarvitset vain internet-yhteyden ja laitteen, jossa on nykyaikainen selain.

Overleaf tarjoaa erittäin kätevän tavan käyttää LaTeXiä, johon kuuluu:

* Ei enää LaTeX-tiedostojen ja valtavien kuvien lähettelyä sähköpostitse — lähetä vain kollegoillesi linkki projektiisi Overleafissa ja aloittakaa yhteistyö ja jakaminen.
* Erinomainen tekninen tuki — ota meihin yhteyttä milloin tahansa, jos sinulla on kysyttävää LaTeXin käytöstä.
* Kanssakirjoittajat käyttävät samaa LaTeX-asennusta — ei tarvitse luottaa paikallisiin asennuksiin tai joutua vanhentuneen LaTeX-järjestelmän rajoittamaksi.
* Saat asiakirjasi erottumaan — valitse laajasta valikoimasta valmiita moderneja OpenType-fontteja tai lataa projektiisi lisää fontteja. Yksinkertainen ja helppokäyttöinen fontspec-paketin kanssa.
* Sinun ei tarvitse ajaa TeX-moottoreita — Overleaf tekee sen puolestasi. Säästä aikaa ja hyödynnä ladotun LaTeX-asiakirjasi nopeaa reaaliaikaista esikatselua tai vaihda halutessasi manuaaliseen päivitykseen.
* Lähetä artikkelisi suoraan mukana oleviin lehtiin ja preprint-palveluihin tai lataa koko LaTeX-projektisi yhdeksi ZIP-tiedostoksi jatkolähetystä varten haluamaasi lehteen.
* Pääsy täysin varusteltuun Linux-palvelimeen: työkalut ja apuohjelmat, joita saatat tarvita grafiikan ja tekstin käsittelyyn — TeXin \write18 ei ole koskaan ollut näin tyytyväinen!
* Valitse TeX-moottori, jolla LaTeX-koodisi käsitellään, tai anna Overleafin havaita ja käyttää dokumenttisi käsittelyyn parhaiten sopivaa moottoria. Overleaf tukee LaTeX-käsittelyä pdfTeXillä, XeTeXillä, LuaTeXillä ja dvipdf:llä.

#### Overleaf organisaatioille ja yrityksille

Tarjoa yhteisöillesi ja tiimeillesi pääsy huippuluokan LaTeX-asennukseen — mutta ilman mitään hallinnollista taakkaa. Ei enää teknisen tuen puheluita LaTeX-asennuksista, ei tarvitse huolehtia Windowsista, Linuxista tai Mac OS:stä — hyödynnä Overleafin teknistä infrastruktuuria. LaTeX-käyttäjiesi yhteisö arvostaa Overleafin tarjoamia ominaisuuksia LaTeX-projektien hallintaan — tiedostojen ja grafiikan lataamisesta aina projektilinkkien jakamiseen, jotka mahdollistavat tiimien työskentelyn saman artikkelin parissa. Tarjoa tutkijoille erinomainen palvelu — edistä yhteistyötä parhaan mahdollisen tutkimuksen tukemiseksi. Kiitos, että luit tämän artikkelin, toivottavasti löysit siitä jotain kiinnostavaa. Jos sinulla on kysyttävää Overleafista, ota rohkeasti yhteyttä [ota yhteyttä](https://www.overleaf.com/contact)— Overleafin tiimi odottaa innolla yhteydenottoasi.

Hyvää (La)TeXailua!


---

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