Tietokoneen käytön ja ohjelmoinnin alkeet

Kurssin kotisivulle


Seuraavassa esitettävien TeX- ja LaTeX-pätkien tulostukset pitäisi lisätä tähän kuvina, mutta enpä ole ehtinyt. Luentokalvot ovat kuitenkin katseltavissa myös PDF-versiona, josta näkee, miltä tulosteiden pitäisi näyttää.


Tässä luvussa tutustutaan lyhyesti ohjelmiin, jotka on tarkoitettu nimenomaan luonnontieteellisen kaavoja sisältävän tekstin tulostamiseen. TeX ja LaTex ovat oikeastaan ainoita järjestelmiä, joilla saadaan helposti aikaan julkaisuilta vaadittavaa typografiaa. Esimerkiksi Wordin kaavaeditorin tuotteet ovat yleensä järkyttävän kammottavia.


10 TeX ja LaTeX

Matemaattisessa tekstissä esiintyy kaikenlaisia erikoismerkkejä, joiden tuottaminen useimmilla tekstinkäsittelyohjelmilla on hankalaa tai suorastaan mahdotonta. Kaavoja koskevat myös omat typografiset sääntönsä, joita ohjelmat eivät yleensä ota huomioon.

Kirjoittaessaan tietojenkäsittelyn oppikirjasarjaa alan guru Donald E. Knuth tuskastui näihin ongelmiin niin paljon, että kehitti oman ohjelman matemaattisen tekstin tuottamiseen. Tämä ohjelma, TeX, ei ole nykyisten tekstinkäsittelyohjelmien kaltainen ns. wysiwyg-ohjelma (what you see is what you get). Kyseessä on pikemminkin jonkinlainen ohjelmointikieli. Tekstin joukkoon sijoitetaan muotoilukomentoja, joiden perusteella ohjelma tuottaa siitä tulostettavan tai katseltavan version.

LaTeX on alkuperäisen TeXin päälle rakennettu aliohjelmakirjaston (tai oikeammin makrokirjaston) tapainen järjestelmä. Sen käyttö on usein vaivattomampaa, koska monet asiat on määritelty valmiiksi. Toisaalta joidenkin oletusarvojen muuttaminen voi olla työlästä.

TeX in ja LaTeXin syöttötiedostot ovat aivan tavallista tekstiä, joka voidaan kirjoittaa millä tahansa tekstieditorilla. Tiedostossa ei ole mitään tulostumattomia erikoismerkkejä. Niinpä tiedostoja voidaan siirtää helposti erilaisten laitteistojen välillä. Tiedostot sisältävät vain itse tekstin ja muotoilukomentoja (nekin tekstiä), joiden osuus on suhteellisen pieni varsinkin suorasanaisessa tekstissä. Tiedostot ovat siten hyvin paljon pienempi kuin esimerkiksi vastaavan asian sisältävät Wordin doc-tiedostot.

TeX ja LaTeX ovat saatavina useimpiin järjestelmiin. Ne sisältyvät Linuxin asennuspaketteihin. Käyttöjärjestelmää asennettaessa tarvitsee vain valita ne mukaan otettaviksi.

Näillä ohjelmilla matemaattisten kaavojen tuottaminen on erittäin helppoa. Ne huolehtivat oikeasta typografiasta lähes automaattisesti. Ne on kuitenkin laadittu ennen kuin matemaattisia merkintätapoja koskeva ISO-standardi oli kehitetty, joten joitakin yksityiskohtia on koodattava käsin, jos haluaa todella oikeaoppista jälkeä.

Monet tieteelliset lehdet ja kirjasarjat käyttävät tekstiensä ladontaan LaTeXia. Niiden verkkosivujen kautta voi ladata valmiita paketteja, joiden avulla artikkelin tai kirjan saa juuri kustantamon haluamaan muotoon. Nykyisin monet lehdet ottavatkin vastaan vain omien ohjeittensa mukaisesti laadittuja LaTeX-tiedostoja, joten ohjelman käytön opiskelu on oikeastaan välttämätöntä, jos aikoo julkaista tieteellisiä artikkeleita.

Tässä käsitellään näiden ohjelmien käyttöä vain äärimmäisen lyhyesti esimerkkien avulla. Molemmat ovat laajoja järjestelmiä, joista on runsaasti oppikirjoja.

