Pitkänpuoleinen johdanto L^{A}TEX2e:n käyttöön

Eli opi L^{A}TEX2e 87 minuutissa

Kirjoittaneet Tobias Oetiker

Hubert Partl, Irene Hyna ja Elisabeth Schlegl Suomeksi sovittanut Timo Hellgren

Versio 3.7fi, Huhtikuu 1999 \underline{ii}

Copyright \begin{matrix}c \\ ◯ \end{matrix}1998 Tobias Oetiker and all the Contributors to LShort. The Fin-

nish edition Copyright \begin{matrix}c \\ ◯ \end{matrix}1998 Timo Hellgren All rights reserved.

Tämä dokumentti on vapaassa levityksessä; sitä voidaan levittää ja/tai muuttaa Free Software Foundationin julkaiseman GNU General Public Licensen, joko lisenssin version 2 tai (tarvittaessa) sitä myöhemmän version, ehtojen mukaan.

Tätä dokumenttia levitetään toivossa, että se olisi hyödyksi, mutta ILMAN MITÄÄN TAKUITA. Katso lisätietoja GNU General Public Licensestä.

Sinun olisi pitänyt saada kopio GNU General Public Licensestä tämän ohjelman mukana; sitä voidaan myös pyytää kirjallisesti osoitteesta Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Kiitokset!

Tämä suomennos on käännetty englanninkielisestä alkuteoksesta The Not So Short Introduction to L^{A}TEX 2ε, jonka on kirjoittanut:

Tobias Oetiker <oetiker@ee.ethz.ch>

Department of Electrical Engineering, Swiss Federal Institute of Technology

Lisäsin tekstiin suomalaisille kirjoittajille tarpeellisia asioita. Alkuperäinen

versio löytyy osoitteesta CTAN:/tex-archive/info/lshort

Oetiker lainasi paljon materiaalia itävaltalaisesta johdannosta L^{A}TEX 2.09:n käyttöön, jonka ovat kirjoittaneet saksaksi:

Hubert Partl <partl@mail.boku.ac.at>

Zentraler Informatikdienst der Universität für Bodenkultur Wien

Irene Hyna <Irene.Hyna@bmwf.ac.at>

Bundesministerium für Wissenschaft und Forschung Wien

Elisabeth Schlegl <ei sähköpostia>

Graz

Saksankielisestä dokumentista kiinnostuneet löytävät Jörg Knappenin päivittämän version L^{A}TEX 2ε:ia varten osoitteesta CTAN:/tex-archive/info/

lkurz

Oetikerin valmistaessa alkuperäistä dokumenttia hän pyysi kommentteja uutisryhmässä comp.text.tex. Hän saikin paljon vastauksia. Alla mainitut henkilöt auttoivat korjauksin, ehdotuksin ja tekstiä parantavalla materiaalilla. He näkivät paljon vaivaa auttaakseen Oetikeria saamaan tämän dokumentin sen nykyiseen tilaansa. Alkuperäistekstin tekijä haluaa vilpittömästi kiittää heitä kaikkia. Luonnollisesti kaikki tästä kirjasta löytyvät virheet ovat minun tekemiäni. Mikäli joskus löydätte oikein käännetyn sanan, on kyseessä silkka vahinko.

Rosemary Bailey, David Carlisle, Christopher Chin, Chris McCormack, Wim van Dam, David Dureisseix, Elliot, David Frey, Robin Fairbairns, Alexandre Guimond, Cyril Goutte, Greg Gamble, Neil Hammond, Rasmus Borup Hansen, Martien Hulsen, Werner Icking, Jakob, Eric Jacoboni, Alan Jeffrey, Byron Jones, David Jones, Johannes-Maria Kaltenbach, Andrzej Kawalec, Alain Kessi, Christian Kern, Jörg Knappen, Kjetil Kjernsmo, Maik Lehradt, Martin Maechler, Claus Malten, Hubert Partl, John Refling, Mike Ressler, Brian Ripley, Young U. Ryu, Chris Rowley, Hanspeter Schmid, Craig Schlenter, Josef Tkadlec, Didier Verna, Fabian Wernli, Fritz Zaucker, Rick Zaccone, ja Mihail Zotov

Esipuhe

L^{A}TEX [1] on korkealaatuisten tieteellisten ja matemaattisten dokumenttien tuottamiseen parhaiten sopiva ladontasysteemi. Sillä voidaan tuottaa myös kaikenlaisia muita dokumentteja, yksinkertaisista kirjeistä kokonaisiin kirjoihin. L^{A}TEX käyttää TEX:iä [2] muotoiluohjelmanaan.

Tämä johdanto kuvaa L^{A}TEX 2ε:ia ja sen pitäisi olla riittävä useimpiin käyttötarkoituksiin. L^{A}TEX-systeemin täydellistä kuvausta varten katso [1, 3].

L^{A}TEX on saatavilla useimpiin tietokoneisiin PC:stä ja Macistä isoihin UNIX- ja VMS-systeemeihin. L^{A}TEX on asennettu valmiiksi useisiin yliopistojen tietokoneverkkoihin, vain odottamaan käyttöä. Ohjeet paikallisen L^{A}TEXasennuksen käytöstä tulisi ilmetä Local Guide [4]:sta. Jos sinulla on vaikeuksia päästä alkuun, kysy neuvoa, siltä jolta sait tämän kirjasen. Tämän dokumentin tarkoituksena ei ole kertoa miten L^{A}TEX asennetaan, vaan miten dokumentit tulee kirjoittaa, jotta niitä voitaisiin käsitellä L^{A}TEX:lla. Tämä Johdanto on jaettu viiteen lukuun:

Luku 1 kertoo L^{A}TEX 2ε-dokumenttien perusrakenteesta. Myös L^{A}TEX:n historiaa opitaan. Tämän luvun luettuasi sinulla pitäisi olla jonkinlainen karkea kuva L^{A}TEX:sta. Tuo kuva toimii pohjana kun yhdistät muiden lukujen tiedot kokonaisuuteen.

Luku 2 menee dokumenttien ladonnan yksityiskohtiin. Siinä selitetään keskeisimmät L^{A}TEX:n komennot ja ympäristöt. Tämän luvun luettuasi pystyt kirjoittamaan ensimmäiset dokumenttisi.

Luku 3 kertoo miten L^{A}TEX:lla ladotaan matemaattisia kaavoja. Useat esimerkit auttavat ymmärtämään L^{A}TEX:n toimintaa parhaimmillaan. Luvun lopussa on taulukkoja, jossa listataan kaikki L^{A}TEX:ssa käytössä olevat matemaattiset symbolit.

Luku 4 selittää hakemiston ja kirjallisuusluettelon luomista, eps-kuvien lisäämistä ja muita hyödyllisiä lisäominaisuuksia.

Luku 5 sisältää hieman vaarallistakin tietoa. Opit tekemään L^{A}TEX-doku-menttien normaaliin ulkoasuun muutoksia. Asioita voidaan muuttaa niin, että L^{A}TEX:n kauniista muotoilusta voi tulla ruman näköistä.

On tärkeää lukea luvut järjestyksessä. Tämä kirja ei nyt kuitenkaan ole järin pitkä. Lue esimerkit huolellisesti, sillä suuri osa informaatiosta on piilotettu kirjasta löytyviin esimerkkeihin.

Jos haluat päästä käsiksi L^{A}TEX:iin liittyvään materiaalin, käy katsomassa TEX:iin erikoistuneista ftp-arkistoista, joita kutsutaan nimellä CTAN. USA:ssa sen osoite on ctan.tug.org, Saksassa ftp.dante.de ja Englannissa ftp. tex.ac.uk. Lähin vastaava paikka on kuitenkin Suomessa, ftp.funet.fi/

pub/tex/CTAN/.

Jos haluat käyttää L^{A}TEX:ia omassa koneessasi, katso mitä CTAN:/tex-

archive/systems tarjoaa.

Kerro minulle, jos sinulla on ideoita tähän dokumenttiin lisättäviksi, poistettaviksi tai muutettaviksi asioiksi. Olen erityisen kiinnostunut aloittelijoiden palautteesta: mitkä osat ovat helppoja ymmärtää ja mitkä kaipaavat parempaa käsittelyä.

Timo Hellgren <timo.hellgren@helsinki.fi>

Kirjastotoimen verkkopalvelut, Helsingin yliopiston kirjasto

Tämän dokumentin viimeisin versio on saatavilla

osoitteessa CTAN:/tex-archive/info/lshort/finnish

Sisältö

Kiitokset! iii

Esipuhe v

1 Asiat, jotka tulisi tietää 1

1.1 Pelin henki . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 L^{A}TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Perusteita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.1 Kirjoittaja, taittaja ja latoja . . . . . . . . . . . . . . 2 1.2.2 Taiton suunnittelu . . . . . . . . . . . . . . . . . . . . 3 1.2.3 Etuja ja haittoja . . . . . . . . . . . . . . . . . . . . . 3

1.3 L^{A}TEX:n käsikirjoitustiedostot . . . . . . . . . . . . . . . . . . 4 1.3.1 Välilyönnit . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.2 Erikoismerkit . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.3 L^{A}TEX:n käskyt . . . . . . . . . . . . . . . . . . . . . . 5 1.3.4 Kommentit . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Käsikirjoitustiedoston rakenne . . . . . . . . . . . . . . . . . . 7 1.5 Dokumentin ulkoasu . . . . . . . . . . . . . . . . . . . . . . . 8

1.5.1 Dokumenttiluokat . . . . . . . . . . . . . . . . . . . . 8 1.5.2 Makropakkaukset . . . . . . . . . . . . . . . . . . . . . 10 1.5.3 Sivujen tyylit . . . . . . . . . . . . . . . . . . . . . . . 12

1.6 Suuret projektit . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.7 Suomenkieliset dokumentit . . . . . . . . . . . . . . . . . . . . 13

1.7.1 Ääkköset käsikirjoituksesa . . . . . . . . . . . . . . . . 14 1.7.2 Oikean merkistön valinta . . . . . . . . . . . . . . . . 15

2 Tekstin ladonta 17 2.1 Tekstin ja kielen rakenne . . . . . . . . . . . . . . . . . . . . . 17 2.2 Rivin- ja kappaleenvaihto . . . . . . . . . . . . . . . . . . . . 19

2.2.1 Tasatut kappaleet . . . . . . . . . . . . . . . . . . . . 19 2.2.2 Tavutus . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3 Erikoismerkit ja symbolit . . . . . . . . . . . . . . . . . . . . 21 2.3.1 Lainausmerkit . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.2 Väli-, yhdys- ja ajatusviivat . . . . . . . . . . . . . . . 22 2.3.3 Ellipsi ( …) . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.4 Ligatuurit . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3.5 Aksentit ja erikoismerkit . . . . . . . . . . . . . . . . . 23

2.4 Sanavälit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.5 Nimiöt, luvut ja osiot . . . . . . . . . . . . . . . . . . . . . . 24 2.6 Ristiviitteet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.7 Alaviitteet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.8 Korostetut sanat . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.9 Ympäristöt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.9.1 Numeroimaton, numeroitu ja määrittelyluettelo …. 28 2.9.2 Tasaus vasemmalle, oikealle ja keskitys . . . . . . . . . 28 2.9.3 Lainaus, sitaatti ja säkeet . . . . . . . . . . . . . . . . 29 2.9.4 Sananmukainen tulostus . . . . . . . . . . . . . . . . . 29 2.9.5 Sarkaimet . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.10 Kelluvat osat . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Matemaattisten kaavojen ladonta 35 3.1 Yleistä . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2 Ryhmittely matematiikkatilassa . . . . . . . . . . . . . . . . . 37 3.3 Matemaattisten kaavojen rakentaminen . . . . . . . . . . . . 37 3.4 Välistys matematiikassa . . . . . . . . . . . . . . . . . . . . . 41 3.5 Pystysuoraan tasattu materiaali . . . . . . . . . . . . . . . . . 41 3.6 Matematiikan kirjasinkoko . . . . . . . . . . . . . . . . . . . . 43 3.7 Teoreemat, lait, . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.8 Lihavoidut symbolit . . . . . . . . . . . . . . . . . . . . . . . 45 3.9 Matemaattisten symbolien lista . . . . . . . . . . . . . . . . . 47

4 Lisukkeet 55 4.1 EPS-grafiikan lisääminen . . . . . . . . . . . . . . . . . . . . . 55 4.2 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.3 Hakemiston tekeminen . . . . . . . . . . . . . . . . . . . . . . 58 4.4 Tyylikkäät ylä- ja alatunnisteet . . . . . . . . . . . . . . . . . 59 4.5 Verbatim-makropakkaus . . . . . . . . . . . . . . . . . . . . . 59

5 L^{A}TEX:n virittely 61

5.1 Uudet käskyt, ympäristöt ja makropakkaukset . . . . . . . . . 61 5.1.1 Uudet käskyt . . . . . . . . . . . . . . . . . . . . . . . 62 5.1.2 Uudet ympäristöt . . . . . . . . . . . . . . . . . . . . . 63 5.1.3 Omat makropakkaukset . . . . . . . . . . . . . . . . . 63

5.2 Kirjasinmalli ja -koko . . . . . . . . . . . . . . . . . . . . . . . 64 5.2.1 Kirjasimen vaihtokomennot . . . . . . . . . . . . . . . 64 5.2.2 Vaaksa väärään voi olla virsta vaaraan . . . . . . . . . 67

5.2.3 Neuvo . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3 Välistys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.3.1 Rivivälit . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.2 Kappaleen muotoilu . . . . . . . . . . . . . . . . . . . 67 5.3.3 Vaakasuora välistys . . . . . . . . . . . . . . . . . . . . 68 5.3.4 Pystysuora välistys . . . . . . . . . . . . . . . . . . . . 69

5.4 Sivun ulkoasu . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.5 Lisää hupia mitoista . . . . . . . . . . . . . . . . . . . . . . . 72 5.6 Laatikot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.7 Linjat ja välikkeet . . . . . . . . . . . . . . . . . . . . . . . . 74

Kirjallisuutta 77

Kuvat

1.1 TEX-järjestelmän osat . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Minimaalinen L^{A}TEX-tiedosto . . . . . . . . . . . . . . . . . . 7 1.3 Minimalistinen suomalainen teksti . . . . . . . . . . . . . . . 8

4.1 Esimerkki fancyhdr:n käytöstä . . . . . . . . . . . . . . . . . . 60

5.1 Esimerkkipakkaus . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.2 Sivun ulkoasun parametrit . . . . . . . . . . . . . . . . . . . . 71

Taulukot

1.1 Dokumenttiluokat . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Dokumenttiluokkien optiot . . . . . . . . . . . . . . . . . . . 9 1.3 Joitakin L^{A}TEX:n mukana tulevia makropakkauksia . . . . . . 11 1.4 L^{A}TEX:n sivutyylit . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5 Eri käyttöjärjestelmien merkistöt . . . . . . . . . . . . . . . . 14

2.1 Aksentteja ja erikoismerkkejä . . . . . . . . . . . . . . . . . . 23 2.2 T1-merkistön lisäämät aksentit ja kirjainmerkit . . . . . . . . 24 2.3 Kelluvan objektin sallitut sijainnit . . . . . . . . . . . . . . . 33

3.1 Matematiikkatilan aksentit . . . . . . . . . . . . . . . . . . . . 47 3.2 Pienet kreikkalaiset kirjaimet . . . . . . . . . . . . . . . . . . 47 3.3 Isot kreikkalaiset kirjaimet . . . . . . . . . . . . . . . . . . . . 47 3.4 Binäärirelaatiot . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.5 Binäärioperaattorit . . . . . . . . . . . . . . . . . . . . . . . . 48 3.6 ISOT operaattorit . . . . . . . . . . . . . . . . . . . . . . . . 49 3.7 Nuolet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.8 Eroittimet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.9 Isot eroittimet . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.10 Sekalaisia symboleja . . . . . . . . . . . . . . . . . . . . . . . 50 3.11 Ei-matemaattisia symboleja . . . . . . . . . . . . . . . . . . . 50 3.12 AMS:n rajoittimet . . . . . . . . . . . . . . . . . . . . . . . . 50 3.13 AMS:n kreikkalaiset ja heprealaiset kirjaimet . . . . . . . . . 50 3.14 AMS:n binäärirelaatiot . . . . . . . . . . . . . . . . . . . . . . 51 3.15 AMS:n nuolet . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.16 AMS:n binäärirelaatiot ja nuolet negaatiolla . . . . . . . . . . 52 3.17 AMS:n binäärioperaattorit . . . . . . . . . . . . . . . . . . . . 52 3.18 AMS:n sekalaiset symbolit . . . . . . . . . . . . . . . . . . . . 53 3.19 Matemaattiset kirjaimistot . . . . . . . . . . . . . . . . . . . . 53

4.1 Avainsanat graphicx-pakkaukselle . . . . . . . . . . . . . . . . 56 4.2 Hakemiston avainsanojen syntaksin esimerkkejä . . . . . . . . 58

5.1 Kirjasimet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.2 Kirjasinkoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.3 Absoluuttiset pistekoot standardiluokissa . . . . . . . . . . . 65 5.4 Matemaattiset kirjasimet . . . . . . . . . . . . . . . . . . . . 66 5.5 TEX:n mittayksiköt . . . . . . . . . . . . . . . . . . . . . . . . 69

Luku 1

Asiat, jotka tulisi tietää

Tämän luvun ensimmäisessä osassa tehdään lyhyt katsaus L^{A}TEX:n filosofiaan ja historiaan. Luvun toisessa osassa keskitytään L^{A}TEX-dokumentin perusrakenteeseen. Luvun jälkeen lukijalla pitäisi olla karkea yleiskuva L^{A}TEX:n toiminnasta. Jatkossa tämä auttaa yhdistämään uutta tietoa kokonaiskuvaan.

1.1 Pelin henki

1.1.1 TEX

TEX on Donald E. Knuthin [2] tekemä tietokoneohjelma. Se on tarkoitettu tekstin ja matemaattisten kaavojen ladontaan. Knuth alkoi kirjoittaa TEX:iä 1977 turhautuneena American Mathematical Societyn julkaisujen laatuun. Hän itse asiassa lopetti aineiston toimittamisen joskus 1974 paikkeilla, koska ”lopputulosta oli yksinkertaisesti liian tuskallista katsella”. Nykyinen TEXjulkaistiin 1982 ja sitä on hieman paranneltu vuosien varrella. Viime vuosina TEX:stä on tullut hyvin vakaa. Nykyään Knuth väittää, että ohjelmassa ei enää ole käytännöllisesti katsoen lainkaan virheitä. TEX:n versionumero lähestyy π:n arvoa, sen ollessa nyt 3, 14159.

TEX luetaan ’Teh’, jossa ’h’ äännetään kuten ’ch’ saksan sanassa ”Ach” tai skotin sanassa ”Loch”. ASCII-ympäristössä TEX kirjoitetaan TeX.

1.1.2 L^{A}TEX

L^{A}TEX on makropakkaus, jonka avulla kirjoittajat voivat latoa ja tulostaa typografialtaan korkealaatuisia töitä. Pakkaus käyttää etukäteen määriteltyä, ammattimaista taittomallia. L^{A}TEX:n teki alunperin Leslie Lamport [1]. L^{A}TEX käyttää ladonnassa TEX-ohjelmaa.

Muutama vuosi sitten Frank Mittelbachin johtama L^{A}TEX3 ryhmä teki uuden version L^{A}TEX-makroista. Mukaan otettiin pitkään kaivattuja parannuksia ja kaikki korjaukset, jotka olivat kasaantuneet sitten L^{A}TEX 2.09:n julkaisemisen. Jotta uusi versio erottuisi vanhasta, sitä kutsutaan nimellä L^{A}TEX 2ε. Tämä ohje käsittelee L^{A}TEX 2ε-makropakkausta.

L^{A}TEX luetaan ’lateh’. ASCII-ympäristössä L^{A}TEX kirjoitetaan muodossa LaTeX. L^{A}TEX 2ε luetaan ’lateh kaksi epsilon’ tai ’lateh kaks e’ ja kirjoitetaan

LaTeX2e.

Kaavio 1.1 sivulla 2 näyttää miten TEX ja L^{A}TEX 2ε toimivat yhdessä. Alkuperäinen kaavio on Kees van der Laanin tiedostosta wots.tex.

[figure: .pk; METAfont; .mf; ajuri; dvips; xdvi; ^{...}; .dvi; TEX; Plain; L^{A}TEX 2ε; AMS-makrot; ^{...}; .tex; editori; emacs; ispell; ^{...}; kopio; tulostin näyttö; PostScript; .tfm; .log; Kirjasimet; Ladonta]

Kuva 1.1: TEX-järjestelmän osat

1.2 Perusteita

1.2.1 Kirjoittaja, taittaja ja latoja

Ennen vanhaan kirjoittajat lähettivät kirjoituskoneella kirjoitetut käsikirjoituksensa kustantamolle. Kustantajan taittaja suunnitteli sitten teoksen ulkoasun eli leiskan (palstan leveys, kirjasimet, välit ennen otsikoita ja niiden jälkeen, …). Taittaja kirjoitti ohjeensa käsikirjoitukseen ja antoi sen sitten latojalle, joka latoi kirjan näiden ohjeiden perusteella.

Kun ihminen toimii taittajana hän yrittää selvittää mitä kirjoittajalla oli mielessään käsikirjoitusta tehdessään. Hän päättää lukujen otsikoista, lainauksista, esimerkeistä, kaavoista jne. ammatillisen kokemuksensa ja käsikirjoituksen sisällön pohjalta.

L^{A}TEX-systeemissä L^{A}TEX:lla on taittajan rooli ja TEX on latojana. Mutta koska L^{A}TEX on ”vain” ohjelma, se tarvitsee enemmän työohjeita. Kirjoittajan täytyy lisätä ylimääräistä tietoja, joka kuvaa työn loogista rakennetta. Nämä tiedot kirjoitetaan tekstiin ”L^{A}TEX:n käskyinä.”

Tällainen lähestymistapa eroaa huomattavasti useimpien nykyisten MS Wordin tai Corelin WordPerfectin kaltaisten tekstinkäsittelyohjelmien ns. WYSIWYG^{1} ideologiasta. Näissä ohjelmissa kirjoittaja määrittelee kirjoittaessaan dokumentin ulkoasun interaktiivisesti. Samalla kirjoittaja näkee näytöllä, miltä lopullinen työ näyttää tulostettuna.

Normaalisti L^{A}TEX:ssa ei ole mahdollista nähdä lopullista tulosta tekstiä kirjoitettaessa. Kun tiedosto on käsitelty L^{A}TEX:lla, on kuitenkin mahdollista nähdä esikatselun avulla lopullinen tulos näytöllä. Näin korjaukset voidaan tehdä ennen dokumentin tulostamista.

1.2.2 Taiton suunnittelu

Typografinen suunnittelu vaatii käsityötaitoa. Kokemattomat kirjoittajat tekevät usein pahoja muotoiluvirheitä olettaessaan, että kirjan suunnittelussa on kyse lähinnä estetiikasta: ”jos dokumentti näyttää taiteellisessa mielessä hyvältä, on se hyvin suunniteltu”. Mutta painettua tekstiä luetaan eikä ripusteta taidegallerian seinille. Luettavuus ja ymmärrettävyys on paljon tärkeämpää kuin kaunis ulkonäkö. Esimerkkejä:

• Otsikoiden kirjasimen koon ja numeroinnin tarkoituksena on selventää lukijalle tekstin rakennetta.

• Rivin pituuden tulisi olla kyllin lyhyt, jotta se ei rasittaisi lukijan silmiä, ja samalla kyllin pitkä, jotta se täyttäisi sivun kauniisti.