TeX

Aloitetaan pienellä esimerkillä. Kirjoitetaan vaikka emacsilla tiedosto koe.tex, jossa on seuraava teksti:

Fermat'n suuren lauseen mukaan yht\"al\"oll\"a
$$
  x^n + y^n = z^n
$$
ei ole ratkaisuja, joissa $x$, $y$ ja $z$ ovat
kokonaislukuja, jos $n > 2$.

Fermat'n pieni lause puolestaan sanoo, ett\"a jos
$p$ on alkuluku ja $a$ jokin kokonaisluku, 
jakolaskusta $a^p/p$ j\"a\"a jakoj\"a\"ann\"okseksi $a$. 

\bye

Kenoviiva \ kertoo, että sitä seuraava sana on jokin TeX in toimintaa ohjaava komento. Sitä käytetään myös joidenkin poikkeuksellisesti käsiteltävien merkkien kuten aksenttien yhteydessä.

Syötetään tämä \TeX-ohjelmalle:

      tex koe

Jos tiedosto oli oikein kirjoitettu, tuloksena on tiedosto koe.dvi. Nimen loppuosa tulee sanoista device independent. Kyseessä on laiteriippumaton kuvaus, joka sisältää tiedon tulostettavista merkeistä ja niiden paikoista.

Tiedostoa koe.dvi ei voi sellaisenaan katsella eikä tulostaa. Sen avulla voidaan kuitenkin tuottaa monille erilaisille laitteille sopivia tiedostoja. Nykyisin tarvitaan yleensä PostScript-tiedostoja. Esimerkin tapauksessa se voidaan tehdä sanomalla

      dvips koe

Tämä tekee vastaavan PS-tiedoston ja lähettää sen saman tien oletustulostimelle. Yleensä tätä ei haluta, vaan mieluummin katsotaan ensin kuvaruudulla, onko lopputulos halutunlainen. Siksi talletetaankin tulos tiedostoon esimerkiksi komennolla

      dvips -o koe.ps koe

Nyt uurastuksemme tulos on tiedostossa koe.ps, jota voidaan tarkastella X-ikkunointiympäristössä ghostview-ohjelmalla:

      gv koe.ps

Dvi-tiedostosta voidaan myös tehdä PDF-tiedosto:

      dvipdf koe

Jos mukana on kuvia, PDF-muotoinen tiedosto voi olla huomattavasti pienempi kuin PS-tiedosto. Syntyvää tiedostoa voidaan katsella ohjelmalla xpdf

      xpdf koe.pdf

Jos tulos on sellainen, kuin halusimme, se voidaan lähettää tulostimelle:

      lpr koe.ps

Tulostus voidaan tehdä myös ohjelman xpdf ikkunassa näkyvän tulostimen ikonin avulla. Tällä tavoin kuvia sisältävät tiedostot tulostuvat yleensä paljon nopeammin.

Paperille pitäisi nyt ilmaantua seuraavanlainen tulostus:


ei esitettävissä hötlimötli-kielellä, mutta saattaa aikanaan ilmestyä tähän kuvana


Kun tulostetta vertaa alkuperäiseen tiedostoon, tiedoston merkintöjen pitäisi olla jokseenkin selviä:

Jokainen kappale muotoillaan kokonaisuutena niin, että sanavälit ovat suunnilleen yhtä pitkiä. Pisteen jälkeen tulee automaattisesti pitempi väli.

Kirjainten välistykset ovat kiinteät; sanan kirjaimia ei harvenneta, kuten joissakin muissa ohjelmissa on oletuksena.

Tavutusta pyritään välttämään. Oletuksena englanninkielen mukainen tavutus. Tavutusvihjeen voi merkitä: kaivos\-aukko.

Tämän kirjoittaja tuskastui aikoinaan skandi- ja tavutusjuttuihin niin paljon, että kirjoitti C-ohjelman, joka muuntaa ISOLatin1-skandit TeXin mukaisiksi ja lisää suomenkielen mukaiset tavutusohjeet. Ohjelma on kuitenkin äärimmäisen triviaali, eikä osaa käsitellä edellisen tapaisia yhdyssanoja. Se löytyy täältä. Ohjelmaa saa vapaasti käyttää, mutta omalla vastuulla; se on tehty täysin omia hieman erikoisia tarkoituksia varten, joten siinä on joitakin rajoituksia. Hyvä harjoitustehtävä on tutkia, mitä se oikein tekee ja korjata sen puutteet.