WYSIWYG-systeemeissä kirjoittajat saavat usein aikaan esteettisesti miellyttäviä dokumentteja, joilla on kuitenkin epäjohdonmukainen rakenne tai ei lainkaan rakennetta. L^{A}TEX estää tämäntapaiset muotoiluvirheet pakottamalla kirjoittajan määrittelemään työn loogisen rakenteen. L^{A}TEX puolestaan valitsee sopivimman ulkoasun.

1.2.3 Etuja ja haittoja

Kun WYSIWYG- ja L^{A}TEX-kirjoittajat kohtaavat, käydään usein keskusteluita L^{A}TEX:n eduista tavallisiin tekstinkäsittelyohjelmiin verrattuna ja päinvastoin. Sellaisen keskustelun alkaessa on parasta pitää matalaa profiilia, sillä homma yleensä karkaa käsistä. Joskus on kuitenkin vastattava mielipiteistään …

1’What you see is what you get’ eli suomeksi suunnilleen ’Näet mitä teet’

Niinpä tässä on hieman ruutia keskusteluun. L^{A}TEX:n edut tavallisiin tekstinkäsittelyohjelmiin verrattuna ovat seuraavat:

• Saatavilla on ammattilaisten tekemiä taittopohjia, jotka saavat dokumentin näyttämään todella ”painetulta”.

• Matemaattisten kaavojen ladonta onnistuu vaivattomasti.

• Käyttäjän ei tarvitse oppia kuin muutama dokumentin loogisen rakenteen määrittelevä komento. Itse ulkoasuun tarvitsee tuskin koskaan puuttua.

• Jopa monimutkaiset rakenteet, kuten alaviitteet, ristiviitteet, sisällysluettelot ja kirjallisuusluettelot voidaan generoida helposti.

• Monille typografisille ongelmille, joita perus-L^{A}TEXei tue, löytyy ilmaisia lisämakroja. On olemassa esimerkiksi makropakkauksia PostScriptkuvien lisäämistä tai tiettyjen tarkkojen standardien mukaisten kirjallisuusluetteloiden latomista varten. Monia näistä lisäpakkauksista kuvataan kirjassa The L^{A}TEX Companion [3].

• L^{A}TEX kannustaa kirjoittamaan rakenteellisesti hyviä tekstejä, sillä tämä on L^{A}TEX:n tapa toimia.

• L^{A}TEX 2ε:n ladontaohjelma, TEX, on ilmainen ja saatavilla melkein kaikkin mahdollisiin käyttöjärjestelmiin.

L^{A}TEX:lla on myös puutteensa, mutta minun taitaa olla hieman vaikea löytää yhtään vakavasti otettavaa. Muut varmaankin pystyvät kertomaan niitä sadoittain ;-)

• L^{A}TEX:sta ei ole apua niille, jotka ovat myyneet sielunsa …

• Vaikka valmiin taittopohjan joitakin määrityksiä voidaan muuttaa, on kokonaan uuden taittomallin suunnittelu vaikeaa ja aikaa vievää.^{2}

• Epäloogisten ja sekavien dokumenttien kirjoittaminen on hyvin vaikeaa.

1.3 L^{A}TEX:n käsikirjoitustiedostot

Käsikirjoitus syötetään L^{A}TEX:lle tavallisina ASCII-tekstitiedostoina. Sellaisen voi tehdä millä tahansa tekstieditorilla. Tiedosto sisältää dokumentin tekstin ja komennot, jotka kertovat miten L^{A}TEX:n tulee latoa teksti.

2Huhu kertoo, että tämä on yksi pääongelmista, joita yritetään ratkoa tulevassa L^{A}TEX3 -järjestelmässä

1.3.1 Välilyönnit

Välilyöntiä ja tabulaattoria eli ”tyhjän tilan” merkkejä käsitellän L^{A}TEX:ssa yhtäläisesti välilyöntinä. Useat peräkkäiset välilyönnit käsitetään yhtenä välilyöntinä. Rivin alussa olevia välilyöntejä ei yleensä huomioida ja yksittäinen rivinvaihto käsitetään myös ”välilyönniksi”.

Tyhjä rivi tekstissä määrittelee kappaleenvaihdon paikan. Usea tyhjä rivi vastaa yhtä tyhjää riviä. Alapuolella oleva teksti käyköön esimerkistä. Oikealla puolella on käsikirjoituksen teksti ja vasemmalla on muotoiltu lopputulos.

Sillä ei ole merkitystä lisäätkö
sanan jälkeen yhden vai
monta     välilyöntiä.
Tyhjä rivi aloittaa
uuden kappaleen.

Sillä ei ole merkitystä lisäätkö sanan jälkeen yhden vai monta välilyöntiä. Tyhjä rivi aloittaa uuden kappaleen.

1.3.2 Erikoismerkit

Seuraavat symbolit ovat varattuja merkkejä, joilla on joko erityinen merkitys L^{A}TEX:ssa tai sitten niitä ei ole saatavilla kaikissa kirjasimissa. Ne eivät tulostu, vaikka ne lisäisikin tekstiin sellaisenaan, Ne panevat L^{A}TEX:n tekemään asioita, joita et alunperin tarkoittanut.

     $ & % # _{ }  ~  ^\

Näitä merkkejä voidaan kuitenkin käyttää tekstissä lisäämällä niiden eteen kenoviiva:

\$ \& \% \# \_\{ \}                    $ & % # _{ }

Lisää symboleja voidaan tulostaa erityisillä komennoilla matemaattisisa kaavoissa tai tekstissä ja uusia voidaan kehitellä aksenttien avulla. Kenoviivamerkkiä (\) ei voi tulostaa lisäämällä sen eteen toinen kenoviiva (\\) sillä kyseinen merkkiyhdistelmä tarkoittaa rivinvaihtoa.^{3}

1.3.3 L^{A}TEX:n käskyt

L^{A}TEX:n käskyt erottavat pienet ja isot kirjaimet toisistaan. Niitä on kahdenlaisia:

3Käytä ennemmin komentoa $\backslash$. se tuottaa ’\’-merkin.

• Käsky voi alkaa kenoviivalla \, jonka perässä on pelkästään kirjaimista koostuva komennon nimi. Välilyönti tai jokin muu merkki kuin kirjain päättää komennon nimen.

• Käsky voi koostua kenoviivasta ja tasan yhdestä erikoismerkistä.

L^{A}TEX ei noteeraa komentojen perässä olevaa välilyöntiä. Jos komennon jälkeen pitäisi tulostua välilyönti, on komennon perään lisättävä joko {} ja välilyönti tai erityinen välilyöntikomento. {} estää L^{A}TEX:ia syömästä komennon jälkeisiä välilyöntejä.

Knuth kuulemma jakaa
\TeX:llä työskentelevät
\TeX{}nikoihin ja \TeX pertteihin.\\
Tänään on \today.

Knuth kuulemma jakaa TEX:llä työskentelevät TEXnikoihin ja TEXpertteihin. Tänään on 21. huhtikuuta 1999.

Jotkut komennot tarvitsevat lisämääreitä, jotka kirjoitetaan aaltosulkeiden { } sisään komennon nimen perään. Jotkut komennot tukevat vaihtoehtoisia määreitä, jotka lisätään komennon nimen perään hakasulkeisiin [ ]. Seuraavassa esimerkissä on joitain L^{A}TEX-komentoja. Älä välitä niistä, niiden merkitys selitetään myöhemmin.

\textsl{Nojaa} mun olkaan!

Nojaa mun olkaan!

Aloita uusi rivi
tästä näin!\newline
Kiitos!

Aloita uusi rivi tästä näin!

Kiitos!

1.3.4 Kommentit

Kun käsikirjoitustiedostossa on %-merkki, L^{A}TEX jättää käsittelemättä sen merkin jälkeen tulevan rivin osan. Tätä voi hyödyntää lisäämällä käsikirjoitukseen muistiinpanoja, jotka eivät näy tulostetussa versiossa.

Tämä on % tyhmä
% Ennemminkin hyödyllinen <---
esimerkki: Perään%
antamatto%
muudellansakaan

%-merkkiä voidaan käyttää myös jakamaan pitkä, yhtenäiseksi tarkoitettu, rivi.

Tämä on esimerkki: Peräänantamattomuudellansakaan

1.4 Käsikirjoitustiedoston rakenne

L^{A}TEX 2ε olettaa käsikirjoitustiedoston noudattavan tiettyä rakennetta. Niinpä jokaisen käsikirjoituksen tulee alkaa komennolla

     \documentclass{...}

Komento määrittää dokumentin tyypin. Sen jälkeen voidaan lisätä komentoja, jotka vaikuttavat koko dokumentin ulkoasuun tai sitten voidaan ottaa käyttöön makropakkauksia, jotka lisäävät uusia ominaisuuksia L^{A}TEXsysteemiin. Pakkaus otetaan käyttöön komennolla

     \usepackage{...}

Kun asetukset on tehty^{4}, tekstiosa aloitetaan komennolla

     \begin{document}

Nyt voidaan kirjoittaa L^{A}TEX:n käskyillä höystettyä tekstiä. Dokumentin loppuun lisätään käsky

     \end{document}

joka pyytää L^{A}TEX:ia lopettamaan. L^{A}TEX ei noteeraa mitään tämän käskyn perässä tulevaa.

Kuva 1.2 esittää minimaalisen englanninkielisen L^{A}TEX 2ε-tiedoston sisällön. Kuvan 1.3 suomenkielinen käsikirjoitustiedosto onkin sitten jo hieman mutkikkaamman näköinen. Siihen liittyviä käskyjä selitetään jäljempänä.

4\documentclass:n ja \begin{document}:n välissä olevaa aluetta nimitetään esittelyosaksi.

                \documentclass{article}
                \begin{document}
                Small is beautiful.
                \end{document}

Kuva 1.2: Minimaalinen L^{A}TEX-tiedosto

\documentclass[a4paper]{article}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[finnish]{babel}
\begin{document}
Vähän mitään sanottavaa, pöh..
\end{document}

Kuva 1.3: Minimalistinen suomalainen teksti

1.5 Dokumentin ulkoasu

1.5.1 Dokumenttiluokat

Kun L^{A}TEX alkaa käsitellä käsikirjoitustiedostoa, se tarvitsee ensin tiedon dokumentin tyypistä. Tämä määritellään \documentclass-komennolla.

\documentclass[optiot]{luokka}

Tässä luokka määrittää dokumentin tyypin. Taulukko 1.1 listaa tässä johdannossa selitetyt luokat. L^{A}TEX 2ε-järjestelmä sisältää myös muita dokumenttiluokkia. Näitä ovat kirjeet ja kalvot. optiot toimivat lisämääreinä dokumenttiluokalle. Optiot erotetaan toisistaan pilkulla. Taulukossa 1.2 listataan standardiluokkien yleisimmät optiot.

Esimerkki: käsikirjoitustiedosto voisi alkaa rivillä:

\documentclass[11pt,twoside,a4paper]{article}

Taulukko 1.1: Dokumenttiluokat

article sopii tiedelehtien artikkeleille, esitelmille, lyhyille raporteille, ohjelmien käyttöohjeisiin, kutsuihin, …

report sopii pitemmille raporteille, jotka sisältävät useita lukuja, pienille kirjoille, opinnäytteille, …

book sopii oikeille kirjoille

slides sopii piirtoheitinkalvoille. Luokka käyttää isoja groteskikirjaimia. Tämän luokan tilalla voidaan käyttää FoilTEX:iä^{a}.

aCTAN:/tex-archive/macros/latex/packages/supported/foiltex

Taulukko 1.2: Dokumenttiluokkien optiot

10pt, 11pt, 12pt Nämä optiot asettavat dokumentin peruskirjasimen koon. Mikäli kokoa ei määritellä, käyttöön tulee 10pt.

a4paper, letterpaper, … Nämä optiot määrittelevät paperin koon. Oletuksena on amerikkalainen letterpaper. Näiden lisäksi

optiona voidaan antaa a5paper, b5paper, executivepaper ja
legalpaper.

fleqn Optio latoo matemaattiset kaavat vasempaan reunaan tasattuina eikä keskitettyinä.

leqno Asettaa kaavojen numeroinnnin vasempaan reunaan oikean sijasta.

titlepage, notitlepage Optiolla voidaan muuttaa oletuskäytäntöä siitä, tuleeko dokumentin nimiö omalle sivulleen vai ei. article-luokassa nimiö ei tule omalle sivulleen oletusarvoisesti, kuten report- ja book-luokissa.

twocolumn Panee L^{A}TEX:n latomaan tekstin kahdelle palstalle.

twoside, oneside Määrittelee käyttöön joko kaksi- tai yksipuolisen tulostuksen. Luokissa article ja report tulostus on oletusarvoisesti yksipuolista ja book-luokassa tulostus on kaksipuolista.

openright, openany Luvut alkavat joko vain oikeanpuoleiselta sivulta tai miltä tahansa seuraavalta sivulta. Tämä ei toimi article-luokassa, sillä siinä ei lukuja ole käytössä lainkaan. report-luokka aloittaa luvut oletusarvoisesti heti seuraavalla sivulla ja book-luokka aloittaa luvut oikeanpuoleisilta sivuilta. joka pyytää L^{A}TEX:ia latomaan dokumentin artikkelina, jonka peruskirjasimen koko on 11 pistettä sekä määrittelemään taiton kaksipuoleiselle tulostukselle A4-kokoiselle paperille.

1.5.2 Makropakkaukset

Dokumenttia kirjoitettaessa huomataan mahdollisesti, että L^{A}TEX ei pysty tekemään kaikkea. Jos mukaan pitää saada grafiikkaa, värillistä tekstiä tai jonkin tiedoston lähdekoodia, täytyy L^{A}TEX:n ominaisuuksia lisätä. Tällaisia lisäyksiä kutsutaan makropakkauksiksi. Pakkaukset otetaan käyttöön

 \usepackage[optiot]{pakkaus}

komennolla, jossa pakkaus on makropakkauksen nimi ja optiot ovat lisämääreitä, jotka käynnistävät pakkauksen tietyt toiminnot. Osa pakkauksista tulee perus-L^{A}TEX 2ε:n mukana (Katso taulukkoa 1.3). Loput voi hankkia erikseen. Paikallisessa systeemissä käytössä olevista makropakkauksista löytyy lisätietoa mahdollisesti Local Guide [4]:ssa. L^{A}TEX-pakkausten pääasiallinen tiedonlähde on The L^{A}TEX Companion [3]. Se sisältää kuvaukset sadoista makropakkauksista sekä tietoa siitä, miten voidaan tehdä omia lisäyksiä L^{A}TEX 2ε:iin.

Taulukko 1.3: Joitakin L^{A}TEX:n mukana tulevia makropakkauksia

doc L^{A}TEX-ohjelmien dokumentointiin.

Kuvataan tiedostossa doc.dtx^{a} ja The L^{A}TEX Companion [3]:ssa.

exscale Tarjoaa matemaattisista laajennetuista kirjasimista skaalatut versiot. Kuvataan tiedostossa ltexscale.dtx.

fontenc Määrää L^{A}TEX:n käyttämän kirjasimen merkkivalikoiman. Kuvataan tiedostossa ltoutenc.dtx.

ifthen Lisää käyttöön komennot ’jos … niin sitten … muuten ….’ Kuvataan ifthen.dtx-tiedostossa ja The L^{A}TEX Companion [3]:ssa.

latexsym Mahdollistaa erityisten L^{A}TEX-symbolien käytön. Kuvataan tiedostossa latexsym.dtx ja The L^{A}TEX Companion [3]:ssa.

makeidx Ottaa käyttöön käskyt hakemistojen tekemiseksi. Kuvataan kohdassa 4.3 ja The L^{A}TEX Companion [3]:ssa.

syntonly Tarkistaa dokumentin rakenteen sitä latomatta. Kuvataan tiedostossa syntonly.dtx ja The L^{A}TEX Companion [3]:ssa. Hyödyllinen ominaisuus pikaiseen virheiden tarkistamiseen.

inputenc Käyttäjä voi määritellä mitä merkistöä käsikirjoitus käyttää. Hyödyllinen mm. suomenkielissä dokumenteissa. Kuvataan tiedostossa inputenc.dtx ja suomen osalta kohdassa 1.7.

aTämä tiedosto pitäisi olla asennettuna paikallisessa järjestelmässä ja siitä pitäisi pystyä saamaan dvi-tiedosto antamalla komento latex doc.dtx missä tahansa hakemistossa, johon sinulla on kirjoitusoikeus. Sama pätee myös muihin tässä taulukossa mainittuihin tiedostoihin.

1.5.3 Sivujen tyylit

L^{A}TEX:ssa on kolme etukäteen määriteltyä ylätunniste/alatunniste-yhdistel-mää eli ns. sivutyyliä. Käskyn

 \pagestyle{tyyli}

tyyli-parametri määrittelee mitä tyyliä käytetään. Taulukko 1.4 listaa etukäteen määritellyt sivutyylit.

Taulukko 1.4: L^{A}TEX:n sivutyylit

plain tulostaa sivunumerot sivun alaosaan, keskelle. Tämä sivutyyli on oletuksena.

headings tulostaa luvun nimen ja sivunumeron sivun yläosaan. Sivun alaosa jää tyhjäksi. (Tämä tyyli on käytössä tässä dokumentissa.)

empty ei tulosta sivunumerointia.

Kirjoitettavana olevan sivun tyyli voidaan muuttaa käskyllä

 \thispagestyle{tyyli}

The L^{A}TEX Companion [3]:ssa kerrotaan, miten voidaan määritellä omia ylä- ja alatunnisteita.

1.6 Suuret projektit

Isoja dokumentteja tehtäessä voidaan käsikirjoitus jakaa useampaan tiedostoon. L^{A}TEX:ssa on kaksi komentoa tämän tekemiseen.

 \include{tiedosto}

Tätä käskyä voidaan käyttää itse tekstiosassa lisäämään toisen tiedoston sisältö. Huomaa, että L^{A}TEX aloittaa uuden sivun ennen kuin se alkaa käsitellä tiedoston sisältöä.

Toista käskyä voidaan käyttää esittelyosassa. Se antaa mahdollisuuden ohjata L^{A}TEX lukemaan ainoastaan tietyt tiedostot.

Kun tämä käsky on annettu esittelyosassa, suoritetaan vain \includeonlykomennon listassa mainittujen tiedostojen \include-komennot. Huomaa, että tiedoston nimen ja pilkun välissä ei saa olla välilyöntiä.

\includeonly{tiedosto1 ,tiedosto2 , … }

\include-käsky aloittaa tiedoston sisällön latomisen uudelta sivulta. Tästä on hyötyä \includeonly-käskyä käytettäessä, sillä sivun vaihdot eivät muuta paikkaa, vaikka kaikkia tiedostoja ei luettaisi. Joskus tämä ei ole toivottavaa. Silloin voidaan käyttää käskyä

 \input{tiedosto}

Se yksinkertaisesti ottaa mukaan tiedoston sisällön siihen paikkaan, ilman mitään kommervenkkejä.

1.7 Suomenkieliset dokumentit

Kun dokumenttia ei kirjoiteta englanniksi, vaan esimerkiksi suomeksi, L^{A}TEX:n asetuksia täytyy muuttaa hieman:

1. Kaikki automaattisesti generoitavat tekstit^{5} täytyy muuttaa suomenkielisiksi. Käyttämällä Johannes Braamsin babel-makropakettia nämä muuttuvat automaattisesti halutun kieliseksi.

2. L^{A}TEX:n täytyy saada tietoonsa jostain suomen kielen tavutussäännöt. Tavutussääntöjen lisääminen on hieman hankalampi juttu. Jotta eri tavutussäännöt tulisivat käyttöön täytyy ne lisätä formaattitiedostoon. Local Guide [4]:n pitäisi antaa tarvittava informaatio.

Jos järjestelmääsi on jo lisätty suomalaiset tavutussäännöt, voit käynnistää suomalaiset babel-makrot lisäämällä \documentclass-käskyn jälkeen:

 \usepackage[finnish]{babel}

Suomen tilalla voidaan käyttää myös muita kieliä. Local Guide [4]:n pitäisi kertoa mitä kieliä järjestelmäsi tukee. Babel ottaa samalla käyttöön suomalaiset tavutussäännöt. Jos järjestelmäsi L^{A}TEX-formaatti ei tue suomen tavutusta, babel toimii kyllä, mutta se ottaa tavutuksen pois päältä. Tämä vaikuttaa heikentävästi dokumentin ulkoasuun.

Babel lisää käyttöön myös muita käskyjä, jotka liittyvät merkkien syöttöön, tavutukseen jne. Niistä kerrotaan tarkemmin edempänä tässä dokumentissa.

5Sisällysluettelo, Kuvaluettelo, …

1.7.1 Ääkköset käsikirjoituksesa

L^{A}TEX:ssa on useita tapoja kirjoittaa suomessa käytettävät kirjaimet ’ä’ ja ’ö’. Helpointa on luonnollisesti käyttää suomalaisen näppäimistön vastaavia kirjaimia suoraan. Tämä onnistuu kyllä L^{A}TEX:ssa, vaikka se onkin amerikkalaista alkuperää ja olettaa, että käytössä on vain englanninkielen aakkoset.

Ongelmana on kuitenkin se, että eri tietokonesysteemeissä käytetään ainakin vielä toistaiseksi erilaisia merkistöjä, joissa ’ä’ ja ’ö’ sijaitsevat eri paikoissa. Niinpä L^{A}TEX:lle täytyy kertoa mitä merkistöä käytetään. Se tehdään käskyllä:

\usepackage[merkistö]{inputenc}

joka kannattaa lisätä heti \documentclass-komennon jälkeen.

Hakasulkeiden sisään tulee käytetyn merkistön nimi. Vaikka kirjoittaja ei tietäisi mitään tietokoneiden merkistöistä, voi hän valita helposti oikean merkistön, kunhan käyttöjärjestelmän nimi on tiedossa. Taulukossa 1.5 on lueteltu eri käyttöjärjestelmissä käytetyt merkistöt suomen kieltä varten.

Suomessa TEX-järjestelmä on joskus asennettu niin, että yllämainittua makropakettia ei tarvitse kirjoittaa dokumentin esittelyosaan. Lisätietoja pitäisi saada Local Guide [4]:sta tai kokeilemalla toimivatko ääkköset ilman mitään erityisiä käskyjä.

Lisäksi tulee huomioida, että kaikki järjestelmät eivät ehkä pysty lukemaan sellaisia käsikirjoitustiedostoja, joissa ääkköset ovat mukana. Jo pelkästään MS-DOSissa ja Windowsissa ääkköset on koodattu eri paikkoihin.

Taulukko 1.5: Eri käyttöjärjestelmien merkistöt

ansinew on Windowsin käyttäjille.

cp1252 on vaihtoehtoinen tapa ilmaista, että käytetään Windowsin merkistöä. Tämä vaihtoehto tuli käyttöön L^{A}TEX 2ε:ssa vuoden 1997 joulukuun päivityksessä.

latin1 on unixin ja Amigan käyttäjille.

cp850 on suomalaisille MS-DOSin käyttäjille.

applemac on Macintoshin käyttäjille.

next on Next-työasemien käyttäjille.

decmulti on DEC-systeemien käyttäjille.

Ääkkösistä voi myös olla harmia, jos käsikirjoitus lähetetään amerikkalaiselle kustantajalle, joka haluaa pelkkiä ASCII-tiedostoja ilman mitään eurooppalaisia kirjaimia. Näiden kirjainten esittämiseen on L^{A}TEX:ssa kuitenkin muitakin tapoja, joista kerrotaan edempänä.

1.7.2 Oikean merkistön valinta

LaTeX2e käyttää oletusarvoisesti Donald Knuthin tekemiä Computer Modern -kirjasimia, joilla voidaan kyllä esittää ’ä’ ja ’ö’ -kirjaimet, mutta suomalainen tavutus ei suostu toimimaan näillä kirjasimilla. Syynä on se, että Knuthin kirjasimissa ’ä’ ja ’ö’ tulostetaan yhdistämällä ’a’ tai ’o’ ja ne kaksi pistettä, joita saksalaiset kutsuvat nimellä ’umlaut’. Lopputulos on tulostettuna suht oikean näköinen, mutta tavutusmekanismi ei ymmärrä tällaisia yhdistelmäkirjaimia.

Knuthin merkistöä käytettäessä ei tavutus toimi missään muussakaan kielessä, jossa käytetään aksentteja. Englannin lisäksi ainoastaan latinassa voidaan tulla toimeen ilman mitään aksentteja. Niinpä L^{A}TEX 2ε:ta varten tehtiin uusi merkistö, jolle annettiin nimeksi T1 (Text Encoding 1) ja uudet kirjasimet, joiden nimeksi tuli European Computer Modern. Tässä merkistössä on kirjaimia, joissa aksentit ovat valmiina mukana, niinpä tavutus suostuu jälleen toimimaan. T1-merkistö otetaan käyttöön käskyllä:

 \usepackage[T1]{fontenc}

Muitakin merkistöjä on olemassa kuin T1, esim. Knuthin merkistön tunnus on ’OT1’ (Old Text Encoding 1) ja kyrillisen merkistön tunnuksia ovat ’T2A’, ’T2B’ ja ’T2C’.

Tekstin ladonta

Edellisen kappaleen luettuasi tiedät mistä perusaineksista L^{A}TEX 2ε-dokumentti koostuu. Tässä luvussa saat tietää loputkin oikeissa dokumenteissa tarvittavista asioista.

2.1 Tekstin ja kielen rakenne

Kirjoitetun tekstin pääasiana (lukuunottamatta jotain postmodernia kirjallisuutta, jossa image on tärkein^{1}) on välittää ideoita, aatteita tai tietoa lukijalle. Lukija ymmärtää tekstin paremmin, jos ideat on rakenteellisesti muotoiltu hyvin ja hän näkee sekä tuntee tämän rakenteen, jos typografinen muotoilu heijastaa sisällön loogista ja semanttista rakennetta.

L^{A}TEX eroaa muista ladontajärjestelmistä siinä, että pelkkä tekstin loogisen ja semanttisen rakenteen kertominen riittää. Se johtaa sitten tekstin typografisen muodon dokumentin luokkatiedoston ja erilaisten tyylitiedostojen sääntöjen pohjalta.

L^{A}TEX:n (ja typografian) tarkein tekstiyksikkö on kappale. Kutsukaamme sitä ”tekstiyksiköksi”, sillä kappale on typografinen muoto, jonka pitäisi heijastaa yhtä selvää ajatusta. Seuraavissa osioissa opitaan, miten rivinvaihto voidaan määritellä tiettyyn kohtaan kirjoittamalla esim. \\ ja kappaleen vaihto jättämällä esim. tyhjä rivi käsikirjoitukseen. Niinpä, kun uusi ajatus alkaa, myös uusi kappale alkaa. Päinvastaisessa tapauksessa käytetään vain rivinvaihtoa. Jos et ole varma kappalevaihdosta, kuvittele tekstiäsi aatteiden ja ajatusten välittäjänä. Mikäli sama ajatus jatkuu seuraavassa kappaleessa, tulisi kappaleet yhdistää. Jos kesken kappaletta esiin tulee uusi ajatus, pitäisi kappale jakaa.

Useimmat ihmiset aliarvioivat hyvin asemoitujen kappeleenvaihtojen merkityksen. Monet eivät edes tiedä kappaleenvaihdon merkitystä ja käyttävät niitä, erityisesti L^{A}TEX:ssa, merkitystä tuntematta. Katso seuraavia esimerkkejä ja yritä selvittää miksi joskus kaavojen eteen ja jälkeen jätetään tyhjät rivit (kappaleenvaihdot) ja miksi taas joskus ei. (Jos et vielä tunne komentoja kyllin hyvin ymmärtääksesi esimerkkejä, lue tämä ja seuraava luku ennenkuin luet tämän osion uudelleen.)

1En nyt tarkoita samannimistä lehteä.

     % Example 1
     \ldots kun Einstein esitti kaavansa
     \begin{equation}
       e = m \cdot c^2 \; ,
     \end{equation}
     joka on samalla tunnetuin ja vähiten ymmärretty fysiikan
     kaava.
     % Example 2
     \ldots josta seuraa Kirchhoffin laki:
     \begin{equation}
       \sum_{k=1}{n} I_k = 0 \; .
     \end{equation}
     Kirchhoffin jännitteen laki voidaan johtaa \ldots
     % Example 3
     \ldots josta on useita etuja.
     \begin{equation}
       I_D = I_F - I_R
     \end{equation}
     on hyvin erilaisen transistorimallin ydin. \ldots

Seuraava pienempi tekstiyksikkö on lause. Englanninkielisissä teksteissä lauseen päättävän pisteen perässä on pitempi väli kuin silloin, kun piste on lyhenteen perässä. Suomessa ja useissa muissa kielissä ei tätä tapaa kuitenkaan noudateta. Niinpä Babelin suomalaismakrot kytkevät tämän ominaisuuden pois päältä. Englanninkielisessä tekstissä L^{A}TEX yrittää arvata minkalaisesta pisteestä on kysymys. Jos L^{A}TEX erehtyy, täytyy kirjoittajan kertoa, mitä hän haluaa. Tämä selitetään myöhemmin tässä luvussa.

Tekstin rakenteisiin kuuluu myös lauseen osia. Monissa kielissä on hyvin monimutkaiset välimerkkisäännöt. Suomessa pilkkua käytetään pelkästään kieliopillisten sääntöjen mukaan. Koulussa opittiin minkä sanojen jälkeen tulee aina pilkku ja milloin taas ei. Monissa muissa kielissä (kuten saksassa ja englannissa) pilkku esittää tekstissä lyhyttä taukoa. Näissä kielissä kannattaa epävarmoissa tapauksissa lukea lause ääneen ja vetää henkeä. Jos jossain kohtaa tauko tuntuu omituiselta, pilkun voi poistaa, jos taas jossain kohtaa pitäisi vetää henkeä (tai pitää lyhyt tauko), siihen lisätään pilkku.

Lisäksi teksti jaetaan kappaleita ylemmällä tasolla loogisesti lukuihin, osioihin, alaosioihin jne. Näiden ylemmän tason rakenteiden käyttö on lähes itsestään selvää, sillä kirjoittamalla esim. \section{Tekstin ja kielen rakenne} on sen typografinen vaikutelma kyllin selvä.

2.2 Rivin- ja kappaleenvaihto

2.2.1 Tasatut kappaleet

Kirjat ladotaan usein niin, että jokainen rivi on yhtä pitkä. L^{A}TEX lisää tarpeelliset rivinvaihdot ja välilyönnit sanojen väliin optimoidessaan koko kappaleen sisältöä. Tarpeen vaatiessa se myös tavuttaa sanat, jotka eivät mahdu kokonaan riville. Kappaleiden ladonta riippuu dokumenttiluokasta. Normaalisti kappaleen ensimmäinen rivi on sisennetty eikä kappaleiden välissä ole tyhjää riviä. Katso osasta 5.3.2 lisätietoja.

Erikoistapauksissa voi olla tarpeen pakottaa L^{A}TEX katkaisemaan rivi:

 \\ tai \newline

aloittaa uuden rivin, mutta ei uutta kappaletta.

 \\*

estää lisäksi sivun vaihdon rivin katkaisun jälkeen.

 \newpage

aloittaa uuden sivun.

 \linebreak[n], \nolinebreak[n], \pagebreak[n] ja \nopagebreak[n]

tekevät vastaavasti seuraavaa: rivinvaihto, rivinvaihdon esto, sivun vaihto, sivunvaihdon esto. Nämä käskyt antavat kirjoittajalle mahdollisuuden vaikuttaa niiden toimintaan vaihtoehtoisella argumentilla n. Sille voidaan antaa arvo nollan ja neljän väliltä. Alle neljän olevalla arvolla L^{A}TEX saa luvan jättää käsky huomioimatta, jos lopputulos olisi liian ruman näköinen. Näitä ”katkaisu”-käskyjä ei tule sekoittaa ”uusi”-käskyihin. Vaikka ”katkaisu”-käskyä käytettäisiinkin, L^{A}TEX yrittää silti tasata sivun oikean reunan ja sivun kokonaispituuden seuraavassa osioissa kuvatulla tavalla. Jos todella halutaan aloittaa ”uusi rivi”, on käytettävä vastaavaa komentoa. Arvaa minkä nimistä!^{2}

L^{A}TEX yrittää katkaista rivin aina parhaasta mahdollisesta paikasta. Jos se ei löydä tapaa katkaista rivi sen korkeatasoisten vaatimusten mukaisesti, se antaa rivin sojottaa ulos kappaleen oikeasta reunasta. L^{A}TEX antaa lisäksi valituksen (“overfull hbox”) käsikirjoitusta työstäessään. Tällainen tilanne tulee yleensä silloin kun L^{A}TEX ei löydä sopivaa tavutuskohtaa sanasta.^{3} La-TeX:ia voi pyytää alentamaan tasoaan käskyllä \sloppy. Se estää ylipitkien rivien syntymisen lisäämällä sanojen välejä, vaikka lopputulos ei olisi paras mahdollinen eikä yleensä kovin hyvän näköinen. Siltä varalta, että haluat L^{A}TEX:n valittavan vähän joka asiasta, on olemassa komento \fussy, joka on siis edellisen komennon vastakohta.

2Kääntäjän vihje: ”uusi rivi” on englanniksi new line.

2.2.2 Tavutus

L^{A}TEX tavuttaa sanat tarpeen vaatiessa. Jos tavutusalgoritmi ei löydä sopivaa tavutuskohtaa, voidaan tilannetta helpottaa kertomalla TEX:lle seuraavilla komennoilla, että kyseessä on poikkeus.

Komento

 \hyphenation{sanalista}

aiheuttaa sen, että sanalistassa luetellut sanat tavutetaan ainostaan kohdista, jotka on merkitty ”-”. Tätä komentoa tulee käyttää käsikirjoituksen esittelyosassa ja siinä pitäisi käyttää ainoastaan normaalikirjaimista koostuvia sanoja. Kirjainkokoa ei huomioida. Alapuolella oleva esimerkki kertoo, että ”tavutus” samoin kuin ”Tavutus” tavutetaan, mutta ”FORTRAN” ei. Mitään erityismerkkejä tai symboleja ei argumenttiosassa sallita.

Example:

     \hyphenation{FORTRAN Ta-vu-tus}

Komennolla \- lisätään sanaan tavutusohje. Englanninkielisissä dokumenteissa tästä tulee samalla ainoa kohta, jossa tavutus sallitaan. Babelin finnish-optio, kuitenkin muuttaa komennon merkitystä niin, että tavutus sallitaan edelleen tarvittaessa muuallakin. Tästä komennosta on hyötyä erityisesti ulkomaisten sanojen kohdalla. Niissä voi olla erikoismerkkejä (esim. aksenttimerkkejä), joita suomen kielen tavutus ei tunne. Ääkköset kuitenkin tavuttuvat oikein jos käytetään Babelin suomen kielen tukea ja T1-koodausta käyttäviä kirjasimia.^{4}

Tavutus toimii jär\-jes\-tel\-%
mäl\-li\-syy\-del\-lään\-kin

Tavutus toimii järjestelmällisyydelläänkin

Koska suomen pitkät sanat vaativat jatkuvasti tavuttamista, on suomalaisessa typografiassa hieman joustavammat säännöt tavutuksen kohdalla kuin englannissa. Babelin suomen kielen tuki lisää muutaman ylimääräisen ominaisuuden, jotka ovat tarpeen suomalaisissa dokumenteissa. Huomaa kuitenkin, että ne toimivat vain Babelin finnish-option kanssa.

3Vaikka L^{A}TEX antaa näissä tapauksissa varoituksen (Overfull hbox), ei tällaisia rivejä ole aina helppo löytää. Jos \documentclass-komennon yhteydessä käytetään optiota draft, L^{A}TEXmerkitsee nämä rivit mustalla palkilla oikeassa marginaalissa.

4Sekä lisäksi suomen kielen tavutussäännöt on asennettu järjestelmään.

Normaalisti kun sanassa on tavuviiva (esim. noita-akka) L^{A}TEXtavuttaa sanan vain tämän tavuviivan kohdalta. Tarkoituksena välttää samassa sanassa kahta tavuviivaa. Suomen pitkien sanojen kohdalla on kuitenkin parempi luistaa tästä periaatteesta. Kirjoittamalla esim. noita"-akka sallitaan tavutus myös muualla sanassa.

Toinen ongelmatapaus on esim. ”pakastekaapit ja -arkut”, jossa tavuviiva tulee sanan eteen. Normaalisti L^{A}TEX olettaa, että tavuviiva jää rivin loppuun ja sana ”arkut” tulisi seuraavalle riville. Koska suomessa näin ei aina ole, on esimerkki kirjoitettava seuraavasti: pakastekaapit ja "=arkut.

Joskus sana pitää katkaista ilman tavutusviivaa. Silloin voi käyttää Babelin merkintää "", esim. ”entrada/salida”.

Peräkkäiset sanat saa pysymään samalla rivillä komennolla:

 \mbox{tekstiä}

Se saa argumenttina olevan tekstin pysymään samalla rivillä kaikissa tilanteissa.

Puhelinnumeroni vaihtuu piakkoin.
Siitä tulee \mbox{0116 291 2319}.
Parametrin
\mbox{\emph{tiedostonnimi}} pitäisi
sisältää tiedoston nimi.

Puhelinnumeroni vaihtuu piakkoin. Siitä tulee 0116 291 2319. Parametrin tiedostonnimi pitäisi sisältää tiedoston nimi.

2.3 Erikoismerkit ja symbolit

2.3.1 Lainausmerkit

Kirjoituskoneen "-symbolia ei pitäisi käyttää lainausmerkkinä. Painetussa tekstissä Suomessa ja Ruotsissa käytetty lainausmerkki saadaan L^{A}TEX:ssa kirjoittamalla kaksi peräkkäistä ’-merkkiä. Anglo-amerikkalaisessa typografiassa lainauksen aloitus- ja lopetusmerkki ovat erilaiset. Siellä lainauksen aloittaa kaksi peräkkäistä `-merkkiä. Suomessa käytetään joissain kirjoissa myös ^{≫}toisenlaisia^{≫} lainausmerkkejä. Nämä saadaan kirjoittamalla kaksi peräkkäistä >-merkkiä. Muissa kielissä on vielä toisenlaisia käytäntöjä.

''Paina 'x'-näppäintä.''
``Please press the `x' key.''

”Paina ’x’-näppäintä.” “Please press the ‘x’ key.”

2.3.2 Väli-, yhdys- ja ajatusviivat

L^{A}TEX tuntee neljä erilaista viivaa. Kolme niistä saadaan eri määrällä peräkkäisiä tavuviivoja. Neljäs viiva on matemaattinen miinusmerkki:

kuu-ukko, X-kirjain\\
sivut 13--67\\
Will Hunting --- syntynyt neroksi \\
$0$, $1$ ja $-1$

kuu-ukko, X-kirjain

sivut 13–67

Will Hunting — syntynyt neroksi 0, 1 ja −1

Nimet näille viivoille ovat: ’-’ tavu- tai yhdysviiva, ’–’ väliviiva, ’—’ ajatusviiva ja ’−’ miinusmerkki.

Muista lisäksi mitä tavutuksen kohdalla todettiin yhdysviivasta. Lisäksi on todettava, että suomalaisissa painotuotteissa näkee joskus käytettävän väliviivaa ajatusviivana. Esa Saarimaan Kielenoppaan kuudes painos vuodelta 1964 taas käskee käyttäämään ajatusviivaa myös väliviivana! En nyt ota sen kummemmin tässä kantaa ajatusviivan oikeaan pituuteen suomen kielessä.^{5} Varmaa ainakin on, että ajatusviivan kummallekin puolelle tulee suomessa välilyönti. Englannissa taas ajatusviiva kirjoitetaan ilman välilyöntejä.

2.3.3 Ellipsi ( …)

Kirjoituskoneessa pilkku tai piste vie yhtä paljon tilaa kuin mikä tahansa muu kirjain. Painetuissa kirjoissa nämä merkit vievät vain vähän tilaa ja ne sijaitsevat hyvin lähellä edeltävää kirjainta. Niinpä ”ellipsiä” ei voi lisätä kirjoittamalla yksinkertaisesti kolme pistettä, sillä välistys olisi väärin. Sitäpaitsi näille pisteille on oma komento. Sen nimi on

 \ldots

Ei näin ... vaan näin:\\
New York, Tokio, Budapest, \ldots

Ei näin ... vaan näin:

New York, Tokio, Budapest, …

2.3.4 Ligatuurit

Anglo-amerikkalaisessa typografiassa joitakin kirjainyhdistelmiä ei ladota panemalla kirjain toisensa perään, vaan käyttämällä erityisiä kirjainmerkkejä.

ff fi fl ffi … instead of ff fi fl ffi …

5Venäläiset kinastelivat Internetissä kuukauden verran ajatusviivan oikeasta pituudesta venäjässä pääsemättä asiassa yhteisymmärrykseen.

Nämä niin sanotut ligatuurit voidaan estää lisäämällä \mbox{} kyseessä olevien kirjainten väliin. Tämä voi olla tarpeen joissain englannin yhdyssanoissa.

Not shelfful\\
but shelf\mbox{}ful

Not shelfful but shelfful

2.3.5 Aksentit ja erikoismerkit

L^{A}TEX:ssa on mahdollista latoa sellaisia eri kielissä käytettyjä aksentteja ja erikoismerkkejä, joita ei löydy suomalaiselta näppäimistöltä. Taulukossa 2.1 listataan erilaisia aksentteja o-kirjaimen kanssa käytettynä. L^{A}TEX:ssa aksentin voi liittää mihin tahansa muuhun kirjaimeen.

Kun i:n ja j:n päälle pannaan aksentti, täytyy niissä oleva piste poistaa. Tämä tehdään kirjoittamalla \i ja \j.

H\^otel, na\"\i ve, \'el\`eve,\\
sm\o rrebr\o d, !`Se\~norita!,\\
Sch\"onbrunner Schlo\ss{}
Stra\ss e

Hôtel, naïve, élève, smørrebrød, ¡Señorita!, Schönbrunner Schloß Straße