Matematiikkamoodin ominaisuuksia

Kreikkalaiset kirjaimet saadaan kutsuilla \alpha, \beta, \gamma jne. Isot kirjaimet esimerkiksi \Gamma, \Delta.

Murtolausekkeet

  {1\over x}   {a + bx\over 1 + cx + dx^2}

Integraalimerkki on \int. Integroimisrajat voidaan ilmoittaa samalla tavoin kuin ala- ja yläindeksit.

Esimerkiksi

  u = \int f(x)\,dx,    \int_0^\infty e^{-x}\, dx = 1.

Summamerkkiä \sum käytetään vastaavalla tavalla

  \zeta(x) = \sum_{i=1}^\infty {1 \over x^i}.

Alkeisfunktiot

  \sqrt{1+x}  \sin x \tan x  \ln x

Näistä voi rakentaa mutkikkaampia lausekkeita:

  \sqrt{ {1+x \over 1- \sqrt{1-x}} }

Sekalaista

  \lim_{x \rightarrow 0} = \infty   \vert \pm 1 \vert = 1

Lausekkeiden ympärillä pitäisi olla oikean kokoiset sulut. Sulkumerkkien koon voi valita itse, mutta se käy myös automaattisesti makroilla \left ja \right. Esimerkiksi

  \left( {a \over \sqrt{1+x}} \right)^2

Makrot

Jokin rakenne voi toistua tekstissä monia kertoja. Olisi kätevää, jos sen voisi määritellä vain kerran jonkinlaisena aliohjelmana, jota kutsutaan aina tarpeen tullen. Jos emme ole tyytyväisiä muotoiluun, tarvitsee vain muuttaa tuon aliohjelman määrittelyä. Juuri näin voidaan tehdä TeXissä, mikä erottaa sen useimmista muista tekstinkäsittelyohjelmasta.

Ohjelmointikielten terminologian mukaan TeXissä määriteltävät oliot eivät ole aliohjelmia vaan makroja.

Yksinkertaisimmillaan makro voi vain korvata tietyn pätkän tekstiä.

      \def\name{What is the name of this book?}

Tässä name on makron nimi. Kun tekstissä esiintyy makrokutsu \name, se korvautuu tekstillä What is the name of this book?

Makrolla voi olla myös parametreja. Parametrien merkkeinä TeXissä ovat #1, #2 jne.

Ajatellaanpa, että tekstimme vilisee funktion $f$ osittaisderivaattoja eri muuttujien suhteen. Määritellään seuraavanlainen makro:

      \def\pd#1{{\partial f\over\partial #1}}

Nyt voimme kirjoittaa tiedostoon

  \pd{x}

Makrojen avulla mutkikkaatkin rakenteet voidaan korvata yksinkertaisella kutsulla, jolle voidaan antaa aiheeseen sopiva havainnollinen nimi.

LaTeX

LaTeX on TeXin päälle rakennettu makrokirjasto, jossa on valmiina joitakin perusmäärittelyjä artikkeleita ja kirjoja varten. Jos oletusmäärittelyt kelpaavat, käyttäjä pääsee itse asiaan hyvin vähällä vaivalla. Tilanne on sama myös, jos lähettää artikkelin tieteelliseen aikakauslehteen käyttämällä sen omia määrittelyjä.

Edellä ollut esimerkki LaTeXilla olisi:

  \documentclass[a4]{article}
  \begin{document}
  \usepackage{amsmath}

  Fermat'n suuren lauseen mukaan yht\"al\"oll\"a 
  \begin{equation*}   
    x^n + y^n = z^n
  \end{equation*}
  ei ole ratkaisuja, joissa $x$, $y$ ja $z$ ovat
  kokonaislukuja, jos $n > 2$.

  Fermat'n pieni lause puolestaan sanoo, ett\"a jos
  $p$ on alkuluku ja $a$ jokin kokonaisluku, 
  jakolaskusta $a^p/p$ j\"a\"a jakoj\"a\"ann\"okseksi $a$. 

  \end{document}


Tässä määritellään, että käytetään A4-kokoisia sivuja ja artikkelille määriteltyä ulkoasua.