Taulukko 2.1: Aksentteja ja erikoismerkkejä

        ò \`o  ó \'o  ô \^o  õ \~o
        ō \=o  ȯ \.o  ö \"o  ç \c c
        ŏ \u o ǒ \v o ő \H o  o̧ \c o
        o. \d o   ō \b o oo \t oo
        œ \oe  Œ \OE  æ \ae  Æ \AE
        å \aa  Å \AA  ß \ss
        ø \o  Ø \O  ł \l  Ł \L
        ı \i  ȷ \j  ¡ !`  ¿ ?`

Edellä oli puhetta suomen kielen tuen yhteydessä T1-merkistöstä. Se lisää käyttöön muutaman uuden aksentin ja kirjainmerkin. Katso taulukosta 2.2.

2.4 Sanavälit

Jotta L^{A}TEX saisi oikean reunan tasattua, se lisää sanojen väliin eripituisiä välejä. Englantia ladottaessa se lisää lauseiden perään hieman suuremman Taulukko 2.2: T1-merkistön lisäämät aksentit ja kirjainmerkit

        ů \r u   ǫ \k o
        Ð \DH  Ð \DJ  Ŋ \NG Þ \TH
        ð \dh  đ \dj  ŋ \ng þ \th

välin, luettavuuden helpottamiseksi. L^{A}TEX olettaa, että lause päättyy pisteeseen, kysysmerkkiin tai huutomerkkiin. Mikäli pistettä edeltää iso kirjain, ei piste päätä lausetta, sillä piste seuraa isoja kirjaimia vain lyhenteissä.

Kirjoittaja voi määritellä kuitenkin poikkeuksia. Kenoviiva välilyönnin edessä latoo tavallisen sanavälin. ~-merkki latoo sanavälin joka estää rivinvaihdon. \@-komento pisteen edessä kertoo, että piste lopettaa lauseen, vaikka se seuraisi isoa kirjainta.

Mr.~Smith oli iloinen\\
ks.~Kuva 5\\
I like BASIC\@. What about you?

Mr. Smith oli iloinen

ks. Kuva 5

I like BASIC. What about you?

Pisteen jälkeisen ylimääräisen välin voi estää komennolla

 \frenchspacing

joka kertoo L^{A}TEX:lle, että pisteen jälkeen ei tarvita pitempää väliä. Tämä on yleinen käytäntö muissa kielissä kuin englannissa, paitsi kirjallisuusluetteloissa. Kun \frenchspacing-käskyä käytetään ei \@-käsky ole tarpeen. Babelin finnish-optio lisää automaattisesti \frenchspacing-käskyn käyttöön.

2.5 Nimiöt, luvut ja osiot

Helpottaakseen lukijaa suunnistamaan tekstin läpi, kirjoittaja jakaa sen lukuihin, osioihin ja alaosioihin. L^{A}TEX:ssa on tätä varten erityiset käskyt, joiden argumenteiksi annetaan otsikon teksti. Kirjoittajan tehtävä on käyttää niitä oikeassa järjestyksessä.

article-luokassa on käytössä seuraavat otsikointikäskyt:

     \section{...}           \paragraph{...}
     \subsection{...}        \subparagraph{...}
     \subsubsection{...}     \appendix

report- ja book-luokissa voidaan käyttää paria muuta otsikointikäskyä:

     \part{...}              \chapter{...}

Koska article-luokka ei käytä lukuja, voidaan artikkeleita lisätä helposti kirjaan lukuina. L^{A}TEXhoitaa automaattisesti otsikoiden asemoinnin, numeroinnin ja kirjasimen koon valinnan.

Otsikointikäskyistä pari on hieman erikoisia:

• \part-komento ei vaikuta lukujen numerointiin.

• \appendix-komennolle ei anneta argumentteja. Sen tehtävänä on ainoastaan vaihtaa lukujen numerointi kirjaimiksi.^{6}

L^{A}TEX tekee sisällysluettelon otsikoiden teksteistä ja sivunnumeroista dokumentin edellisen prosessoinnin perusteella. Komento

 \tableofcontents

luo sisällysluettelon siihen paikkaan, jossa se annetaan. Uusi dokumentti täytyy ajan L^{A}TEX:n läpi kahdesti, jotta sisällysluettelo saadaan tulostumaan oikein. Joskus dokumentti täytyy kääntää kolmasti. L^{A}TEX kertoo kyllä, milloin tämä on tarpeen.

Kaikista yllä mainituista otsikkokäskyistä on olemassa myös ”tähti”-ver-siot. Komennon ”tähti”-versio saadaan lisäämällä * komennon nimen perään. Se luo otsikon, joka ei näy sisällysluettelossa ja jota ei numeroida. Komen-

nosta \section{Apuva} tulisi \section*{Apuva}.

Normaalisti otsikot tulostuvat sisällysluetteloon samalla tavoin kuin ne on kirjoitettu tekstiin. Joskus tämä ei ole mahdollista, kun otsikko on liian pitkä mahtuakseen sisällysluetteloon. Sisällysluetteloon menevä teksti voidaan antaa ylimääräisenä argumenttina varsinaisen otsikon edellä.

     \chapter[Lue! Tärkeää!]{Tämä on hyvin pitkä
                     ja tylsä otsikko}

Koko dokumentin nimiö tulostetaan käskyllä

 \maketitle

Nimiön sisältö täytyy ensin määritellä komennoilla

 \title{...}, \author{...} ja mahdollisesti \date{...}

\author:n argumenteiksi voidaan antaa useita nimiä jotka on eroteltu komennolla \and.

Esimerkki yllämainituista käskyistä löytyy kuvasta 1.3 sivulla 8.

6Artikkeleissa se vaihtaaa osioiden numeroinnin.

Näiden otsikkokäskyjen lisäksi L^{A}TEX lisää book-luokassa käyttöön kolme lisäkäskyä.

 \frontmatter, \mainmatter and \backmatter

Niistä on hyötyä julkaisun jakamisessa osiin. Nämä komennot muuttavat lukujen otsikointia ja sivunnumerointia niin kuin kirjoissa on tapana.

2.6 Ristiviitteet

Kirjoissa, raporteissa ja artikkeleissa on usein ristiviittauksia kuviin, taulukoihin ja tiettyihin tekstin osiin. L^{A}TEXtarjoaa ristiviittaamiseen seuraavat komennot

\label{tunniste}, \ref{tunniste} ja \pageref{tunniste}

joissa tunniste on käyttäjän valitsema nimi viitattavalle kohteelle. L^{A}TEX korvaa \ref:n sen otsikon, alaotsikon, kuvan, taulukon tai teoreeman numerolla, jonka perässä on vastaavanniminen \label-komento. \pageref tulostaa sen sivun numeron, jossa vastaava \label-komento on.^{7} Ristiviittausten saamiseksi ajan tasalle on dokumentti ajettava L^{A}TEX:in läpi ainakin kahdesti.

Viittaus tähän alaotsikkoon
\label{sec:this} näyttää tältä:
''katso osiota~\ref{sec:this}
sivulla~\pageref{sec:this}.''

Viittaus tähän alaotsikkoon näyttää tältä: ”katso osiota 2.6 sivulla 26.”

2.7 Alaviitteet

Komennolla

\footnote{alaviitteen teksti}

alaviite tulostuu saman sivun alareunaan. Alaviitteet pitäisi aina panna^{8} sen sanan tai lauseen perään, johon ne viittaavat.^{9}

7Huomaa, että nämä komennot eivät tiedä viittaamistaan kohteista mitään. \label yksinkertaisesti tallentaa viimeksi automaattisesti generoidun numeron.

8”panna” on yleinen suomalainen kaksimielinen sana.

9Selvyyden vuoksi lauseeseen tai osaan viittavat alaviitteet tulisi panna pilkun tai pisteen jälkeen.

Alaviitteitä\footnote{Tämä on
  alaviite} käyttävät usein
\LaTeX:n käyttäjät.

Alaviitteitä^{a} käyttävät usein L^{A}TEX:n käyttäjät.

aTämä on alaviite

2.8 Korostetut sanat

Kun teksti kirjoitetaan kirjoituskoneella, \underline{alleviivausta} käytetään korostamaan tärkeitä sanoja. Painetuissa kirjoissa sanoja korostetaan kuitenkin latomalla ne kursiivilla. L^{A}TEX:ssa voi käyttää komentoa

 \emph{tekstiä}

tekstin korostamiseen. Komennon varsinainen tulos riippuun siitä, missä yhteydessä sitä on käytetty:

\emph{Jos käytät
  korostusta korostetun
  tekstin sisällä,
  \LaTeX{} käyttää
  \emph{normaalia} kirjasinta
  korostamiseen.}

Jos käytät korostusta korostetun tekstin sisällä, L^{A}TEX käyttää normaalia kirjasinta korostamiseen.

On eri asia käskeä L^{A}TEX:ia korostamaan jotain ja käskeä sitä käyttämään erilaista kirjasinta:

\textit{Voit myös
  \emph{korostaa} tekstiä,
  joka on ladottu kursiivilla,}
\textsf{\emph{groteskilla},}
\texttt{tai \emph{kirjoituskone}
  tyylillä.}

Voit myös korostaa tekstiä, joka on ladottu kursiivilla, groteskilla, tai kirjoituskone

                                        tyylillä.

2.9 Ympäristöt

Erityisten tekstien latomiseksi L^{A}TEX:ssa voidaan määritellä eri tavalla muotoiltuja ympäristöjä:

\begin{nimi} tekstiä \end{nimi}

joissa nimi on ympäristön nimi. Ympäristöjä voidaan kutsua toistensa sisällä kunhan kutsujärjestys säilytetään.

     \begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}

Seuraavissa osioissa selitetään kaikki tärkeät ympäristöt.

28  Tekstin ladonta

2.9.1 Numeroimaton, numeroitu ja määrittelyluettelo

itemize-ympäristö sopii yksinkertaisiin luetteloihin, enumerate-ympäristö numeroituihin luetteloihin ja description-ympäristö määrittelyjen luetteloon.

\flushleft
\begin{enumerate}
\item Voit sekoittaa makusi
mukaan luetteloympäristöjä:
\begin{itemize}
\item Mutta se voi näyttää
typerältä.
\item[--] Ranskalainen viiva.
\end{itemize}
\item Muista siis:
\begin{description}
\item[Typeryys] ei muutu
viisaudeksi luettelossa.
\item[Viisaus] voidaan silti
esittää kauniisti luettelossa.
\end{description}
\end{enumerate}

1. Voit sekoittaa makusi mukaan luetteloympäristöjä:

• Mutta se voi näyttää typerältä.

– Ranskalainen viiva.

2. Muista siis:

Typeryys ei muutu viisaudeksi luettelossa.

Viisaus voidaan silti esittää kauniisti luettelossa.

2.9.2 Tasaus vasemmalle, oikealle ja keskitys

Ympäristöt flushleft ja flushright luovat joko vasemmalle tai oikealle tasattuja kappaleita. center-ympäristö luo keskitettyä tekstiä. Mikäli \bskäskyä ei käytetä rivinvaihdon merkitsemiseen, L^{A}TEX vaihtaa riviä automaattisesti.

\begin{flushleft}
Tämä teksti on\\ vasemmalle tasattu.
\LaTeX{} ei yritä tehdä kaikista
riveistä saman pituisia.
\end{flushleft}

Tämä teksti on

vasemmalle tasattu. L^{A}TEX ei yritä tehdä kaikista riveistä saman pituisia.

\begin{flushright}
Tämä teksti on oikealle\\ tasattu.
\LaTeX{} ei yritä tehdä kaikista
riveistä saman pituisia.
\end{flushright}

Tämä teksti on oikealle

tasattu. L^{A}TEX ei yritä tehdä kaikista riveistä saman pituisia.

\begin{center}
Maapallon\\ keskustassa.
\end{center}

Maapallon keskustassa.

2.9 Ympäristöt  29

2.9.3 Lainaus, sitaatti ja säkeet

quote-ympäristö on käyttökelpoinen lainausten, sitaattien ja esimerkkien esittämiseen.

Typografinen nyrkkisääntö
rivin pituudesta on:
\begin{quote}
Rivissä ei tulisi olla enemmän
kuin 66~merkkiä.
Tästä syystä \LaTeX:n sivuissa
on oletuksena niin isot marginaalit
\end{quote}
Tästä syystä sanomalehdissä
käytetään usein useampaa palstaa.

Typografinen nyrkkisääntö rivin pituudesta on:

Rivissä ei tulisi olla enemmän kuin 66 merkkiä. Tästä syystä L^{A}TEX:n sivuissa on oletuksena niin isot marginaalit

Tästä syystä sanomalehdissä käytetään usein useampaa palstaa.

Samanlaisia ympäristöjä ovat quotation ja verse. quotation-ympäristö on hyödyllinen pitemmissä lainauksissa, jotka jatkuvat usean kappaleen verran, sillä se sisentää kappaleet. verse-ympäristö on hyödyllinen runoissa, joissa rivin vaihto on tärkeää. Säkeet erotetaan \\:llä rivin lopussa ja säkeistöt tyhjällä rivillä.

Tiedän ulkoa vain yhden
englantilaisen runon. Se kertoo
Humpty Dumptysta.
\begin{flushleft}
\begin{verse}
Humpty Dumpty sat on a wall:\\
Humpty Dumpty had a great fall.\\
All the King's horses and all
the King's men\\
Couldn't put Humpty together again.
\end{verse}
\end{flushleft}

Tiedän ulkoa vain yhden englantilaisen runon. Se kertoo Humpty Dumptysta.

Humpty Dumpty sat on a wall: Humpty Dumpty had a great

fall. All the King’s horses and all

the King’s men Couldn’t put Humpty together

again.

2.9.4 Sananmukainen tulostus

\begin{verbatim}:n ja \end{verbatim}:n väliin jäävä teksti tulostuu niin kuin se on kirjoitettu käsikirjoitukseen ja niinkuin se olisi kirjoitettu kirjoituskoneella. Kaikki välilyönnit tulostuvat välilyönteinä. L^{A}TEX:n komentoja ei suoriteta.

Kappaleen sisällä sama vaikutus saadaan komennolla

 \verb+tekstiä+

+ on vain esimerkki rajana käytettävästä merkistä. Mitä tahansa muuta merkkiä voidaan käyttää paitsi kirjainta, * tai välilyöntiä. Useat tämän kirjasen L^{A}TEX-esimerkeistä on ladottu tällä komennolla.

\verb|\ldots|-komento \ldots
\begin{verbatim}
10 PRINT "HELLO WORLD ";
20 GOTO 10
\end{verbatim}

\ldots-komento …

                             10 PRINT "HELLO WORLD ";
                             20 GOTO 10

\begin{verbatim*}
verbatim-ympäristön
tähtiversio korostaa
välilyöntejä   tekstissä
\end{verbatim*}

                             verbatim-ympäristön
                             tähtiversio␣korostaa
                             välilyöntejä␣␣␣tekstissä

\verb-komentoa voidaan käyttää samalla tavoin tähden kanssa:

\verb*|näin   ikkään :-) |

                             näin␣␣␣ikkään␣:-)␣

verbatim-ympäristöä ja \verb-komentoa ei voida käyttää muiden komentojen parametreina.

2.9.5 Sarkaimet

tabular-ympäristöllä voidaan latoa kauniita taulukoita, joissa on mahdollisesti vaaka- tai pystyviivoja. L^{A}TEX laskee sarakkeiden leveyden automaattisesti.

Komennon

 \begin{tabular}{table spec}

table spec-argumentti määrittelee taulukon muodon. l käytetään sarakkeisiin, joissa teksti on tasattu vasemalle, r oikealle tasattuun tekstiin ja c keskitettyyn tekstiin; p{leveys} on sarakkeeseen, jossa on molemmilta puolilta tasattua tekstiä ja rivinvaihtoja ja | on pystysuoralle viivalle.

tabular-ympäristössä & siirtää seuraavaan sarakkeeseen, \\ aloittaa uuden rivin ja \hline lisää vaakasuoran viivan.

\begin{tabular}{|r|l|}
\hline
7C0 & heksadesimaali \\
3700 & oktaali \\
11111000000 & binääri \\
\hline \hline
1984 & desimaali \\
\hline
\end{tabular}

7C0 heksadesimaali
3700 oktaali
11111000000 binääri
1984 desimaali

\begin{tabular}{|p{4.7cm}|}
\hline
Tervetuloa Kaken kappaleeseen.
Toivomme että kaikki
nauttivat esityksestä.\\
\hline
\end{tabular}

Tervetuloa Kaken kappaleeseen. Toivomme että kaikki nauttivat esityksestä.

Sarakkeiden erotin voidaan määritellä @{...} rakenteella. Tämä komento korvaa sarakkeiden välisen tyhjän tilan aaltosulkeiden välissä olevalla materiaalilla. Komennon tyypillinen käyttöesimerkki on annettu alla desimaalisarkainta esiteltäessä. Toinen tyypillinen käyttötapa on poistaa edeltävät välilyönnit komennolla @{}.

\begin{tabular}{@{} l @{}}
\hline
ei edeltäviä välilyöntejä\\
\hline
\end{tabular}

ei edeltäviä välilyöntejä

\begin{tabular}{l}
\hline
välit vasemalla ja oikealla\\
\hline
\end{tabular}

välit vasemalla ja oikealla

Koska LaTeX:ssa ei ole mitään sisäänrakennettua tapaa tasata numerosarakkeita desimaalipilkun kohdalta,^{10} täytyy turvautua ”huijaamiseen” ja tehdä se kahta saraketta käyttämällä: tasaamalla kokonaisosa oikealle ja murtoosat vasemmalle. @{,}-komento \begin{tabular}-ympäristössä korvaa normaalin sarakkeiden välisen välin pilkulla, jolloin saadaan vaikutelma yhdestä, desimaalipilkkuun tasatusta sarakkeesta. Ei pidä unohtaa desimaalipilkun korvaamista numeroissa sarake-erottimella (&)! Sarakkeen nimi voidaan asettaa numeerisen ”sarakkeen” yläpuolelle \multicolumn-komennolla.

10Jos ’tools’-makrokokoelma on asennettu systeemiin, kannattaa tutustua dcolumnmakropakettiin.

\begin{tabular}{c r @{,} l}
Piin merkintätapa     &
\multicolumn{2}{c}{Arvo} \\
\hline
$\pi$               & 3&1416  \\
$\pi^{\pi}$         & 36&46   \\
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}

Piin merkintätapa  Arvo
π  3,1416
π^{π}  36,46
(π^{π})^{π}  80662,7

2.10 Kelluvat osat

Nykyään useimmissa julkaisuissa on paljon kuvia ja taulukoita. Nämä elementit kaipaavat erikoiskohtelua, sillä niitä ei voi jakaa eri sivuille. Eräs tapa olisi aloittaa uusi sivu aina kun kuva tai taulukko on liian iso mahtuakseen sivulle. Tämä tapa kuitenkin jättäisi sivut osittain tyhjäksi, mikä näyttää pahalta.

Ratkaisu on siirtää mikä tahansa sivulle sopimaton kaavio tai taulukko, johonkin myöhemmälle sivulle ja samalla täyttää tyhjäksi jäävä tila tekstillä. L^{A}TEX:ssa on kaksi ympäristöä kelluville objekteille. Yksi taulukoille ja yksi kaavioille. Näiden ympäristöjen hyödyntämiseksi on ymmärrettävä suunnilleen kuinka L^{A}TEX käsittelee kelluvia osia. Muutoin niistä voi tulla turhautumisen kohde, sillä L^{A}TEX ei koskaan pane niitä siihen, mihin haluat.

Katsotaanpa ensiksi mitä komentoja L^{A}TEX tarjoaa kelluvalle materiaalille:

Mikä tahansa aineisto, joka on figure- tai table-ympäristön sisällä, käsitellään kelluvana materiaalina. Kumpikin ympäristö tarjoaa vaihtoehtoisen parametrin

\begin{figure}[sijoituksen määrittely] tai \begin{table}[sijoituksen määrittely]

jota kutsutaan sijoituksen määrittelyksi. Tämä parametri kertoo L^{A}TEX:lle minne kelluvan objektin sallitaan siirtyvän. sijoituksen määrittely rakentuu kelluvan objektin sallittujen sijaintien merkkijonosta. Katso taulukko 2.3.

Taulukko voisi alkaa esim. seuraavalla rivillä:

     \begin{table}[!hbp]

Sijoituksen määrittely [!hbp] sallii L^{A}TEX:n sijoittaa taulukko juuri tähän (h) tai jonkin sivun alaosaan (b) tai erityiselle sivulle (p) ja vieläpä niin, että lopputuloksen ei tarvitse näyttää erityisen hyvältä (!). Jos mitään määrityksiä paikan suhteen ei anneta, standardiluokat olettavat määrityksiksi

[tbp].

L^{A}TEX sijoittaa kaikki kelluvat objektit kirjoittajan antamien paikkamääritysten mukaisesti. Jos objektia ei voi sijoittaa samalle sivulle se pannaan joko kuvien tai taulukoiden jonoon^{11}. Kun uusi sivu alkaa L^{A}TEX tarkistaa ensin, onko mahdollista täyttää kelluvilla objekteilla oma sivu. Jos tämä ei ole mahdollista joka jonon ensimmäistä objektia käsitellään aivan kuin se olisi juuri esiintynyt tekstissä: L^{A}TEX yrittää jälleen asemoida sitä paikanmäritysten mukaisesti (paitsi ’h’:n, joka ei ole enää mahdollinen). Kaikki uudet tekstissä esiintyvät objektit siirtyvät vastaavaan jonoon. L^{A}TEX säilyttää kunkin objektityypin alkuperäisen järjestyksen. Tästä syystä, jos jotain kuvaa ei voida sijoittaa, se siirtää kaikkia muita kuvia dokumentin loppua kohden. Niinpä:

Jos L^{A}TEX ei sijoita objekteja odotetulla tavalla, on syynä usein yksi kelluva objekti joka tukkii jommankumman jonoista.

Vaikean osan jäädessä taakse on jäljellä vielä muutama mainittava asia table- ja figure-ympäristöistä.

Komennolla

 \caption{kuvateksti}

voidaan kelluvalle objektille määritellä kuvateksti. LaTeX lisää juoksevan numeron ja tekstin ”Kuva” tai ”Taulukko”.^{12}

Komennot

 \listoffigures ja \listoftables

toimivat samoin kuin \tableofcontents-komento tulostaen vastaavasti luettelon kuvista ja taulukoista. Jos käytät pitkiä kuvatekstejä, on luetteloon

11Nämä ovat ”ensimmäisenä sisään, ensimmäisenä ulos” jonoja!

12Englannin kielisissä dokumenteissa vastaavasti ”Figure” ja ”Table”.

Taulukko 2.3: Kelluvan objektin sallitut sijainnit

Määrite Sallittu sijainti …

h juuri tässä paikassa tekstiä. Tämä sopii pääasiassa pieniin

kelluviin objekteihin.

t  sivun yläosassa
b  sivun alaosassa
p  erityisellä sivulla, jossa on ainoastaan kelluvia objekteja

! kyseisen kelluvan objektin asettelun estävistä sisäisistä parametreista^{a} riippumatta. saatava lyhyempi versio. Tämä on mahdollista lisäämällä lyhyt versio hakasulkeisiin \caption-komennon perään.

aKuten yhdellä sivulla sallittujen kelluvien objektien maksimimäärä

     \caption[Lyhyt]{Piiiiiiiitkääääääää}

Komennoilla \label ja \ref voidaan luoda viittaus kelluvaan objektiin. Seuraava esimerkki piirtää neliön ja lisää sen dokumenttiin. Tätä voidaan

käyttää varaamaan tilaa kuville, jotka liimataan lopulliseen dokumenttiin.

     Kuva~\ref{white} on esimerkki pop-taiteesta.
     \begin{figure}[!hbp]
     \makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}}
     \caption{Viisi kertaa viisi cm} \label{white}
     \end{figure}

Yllä olevassa esimerkissä L^{A}TEX yrittää todella kovasti (!) asettaa kuvan juuri tähän (h).^{13} Mikäli tämä ei ole mahdollista, se yrittää asemoida kuvan sivun alaosaan (b). Jos kuva ei sovi sivulle, L^{A}TEX tarkistaa, olisiko mahdollista tehdä erillinen sivu kuvaa ja jonossa olevia taulukoita varten. L^{A}TEX aloittaa uuden sivun ja käsittelee kuvaa jälleen ikäänkuin se esiintyisi ensimmäistä kertaa.

Jossain tilanteissa on tarpeen käyttää

 \clearpage- tai jopa \cleardoublepage

-komentoa. Se pakottaa L^{A}TEX:n asemoimaan kaiken jonoissa olevan kelluvan materiaalin välittömästi ja aloittamaan sitten uuden sivun. Vasemanpuoleiselle sivulle saman tekee \cleardoublepage.

Myöhemmin tässä johdannossa opetetaan lisäämään Postscript-kuvia L^{A}TEXdokumentteihin.

13Olettaen, että kuvien jono on tyhjä.

Matemaattisten kaavojen ladonta

Nyt se alkaa! Tässä luvussa käydään kiinni TEX:n päävahvuuteen: matematiikan ladontaan. Varoituksena kuitenkin, että tämä luku raapaisee vasta pintaa. Tässä selitetyt asiat riittävät useimmille, eikä pidä hätääntyä vaikka täältä ei löytyisikään ratkaisuja omaan työhösi liittyvän matematiikan ladontaan. Ongelmaan on ratkaisu todennäköisesti AMS-L^{A}TEX:ssa^{1} tai jossain muussa makropakkauksessa.

3.1 Yleistä

L^{A}TEX:ssa on erityinen toimintotila matematiikan ladonnalle. Matemaattinen teksti lisätään \(:n ja \):n väliin, $:n ja $:n väliin tai \begin{math}:n ja

\end{math}:n väliin.
Laskemalla yhteen $a$:n neliö ja
$b$:n neliö saadaan $c$:n neliö.
Tai matemaattisemmin sanottuna:
$c^{2}=a^{2}+b^{2}$

Laskemalla yhteen a:n neliö ja b:n neliö saadaan c:n neliö. Tai matemaattisemmin sanottuna: c^{2} = a^{2} + b^{2}

\TeX{} lausutaan
$\tau\epsilon\chi$.\\[6pt]
100~m$^{3}$ vettä\\[6pt]
Tämä tulee $\heartsuit$:stä.

TEX lausutaan τϵχ.

100 m^{3} vettä

Tämä tulee ♡:stä.

On suositeltavampaa esittää matemaattiset yhtälöt ja kaavat omalla rivillään, eikä muun tekstin seassa. Tämä tarkoittaa, että ne pitäisi kirjoittaa

1CTAN:/tex-archive/macros/latex/packages/amslatex

\[:n ja \]:n väliin tai \begin{displaymath}:n ja \end{displaymath}:n vä-

liin. Nämä saavat aikaan kaavoja, joita ei ole numeroitu. Jos ne halutaan numeroituina, voidaan käyttää equation-ympäristöä.

Laskemalla yhteen $a$:n ja $b$:n
neliöt saadaan $c$:n neliö. Tai
matemaattisemmin sanottuna:
\begin{displaymath}
c^{2}=a^{2}+b^{2}
\end{displaymath}
Ja vielä yksi rivi.

Laskemalla yhteen a:n ja b:n neliöt saadaan c:n neliö. Tai matemaattisemmin sanottuna:

c^{2} = a^{2} + b^{2}

Ja vielä yksi rivi.

Yhtälöön voidaan viitata \label:lla ja \ref:llä.

\begin{equation} \label{eq:eps}
\epsilon > 0
\end{equation}
Yhtälöstä (\ref{eq:eps}) saadaan
\ldots

ϵ > 0  (3.1)

Yhtälöstä (3.1) saadaan …

On huomattava, että ilmaisut ladotaan eri tavalla silloin kun ne tulevat omalle rivilleen:

$\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}$

lim_{n→∞} ∑_{k=1}^{n} \frac{1}{k^{2}} = \frac{π^{2}}{6}

\begin{displaymath}
\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}
\end{displaymath}

lim_{n→∞} ∑_{k=1}^{n} \frac{1}{k^{2}} = \frac{π^{2}}{6}

Matematiikkatilan ja tekstitilan välillä on eroa. Esimerkiksi matematiikkatilassa:

1. Useimmat välilyönnit ja rivinvaihdot menettävät merkityksensä, sillä kaikki välilyönnit johdetaan loogisesti matemaattisista ilmaisuista tai ne pitää määritellä erityisesti komennoilla \,, \quad tai \qquad.

2. Tyhjiä rivejä ei sallita. Kaavan pitää mahtua samaan kappaleeseen.

3. Jokaista kirjainta käsitellään muuttujan nimenä ja ne ladotaan sen mukaisesti. Jos halutaan latoa normaalia tekstiä kaavan sisään (normaalia pystyä tekstiä normaalin välistyksin) on teksti lisättävä \textrm{...}- komennnon sisään.

\begin{equation}
\forall x \in \mathbf{R}:
\qquad x^{2} \geq 0
\end{equation}

∀x ∈ R :  x^{2} ≥ 0  (3.2)

\begin{equation}
x^{2} \geq 0\qquad
\textrm{kaikille }x\in\mathbf{R}
\end{equation}

x^{2} ≥ 0 kaikille x ∈ R  (3.3)

Matemaatikot voivat olla hyvin pikkutarkkoja käytetyistä symboleista: perinteisesti tässä käytettäisiin ’liitutaululihavointia’, joka saadaan käyttöön \mathbb-komennolla amsfonts- tai amssymb-pakkauksesta. Viimeisestä esimerkistä tulee

\begin{displaymath}
x^{2} \geq 0\qquad
\textrm{for all }x\in\mathbb{R}
\end{displaymath}

x^{2} ≥ 0 for all x ∈ ℝ

3.2 Ryhmittely matematiikkatilassa

Useimmat matemaattiset komennnot vaikuttavat vain seuraavaan merkkiin. Jos vaikutus halutaan ulottaa useampaan merkkiin, on ne ryhmiteltävä yhteen käyttämällä aaltosulkeita: {...}.

\begin{equation}
a^x+y \neq a^{x+y}

\end{equation} a^{x} + y ≠ a^{x+y} (3.4)

3.3 Matemaattisten kaavojen rakentaminen

Tässä osiossa kerrotaan matemaattisen ladonnan tärkeimmät komennot. Osiossa 3.9, sivulla 47 on yksityiskohtainen luettelo komennoista, joilla ladotaan matemaattisia symboleja.

Pienet kreikkalaiset kirjaimet kirjoitetaan muodossa \alpha, \beta, \gamma, …, isot kirjaimet kirjoitetaan muodossa \Gamma, \Delta, … ^{2}

$\lambda,\xi,\pi,\mu,\Phi,\Omega$       λ, ξ, π, μ, Φ, Ω

2L^{A}TEX 2ε ei määrittele isoa Alfaa, sillä se näyttää samalta kuin normaali antiikva A.

Kunhan uusi matemaattinen merkistökoodaus on valmis, asiat muuttuvat tältä osin.

Eksponentit ja alaindeksit voidaan määritellä käyttämällä ^- ja _- merkkiä

$a_{1}$ \qquad $x^{2}$ \qquad
$e^{-\alpha t}$ \qquad
$a^{3}_{ij}$\\
$e^{x^2} \neq {e^x}^2$

{a_{1}  x^{2}  e^{−αt}  a_{ij}^{3} \atop e^{x^{2}} ≠ e^{x}^{2}}

Neliöjuuri kirjoitetaan \sqrt, n:s juuri saadaan kirjoittamalla \sqrt[n]. Juuren koon L^{A}TEX määrittelee automaattisesti. Jos pelkkä juuren merkki tarvitaan, käytä komentoa \surd.

$\sqrt{x}$ \qquad
$\sqrt{ x^{2}+\sqrt{y} }$
\qquad $\sqrt[3]{2}$\\[3pt]
$\surd[x^2 + y^2]$

\begin{matrix}\sqrt{x} & \sqrt{x^{2} + \sqrt{y}} & \sqrt[3]{2} \\ √[x^{2} + y^{2}] \end{matrix}

Komennot \overline ja \underline piirtävät vastaavasti ilmaisun ylätai alapuolelle vaakaviivan.

$\overline\{m+n\}$                        \overline{m + n}

Komennot \overbrace ja \underbrace piirtävät ilmaisun ylä- tai alapuolelle pitkän vaakasulkeen

$\underbrace\{ a+b+\cdots+z \}_\{26\}$      \underbrace{a + b + · · · + z}_{26}

Matemaattisten aksenttien, kuten pienten nuolien tai ~-merkkien, lisäämiseksi muuttujiin voidaan käyttää taulukossa 3.1, sivulla 47, olevia komentoja. Laajat hatut ja ~:t, jotka ulottuvat usean merkin yli, saadaan aikaan komennoilla \widetilde ja \widehat. '-symboli tekee ′:n.

\begin{displaymath}
y=x^{2}\qquad y'=2x\qquad y''=2
\end{displaymath}

y = x^{2} y′ = 2x y′′ = 2

Vektorit määritellään usein lisäämällä pieni nuoli muuttujan päälle. Tä-

mä tehdään \vec-komennolla. \overrightarrow ja \overleftarrow ovat

avuksi määriteltäessä A:sta B:hen ulottuvaa vektoria.

\begin{displaymath}
\vec a\quad\overrightarrow{AB}
\end{displaymath}

a⃗ \overrightarrow{AB}

Logaritmien ja muiden vastaavien functioiden nimet ladotaan usein pystyllä kirjasimella eikä kursiivilla kuten muuttujat. Tästä syystä L^{A}TEX tarjoaa seuraavat komennot tärkeimpien funktioiden nimien latomiseksi:

\arccos   \cos    \csc   \exp   \ker     \limsup  \min   \sinh
\arcsin   \cosh   \deg   \gcd   \lg      \ln      \Pr    \sup
\arctan   \cot    \det   \hom   \lim     \log     \sec   \tan
\arg      \coth   \dim   \inf   \liminf  \max     \sin   \tanh

\[\lim_{x \rightarrow 0}
\frac{\sin x}{x}=1\]

lim_{x→0} \frac{sin x}{x} = 1

Mod-funktiolle on kaksi komentoa: \bmod binäärioperaattorille ”a mod b” ja \pmod ilmaisuille ”x ≡ a (mod b)”.

Murtoluvut ladotaan komennolla \frac{...}{...}. Usein kauttaviivaa käyttävä muoto 1/2 on parempi, koska se näyttää paremmalta pienemmässä tilassa.

$1\frac{1}{2}$~hours
\begin{displaymath}
\frac{ x^{2} }{ k+1 }\qquad
x^{ \frac{2}{k+1} }\qquad
x^{ 1/2 }
\end{displaymath}

{1\frac{1}{2} hours \atop \frac{x^{2}}{k + 1}  x^{\frac{2}{k+1}}  x^{1/2}}

Binomikertoimien tai vastaavien rakenteiden latomiseksi voidaan käyttää joko komentoa {... \choose ...} tai {... \atop ...}. Jälkimmäinen komento tuottaa saman tulostuksen kuin edellinenkin, mutta ilman sulkeita.

\begin{displaymath}
{n \choose k}\qquad {x \atop y+2}
\end{displaymath}

\binom{n}{k} {x \atop y + 2}

Integraali-operaattori saadaan käskyllä \int, summa-operaattori käskyllä \sum. Ylä- ja alarajat määritellään komennoilla ^ja _kuten ylä- ja alaindeksit.

\begin{displaymath}
\sum_{i=1}^{n} \qquad
\int_{0}^{\frac{\pi}{2}} \qquad
\end{displaymath}

∑_{i=1}^{n} ∫0^{\frac{π}{2}}

Sulkeille ja muille eroittimille on TeX:ssä kaikenlaisia symboleja (esim. [ ⟨ ∥ ↕). Tavalliset ja hakasulkeet lisätään vastaavilla näppäimillä, kaarisulkeet komennolla \{. Kaikki muut eroittimet tehdään erityisillä komennoilla (esim. \updownarrow). Katso taulukosta 3.8, sivulta 49 luetteloa saatavilla olevista eroittimista.

\begin{displaymath}
{a,b,c}\neq\{a,b,c\}
\end{displaymath}

a, b, c ≠ {a, b, c}

Jos aloittavan eroittimen eteen pannaan komento \left tai päättävän eroittimen eteen \right, TEX määrittelee automaattisesti eroittimen oikean koon. On huomattava, että jokaiselle \left-komennolle pitää löytyä vastaava \right ja että koko määritellään oikein vain, jos kummatkin käskyt on kirjoitettu samalle riville. Mikäli oikealle puolelle ei haluta mitään, voidaan ottaa käyttöön näkymätön ’\right’!

\begin{displaymath}
1 + \left( \frac{1}{ 1-x^{2} }
\right) ^3
\end{displaymath}

1 + (\frac{1}{1 − x^{2}} )^{3}

Joissain tapauksissa on tarpeen määrittää matemaattisen eroittimen oikea koko käsin. Se tehdään panemalla useimpien eroitinkomentojen eteen

\big, \Big, \bigg tai \Bigg.^{3}

$\Big( (x+1) (x-1) \Big) ^{2}$\\
$\big(\Big(\bigg(\Bigg($\quad
$\big\}\Big\}\bigg\}\Bigg\}$\quad
$\big\|\Big\|\bigg\|\Bigg\|$

\begin{matrix}((x + 1)(x − 1))^{2} \\ ( & ( & ( & ( & \} & \} & \} & \} & ∥ & ∥ & ∥ & ∥ \end{matrix}

Kaavaan voidaan lisätä kolme pistettä useammalla käskyllä. \ldots latoo pisteet perusviivalle, \cdots asettaa ne keskitetysti. Tämän lisäksi käytössä ovat komennot \vdots pystysuorille ja \ddots vinoille pisteille. Lisää esimerkkejä löytyy osiosta 3.5.

\begin{displaymath}
x_{1},\ldots,x_{n} \qquad
x_{1}+\cdots+x_{n}
\end{displaymath}

x_{1}, …, x_{n} x_{1} + ⋯ + x_{n}

3Nämä komennot eivät toimi odotetusti, mikäli tekstin kokoa on muutettu erityisillä käskyillä tai joko 11pt- tai 12pt-optiota on käytetty. Tämän ongelman ratkaisemiseksi voidaan käyttää makropaketteja exscale tai amsmath.

3.4 Välistys matematiikassa

Mikäli TEX:n määrittelemät välit kaavoissa eivät tyydytä, niitä voidaan muuttaa lisäämällä erityisiä välistyskomentoja. Pienille väleille on muutamia komentoja: \, \frac{3}{18} quad:n välille ( ), \: \frac{4}{18} quad:n välille ( ) ja \; \frac{5}{18} quad:n välille ( ). Komennolla lisätty välilyönti \␣ lisää keskikokoisen välin ja \quad ( ) ja \qquad ( ) lisäävät ison välin. \quad:n koko riippuu käytössä olevan kirjasimen ’M’-kirjaimen leveydestä. \!-komento tuottaa −\frac{3}{18} quad:n ( ) negatiivisen välin.

\newcommand{\ud}{\mathrm{d}}
\begin{displaymath}
\int\int_{D} g(x,y)\ud x \ud y
\end{displaymath}
sijaan tulee
\begin{displaymath}
\int\!\!\!\int_{D} g(x,y)
  \, \ud x\, \ud y
\end{displaymath}

∫ ∫_{D} g(x, y)dxdy

sijaan tulee

∫∫_{D} g(x, y) dx dy

Huomaa, että differentiaalin ’d’ on ladottu tavallisesti antiikvalla.

AMS-L^{A}TEX:ssa on toinen tapa välien säätämiseksi integraali-merkkien välillä, nimittäin komennot \iint, \iiint, \iiiint ja \idotsint. Kun amsmath-makrot ovat käytössä, yllä oleva esimerkki voidaan latoa näin:

\newcommand{\ud}{\mathrm{d}}
\begin{displaymath}
\iint_{D} \, \ud x \, \ud y
\end{displaymath}

∫∫ _{D} dx dy

Katso lisätietoja tiedostosta testmath.tex (levitetään AMS-L^{A}TEX:n mukana) tai luvusta 8 kirjassa ”The LaTeX Companion”^{4}.

3.5 Pystysuoraan tasattu materiaali

Matriisien latomiseksi käytetään array-ympäristöä. Se toimii samalla tavoin kuin tabular-ympäristö. Komentoa \\ käytetään rivinvaihdon merkkinä.

4saatavilla osoitteessa CTAN:/tex-archive/info/ch8.*

\begin{displaymath}
\mathbf{X} =
\left( \begin{array}{ccc}
x_{11} & x_{12} & \ldots \\
x_{21} & x_{22} & \ldots \\
\vdots & \vdots & \ddots
\end{array} \right)
\end{displaymath}

X = ( \begin{matrix}x_{11} & x_{12} & … \\ x_{21} & x_{22} & … \\ ⋮ & ⋮ & ... \end{matrix} )

array-ympäristöä voidaan käyttää myös latomaan ilmaisuja, joissa on yksi iso rajoitin. Näkymättömästä \right-eroittimesta käy . (piste):

\begin{displaymath}
y = \left\{ \begin{array}{ll}
a & \textrm{if $d>c$}\\
b+x & \textrm{aamulla}\\
l & \textrm{pitkin päivää}
\end{array} \right.
\end{displaymath}

y = \{ \begin{matrix}a & if d > c \\ b + x & aamulla \\ l & pitkin päivää \end{matrix}

Useamman rivin mittaisille kaavoille ja yhtälöille voidaan equation:n sijasta käyttää ympäristöjä eqnarray ja eqnarray*. eqnarray:ssa joka rivi saa yhtälön numeron. eqnarray* ei numeroi mitään.

eqnarray ja eqnarray* toimivat samoin kuin kolmisarakkeinen taulukko, joka on muotoa {rcl}, jossa keskimmäistä saraketta voidaan käyttää yhtäsuuruusmerkkiin tai erisuuruusmerkkiin. Tai muuhun sopivaan merkkiin. \\-komento katkaisee rivin.

\begin{eqnarray}
f(x) & = & \cos x     \\
f'(x) & = & -\sin x   \\
\int_{0}^{x} f(y)dy &
= & \sin x
\end{eqnarray}

f(x) = cos x  (3.5)
f′(x) = − sin x  (3.6)
∫_{0}^{x} f(y)dy = sin x  (3.7)

Huomaa, että yhtäsuuruusmerkin ympärillä olevat välit ovat melko suuret. Sitä voidaan vähentää asettamalla \setlength\arraycolsep{2pt}, kuten seuraavassa esimerkissä.

Pitkiä yhtälöitä ei jaeta automaattisesti sopiviin osiin. Kirjoittajan täytyy määritellä missä ne katkaistaan ja miten paljon pitää sisentää. Kaksi yleisintä tapaa tehdä tämä esitellään seuraavaksi.

{\setlength\arraycolsep{2pt}
\begin{eqnarray}
\sin x & = & x -\frac{x^{3}}{3!}
     +\frac{x^{5}}{5!}-{}
                    \nonumber\\
 & & {}-\frac{x^{7}}{7!}+{}\cdots
\end{eqnarray}}

\begin{aligned}sin x & = & x − \frac{x^{3}}{3!} + \frac{x^{5}}{5!} − \\ & & − \frac{x^{7}}{7!} + ⋯ & (3.8) \end{aligned}

\begin{eqnarray}
\lefteqn{ \cos x = 1
     -\frac{x^{2}}{2!} +{} }
                    \nonumber\\
 & & {}+\frac{x^{4}}{4!}
     -\frac{x^{6}}{6!}+{}\cdots
\end{eqnarray}

\begin{matrix}cos x = 1 − \frac{x^{2}}{2!} + \\ + \frac{x^{4}}{4!} − \frac{x^{6}}{6!} + ⋯ & (3.9) \end{matrix}

\nonumber-komento estää L^{A}TEX:ia numeroimasta tätä yhtälöä.

Voi olla vaikeaa saada pystyyn tasattuja yhtälöitä näkymään oikein näillä keinoin; amsmath-makropaketti tarjoaa tehokkaampia tapoja.

3.6 Matematiikan kirjasinkoko

Matematiikkatilassa TEX valitsee kirjasimen koon kontekstin mukaan. Jos osa yhtälöstä halutaan latoa antiikvalla, ei pidä käyttää \textrm-komentoa, sillä kirjasimen koon vaihtava mekanismi ei toimi, koska \textrm siirtyy väliaikaisesti takaisin tekstitilaan. Koonvaihtomekanismin toiminnan kannalta pitäisi käyttää \mathrm-käskyä. On kuitenkin huomattava, että \mathrm toimii ainoastaan lyhyillä kohteilla. Välilyönnit ja kirjainten aksentit eivät edelleenkään toimi.^{5}

\begin{equation}
2^{\textrm{nd}} \quad
2^{\mathrm{nd}}
\end{equation}

2^{nd} 2^{nd} (3.10)

Toisinaan L^{A}TEX:lle täytyy kuitenkin kertoa kirjasimen oikea koko. Matematiikkatilassa kirjasinkoko asetetaan neljällä komennolla:

\displaystyle (123), \textstyle (123), \scriptstyle (123) ja
\scriptscriptstyle (123).

Tyylin vaihtaminen vaikuttaa myös rajoittimien esittämiseen.

5AMS-L^{A}TEX:ssa \textrm-komento toimii koon vaihdon kanssa.

\begin{displaymath}
\mathop{\mathrm{corr}}(X,Y)=
\frac{\displaystyle
\sum_{i=1}^n(x_i-\overline x)
(y_i-\overline y)}
{\displaystyle\biggl[
\sum_{i=1}^n(x_i-\overline x)^2
\sum_{i=1}^n(y_i-\overline y)^2
\biggr]^{1/2}}
\end{displaymath}

corr(X, Y) = \frac{∑_{i=1}^{n}(x_{i} − \overline{x})(y_{i} − \overline{y})}{[∑_{i=1}^{n}(x_{i} − \overline{x})^{2} ∑_{i=1}^{n}(y_{i} − \overline{y})^{2}]^{1/2}}

Tämä on eräs niistä esimerkeistä, joissa tarvitaan suurempia sulkeita kuin

\left[ \right]:n tarjoamat.

3.7 Teoreemat, lait, …

Matemaattisia dokumentteja kirjoitettaessa tarvitaan todennäköisesti keino latoa lemmoja, määritelmiä, aksioomeja ja vastaavia rakenteita. L^{A}TEX:ssa tätä tukee komento

\newtheorem{nimi}[laskuri]{teksti}[osio]

Argumentti nimi on lyhyt tunniste teoreemalle. teksti-argumentilla, määritellään teoreeman varsinainen nimi, joka tulostuu lopulliseen dokumenttiin.

Hakasulkeissa olevat argumentit ovat vaihtoehtoisia. Niitä kumpaakin käytetään määrittelemään teoreemassa käytettyä numerointia. laskuri-argu-mentilla määritellään aikaisemmin määritellyn teoreeman nimi. Uusi teoreema numeroidaan sitten saman sarjan mukaan. osio-argumentilla voidaan määritellä osiointiyksikkö, minkä mukaan teoreema numeroidaan.

Kun dokumentin esittelyosassa on suoritettu \newtheorem-komento, voidaan dokumentissa käyttää seuraavaa käskyä.

     \begin{nimi}[teksti]

Tämä on mielenkiintoinen teoreemani

     \end{nimi}

Tämä teoriapuolesta. Seuraavat esimerkit toivottavasti poistavat viimeisetkin epäilyt ja tekevät selväksi, että \newtheorem-ympäristö on ymmärtämisen kannalta liian mutkikas.

% määritelmiä dokumentin
% esittelyosaan
\newtheorem{laki}{Laki}
\newtheorem{jury}[laki]{Jury}
%in the document
\begin{laki} \label{laki:box}
Alä piiloudu todistajanaitioon
\end{laki}
\begin{jury}[Kaksitoista]
Se voisit olla sinä! Siispä varo
ja katso lakia \ref{laki:box}
\end{jury}
\begin{laki}Ei, ei, ei, ei\end{laki}

Laki 1 Alä piiloudu todistajanaitioon

Jury 2 (Kaksitoista) Se voisit olla sinä! Siispä varo ja katso lakia 1

Laki 3 Ei, ei, ei, ei

Jury-teoreema käyttää samaa laskuria kuin Laki-teoreema. Niinpä se saa numeroinnin samasta sarjasta kuin muut ”Lait”. Hakasulkeissa olevaa argumenttia käytetään määrittelemään teoreeman otsikkoa tai vastaavaa.

\flushleft
\newtheorem{mur}{Murphy}[section]
\begin{mur}
Jos on kaksi tai useampi
tapaa tehdä jotain, ja yksi
näistä tavoista voi johtaa
katastrofiin, niin joku
käyttää sitä tapaa.\end{mur}

Murphy 3.7.1 Jos on kaksi tai useampi tapaa tehdä jotain, ja yksi näistä tavoista voi johtaa katastrofiin, niin joku käyttää sitä tapaa.

Murphy teoreema saa numeron joka on yhteydessä osion numeroon. Tässä voidaan käyttää myös muita yksiköitä, esimerkiksi lukua tai alaosiota.

3.8 Lihavoidut symbolit

L^{A}TEX:ssa on hyvin vaikeaa saada symboleja lihavoitua; tämä on tehty ilmeisesti tarkoituksella, sillä amatöörilatojilla on tapana käyttää niitä liikaa. Kirjasimenvaihtokäsky \mathbf antaa lihavoituja kirjaimia, mutta nämä ovat pystyjä antiikvakirjaimia, kun taas matemaattiset symbolit ladotaan normaalisti kursiivilla. On olemassa myös \boldmath-komento, mutta tätä voidaan käyttää vain matematiikkatilan ulkopuolella. Se toimii myös symboleille.

\begin{displaymath}
\mu, M \qquad \mathbf{M} \qquad
\mbox{\boldmath $\mu, M$}
\end{displaymath}

μ, M M μ, M

Huomaa, että myös pilkku on lihavoitu, mikä voi olla tarkoituskin.

amsbsy-makrot (jotka kuuluvat osana amsmath-pakettiin) tekevät tästä helpomman tehtävän, sillä siinä on mukana komento \boldsymbol.

46  Matemaattisten kaavojen ladonta

\begin{displaymath}
\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M}
\end{displaymath}

μ, M μ, M

3.9 Matemaattisten symbolien lista

Seuraavista taulukoista löytyvät kaikki matematiikkatilassa normaalisti saatavilla olevat symbolit.

Jotta taulukoissa 3.12–3.16,^{6} listattuja symboleja voidaan käyttää on dokumentin esittelyosassa ladattava makropakkaus amssymb ja AMS:n matematiikkakirjasinten on oltava asennettuina järjestelmään. Mikäli AMS:n makroja ja kirjasimia ei ole asennettu, katso

CTAN:/tex-archive/macros/latex/packages/amslatex

Taulukko 3.1: Matematiikkatilan aksentit

 â \hat{a}     ǎ \check{a}   ã \tilde{a}     á \acute{a}
 à \grave{a}   ȧ \dot{a}     ä \ddot{a}      ă \breve{a}
 ā \bar{a}     a⃗ \vec{a}     Â \widehat{A}   Ã \widetilde{A}

Taulukko 3.2: Pienet kreikkalaiset kirjaimet

   α \alpha  θ \theta  o o  υ \upsilon
   β \beta  ϑ \vartheta π \pi  ϕ \phi
   γ \gamma  ι \iota  ϖ \varpi  φ \varphi
   δ \delta  κ \kappa  ρ \rho  χ \chi
   ϵ \epsilon  λ \lambda  ϱ \varrho  ψ \psi
   ε \varepsilon μ \mu  σ \sigma  ω \omega
   ζ \zeta  ν \nu  ς \varsigma
   η \eta  ξ \xi  τ \tau

Taulukko 3.3: Isot kreikkalaiset kirjaimet

        Γ \Gamma Λ \Lambda Σ \Sigma  Ψ \Psi
        Δ \Delta Ξ \Xi  Υ \Upsilon Ω \Omega
        Θ \Theta Π \Pi  Φ \Phi

6Nämä taulukot on otettu David Carlislen tiedostosta symbols.tex, jota on muutettu Josef Tkadlecin ehdotusten mukaisesti.

Taulukko 3.4: Binäärirelaatiot

Vastaavat negaatiot saadaan lisäämällä \not-komento symbolin eteen.

< <  > >  = =
≤ \leq or \le  ≥ \geq or \ge ≡ \equiv
≪ \ll  ≫ \gg           ≐ \doteq
≺ \prec  ≻ \succ  ∼ \sim
⪯ \preceq  ⪰ \succeq  ≃ \simeq
⊂ \subset  ⊃ \supset  ≈ \approx
⊆ \subseteq  ⊇ \supseteq     ≅ \cong
⊏ \sqsubset ^{a} ⊐ \sqsupset ^{a} ⋈ \Join ^{a}
⊑ \sqsubseteq ⊒ \sqsupseteq ▷◁ \bowtie
∈ \in  ∋ \ni , \owns  ∝ \propto
⊢ \vdash  ⊣ \dashv  ⊧ \models
| \mid  ∥ \parallel  ⊥ \perp
⌣ \smile  ⌢ \frown  ≍ \asymp
: :             ∉ \notin  ≠ \neq or \ne

aKäytä latexsym-pakkausta tämän symbolin saamiseksi

Taulukko 3.5: Binäärioperaattorit

+ +  − -
± \pm  ∓ \mp  ◁ \triangleleft
· \cdot  ÷ \div  ▷ \triangleright
× \times  \ \setminus  ⋆ \star
∪ \cup  ∩ \cap  ∗ \ast
⊔ \sqcup  ⊓ \sqcap  ∘ \circ
∨ \vee , \lor  ∧ \wedge , \land  • \bullet
⊕ \oplus  ⊖ \ominus  ⋄ \diamond
⊙ \odot  ⊘ \oslash  ⊎ \uplus
⊗ \otimes  ◯ \bigcirc  ⨿ \amalg
△ \bigtriangleup ▽ \bigtriangledown † \dagger
⊲ \lhd ^{a}  ⊳ \rhd ^{a}  ‡ \ddagger
⊴ \unlhd ^{a}  ⊵ \unrhd ^{a}  ≀ \wr

3.9 Matemaattisten symbolien lista  49

Taulukko 3.6: ISOT operaattorit

     ∑ \sum  ⋃ \bigcup  ⋁ \bigvee  ⨁ \bigoplus
     ∏ \prod  ⋂ \bigcap  ⋀ \bigwedge ⨂ \bigotimes
     ∐ \coprod ⨆ \bigsqcup  ⨀ \bigodot
     ∫ \int  ∮ \oint  ⨄ \biguplus

Taulukko 3.7: Nuolet

← \leftarrow or \gets ⟵ \longleftarrow  ↑ \uparrow
→ \rightarrow or \to  ⟶ \longrightarrow  ↓ \downarrow
↔ \leftrightarrow  ⟷ \longleftrightarrow ↕ \updownarrow
⇐ \Leftarrow  ⟸ \Longleftarrow  ⇑ \Uparrow
⇒ \Rightarrow  ⟹ \Longrightarrow  ⇓ \Downarrow
⇔ \Leftrightarrow  ⟺ \Longleftrightarrow ⇕ \Updownarrow
↦ \mapsto  ⟼ \longmapsto  ↗ \nearrow
↩ \hookleftarrow  ↪ \hookrightarrow  ↘ \searrow
↼ \leftharpoonup  ⇀ \rightharpoonup  ↙ \swarrow
↽ \leftharpoondown  ⇁ \rightharpoondown  ↖ \nwarrow
⇌ \rightleftharpoons ⟺ \iff (bigger spaces)  ⇝ \leadsto ^{a}

aKäytä latexsym-pakkausta tämän symbolin saamiseksi

Taulukko 3.8: Eroittimet

 ( (  ) )  ↑ \uparrow  ⇑ \Uparrow
 [ [ or \lbrack ] ] or \rbrack ↓ \downarrow  ⇓ \Downarrow
 { \{ or \lbrace } \} or \rbrace ↕ \updownarrow ⇕ \Updownarrow
 ⟨ \langle  ⟩ \rangle  | | or \vert  ∥ \| or \Vert
 ⌊ \lfloor  ⌋ \rfloor  ⌈ \lceil  ⌉ \rceil

/ /  \ \backslash  . (dual. tyhjä)

Taulukko 3.9: Isot eroittimet

   { \lgroup     } \rgroup     { \lmoustache  } \rmoustache
    | \arrowvert  ‖ \Arrowvert  | \bracevert

50  Matemaattisten kaavojen ladonta

Taulukko 3.10: Sekalaisia symboleja

. . . \dots  · · · \cdots       ⋮ \vdots  ... \ddots
ℏ \hbar  ı \imath  ȷ \jmath  ℓ \ell
ℜ \Re  ℑ \Im  ℵ \aleph  ℘ \wp
∀ \forall  ∃ \exists  ℧ \mho ^{a}  ∂ \partial
′ '  ′ \prime  ∅ \emptyset ∞ \infty
∇ \nabla  △ \triangle □ \Box ^{a}  ◇ \Diamond ^{a}
⊥ \bot  ⊤ \top  ∠ \angle  √ \surd
♢ \diamondsuit ♡ \heartsuit ♣ \clubsuit ♠ \spadesuit
¬ \neg or \lnot ♭ \flat  ♮ \natural  ♯ \sharp

aKäytä latexsym-pakkausta tämän symbolin saamiseksi

Taulukko 3.11: Ei-matemaattisia symboleja

Näitä symboleja voidaan käyttää myös tekstitilassa.

                † \dag  § \S   \begin{matrix}c \\ ◯ \end{matrix} \copyright
                ‡ \ddag ¶ \P £ \pounds

Taulukko 3.12: AMS:n rajoittimet

    ⌜ \ulcorner ⌝ \urcorner ⌞ \llcorner ⌟ \lrcorner

Taulukko 3.13: AMS:n kreikkalaiset ja heprealaiset kirjaimet

 𝟋 \digamma κ \varkappa ℶ \beth ℸ \daleth ℷ \gimel

Taulukko 3.14: AMS:n binäärirelaatiot

⋖ \lessdot  ⋗ \gtrdot  ≑ \doteqdot or \Doteq
⩽ \leqslant  ⩾ \geqslant  ≓ \risingdotseq
⪕ \eqslantless  ⪖ \eqslantgtr  ≒ \fallingdotseq
≦ \leqq  ≧ \geqq  ≖ \eqcirc
≪ \lll or \llless  ≫ \ggg or \gggtr  ≗ \circeq
≲ \lesssim  ≳ \gtrsim  ≜ \triangleq
⪅ \lessapprox  ⪆ \gtrapprox  ≏ \bumpeq
≶ \lessgtr  ≷ \gtrless  ≎ \Bumpeq
⋚ \lesseqgtr  ⋛ \gtreqless  ∼ \thicksim
⪋ \lesseqqgtr  ⪌ \gtreqqless  ≈ \thickapprox
≼ \preccurlyeq  ≽ \succcurlyeq  ≊ \approxeq
⋞ \curlyeqprec  ⋟ \curlyeqsucc  ∽ \backsim
≾ \precsim  ≿ \succsim  ⋍ \backsimeq
≾ \precapprox  ≿ \succapprox  ⊨ \vDash
⫅ \subseteqq  ⫆ \supseteqq  ⊩ \Vdash
⋐ \Subset  ⋑ \Supset  ⊪ \Vvdash
⊏ \sqsubset  ⊐ \sqsupset  ϶ \backepsilon
∴ \therefore  ∵ \because  ∝ \varpropto
 ∣ \shortmid  ∥ \shortparallel  ≬ \between
⌣ \smallsmile  ⌢ \smallfrown  ⋔ \pitchfork
◁ \vartriangleleft ▷ \vartriangleright ◀ \blacktriangleleft
⊴ \trianglelefteq  ⊵ \trianglerighteq ▶ \blacktriangleright

Taulukko 3.15: AMS:n nuolet

←−− \dashleftarrow  −−→ \dashrightarrow  ⊸ \multimap
⇇ \leftleftarrows  ⇉ \rightrightarrows  ⇈ \upuparrows
⇆ \leftrightarrows  ⇄ \rightleftarrows  ⇊ \downdownarrows
⇚ \Lleftarrow  ⇛ \Rrightarrow  ↿ \upharpoonleft
↞ \twoheadleftarrow  ↠ \twoheadrightarrow ↾ \upharpoonright
↢ \leftarrowtail  ↣ \rightarrowtail  ⇃ \downharpoonleft
⇋ \leftrightharpoons ⇌ \rightleftharpoons ⇂ \downharpoonright
↰ \Lsh  ↱ \Rsh  ⇝ \rightsquigarrow
↫ \looparrowleft  ↬ \looparrowright  ↭ \leftrightsquigarrow
↶ \curvearrowleft  ↷ \curvearrowright
⟲ \circlearrowleft  ⟳ \circlearrowright

Taulukko 3.16: AMS:n binäärirelaatiot ja nuolet negaatiolla

≮ \nless  ≯ \ngtr  ⫋ \varsubsetneqq
⪇ \lneq  ⪈ \gneq  ⫌ \varsupsetneqq
≰ \nleq  ≱ \ngeq  ⫅̸ \nsubseteqq
⩽̸ \nleqslant  ⩾̸ \ngeqslant  ⫆̸ \nsupseteqq
≨ \lneqq  ≩ \gneqq  ∤ \nmid
≨ \lvertneqq  ≩ \gvertneqq  ∦ \nparallel
≦̸ \nleqq  ≧̸ \ngeqq  ∤ \nshortmid
⋦ \lnsim  ⋧ \gnsim  ∦ \nshortparallel
⪉ \lnapprox  ⪊ \gnapprox  ≁ \nsim
⊀ \nprec  ⊁ \nsucc  ≇ \ncong
⪯̸ \npreceq  ⪰̸ \nsucceq  ⊬ \nvdash
⪵ \precneqq  ⪶ \succneqq  ⊭ \nvDash
⋨ \precnsim  ⋩ \succnsim  ⊮ \nVdash
⪹ \precnapprox  ⪺ \succnapprox  ⊯ \nVDash
⊊ \subsetneq  ⊋ \supsetneq  ⋪ \ntriangleleft
⊊ \varsubsetneq ⊋ \varsupsetneq ⋫ \ntriangleright
⊈ \nsubseteq  ⊉ \nsupseteq  ⋬ \ntrianglelefteq
⫋ \subsetneqq  ⫌ \supsetneqq  ⋭ \ntrianglerighteq
↚ \nleftarrow  ↛ \nrightarrow ↮ \nleftrightarrow
⇍ \nLeftarrow  ⇏ \nRightarrow ⇎ \nLeftrightarrow

Taulukko 3.17: AMS:n binäärioperaattorit

∔ \dotplus  ▪ \centerdot  ⊺ \intercal
⋉ \ltimes  ⋊ \rtimes  ⋇ \divideontimes
⋓ \Cup or \doublecup ⋒ \Cap or \doublecap ∖ \smallsetminus
⊻ \veebar  ⊼ \barwedge  ⩞ \doublebarwedge
⊞ \boxplus  ⊟ \boxminus  ⊝ \circleddash
⊠ \boxtimes  ⊡ \boxdot  ⊚ \circledcirc
⋋ \leftthreetimes  ⋌ \rightthreetimes ⊛ \circledast
⋎ \curlyvee  ⋏ \curlywedge

Taulukko 3.18: AMS:n sekalaiset symbolit

ℏ \hbar  ℏ \hslash  𝕜 \Bbbk
□ \square  ■ \blacksquare  Ⓢ \circledS
△ \vartriangle  ▲ \blacktriangle  ∁ \complement
▽ \triangledown ▼ \blacktriangledown ⅁ \Game
♢ \lozenge  ♦ \blacklozenge  ⋆ \bigstar
∠ \angle  ∡ \measuredangle  ∢ \sphericalangle
⧸ \diagup  ⧹ \diagdown  ‵ \backprime
∄ \nexists  Ⅎ \Finv  ∅ \varnothing
ð \eth  ℧ \mho

Taulukko 3.19: Matemaattiset kirjaimistot

Esimerkki Komento  Tarvittava makropakkaus

ABCdef \mathrm{ABCdef}
ABCdef \mathit{ABCdef}
ABCdef \mathnormal{ABCdef}
ABC  \mathcal{ABC}

𝒜ℬ𝒞  \mathcal{ABC}  eucal optiolla mathcal tai
\mathscr{ABC}  eucal optiolla mathscr

𝔄𝔅ℭ𝔡𝔢𝔣 \mathfrak{ABCdef} eufrak

𝔸𝔹ℂ  \mathbb{ABC}  amsfonts tai amssymb

Lisukkeet

Ison dokumentin työstämisessä L^{A}TEX auttaa erityisominaisuuksillaan. Näitä ovat mm. hakemiston luominen ja kirjallisuusviitteiden hallinta. Täydellisempi kuvaus L^{A}TEX:n erikoistoiminnoista ja lisukkeista on saatavilla L^{A}TEX Manual [1]:ssa ja The L^{A}TEX Companion [3]:ssa.

4.1 EPS-grafiikan lisääminen

L^{A}TEX tarjoaa kuvien ja grafiikan kaltaisten objektien käsittelyyn perustarpeet ympäristöjen figure ja table muodossa.

Perus-L^{A}TEX tai L^{A}TEX:n laajennuspakkaus tarjoavat useita mahdollisuuksia tehdä varsinaista grafiikkaa. Valitettavasti ne ovat useimmille käyttäjille vaikeatajuisia. Niinpä niitä ei selitetä sen tarkemmin tässä oppaassa. Asiasta saa lisätietoa The L^{A}TEX Companion [3]:sta ja L^{A}TEX Manual [1]:sta.

On paljon helpompaa saada grafiikkaa dokumenttiin tekemällä se siihen erikoistuneella ohjelmalla^{1}. Valmis grafiikka voidaan sitten lisätä dokumenttiin. L^{A}TEXtarjoaa jälleen tähän useita tapoja. Tässä tekstissä käsitellään ainoastaan EPS- eli Encapsulated Postscript-kuvia, koska niiden tekeminen on helppoa ja ne ovat yleisiä. EPS-kuvien tulostamiseksi täytyy käytössä olla PostScript-tulostin^{2}

D.P. Carlislen tekemässä graphicx-makropakkauksessa on joukko hyviä komentoja grafiikan lisäämiseksi. Se on osa makropakkausten joukkoa nimeltä ”graphics”.^{3}.

Jos oletetaan, että systeemin käytössä on PostScript-tulostin ja graphicxpakkaus on asennettu, voidaan dokumenttiin lisätä kuvia 1. Muuta kuva piirustusohjelmassasi EPS-formaattiin.^{4}

1Näitä ovat mm. XFig, CorelDraw!, Freehand, Gnuplot, …

2Toinen vaihtoehto on hoitaa tulostus GhostScript-ohjelman kautta. Se on saatavilla osoitteesta CTAN:/tex-archive/support/ghostscript

3CTAN:/tex-archive/macros/latex/packages/graphics

2. Ladataan graphicx-paketti tiedoston esittelyosassa käskyllä

 \usepackage[ajuri]{graphicx}

jossa ajuri on systeemisi ohjelma, jolla dvi-tiedostot muunnetaan Post-Scriptiksi. Yleisin tällainen ohjelma on dvips. Ajurin nimi tarvitaan, koska TEX:ssä ei ole mitään standarditapaa lisätä kuvia. Kun graphicxpaketti tietää ajurin nimen se voi valita oikean tavan lisätä tietoa kuvasta .dvi-tiedostoon niin, että tulostin ymmärtää sen ja lisää .epstiedoston oikein.

3. Käyttämällä komentoa

\includegraphics[avain=arvo, …]{tiedosto}

tiedoston lisäämiseksi dokumenttiin. Vaihtoehtoinen parametri hyväksyy pilkulla erotetun avainten listan niihin liittyvine arvoineen. Avaimia voidaan käyttää muuttamaan kuvan leveyttä, korkeutta tai kääntää sitä. Taulukko 4.1 luettelee tärkeimmät avaimet.

Taulukko 4.1: Avainsanat graphicx-pakkaukselle

width kuvan leveydeksi tulee arvo
height kuvan korkeudeksi tulee arvo
angle käännä kuvaa vastapäivään
scale suurenna tai pienennä kuvaa

Seuraava esimerkki toivottavasti selvittää asioita:

\begin{figure}
\begin{center}
\includegraphics[angle=90, width=0.5\textwidth]{testi.eps}
\end{center}
\end{figure}

4Jos ohjelmasta ei voi tallentaa EPS-muotoon, voidaan yritää asentaa PostScripttulostimen ajuri (esim. Apple LaserWriter) ja tulostaa kuva tiedostoon tällä ajurilla. On huomattava, että EPS-kuvassa saa olla vain yksi sivu. Jotkut tulostinajurit voidaan säätää tulostamaan erityisesti EPS-formaatissa.

Tämä lisää kuvan tiedostosta testi.eps. Kuvaa käännetään ensin 90 astetta ja sitten leveydeksi annetaan puolet normaalin kappaleen leveydestä. Sivujen suhde on 1, 0, sillä korkeudelle ei ole määritelty mitään erityistä arvoa. Leveys ja korkeus voidaan antaa myös absoluuttisina mittoina. Katso taulukosta 5.5 sivulla 69 lisätietoja. Lisää informaatiota tästä aiheestä löytyy ohjeista [8] ja [11].

4.2 Bibliografia

Bibliografia voidaan tehdä thebibliography-ympäristöllä. Jokainen nimeke alkaa komennolla

 \bibitem{tunniste}

Tunnistetta käytetään dokumentissa viitattaessa kirjaan tai artikkeliin.

\cite{tunniste}

Nimekkeiden numerointi tapahtuu automaattisesti. Numeroiden maksimileveys asetetaan komennon \begin{thebibliography} jälkeen tulevalla parametrilla. Alla olevassa esimerkissä {99} kertoo L^{A}TEX:lle, että yksikään bibliografian nimekkeiden numeroista ei ole leveämpi kuin 99.

Partl~\cite{pa} on
esittänyt, että \ldots
\begin{thebibliography}{99}
\bibitem{pa} H.~Partl:
\emph{German \TeX},
TUGboat Vol.~9, No.~1 ('88)
\end{thebibliography}

Partl [1] on esittänyt, että …

Kirjallisuutta

[1] H. Partl: German TEX, TUGboat Vol. 9, No. 1 (’88)

Laajempia projekteja ajatellen kannattaa tutustua BibTEX-ohjelmaan. Se sisältyy useimpiin TEX-järjestelmiin. Ohjelma antaa mahdollisuuden ylläpitää tietokantaa kirjallisuudesta ja ottaa siitä mukaan tekstissä viitatut nimekkeet. BibTEX:n ulkoasu perustuu tyylimäärityksiin, jotka antavat mahdollisuuden tehdä erityyppisiä kirjallisuusluetteloita.

Taulukko 4.2: Hakemiston avainsanojen syntaksin esimerkkejä

Esimerkki  Hakemiston rivi Kommentti
\index{morjens}  morjens, 1  Yksinkertainen hakusana
\index{morjens!Petri}  Petri, 3  morjenksen alle tuleva hakusana

\index{Sam@\textsl{Sami}} Sami, 2  Muotoiltu hakusana
\index{Lin@\textbf{Liinu}} Liinu, 7  Sama kuin yllä

\index{Jaana|textbf}  Jaana, 3  Muotoiltu sivunnumero

\index{Jussi|textit}  Jussi, 5  Sama kuin yllä

4.3 Hakemiston tekeminen

Hakemisto on monissa kirjoissa hyödyllinen ominaisuus. L^{A}TEX:lla ja apuohjelmalla makeindex^{5} voidaan generoida helposti hakemisto. Tässä tekstissä selitetään hakemiston teosta vain peruskomennot. Syvällisempi selvitys löytyy kirjasta The L^{A}TEX Companion [3].

Jotta L^{A}TEX osaisi tehdä hakemistoja, täytyy esittelyosassa ottaa käyttöön makeidx-makropaketti komennolla:

 \usepackage{makeidx}

lisäksi hakemiston tekemiseksi täytyy esittelyosaan panna komento:

 \makeindex

Hakemiston sisältö määritellään komennoilla:

 \index{avain}

joissa avain on hakemistoon tuleva hakusana. Hakemistokomennot pannaan tekstiin siihen kohtaan, johon hakemiston halutaan viittaavan. Taulukossa 4.2 selitetään avain-argumentin syntaksia muutaman esimerkin voimin.

Kun L^{A}TEXon käy läpi käsikirjoitustiedostoa, jokainen \index-komento kirjoittaa hakemiston hakusanan yhdessä sivunumeron kanssa erityiseen tiedostoon. Tiedostolla on sama nimi kuin L^{A}TEX:n käsikirjoitustiedostolla, mutta eri pääte (.idx). Seuraavaksi makeindex-ohjelma käsittelee tätä .idxtiedostoa.

5Niissä järjestelmissä, jotka tukevat korkeintaan 8 merkin mittaisia tiedostonimiä, ohjelman nimenä saattaa olla makeidx.

 makeindex tiedosto

Makeindex-ohjelma generoi aakkostetun hakemiston jolla on sama tiedostonimi, mutta nyt päätteenä on .ind. Jos L^{A}TEX:n käsikirjoitustiedosto käsitellään jälleen kerran, aakkostettu hakemisto tulee mukaan dokumenttiin siihen kohtaan, josta L^{A}TEX löytää komennon

 \printindex

L^{A}TEX 2ε:n mukana tuleva showidx-makropakkaus tulostaa kaikki hakemiston hakusanat tekstin vasempaan marginaaliin. Tästä on apua oikoluettaessa dokumenttia ja hakemistoa tarkistettaessa.

4.4 Tyylikkäät ylä- ja alatunnisteet

Piet van Oostrumin kirjoittama makropakkaus fancyhdr^{6} lisää muutaman yksinkertaisen komennon, jolla voidaan määritellä dokumentin ylä- ja alatunnisteiden ulkoasu. Tämän sivun yläosassa nähdään käytännön toteutus makropakkauksen käytöstä.

Hankalinta ylä- ja alatunnisteiden määrittelemisessä on otsikkotekstien saaminen sinne. L^{A}TEX:ssa tämä saadaan aikaan kaksivaiheisella tempulla. Ylä- ja alatunnisteen määrittelyissä käytetään komentoja \rightmark ja \leftmark esittämään vastaavaa luvun ja osion otsikkoa. Näiden komentojen arvot kirjoitetaan uusiksi aina kun vastaan tulee uusi luku tai osio.

Joustavuuden nimissä \chapter-komento kumppaneineen ei määrittele itse \rightmark:ia ja \leftmark:ia uusiksi, vaan se kutsuu komentoja

\chaptermark, \sectionmark tai \subsectionmark, jotka sitten määritte-
levät \rightmark:n ja \leftmark:n.

Niinpä, mikäli luvun nimen ulkoasua halutaan muuttaa tunnisteessa, riittää, että \chaptermark määritellään uusiksi.

Kuva 4.1 näyttää tavan käyttää fancyhdr-makroja niin, että ylätunnisteet näyttävät samalta kuin tässä kirjasessa. Joka tapauksessa on suositeltavaa hankkia käsiinsä alaviitteessä mainitussa osoitteessa olevan makropakkauksen käyttöohjeet.

4.5 Verbatim-makropakkaus

Aikaisemmin tässä kirjasessa tutustuttiin verbatim-ympäristöön. Tässä osiossa tutustutaan verbatim-makropakkaukseen, joka periaatteessa määrittelee

6Saatavilla osoitteesta CTAN:/macros/latex/contrib/supported/fancyhdr/

\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
% tämä varmistaa, että otsikoiden tunnisteet
% ovat pienillä kirjaimilla.
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}  % poista ylä- ja alatunnisteen nykyiset asetukset
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % tilaa vaakaviivalle
\fancypagestyle{plain}{%
   \fancyhead{} % perussivuille ei tule tunnisteita
   \renewcommand{\headrulewidth}{0pt} % eikä viivaa
}

Kuva 4.1: Esimerkki fancyhdr:n käytöstä

verbatim-ympäristön uusiksi. Makropakkaus pyrkii eroon joistakin alkuperäisen ympäristön rajoituksista. Tässä ei sinänsä ole mitään mullistavaa, mutta verbatim-pakkauksen käyttö lisää myös uusia ominaisuuksia, mikä on syy sen mainitsemiseen tässä. verbatim-pakkaukseen lisää käyttöön

 \verbatiminput{tiedosto}

komennon, jolla tekstiin voidaan lisätä ASCII tiedosto sellaisenaan, aivan kuin verbatim-ympäristössä ladottuna.

Koska verbatim-makropakkaus on osa ’tools’-kokoelmaa, se pitäisi olla asennettu valmiiksi useimmissa järjestelmissä. Lisätietoja tästä pakkauksesta saa lukemalla [9]:n.

L^{A}TEX:n virittely

Tähän asti opetuilla käskyillä tehdyt dokumentit ovat järjellisen näköisiä suurimmalle osalle. Vaikka ne eivät ole mitenkään erikoisen näköisiä, ne noudattavat korkealaatuisen typografian vakiintuneita sääntöjä, jotka tekevät dokumenteista helppolukuisia ja silmää miellyttäviä.

On kuitenkin tilanteita, joissa L^{A}TEX ei tarjoa tarpeisiin sopivia käskyjä tai ympäristöjä tai sitten käytössä olleilla käskyillä tuotettu ulkoasu ei täytä sille asetettuja vaatimuksia.

Tässä luvussa annetaan joitakin vinkkejä siitä, miten L^{A}TEX:lle opetetaan uusia temppuja ja miten sen tulostama ulkoasu saadaan näyttämään erilaiselta.

5.1 Uudet käskyt, ympäristöt ja makropakkaukset

Lukija on varmaankin huomannut, että kaikki tässä kirjasessa esitetyt komennot on ladottu laatikon sisään ja ne esiintyvät kirjasen lopussa olevassa hakemistossa. Tätä varten kirjoittaja on luonut makropaketin , jossa on määritelty uusia komentoja ja ympäristöjä tätä tarkoitusta varten. Nyt voidaan kirjoittaa yksinkertaisesti:

\begin{command}
\ci{esim}
\end{command}

                                         \esim

Tässä esimerkissä käytetään sekä uutta command-ympäristöä, joka vastaa laatikon piirtämisestä komennon ympärille, että uutta \ci-komentoa, joka latoo komennon nimen ja lisää vastaavan hakusanan hakemistoon. Tämän voi tarkistaa etsimällä \esim-komentoa tämän kirjasen hakemistosta, josta löytyy hakusana \esim, joka viittaa joka sivulle, jossa esim-komento on mainittu.

Jos tekijä päättää, ettei halua enää komentoja ladottavan laatikon sisään, voidaan command-ympäristön määrittelyjä muuttaa. Tämä on helpompaa kuin jahtaa dokumentista jotain L^{A}TEX:n peruskäskyjä, joilla voidaan piirtää sanojen ympärille laatikko.

5.1.1 Uudet käskyt

Omien käskyjen lisäämiseen käytetään

\newcommand{nimi}[numero]{määritelmä}

-komentoa. Komento tarvitsee vähintään kaksi argumenttia: uuden komennon nimen ja komennon määritelmän. Hakasulkeissa oleva numero on vaihtoehtoinen. Sitä voidaan käyttää määrittelemään komentoja, jotka saavat maksimissaan 9 argumenttia.

Asia pitäisi selvitä seuraavasta kahdesta esimerkistä. Ensimmäinen esimerkki määrittelee uuden \pjlk-komennon. Se on lyhenne sanoista ”Pitkänpuoleinen johdanto L^{A}TEX2e:n käyttöön”. Kyseinen komento voi olla tarpeen, jos tämän kirjasen nimi pitäisi latoa yhä uudelleen ja uudelleen.

\newcommand{\pjlk}{Pitkänpuoleinen
johdanto \LaTeX2e:n
käyttöön}
Tämä on ''\pjlk'' \ldots{}
``\pjlk''

Tämä on ”Pitkänpuoleinen johdanto L^{A}TEX2e:n käyttöön” … “Pitkänpuoleinen johdanto L^{A}TEX2e:n käyttöön”

Seuraava esimerkki esittää numero-argumentin käyttöä. #1:n tilalle tulee käyttäjän antama argumentti. Jos halutaan käyttää useampia argumentteja, jatketaan numerointia #2 jne.

\newcommand{\txsit}[1]
{Tämä on \emph{#1} johdanto
\LaTeX2e:n käyttöön}
% varsinaisessa dokumentissa:
\begin{itemize}
\item \txsit{pitkänpuoleinen}
\item \txsit{hyvin lyhyt}
\end{itemize}

• Tämä on pitkänpuoleinen johdanto L^{A}TEX2e:n käyttöön

• Tämä on hyvin lyhyt johdanto L^{A}TEX2e:n käyttöön

L^{A}TEX ei anna määritellä uutta komentoa, jolla on sama nimi kuin jollain jo määritellyllä. Tätä varten on kuitenkin olemassa erityinen komento: \renewcommand. Sen syntaksi on sama kuin \newcommand-komennon.

Tietyissä tilanteissa halutaan ehkä käyttää \providecommand-komentoa. Se toimii kuten \newcommand, mutta jos samanniminen komento on jo määritelty L^{A}TEX jättää uuden määrittelyn huomiotta.

5.1.2 Uudet ympäristöt

Ympäristöjen määrittelemiseksi on samantapainen komento kuin \newcommand. \newenvironment-komennon syntaksi on seuraava:

 \newenvironment{nimi}[numero]{ennen}{jälkeen}

Myös \newenvironment-komentoa voidaan käyttää vaihtoehtoisen argumentin kanssa tai ilman. ennen-argumentin materiaali käsitellään ennen kuin ympäristössä olevaa tekstiä käsitellään. jälkeen-argumentin materiaali käsitellään sen jälkeen kun vastaan on tullut \end{nimi}-komento.

Alla oleva esimerkki kuvaa \newenvironment-komennon käyttöä.

\newenvironment{kuningas}
 {\rule{1ex}{1ex}%
      \hspace{\stretch{1}}}
 {\hspace{\stretch{1}}%
      \rule{1ex}{1ex}}
\begin{kuningas}
Uskolliset alamaiseni \ldots
\end{kuningas}

Uskolliset alamaiseni …

Argumenttia numero käytetään samalla tavoin kuin \newcommand-ko-mennossa. L^{A}TEX varmistaa, ettei jo olemassa olevaa ympäristöä aleta määritellä. Jos olemassa olevaa ympäristöä pitää muuttaa, siihen voidaan käyttää komentoa \renewenvironment. Se käyttää samaa syntaksia kuin komento

\newenvironment.

Esimerkissä käytetyt komennot selitetään myöhemmin: katso komentoa \rule sivulta 74, \stretch sivulta 68 ja lisätietoa \hspace:sta saa sivulta 68.

5.1.3 Omat makropakkaukset

Jos dokumentissa määritellään paljon uusia ympäristöjä ja komentoja, tulee esittelyosasta pitkän puoleinen. Silloin on parempi tehdä makropakkaus, joka sisältää kaikki uudet määrittelyt. Makropakkaus saadaan käyttöön ko-

mennolla \usepackage.

Makropaketin kirjoittaminen vastaa oikeastaan dokumentin johdantoosan sisällön kopioimista erilliseen tiedostoon, jolla on .sty-pääte. Makropakettitiedoston alussa annetaan erityinen

 \ProvidesPackage{makropaketin nimi}

komento. \ProvidesPackage kertoo L^{A}TEX:lle paketin nimen. LaTeX antaa virheilmoituksen, mikäli makropaketti yritetään ottaa käyttöön toistamiseen.

% Tobias Oetikerin demopaketti
\ProvidesPackage{demopack}
\newcommand{\pjlk}{Pitkänpuoleinen johdanto \LaTeXe:n käyttöön}
\newcommand{\txsit}[1]{The \emph{#1} Johdanto
                       \LaTeXe:n käyttöön}
\newenvironment{king}{\begin{quote}}{\end{quote}}

Kuva 5.1: Esimerkkipakkaus

Kuvassa 5.1 on pieni esimerkkimakropakkaus, joka sisältää edellisissä esimerkeissä esitetyt komennot.

5.2 Kirjasinmalli ja -koko

5.2.1 Kirjasimen vaihtokomennot

L^{A}TEX valitsee kirjasimen leikkauksen ja koon dokumentin loogisen rakenteen (otsikot, alaviitteet …) perusteella. Joissain tapauksissa kirjasinleikkaus ja -koko halutaan ehkä muuttaa käsin. Se voidaan tehdä taulukoissa 5.1 ja 5.2 listatuilla komennoilla. Jokaisen kirjasimen varsinainen koko riippuu dokumentin luokasta ja sen optioista. Taulukossa 5.3 esitetään näitä komentoja vastaavat absoluuttiset pistekoot, sellaisina kuin ne on määritelty dokumenttien standardiluokissa.

{\small Pienet ja
\textbf{lihavat} latinot}
{\Large isottelivat käyttäen
\textit{kursiivia}.}

Pienet ja lihavat latinot isottelivat

käyttäen kursiivia.

L^{A}TEX 2ε:n eräs tärkeä ominaisuus on se, että kirjasinten määreet ovat toisistaan riippumattomia. Tämä tarkoittaa sitä, että kirjasimen kokoa ja jopa leikkausta voidaan muuttaa ja samalla säilyttää aikaisemmin määritellyt lihavoinnin tai vinouden määreet.

Matematiikkatilassa voidaan kirjasimen vaihtokomentoja käyttää poistumiseen matematiikkatilasta normaaliin tekstitilaan. Jos kirjasinta halutaan vaihtaa matematiikkaa ladottaessa, on sitä varten toinen kokoelma komentoja. Katso talukosta 5.4.

Kirjasinkokojen yhteydessä aaltosulkeilla on merkittävä rooli. Niitä käytetään ryhmittelyyn. Ryhmittely rajoittaa useimpien L^{A}TEX:n komentojen vaikutusaluetta.

Taulukko 5.1: Kirjasimet

\textrm{...} antiikva  \textsf{...} groteski
\texttt{...}  kirjoituskone
\textmd{...} keskivahva  \textbf{...} lihavoitu
\textup{...} pysty  \textit{...} kursiivi
\textsl{...} vino  \textsc{...} kapiteelit

\emph{...} korostettu  \textnormal{...} dokumentin kirjasin

Taulukko 5.2: Kirjasinkoot

\tiny  pikkuruinen kirjasin
\scriptsize  hyvin pieni kirjasin
\footnotesize melko pieni kirjasin
\small  pieni kirjasin
\normalsize  normaali kirjasin
\large  iso kirjasin

\Large isompi kirjasin
\LARGE hyvin iso kirjasin
\huge valtava
\Huge suurin

Taulukko 5.3: Absoluuttiset pistekoot standardiluokissa

koko  10pt (oletusarvo) 11pt optio 12pt optio
\tiny  5pt  6pt  6pt

 \scriptsize  7pt  8pt  8pt
 \footnotesize  8pt  9pt  10pt

\small  9pt  10pt  11pt
\normalsize  10pt  11pt  12pt
\large  12pt  12pt  14pt
\Large  14pt  14pt  17pt
\LARGE  17pt  17pt  20pt
\huge  20pt  20pt  25pt
\Huge  25pt  25pt  25pt

Hän pitää {\LARGE Suurista ja
{\small pienistä} kirjaimista}.

Hän pitää Suurista ja pienistä kir-

jaimista.

Kirjasinkoon muutos vaikuttaa myös riviväleihin, mutta vain jos kappale päättyy ennen kuin kirjasinkokoa vaihtavan komennon vaikutus päättyy. Lopettavaa suljetta } ei pitäisi siis käyttää liian aikaisin. Huomaa seuraavissa kahdessa esimerkissä \par-komennon sijainti.

{\Large Älä lue tätä! Se ei ole
totta. Usko huviksesi!\par}

Älä lue tätä! Se ei ole totta. Usko huviksesi!

{\Large Tämäkään ei ole totta.
Mutta minä olenkin valehtelija.}\par

Tämäkään ei ole totta. Mutta minä olenkin valehtelija.

Jos kirjasinkokoa halutaan vaihtaa koko kappaleessa tai vielä suuremmassa osassa tekstiä, halutaan ehkä käyttää ympäristöä kirjasinkoon vaihtamiseksi.

\begin{Large}
Tämä ei ole totta.
Mutta mikä nykyään
on \ldots
\end{Large}

Tämä ei ole totta. Mutta mikä nykyään on …

Tämä säästää sulkeiden laskemiselta.

Taulukko 5.4: Matemaattiset kirjasimet

Komento  Esimerkki  Tulos

\mathcal{...}     $\mathcal{B}=c$  B = c
\mathrm{...}      $\mathrm{K}_2$  K_{2}
\mathbf{...}      $\sum x=\mathbf{v}$  ∑ x = v
\mathsf{...}      $\mathsf{G\times R}$  G × R
\mathtt{...}      $\mathtt{L}(b,c)$                 L(b, c)
\mathnormal{...}  $\mathnormal{R_{19}}\neq R_{19}$ R_{19} ≠ R_{19}
\mathit{...}      $\mathit{ffi}\neq ffi$  ffi ≠ ffi

5.2.2 Vaaksa väärään voi olla virsta vaaraan

Kuten tämän luvun alussa todettiin, voi olla vaarallista sorkkia dokumenttia tällaisilla komennoilla, sillä ne toimivat vastoin L^{A}TEX:n perusajatusta, joka on dokumentin loogisen ja visuaalisen muotoilun erottaminen toisistaan. Tämä tarkoittaa sitä, että kun samaa kirjasinta vaihtavaa komentoa käytetään useammassa paikassa tietyn tyyppistä tietoa ladottaessa, pitäisi käyttää \newcommand-määritystä määrittelemään ”looginen peitekomento”, joka käyttää kyseistä kirjasinkomentoa.

\newcommand{\hups}[1]{\textbf{#1}}
Älä \hups{tule} tähän huoneeseen,
siinä on tuntematonta alkuperää
oleva \hups{kone}.

Älä tule tähän huoneeseen, siinä on tuntematonta alkuperää oleva kone.

Tällä tavalla on se etu, että myöhemmin voidaan päättää, halutaanko vaaraa ilmaisemaan jokin muu visuaalinen keino kuin \textbf ilman, että täytyisi etsiä dokumentista kaikki kohdat, joissa on \textbf ja joissa sitä on käytetty nimenomaan ilmaisemaan vaaraa.

5.2.3 Neuvo

Tämän matkan kirjasinten ja kirjasinkokojen maailmaan päättää muutama neuvon sananen:

\underline{Muista!} Mitä ENEM MÄN kirjasimia dokumen-

tissa käytetään sitä luettavampi, ja kauniimpi siitä tulee.

5.3 Välistys

5.3.1 Rivivälit

Mikäli dokumentissa halutaan käyttää isompaa riviväliä, voidaan sitä muuttaa panemalla

 \linespread{kerroin}

-komento dokumentin esittelyosaan. \linespread{1.3} käytetään ”yhden ja puolen” riviväliin ja \linespread{1.6} ”kakkosen” riviväliin. Normaalisti riviväliä ei levitetä, joten kerroin on silloin 1.

5.3.2 Kappaleen muotoilu

L^{A}TEX:ssa on kaksi kappaleen ulkoasuun vaikuttavaa parametria. Panemalla käsikirjoitustiedoston esittelyosaan määrittelyn

     \setlength{\parindent}{0pt}
     \setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}

voidaan kappaleiden ulkoasua muuttaa. Nämä kaksi komentoa kasvattavat kappaleiden väliä ja samalla asettavat ensimmäisen rivin sisennyksen nollaksi. Mannereurooppalaisessa typografiassa (myös Suomessa) kappaleiden väliin tulee usein tyhjä rivi eikä ensimmäistä riviä sisennetä. Tämä vaikuttaa myös sisällysluetteloon. Sen rivit ladotaan myös väljemmin. Tämän välttämiseksi voi olla parempi siirtää nämä kaksi komentoa esittelyosasta johonkin kohtaan \tableofcontents-käskyn jälkeen tai sitten jättää käyttämästä niitä, sillä useimmissa ammattilaisen tekemissä kirjoissa ensimmäinen rivi on sisennetty eikä kappaleiden välissä ole tyhjää riviä.

Jos halutaan sisentää sellaisen kappaleen ensimmäinen rivi, jossa se ei ole sisennetty voidaan käyttää

 \indent

-komentoa kappaleen alussa.^{1} Tämä toimii luonnollisesti vain silloin kuin \parindent ei ole saanut arvoa nolla.

Jos halutaan luoda sisentämätön kappale, voidaan käyttää

 \noindent

-käskyä kappaleen alussa. Tästä voi olla hyötyä silloin kun dokumentti alkaa suoraan leipätekstillä eikä jollain otsikolla.

5.3.3 Vaakasuora välistys

L^{A}TEX määrittelee sanojen ja lauseiden välit automaattisesti. Vaakavälistyksen lisäämiseksi käytetään komentoa

 \hspace{mitta}

Jos tämä välistys tulee säilyttää vaikka se osuisi rivin loppuun tai alkuun, käytetään \hspace*-komentoa \hspace-komennon sijasta. Mitta on yksinkertaisimmillaan vain numero ja mittayksikkö. Tärkeimmät mittayksiköt on listattu taulukossa 5.5.

Tämä\hspace{1.5cm} on 1,5 cm:n
mittainen väli.

Tämä on 1,5 cm:n mittainen väli.

1Jos halutaan sisentää otsikon jälkeinen ensimmäinen kappale, kannattaa käyttää ’tools’-kokoelman indentfirst-makropakkausta.

Taulukko 5.5: TEX:n mittayksiköt

mm millimetri ≈ 1/25 tuumaa
cm senttimetri = 10 mm
in tuuma = 25.4 mm
pt piste ≈ 1/72 tuumaa ≈ \frac{1}{3} mm
em käytössä olevan kirjasimen ’M’:n leveys
ex käytössä olevan kirjasimen ’x’:n korkeus

Komento

 \stretch{n}

luo erityisen kumisen välin. Se venyy niin pitkälle, että rivillä jäljellä oleva tila tulee täyteen. Jos samalla rivillä annetaan kaksi \hspace{\stretch{n}}- komentoa, kasvavat välit venymiskertoimen mukaisesti.

x\hspace{\stretch{1}}
x\hspace{\stretch{3}}x

x  x  x

5.3.4 Pystysuora välistys

Kappaleiden, otsikoiden … välit L^{A}TEX määrittää automaattisesti. Tarvittaessa kahden kappaleen väliin voidaan lisätä ylimääräinen väli komennolla

 \vspace{mitta}

Tätä komentoa pitäisi normaalisti käyttää kahden tyhjän rivin välissä. Jos tämä väli pitäisi säilyttää myös sivun ylä- tai alareunassa, käytetään komennon tähtiversiota \vspace*.

Komentoa \stretch voidaan käyttää \pagebreak:n yhteydessä latomaan sivun viimeinen rivi tai keskittämään teksti sivulla pystysuunnassa.

     Vähän tekstiä \ldots
     \vspace{\stretch{1}}
     Tämä menee sivun viimeiselle riville.\pagebreak

Ylimääräistä väliä lisätään saman kappaleen kahden rivin väliin

\\[mitta]

-komennolla.

5.4 Sivun ulkoasu

L^{A}TEX 2ε antaa mahdollisuuden määritellä arkkikoon \documentclass-ko-mennossa. L^{A}TEX 2ε valitsee sitten automaattisesti marginaalit. Joskus kuitenkin ennalta määrätyt arvot eivät tyydytä. Niitä voidaan luonnollisesti muuttaa. Kuvassa 5.2 näytetään kaikki muutettavissa olevat parametrit. Kuva on tehty ’tools’ kokoelman layout-makropakkauksella.^{2}.

SEIS! … ennenkuin syöksytään ”kapeat sivut leveämmäksi kiihkoon” kannattaa asiaa miettiä ensin muutama sekunti. Kuten muillakin asioissa L^{A}TEX:ssa, on sivun ulkoasulla tarkoituksensa.

Niinpä, MS Wordilla tehtyihin sivuihin verrattuna ne näyttävät hyvinkin kapeilta. Katsotaanpa kuitenkin lukijan mielikirjaa^{3} ja lasketaan rivillä keskimäärin olevien merkkien määrä. Huomataan, että rivillä on vain noin 66 merkkiä. Tehdäänpä sama myös L^{A}TEX:n sivulla. Huomataan, että myös siinä on 66 merkkiä rivillä. Kokemus osoittaa, että lukeminen vaikeutuu heti kun rivillä on enemmän merkkejä. Tämä johtuu siitä, että silmiä on vaikea siirtää rivin lopusta seuraavan rivin alkuun. Samasta syystä sanomalehdet ladotaan useammalla palstalla.

Eli jos leipätekstin leveyttä lisätään on muistettava, että lukijoiden elämä tehdään vaikeammaksi. Riittäköön tämä kuitenkin varoituksista, lupasinhan kertoa miten se tehdään …

L^{A}TEX tarjoaa näiden parametrien muuttamiseksi kaksi komentoa. Niitä käytetään tavallisesti dokumentin johdanto-osassa.

Ensimmäinen komento liittää johonkin parametreista tietyn arvon:

 \setlength{parametri}{mitta}

Seuraava komento lisää pituutta johonkin parametreista.

 \addtolength{parametri}{mitta}

Tämä toinen komento on oikeastaan hyödyllisempi kuin \setlengthkomento, sillä nyt tullaan työskentelemään yksinomaan aikaisemmin määritellyillä asetuksilla. Koko tekstin levyden kasvattamiseksi yhden senttimetrin verran, dokumentin johdanto-osaan pannaan:

2CTAN:/tex-archive/macros/latex/packages/tools

3Nyt on kyse vakavaraisen kustantajan julkaisemasta oikeasta painetusta kirjasta.

5.4 Sivun ulkoasu  71

Ylätunniste

Leipäteksti

Alatunniste Marginaalihuomautukset

8

7

1 3 10 9

11 2 4 5

6

1   yksi tuuma + \hoffset      2   yksi tuuma + \voffset
3   \evensidemargin = 70pt     4   \topmargin = 22pt
5   \headheight = 13pt         6   \headsep = 19pt
7   \textheight = 595pt        8   \textwidth = 360pt
9   \marginparsep = 7pt       10   \marginparwidth = 106pt
11   \footskip = 27pt               \marginparpush = 5pt (ei näkyvissä)
    \hoffset = 0pt                 \voffset = 0pt
    \paperwidth = 597pt            \paperheight = 845pt

Kuva 5.2: Sivun ulkoasun parametrit

     \addtolength{\hoffset}{-0.5cm}
     \addtolength{\textwidth}{1cm}

Tässä yhteydessä voitaisiin tutustua calc-makropakettiin, joka antaa mahdollisuuden käyttää aritmeettisia operaatioita aina kun funktioiden argumenteille annetaan jotain arvoja.

5.5 Lisää hupia mitoista

Aina kuin vain mahdollista on L^{A}TEX-dokumenteissa parasta välttää absoluuttisia mittoja. On parempi perustaa asiat muiden elementtien leveydelle tai korkeudelle. Kuvan leveys voisi olla \textwidth, jotta se täyttäisi sivun.

Seuraavat kolme komentoa mahdollistavat tekstijonon leveyden, korkeuden ja syvyyden määrittämisen.

 \settoheight{komento}{teksti}
 \settodepth{komento}{teksti}
 \settowidth{komento}{teksti}

Seuraava esimerkki esittää tavan käyttää näitä komentoja.

\flushleft
\newenvironment{vardesc}[1]{%
\settowidth{\parindent}{#1:\ }
\makebox[0pt][r]{#1:\ }}{}
\begin{displaymath}
a^2+b^2=c^2
\end{displaymath}
\begin{vardesc}{Jossa}$a$,
$b$ -- ovat suorakulmaisen kolmion
suoran kulman adjunkteja.
$c$ -- on kolmion
yksinäinen hypotenuusa.
$d$ -- ei lopulta esiinny tässä
lainkaan. Eiko olekin hämäävää?
\end{vardesc}

a^{2} + b^{2} = c^{2}

Jossa: a, b – ovat suorakulmaisen kolmion suoran kulman adjunkteja.

c – on kolmion yksinäinen hypotenuusa.

d – ei lopulta esiinny tässä lainkaan. Eiko olekin hämäävää?

5.6 Laatikot

L^{A}TEX rakentaa sivuja työntelemällä laatikoita sinne tänne. Ensinnäkin jokainen kirjainen on pieni laatikko, joka sitten liimataan muihin kirjaimiin muodostamaan sanoja. Nämä liimataan edelleen muihin sanoihin, mutta erityisellä elastisella liimalla, jotta joukko sanoja voidaan ahtaa tai levittää täyttämään sivun yksi rivi.

Myönnettäköön, että tämä oli yksinkertaistettu kuvaus siitä, mitä todella tapahtuu, mutta ajatus on se, että TEX operoi liimalla ja laatikoilla. Ei ainoastaan kirjain ole laatikko. Mitä tahansa voidaan panna laatikkoon, myös muita laatikoita. L^{A}TEX käsittelee sitten jokaista laatikkoa aivan kuin yksittäistä kirjainta.

Menneissä luvuissa olemme jo törmänneet joihinkin laatikoihin, vaikka niitä ei erikseen mainittu. Esimerkiksi tabular-ympäristö ja komento \includegraphics saa aikaan laatikon. Tämä tarkoittaa sitä, että kaksi taulukko tai kuvaa voidaan helposti asemoida vierekkäin. On vain varmistettava, että niiden yhteisleveys ei ylitä tekstin leveyttä.

Tietty kappale voidaan myös pakata laatikkoon joko

\parbox[sijainti]{leveys}{teksti}

-komennolla tai

 \begin{minipage}[sijainti]{leveys} teksti \end{minipage}

-ympäristöllä. Sijainti voi olla jokin kirjaimista c, t tai b, jolla määritellään laatikon pystysuora sijainti suhteessa ympäröivän tekstin peruslinjaan. Pääero on siinä, että parboxin sisällä ei voida käyttää kaikkia komentoja, kun taas minipagessa kaikki on mahdollista.

Vaikka \parbox pakkaa koko kappaleen rivinvaihtoineen kaikkineen, on olemessa myös laatikointikomentoja, jotka toimivat vaakasuoralla asemoidulla materiaalilla. Yksi niistä onkin jo tuttu eli \mbox. Se yksinkertaisesti pakkaa joukon laatikoita toiseen laatikkoon, ja sitä voidaan käyttää estämään L^{A}TEX:ia panemasta rivinvaihtoa tiettyjen sanojen väliin. Koska kerran laatikoiden sisään voidaan panna laatikoita, ovat nämä vaakasuorat laatikonpakkaajat äärimmäisen joustavia käyttää.

\makebox[leveys][sijainti]{teksti}

leveys määrittää tuloksena saatavan laatikon leveyden ulkoa nähtynä.^{4} Mittayksiköiden lisäksi leveytenä voidaan antaa \width, \height, \depth ja \totalheight. Ne saavat arvon ladotun tekstin mitoista. sijainti-paramet-ri saa yksikirjaimisen arvon: c keskitetty, l vasemmalle tasattu, r oikealle tasattu tai s, joka tasaa tekstin laatikon koko alalle.

\framebox toimii samalla tavoin kuin \makebox, mutta se piirtää tekstin ympärille kehyksen.

4Tämä tarkoittaa sitä, että se voi olla pienempi kuin laatikon sisällä oleva materiaali.

Leveydeksi voidaan antaa jopa 0 pt, jolloin laatikon sisällä oleva teksti ladotaan niin, ettei se vaikuta ympäröiviin laatikoihin.

74  L^{A}TEX:n virittely

Seuraavat esimerkit näyttävät mitä \makebox:lla ja \framebox:lla voidaan muun muassa tehdä.

\makebox[\textwidth]{%
    k e s k i n e n}\par
\makebox[\textwidth][s]{%
    l e v i t e t t y}\par
\framebox[1.1\width]{Näin sitä
    ollaan kehyksissä!} \par
\framebox[0.8\width][r]{Hitto,
    tuli liian leveä} \par
\framebox[1cm][l]{Hällä
    väliä, eiks je?}
Pystytkö lukemaan tämän?

k e s k i n e n

l e v i t e t t y

Näin sitä ollaan kehyksissä!

Hitto, tuli liian leveä

Hällä väliä, eiks je? Pystytkö lukemaan tämän?

Nyt kun vaakasuorat asiat ovat hallinassa, voidaan siirtyä pystysuoriin.^{5} Se ei ole ongelma L^{A}TEX:lle.

\raisebox{nosto}[syvyys][korkeus]{teksti}

-komennolla voidaan määritellä laatikon ominaisuuksia pystysuoralla akselilla. Kolmessa ensimmäisessä parametrissa voidaan käyttää muuttujia \width, \height, \depth ja \totalheight, jolloin laatikon kokoon vaikuttaa tekstiargumentti.

\raisebox{0pt}[0pt][0pt]{\Large%
\textbf{Aaaa\raisebox{-0.3ex}{a}%
\raisebox{-0.7ex}{aa}%
\raisebox{-1.2ex}{r}%
\raisebox{-2.2ex}{g}%
\raisebox{-4.5ex}{h}}}
hän huusi, mutta ei edes seuraava
rivissä huomannut, että jotain
kauheaa oli tapahtunut hänelle.

Aaaaaaargh hän huusi, mutta ei edes seuraava rivissä huomannut, että jotain kauheaa oli tapahtunut hänelle.

5.7 Linjat ja välikkeet

Muutama sivu sitten nähtiin komento

\rule[noste]{leveys}{korkeus}

Normaalikäytössä se tekee mustan laatikon.

5Täydellinen kontrolli saavutetaan vain hallitsemalla sekä vaakasuoraa että pystysuoraa materiaalia …

\rule{3mm}{.1pt}%
\rule[-1mm]{5mm}{1cm}%
\rule{3mm}{.1pt}%
\rule[1mm]{1cm}{5mm}%
\rule{3mm}{.1pt}

Siitä on hyötyä piirrettäessä pysty- ja vaakasuoria viivoja. Kansisivulla oleva viiva on esimerkiksi tehty \rule-komennolla.

Erityistapaus on linja, jolla ei ole leveyttä, mutta kylläkin tietty korkeus. Painoalalla tätä kutsutaan välikkeeksi. Sitä käytetään varmistamaan, että sivulla olevalla elementillä on tietty minimikorkeus. Sitä voidaan käyttää tabular-ympäristössä varmistamaan, että rivillä on tietty minimikorkeus.

\begin{tabular}{|c|}
\hline
\rule{1pt}{4ex}Tukipalkki \ldots\\
\hline
\rule{0pt}{4ex}Välike\\
\hline
\end{tabular}

Tukipalkki …

Välike

Kirjallisuutta

[1] Leslie Lamport. L^{A}TEX: A Document Preparation System. Addison-Wesley, Reading, Massachusetts, second edition, 1994, ISBN 0-201-52983-1.

[2] Donald E. Knuth. The TEXbook, Volume A of Computers and Typesetting, Addison-Wesley, Reading, Massachusetts, second edition, 1984, ISBN 0-201-13448-9.

[3] Michel Goossens, Frank Mittelbach and Alexander Samarin. The L^{A}TEX Companion. Addison-Wesley, Reading, Massachusetts, 1994, ISBN 0-201-54199-8.

[4] Jokaisen L^{A}TEX-systeemin mukana pitäisi olla L^{A}TEX Local Guide, joka selittää kyseiseen systeemiin liittyviä paikallisia asioita. Se on yleensä tiedostossa nimeltä local.tex. Valitettavasti jotkut laiskat ylläpitäjät eivät ole tehneet kyseistä dokumenttia. Sellaisessa tapauksessa apua täytyy kysyä paikalliselta L^{A}TEX-gurulta.

[5] L^{A}TEX3 Project Team. L^{A}TEX 2ε for authors. Sisältyy L^{A}TEX 2εjärjestelmään tiedostona usrguide.tex.

[6] L^{A}TEX3 Project Team. L^{A}TEX 2ε for Class and Package writers. Sisältyy L^{A}TEX 2ε-järjestelmään tiedostona clsguide.tex.

[7] L^{A}TEX3 Project Team. L^{A}TEX 2ε Font selection. Sisältyy L^{A}TEX 2εjärjestelmään tiedostona fntguide.tex.

[8] D. P. Carlisle. Packages in the ‘graphics’ bundle. Sisältyy ’graphics’- kokoelmaan tiedostona grfguide.tex, saatavilla samasta paikasta, mistä myös L^{A}TEX.

[9] Rainer Schöpf, Bernd Raichle, Chris Rowley. A New Implementation of L^{A}TEX’s verbatim Environments. Sisältyy ’tools’-kokoelmaan tiedostona verbatim.dtx, saatavilla samasta paikasta, mistä myös L^{A}TEX.

[10] Graham Williams. The TeX Catalogue on lähes täydellinen listaus TEX:n ja L^{A}TEX:n makropaketeista. Saatavilla verkosta osoitteesta

CTAN:/help/Catalogue/catalogue.html

[11] Keith Reckdahl. Using EPS Graphics in L^{A}TEX 2ε Documents, joka kertoo kaiken ja enemmän kuin haluat edes tietää EPS-tiedostoista ja niiden käytöstä L^{A}TEX-dokumenteissa. Saatavilla verkosta osoitteesta

CTAN:/info/epslatex.ps

Hakemisto

\!, 41 ", 21 $, 35 ', 38 \(, 35 \), 35 \,, 36, 41 -, 22 −, 22 \-, 20 –, 22 —, 22 ., space after, 24 …, 22

\:, 41 \;, 41 \@, 24 \[, 36 \\, 19, 29, 30, 70

\\*, 19

\], 36 ^, 38 _, 38 |, 30 ~, 24

A4 paper, 9 A5 paper, 9 aaltosulkeet, 6, 64

\addtolength, 70

æ, 23 ajatusviiva, 22 aksentit, 23

Ääkköset, 23 akuutti, 23 alaindeksi, 38 alatunniste, 12 amsbsy, 45 amsfonts, 37, 53 amsmath, 40, 41, 43, 45 amssymb, 37, 47

                                 \and, 25

antiikva, 65

                                 \appendix, 24, 25

arkin koko, 70 array, 41, 42 article-luokka, 8

                                 \atop, 39
                                 \author, 25

B5 paper, 9 babel, 13

                                 \backmatter, 26
                                 \backslash, 5
                                 \begin, 27
                                 \bibitem, 57

bibliografia, 57

                                 \Big, 40
                                 \big, 40
                                 \Bigg, 40
                                 \bigg, 40
                                 \bmod, 39
                                 \boldmath, 45
                                 \boldsymbol, 45

book-luokka, 8

                                 \bs, 28

calc, 72

                                 \caption, 33
                                 \cdots, 40
                                  center, 28
                                 \chapter, 25

\chaptermark, 59
\choose, 39
\ci, 61
\cite, 57
\cleardoublepage, 34
\clearpage, 34
command, 61
\date, 25

dcolumn, 31

\ddots, 40
\depth, 73, 74
description, 28

desimaalisarkain, 31

displaymath, 36
\displaystyle, 43

doc, 11

\documentclass, 8, 14, 20

dokumentin kirjasimen koko, 9 dokumentin nimiö, 9

eksponentti, 38 ellipsi, 22 \emph, 27, 65 Encapsulated Postscript, 55

\end, 27
enumerate, 28
eqnarray, 42
equation, 36

erikoismerkit, 23 eroittimet, 40

\esim, 61

esittelyosa, 7 eucal, 53 eufrak, 53 executive paper, 9 exscale, 11, 40

fancyhdr, 59, 60

figure, 32, 33
flushleft, 28
flushright, 28

foiltex, 8 fontenc, 11

\footnote, 26

                                 \footnotesize, 65
                                 \frac, 39
                                 \framebox, 73, 74
                                 \frenchspacing, 24
                                 \frontmatter, 26
                                 \fussy, 20

GhostScript, 55 grafiikka, 10, 55 graphicx, 55 grave, 23 groteski, 65

hakasulkeet, 6 hakemisto, 58

                                 \height, 73, 74
                                 \hline, 30
                                 \hspace, 63, 68
                                 \Huge, 65
                                 \huge, 65
                                 \hyphenation, 20

ı ja ȷ ilman pistettä, 23

                                 \idotsint, 41

ifthen, 11

                                 \iiiint, 41
                                 \iiint, 41
                                 \iint, 41
                                 \include, 12, 13
                                 \includegraphics, 56, 73
                                 \includeonly, 12, 13
                                 \indent, 68

indentfirst, 68

                                 \index, 58
                                 \input, 13

inputenc, 11

                                 \int, 39

integraali-operaattori, 39

                                 \item, 28
                                  itemize, 28

kaavat, 35

kakkosen riviväli, 67 kaksipalstainen teksti, 9 kaksipuolinen tulostus, 9 kapiteelit, 65 kappale, 17 kelluvat objektit, 32 kenoviiva, 6 kirjasimen koko, 64 kirjasin, 64 kirjasinkoot, 65 Knuth, Donald E., 1 kolme pistettä, 40

pystysuorassa, 40 vaakasuorassa, 40 vinossa, 40

komennot \!, 41 \(, 35 \), 35 \,, 36, 41 \-, 20 \:, 41 \;, 41 \@, 24 \[, 36 \\, 19, 29, 30, 70

\\*, 19

\], 36

\addtolength, 70
\and, 25
\appendix, 24, 25
\atop, 39
\author, 25
\backmatter, 26
\backslash, 5
\begin, 27
\bibitem, 57
\Big, 40
\big, 40
\Bigg, 40
\bigg, 40
\bmod, 39
\boldmath, 45
\boldsymbol, 45
\bs, 28
\caption, 33
\cdots, 40

\chapter, 25
\chaptermark, 59
\choose, 39
\ci, 61
\cite, 57
\cleardoublepage, 34
\clearpage, 34
\date, 25
\ddots, 40
\depth, 73, 74
\displaystyle, 43
\documentclass, 8, 14, 20

\emph, 27, 65

\end, 27
\esim, 61
\footnote, 26
\footnotesize, 65
\frac, 39
\framebox, 73, 74
\frenchspacing, 24
\frontmatter, 26
\fussy, 20
\height, 73, 74
\hline, 30
\hspace, 63, 68
\Huge, 65
\huge, 65
\hyphenation, 20
\idotsint, 41
\iiiint, 41
\iiint, 41
\iint, 41
\include, 12, 13
\includegraphics, 56, 73
\includeonly, 12, 13
\indent, 68
\index, 58
\input, 13
\int, 39
\item, 28
\label, 26, 36
\LARGE, 65
\Large, 65
\large, 65

\ldots, 22, 40
\left, 40
\leftmark, 59
\linebreak, 19
\linespread, 67
\listoffigures, 33
\listoftables, 33
\mainmatter, 26
\makebox, 73, 74
\makeindex, 58
\maketitle, 25
\mathbb, 37
\mathbf, 66
\mathcal, 66
\mathit, 66
\mathnormal, 66
\mathrm, 43, 66
\mathsf, 66
\mathtt, 66

\mbox, 21, 23, 73

\multicolumn, 31
\newcommand, 62
\newenvironment, 63
\newline, 19
\newpage, 19
\newtheorem, 44
\noindent, 68
\nolinebreak, 19
\nonumber, 43
\nopagebreak, 19
\normalsize, 65
\overbrace, 38
\overleftarrow, 38
\overline, 38
\overrightarrow, 38
\pagebreak, 19
\pageref, 26
\pagestyle, 12
\paragraph, 24
\parbox, 73
\parindent, 68
\parskip, 68
\part, 25
\pjlk, 62

                                  \pmod, 39
                                  \printindex, 59
                                  \providecommand, 62
                                  \ProvidesPackage, 63
                                  \qquad, 36, 41

\quad, 36, 41

                                  \raisebox, 74

\ref, 26, 36

                                  \renewcommand, 62
                                  \renewenvironment, 63
                                  \right, 40, 42
                                  \rightmark, 59

\rule, 63, 74, 75

                                  \scriptscriptstyle, 43
                                  \scriptsize, 65
                                  \scriptstyle, 43
                                  \section, 24
                                  \sectionmark, 59
                                  \setlength, 68, 70
                                  \settodepth, 72
                                  \settoheight, 72
                                  \settowidth, 72
                                  \sloppy, 20
                                  \small, 65
                                  \sqrt, 38
                                  \stretch, 63, 69
                                  \subparagraph, 24
                                  \subsection, 24
                                  \subsectionmark, 59
                                  \subsubsection, 24
                                  \sum, 39
                                  \tableofcontents, 25
                                  \textbf, 65
                                  \textit, 65
                                  \textmd, 65
                                  \textnormal, 65
                                  \textrm, 43, 65
                                  \textsc, 65
                                  \textsf, 65
                                  \textsl, 65
                                  \textstyle, 43
                                  \texttt, 65
                                  \textup, 65
                                  \thispagestyle, 12

\tiny, 65
\title, 25
\totalheight, 73, 74
\underbrace, 38
\underline, 38

\usepackage, 10, 13–15, 63

\vdots, 40
\vec, 38

\verb, 29, 30

\verbatiminput, 60
\vspace, 69
\widehat, 38
\widetilde, 38
\width, 73, 74

kommentit, 6 kreikkalaiset kirjaimet, 37 kursiivi, 65 käsikirjoitustiedosto, 7 käskyt, 5

\label, 26, 36

lainausmerkit, 21 Lamport, Leslie, 1

\LARGE, 65
\Large, 65
\large, 65

L^{A}TEX 2.09, 1 L^{A}TEX 2ε, 2 L^{A}TEX3, 1, 4 LaTeX:n edut, 3 latexsym, 11 layout, 70

\ldots, 22, 40
\left, 40
\leftmark, 59

legal paper, 9 letter paper, 9 ligatuuri, 23 lihavoidut symbolit, 37, 45 lihavoitu, 65 liitutaululihavointi, 37

\linebreak, 19
\linespread, 67
\listoffigures, 33

\listoftables, 33

lisämääreet, 6

\mainmatter, 26
\makebox, 73, 74

makeidx, 11, 58 makeidx-paketti, 58

\makeindex, 58

makeindex-ohjelma, 58

\maketitle, 25

makrokokoelmat amsbsy, 45 amsfonts, 37, 53 amsmath, 40, 41, 43, 45 amssymb, 37, 47 babel, 13 calc, 72 dcolumn, 31 doc, 11 eucal, 53 eufrak, 53 exscale, 11, 40 fancyhdr, 59, 60 fontenc, 11 graphicx, 55 ifthen, 11 indentfirst, 68 inputenc, 11 latexsym, 11 layout, 70 makeidx, 11, 58 showidx, 59 syntonly, 11 verbatim, 59, 60

makropaketti, 61 makropakkaukset, 7 Makropakkukset, 10 marginaalit, 70 matemaattinen

eroitin, 40 miinus, 22

matemaattiset aksentit, 38 funktiot, 39 matematiikan kirjasinkoko, 43 matematiikka, 35

math, 35
\mathbb, 37
\mathbf, 66
\mathcal, 66
\mathit, 66
\mathnormal, 66
\mathrm, 43, 66
\mathsf, 66
\mathtt, 66

\mbox, 21, 23, 73 merkkivalikoima, 11 miinusmerkki, 22

minipage, 73

mittayksiköt, 68 Mittelbach, Frank, 1 mod-funktio, 39

\multicolumn, 31

murtoluvut, 39

neliöjuuri, 38

\newcommand, 62
\newenvironment, 63
\newline, 19
\newpage, 19
\newtheorem, 44

nimiö, 9

\noindent, 68
\nolinebreak, 19
\nonumber, 43
\nopagebreak, 19
\normalsize, 65

nuoli, 38

objektien sijoitus, 32 œ, 23 oikealle tasattu, 28 optiot, 8

\overbrace, 38

overfull hbox, 20

\overleftarrow, 38
\overline, 38
\overrightarrow, 38

\pagebreak, 19
\pageref, 26
\pagestyle, 12

paper size, 9

\paragraph, 24
\parbox, 73
\parindent, 68
\parskip, 68
\part, 25

peruskirjasimen koko, 9 pilkku, 22 piste, 22 pitkät yhtälöt, 42

\pjlk, 62
 plain, 12
\pmod, 39

PostScript, 55

\printindex, 59
\providecommand, 62
\ProvidesPackage, 63

pysty, 65 pystysuora välistys, 69

\qquad, 36, 41

\quad, 36, 41

 quotation, 29
 quote, 29
\raisebox, 74

\ref, 26, 36

\renewcommand, 62
\renewenvironment, 63

report-luokka, 8

\right, 40, 42
\rightmark, 59

ristiviittaukset, 26 rivinvaihdot, 19 riviväli, 67 \rule, 63, 74, 75 ryhmittely, 64

\scriptscriptstyle, 43
\scriptsize, 65
\scriptstyle, 43
\section, 24

\sectionmark, 59
\setlength, 68, 70
\settodepth, 72
\settoheight, 72
\settowidth, 72

showidx, 59 sisällysluettelo, 25 sivun tyylit

    empty, 12
    plain, 12
    headings, 12

sivun ulkoasu, 70 sivutyyli, 12 slides-luokka, 8

\sloppy, 20
\small, 65
\sqrt, 38
\stretch, 63, 69
\subparagraph, 24
\subsection, 24
\subsectionmark, 59
\subsubsection, 24

sulkeet, 40

\sum, 39

summa-operaattori, 39 syntonly, 11

table, 32, 33

\tableofcontents, 25
 tabular, 30, 73

taulukot, 30 tavuviiva, 22

\textbf, 65
\textit, 65
\textmd, 65
\textnormal, 65
\textrm, 43, 65
\textsc, 65
\textsf, 65
\textsl, 65
\textstyle, 43
\texttt, 65
\textup, 65
 thebibliography, 57

                                  \thispagestyle, 12

tilde ( ~), 24

                                  \tiny, 65
                                  \title, 25
                                  \totalheight, 73, 74
                                   empty, 12

umlaut, 23

                                  \underbrace, 38
                                  \underline, 38

\usepackage, 10, 13–15, 63

vaakasulje, 38 vaakasuorat

pisteet, 40 vaakavälistys, 68 vaakaviiva, 38 vapaaehtoisia määreitä, 6 varatut merkit, 5 vasemalle tasattu, 28

                                  \vdots, 40
                                  \vec, 38

vektorit, 38 \verb, 29, 30 verbatim, 59, 60 verbatim, 29, 59, 60

                                  \verbatiminput, 60
                                   verse, 29

vino, 65

                                  \vspace, 69

välike, 75 välilyönnit, 5

rivin alussa, 5 välilyönti

komentojen perässä, 6 välistys matematiikassa, 41 väliviiva, 22 väliviivat, 22 värillinen teksti, 10

                                  \widehat, 38
                                  \widetilde, 38
                                  \width, 73, 74

WYSIWYG, 3 yhdysmerkki, 22 yhtälöt, 42 yksipuolinen tulostus, 9 textttheadings, 12 ylätunniste, 12 ympäristöt, 27

array, 41, 42

center, 28
command, 61
description, 28
displaymath, 36
enumerate, 28
eqnarray, 42
equation, 36
figure, 32, 33
flushleft, 28
flushright, 28
itemize, 28
math, 35
minipage, 73
quotation, 29
quote, 29

table, 32, 33

tabular, 30, 73
thebibliography, 57

verbatim, 29, 59, 60

verse, 29

HAKEMISTO  87