Jos esimerkki on taaskin tiedostossa  koe.tex, siitä saadaan dvi-tiedosto komennolla

      latex koe.tex

Tästä eteenpäin toimintaa jatketaan samalla tavoin kuin TeX-tiedoston tapauksessa.

LaTeXissa on valmiina työkalut sisällysluettelon ja aakkosellisen hakemiston tuottamiseen. Tiedot tulostuvat omiin tiedostoihinsa, joista ne poimitaan tekstin joukkoon LaTeXin komennoilla.

Kaavoille, kuville ja taulukoille voidaan antaa nimet, jolloin niihin voidaan viitata näiden nimien avulla. Tämä on kätevää, koska kaavojen ja kuvien numerot tuppaavat muuttumaan tekstiä muokattaessa. Koska viittaukset voivat osoittaa myös olioihin, jotka esiintyvät tekstissä vasta myöhemmin, niitä ei voida käsitellä saman tien. Nimet talletetaankin tiedostoon, josta ne luetaan seuraavalla kerralla.

Jos tekstiä muutetaan, hakemiston sivunumerot ja muut viittaukset voivat muuttua, jolloin aputiedostot eivät ole ajan tasalla. Kun teksti on ajettu LaTeXin läpi ilman virheilmoituksia, LaTeX on suoritettava vielä uudestaan, jotta kaikki viittaukset olisivat oikein.

LaTeXin käyttö on aloittelijallekin suhteellisen helppoa, varsinkin jos voi käyttää jotakin valmiiksi määriteltyä muotoilutapaa. Jos sen sijaan haluaa luoda aivan oman tyylinsä, homma voi käydä aika työlääksi, koska jotkin asiat on haudattu syvälle makrokirjastoon, josta niiden löytäminen ja muuttaminen voi olla erittäin hankalaa. Siksi esimerkiksi tämän kirjoittaja käyttää alkuperäistä TeX-ohjelmaa, jossa määrittelyjen muuttaminen on helpompaa. Siinäkin oman tyylin määritteleminen on melko mutkikasta, mutta kun sen on kerran tehnyt, sitä on helppo muokata. Tämän tekstin määrittelyt ovat erillisessä tiedostossa, johon ei yleensä tarvitse kajota, ja sopivien makrojen ansiosta itse tekstitiedoston muoto ei juuri poikkea LaTeXin tiedostoista.

Virhediagnostiikka on toinen pieni mutta harmittava ongelma. LaTeXin tapauksessa virhe saatetaan havaita jossakin syvällä sisäkkäisten makrokutsujen uumenissa, jolloin seurauksena voi joskus olla suuri joukko virheilmoituksia, jotka eivät ole mitenkään havainnollisia. TeXin ilmoitukset osoittavat selvemmin virheen todellisen paikan ja syyn.

AMS-LaTeXissa on matematiikkaan liittyviä laajennuksia. Ne saadaan käyttöön komennolla

  \usepackage{amsmath}

Seuraavassa käsiteltävistä piirteistä jotkin ovat peräisin juuri tästä pakkauksesta.

Jollakin erikoistavalla käsiteltäviä ympäristöjä rajataan begin--end pareilla; esimerkiksi omalle rivilleen tuleva kaava on muotoa:

  \begin{equation}   
    ...
  \end{equation}

Näin kirjoitetulle kaavalle annetaan myös automaattisesti numero. Jos kaavaa ei haluta numeroida, kuten aikaisemmassa esimerkissä, sanan equation loppuun kirjoitetaan *.

Usealle riville tuleva kaava kohdistetaan aligned-ympäristössä. Kohdistuspaikka ilmoitetaan merkillä \&. Taulukkoja varten on tabular-ympäristö. \page


\documentclass{article}

\usepackage{amsmath}

\begin{document}

\title{Test file}
\author{H. Karttunen}

\maketitle

\section{Formula}

Using {\em Kepler's third law} we get
\begin{equation*}
\begin{aligned}
  P^2 &= \frac{4\pi^2 a^3}{G(m_1+m_2)} \\
      &= \frac{4\pi^2\times 1}{6.67\times10^{-11}(5+5)} \\
      &= 5.9 \times 10^{10}\ {\rm s}^2.
\end{aligned}
\end{equation*}

\section{Table}

\begin{tabular}{|l|crr|} % preamble
  \hline
  name &type&magnitude&distance \\
  \hline
   M31  &Sb  &     3.2 & 760  \\
   M33  &Sc  &     5.6 & 790  \\
  \hline
\end{tabular}

\end{document}




Kuvat

Tekstiin voi liittää myös kuvia. Kuvien on oltava EPS-muotoisia (Encapsulated PostScript) tiedostoja. Nämä ovat PostScript-kielisiä tiedostoja, joiden täytyy toteuttaa joitakin rajoituksia. Idea on, että kuvat eivät aiheuta sivuvaikutuksia, jolloin niitä voi sijoitella melko vapaasti eri dokumentteihin. Valitettavasti monet piirto-ohjelmat vähät välittävät näistä vaatimuksista ja tuottavat sääntöjen vastaista koodia. Sellaisten kuvien vaikutukset voivat olla arvaamattomat. Pahimmassa tapauksessa ne sekoittavat tai jumittavat tulostimen.

EPS-tiedostot ovat itse asiassa ohjelmia ja sisältävät aivan tavallista tekstiä. Alussa on tavallisesti seuraavanlainen rivi:

  %!PS-Adobe-2.0 EPSF-3.0

Numerot voivat poiketa tästä; ne ilmoittavat vain käytetyn kielen version. Varsinkin Windows-ympäristöstä peräisin olevissa tiedostoissa saattaa tämän edellä olla koodia, joka ei ole selväkielistä tekstiä. Tämä osa on poistettava ennen kuin kuvaa voi käyttää. Samoin tiedoston lopussa voi olla ylimääräistä roskaa. Tiedoston voi korjata millä tahansa editorilla.

Tiedoston alussa on joukko %-merkeillä alkavia kommenttirivejä, joilla on tietoa kuvasta. Niiden joukossa pitäisi olla seuraavantapainen rivi, joka määrittelee, minkä kokoisen tilan kuva tarvitsee. Yksikkönä on piste, joka on 1/72 tuumaa. Tätä tietoa tarvitaan kuvan sijoittelussa.

  %%BoundingBox: 0 0 200 500

Jotta kuvia voitaisiin liittää LaTeX-dokumenttiin, tarvitaan joitakin apuvälineitä. Kuvien käsittelyyn tarvitaan jokin makropaketti, kuten epsfig.sty; muitakin on, mutta tämä lienee tavallisin. Paketti otetaan käyttöön usepackage-kutsulla:

  \documentclass[a4]{article}
  \usepackage{epsfig}
  \begin{document}
  ...

Jos EPS-kuva on tiedostossa kuva.eps, se voidaan liittä dokumenttiin seuraavasti:

  \begin{figure}
  \epsfig{file=kuva.eps}
  \caption{Tämä on kuvateksti.}
  \end{figure}

Kuvan BoundingBoxin perusteella sille varataan sopiva tila. Kuvan kokoa tai asentoa voi myös muuttaa:

  \epsfig{file=kuva.eps, scale=0.5}    % pienennys puoleen kokoon
  \epsfig{file=kuva.eps, width=10cm}   % maksimileveys 10 cm
  \epsfig{file=kuva.eps, height=10cm}  % maksimikorkeus 10 cm
  \epsfig{file=kuva.eps, angle=90}     % kierto 90 astetta

Kuvaa ei sijoiteta siihen kohtaan tekstiä, jossa nämä kutsut esiintyvät, vaan seuraavan sivun alkuun. Jos samalle sivulle tulisi useita kuvia, ne eivät välttämättä mahdu sivulle, jolloin ne voivat siirtyä myöhemmille sivuille. Mikäli kuvia on paljon, viimeiset kuvat saattavat tulostua vasta koko tekstin jälkeen.

Kuva voidaan myös pakottaa tulostumaan juuri tähän parametrilla H (here):

  \begin{figure}[H]
    ...
  \end{figure}

Kuvan sijoitteluun liittyy muitakin parametreja. Ne löytyvät epsfigin mukana tulevasta dokumentista.

Typografiasta

Seuraavassa on sekalainen valikoima typografiaa koskevia sääntöjä, joissa tehdään usein virheitä.

Kirjasintyypit

Tietokoneen ruudulla tai laserkirjoittimen paperille tulostama sivu koostuu kuvaelementeistä eli pikseleistä. Yksinkertaisimmassa tapauksessa pikseli voi olla vain musta tai valkea. Kirjaimet ja muut merkit ovat tavallaan matriiseja, joiden alkiot kertovat, onko jokin pikseli musta vai valkea.

Pikselifontti kuvaa merkit tällaisina matriiseina. Jos merkkiä suurennetaan, se alkaa näyttää kasalta nelikulmaisia laatikoita. Jos merkit on määritelty vain pikselien avulla, niiden kokoa ei voi muuttaa ilman, että tulos alkaa näyttää rumalta. Siksi pikselifontit on määriteltävä erikseen jokaista tarvittavaa kirjainkokoa varten.

Outline-fonteissa merkit kuvataan matemaattisten käyrien avulla. Tällainen fontti on vapaassti skaalattavissa mihin kokoon tahansa, sillä määrittelytapa on erotuskyvystä riippumaton. Tulostuslaitteen tehtäväksi jää merkkien rasterointi tulostimen erotuskykyä vastaavaksi. Tällaista menetelmää käytetään mm. Adoben kehittämässä PostScript-kielessä.

Valitettavasti TeX syntyi ennen PostScriptiä. Sen alkuperäiset kirjasintyypit ovat pikselifontteja, jotka on luotava kullekin tulostimelle ja kirjasinkoolle. Kirjasintyyppien käsittelyä varten Knuth kehitti sitten toisen ohjelman Metafontin. Siinä merkit määritellään PostScriptin tapaan matemaattisten käyrien rajaamina alueina, ja näiden määritelmien avulla tuotetaan vastaavat pikselitiedostot. Jos järjestelmä olisi syntynyt hieman myöhemmin, tämä välivaihe olisi voitu jättää pois ja käyttää pelkästään erotuskyvystä ja tulostuslaitteesta riippumattomia kirjasintyyppejä.

Linuxin TeX-järjestelmä on rakennettu semmoiseksi, että se generoi tarvittavat pikselitiedostot Metafont-ohjelmalla. Käyttäjän ei tarvitse huolehtia siitä, onko sopivankokoisia merkkejä määritelty. Tämä on tosin turhaa painolastia, sillä sama asia voitaisiin hoitaa yhdellä erotuskyvystä riippumattomalla fonttisarjalla.

Kun dvips tai jokin muu laiteriippuvaa koodia tuottava ohjelma suoritetaan, se tarkistaa, ovatko tarvittavat fontit jo olemassa. Ellei, se tuottaa ne Metafontilla. Tästä aiheutuu suuri määrä tulostusta, mutta siitä ei tarvitse huolestua.

Oletuksena käytetään cm-sarjan (computer modern) fontteja. Ne ovat varsin luettavia, vaikkakin vaikuttavat ehkä hieman vanhanaikaisilta. Ne sopivat kuitenkin yhteen kaavoissa käytettävien fonttien kanssa. Mikäli haluaa vaihtaa johonkin kovin toisenlaiseen kirjaimistoon, voi joutua melkoiseen suohon symbolifonttien kanssa.

Kirjallisuutta

Donald E. Knuth: The TeXbook, Addison-Wesley 1984. Tämä on TeX-ohjelman perusteos. Paikoitellen oikein hyvä ja hauska oppikirja, paikoitellen varsin vaikeaselkoinen, joskus suorastaan hämäräperäinen. Silti tämä on välttämätön käsikirja sille, joka haluaa todella perehtyä TeXiin. Teoksesta on otettu jo kymmeniä painoksia, ja sitä on edelleen saatavana.

Leslie Lamport: LaTeX, Addison-Wesley 1986. LaTeXin kehittäjän alkuperäinen käsikirja. LaTeXia on myöhemmin kehitetty edelleen, ja tämä teos ei sisällä näitä uudempia piirteitä.

Goossens, Mittelbach, Samarin: The LaTeX companion, Addison-Wesley 1994. Suhteellisen hyvä perusteos, joka käsittelee uudempaa standardia LaTeX2epsilon. Tämä tai seuraava kirja ovat hyödyllisiä (milteipä välttämättömiä) hankintoja LaTeXin käyttäjille.

Lipkin: LaTeX for Linux, Springer 1999. Samantapainen kuin edellinen. Keskittyy Linux-käyttöjärjestelmään, mutta TeX ja LaTeX ovat hyvin samanlaisia kaikissa järjestelmissä.