1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
|
% Tekijä: Teemu Likonen <tlikonen@iki.fi>
% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
\chapter{Valmistautuminen}
Tämän pääluvun tarkoituksena on johdatella uudet ihmiset Latexin pariin.
Tämän luettuasi sinun pitäisi olla valmis aloittamaan Latexin käyttö ja
opiskelemaan sen tekniikkaa eteenpäin. Jos taas olet jo tottunut
kääntämään Latex\-/ lähdetiedostoja, voit aivan hyvin hypätä tämän luvun
yli tai ehkä vain silmäillä tekstiä lisävinkkien toivossa.
\section{Käsitteet ja nimet}
Latex ja sen ympärille rakentuneet ohjelmistot ovat aika monimutkainen
kokonaisuus, johon kuuluu eri\-/ikäisiä ja abstraktiotasoltaan erilaisia
osia. Mukaan kuuluu tietenkin konkreettisia tietokoneohjelmia, jotka
tekevät konkreettisia, ennalta määriteltyjä asioita. Mukaan kuuluu
kuitenkin myös ihmisten luomia abstrakteja käsitteitä, jotka ovat
vaikeammin määriteltävissä.
Internetissä näkyy silloin tällöin termi- ja käsitekeskusteluja, jossa
ihmetellään, mihin mikäkin Latexiin liittyvä palikka kuuluu
käsitteellisesti. Millainen suhde joillakin uudemmilla osilla on
vanhempiin? Oikeiden termien ja käsitteiden osaamisesta on hyötyä
ainakin silloin, kun pyytää verkossa apua suurelta yleisöltä.
Viestintähän aina vaatii, että puhutaan suunnilleen samaa kieltä, joten
seuraavaksi selvennetään hieman Latexiin liittyviä peruskäsitteitä.
\subsection{Tex ja Latex}
Tex on tekstin ladontaan erikoistunut ohjelmointikieli. Kielen avulla
voidaan antaa ladontaohjeita ja ilmaista muuta siihen liittyvää
logiikkaa. Ohjelmointikielellä kirjoitettujen ohjeiden perusteella
tietokoneohjelma osaa latoa tekstidokumentin ihmisten luettavaksi.
Niinpä Tex on myös tietokoneohjelma (\koodi{tex}), joka osaa lukea
Tex\-/ ohjelmointikieltä sisältävän tekstitiedoston ja tuottaa sen
perusteella valmiin julkaistavan dokumentin. Yleensä Tex\-/
ohjelmointikieltä ei kuitenkaan käytetä suoraan tekstidokumenttien
toteuttamiseen. Ohjelmointikieltä kirjoittavat tavallisimmin vain ne,
jotka haluavat kehittää itse ladontajärjestelmää paremmaksi muita
ihmisiä varten.
Latex toimii korkeammalla abstraktiotasolla kuin Tex. Se on laaja
kokoelma toimintoja, jotka piilottavat monimutkaiset tekniset
yksityiskohdat ja tarjoavat ihmisille varsin helppokäyttöisen
merkintäkielen, jolla omat tekstidokumentit voi toteuttaa. Latex\-/
merkintäkielen kirjoittaminen ei ole ohjelmointia, vaan se on oman
dokumentin sisällön, rakenteen ja ulkoasun kuvailua tietynlaisten
merkintätapojen avulla.
Latex\-/ merkintäkielellä kuvatut dokumentit välitetään
tietokoneohjelmalle jatkokäsiteltäväksi. Niinpä Latex on myös
tietokoneohjelma (\koodi{latex}, \koodi{pdflatex}), jolla
merkintäkielinen lähdetiedosto käännetään julkaistavaksi dvi- tai pdf\-/
dokumentiksi.%
\footnote{\textsc{dvi} = device independent file format; \textsc{pdf} =
portable document format.}
Latex\-/ järjestelmästä käytetään tällä hetkellä versiota Latex~2ε, joka
julkaistiin jo vuonna 1994 ja johon ilmestyy pieniä parannuksia
vuosittain. Perusosat ovat kuitenkin varsin muuttumattomia. Varsinainen
kiinnostava kehitys tapahtuukin esimerkiksi Latexin kääntäjissä
(Lualatex ja Xelatex) sekä eri tekijöiden dokumenttiluokissa (luku
\ref{luku/dokumenttiluokat}) ja laajennuspaketeissa. Viimeksi mainitut
laajentavat perus\-/ Latexia tuomalla niihin lisää helppokäyttöisiä
toimintoja.
\subsection{Lualatex ja Xelatex}
Nykyaikana Latex\-/ dokumentteja ei juuri käännetä alkuperäisillä
kääntäjillä (\koodi{latex}, \koodi{pdflatex}, \koodi{tex}) vaan
kehittyneemmillä kääntäjäohjelmilla.%
\footnote{Englannin kielellä Latexin kääntäjiä on tapana kutsua
yleisnimellä \englantik{engine} 'kone, moottori'.} Niistä tärkeimmät
ovat Lualatex ja Xelatex.%
\footnote{Tietokoneohjelmat \koodi{lualatex} ja \koodi{luatex} sekä
\koodi{xelatex} ja \koodi{xetex}.} Ne muun muassa osaavat lukea
Unicode\-/ merkistöllä kirjoitettuja lähdedokumentteja ja käyttää
nykyaikaisia \englanti{True Type}- ja \englanti{Open Type} \=/fontteja,
mitä alkuperäinen Latex ja Tex eivät osaa.
Lualatexilla ja Xelatexilla ei ole ohjelmien käyttäjän kannalta
suurtakaan eroa -- ei välttämättä mitään näkyvää eroa. Miksi sitten on
olemassa kaksi, ulkoisesti lähes samanlaista kääntäjää? Tärkein syy
taitaa olla se, että Xelatex tehtiin ensin. Tarkoituksena oli saada
Unicode\-/ merkistön tuki ja fonttiasiat ajan tasalle. Myöhemmin jotkut
ajattelivat, että Lua\-/ ohjelmointikieli täytyy saada mukaan. Sillä on
merkitystä joillekuille laajennuspakettien tekijöille. Lua\-/ kielen
sisällyttäminen oikeastaan pakotti kirjoittamaan koko homman uusiksi.
Toteutuksissa on muitakin sisäisiä eroja. Xelatex oli pitkään suositumpi
ja paremmin tuettu eri laajennuspaketeissa, mutta erot ovat sittemmin
tasoittuneet.
Latex\-/ kokeilun alkutaipaleella voi vaikka arpoa kolikon avulla,
kumpaa kääntäjää käyttää, sillä niiden erot eivät ihan helposti tule
esiin. Jotkin harvat laajennuspaketit eivät toimi Lualatexissa, kun taas
toiset eivät toimi Xelatexissa. Joskus saattaa jopa tulla vastaan
yksittäinen, kehityksestä ehkä jälkeen jäänyt paketti, joka ei toimi
kummassakaan vaan ainoastaan perinteisillä kääntäjillä (\koodi{latex},
\koodi{pdflatex}).
Joissakin tilanteissa eri kääntäjien tekemissä pdf\-/ dokumenteissa
näkyy pieniä eroja. Ainakin yksittäisissä fonttien asetuksissa ja
joidenkin Unicode\-/ merkkien käsittelyssä on eroja. Tämänkin oppaan
tekstissä mainitaan pari pientä ominaisuutta, jotka toimivat vain
toisella kääntäjällä: toiset Lualatexilla, toiset Xelatexilla. Itse
oppaan lähdetiedostot kääntyvät ja toimivat yhtä lailla molemmilla.
\subsection{Latex yläkäsitteenä}
Jotta kaikki olisi mahdollisimman sekavaa, ''Latex'' toimii myös
yleisnimityksenä tälle kaikelle. Se esiintyy ilmauksissa kuten
''Toteutin dokumentin Latexilla'' tai ''Tämä artikkeli on tehty
Latexilla''. Ilmaukset sitten tarkoittavat suunnilleen seuraavanlaista:
Henkilöllä on asennettuna tietokoneelle Latex\-/ jakelukokonaisuus
(kuten Tex Live). Hän on kirjoittanut tekstieditorilla (kuten
\textsc{gnu} Emacsilla) tekstitiedoston, jossa on dokumentin sisältö ja
Latex\-/ merkintäkielisiä komentoja mutta ehkä myös joitakin Tex\-/
komentoja. Sitten hän on kääntänyt eli ladotuttanut tekstitiedostonsa
pdf\-/ tiedostoksi Latex\-/ ladontaohjelman jollakin toteutuksella kuten
Lualatexilla tai Xelatexilla.
Meille taitaa riittää vain Latexista puhuminen, mutta siitäkin on
mainittava vielä yksi asia. Latexin harrastajat tykkäävät käyttää
dokumenttiensa leipätekstissä ladontajärjestelmän logoja kuten \TeX{} ja
\LaTeX{}. Usein teksteissä näkyy myös logojen pohjalta mukailtuja
kirjoitusasuja TeX ja LaTeX.
Kielenhuoltajien suositusten mukaan logojen eikä erikoisten
kIRjoiTusAsuJen paikka ei ole asiatyylisten tekstilajien leipätekstissä.
Nimet ovat osa kielen järjestelmää ja käyttäytyvät normaalissa tekstissä
sen mukaisesti. Niinpä tässä oppaassa käytetään erisnimiä kielenhuollon
normien mukaisesti, esimerkiksi Tex ja Latex. Koodi ja komennot ovat
siinä muodossa kuin ne tietokoneelle annetaan, esimerkiksi
\koodi{lualatex}. Tasalevyinen, kirjoituskonetyylinen fontti on merkkinä
siitä, että kyse on tietokonekoodista.
\section{Asentaminen tietokoneelle}
\label{luku/asentaminen}
Latex pitää tietysti asentaa tietokoneelle, jotta sitä voisi käyttää.
Miten edellisessä luvussa kuvattu sekava kokonaisuus saadaan ehjänä
omalle tietokoneelle? Onneksi muut ovat jo ratkaisseet sen ongelman.
Tavallisin tapa Latexin käyttöönottoon on jonkin Latexin jakelupaketin
asentaminen. Jakelupaketti sisältää Latexin perusosien lisäksi paljon
laajennuspaketteja ja niiden ohjekirjoja. Kaikkea ei koskaan tarvitse,
mutta kun yllättävä tarve tulee tai lukee vinkkejä verkkokeskusteluista,
on mukavaa huomata, että paketti olikin itsellä jo valmiina. Siksi
suosittelen kokonaisen jakelupaketin asentamista.
\textsc{gnu}/Linuxissa ja muissa Unix\-/ tyyppisissä
käyttöjärjestelmissä käytetään yleensä Tex Live \=/nimistä jakelua. Se
on todennäköisesti saatavilla käyttöjärjestelmäjakelun
pakettivarastoista. Esimerkiksi Debianiin%
\footnote{\url{https://www.debian.org/}} ja sen kaltaisiin järjestelmiin
on asennuspaketti ''texlive-full'', joka asentaa kaiken helposti ja
kerralla.
Windows\-/ käyttöjärjestelmälle on saatavilla Tex Liven lisäksi Miktex
ja Protext. Mac \textsc{os} \=/käyttöjärjestelmän kanssa käytettäneen
yleensä Mactex\-/ nimistä jakelua.
\section{Apuohjelmia}
\subsection{Tekstieditori}
Omien dokumenttien ja Latex\-/ merkintäkielen kirjoittamiseen kannattaa
käyttää kunnollista tekstieditoria, koska se on tärkein työkalu ja sen
kanssa ollaan eniten tekemisissä. Pyri löytämään sellainen editori, joka
osaa värjätä tekstiä Latexin tai Texin tekstipiirteiden mukaisesti.
Väreillä ei sinänsä ole merkitystä, mutta editorin laadusta se yleensä
kertoo paljon. Jos editori tuntee erilaisten ohjelmointi\-/{} ja
merkintäkielten luonnetta ja osaa merkitä kielen avainsanoja
havainnollisilla väreillä, se todennäköisesti on tehty tehokkaaseen
ohjelmointiin ja muuhun vastaavaan työskentelyyn. Ihan yksinkertaisiin
editoreihin ei tuollaisia ominaisuuksia yleensä tehdä.
\subsection{Pdf-katselin}
Latex\-/ kääntäjät eli \=/moottorit kuten Lualatex ja Xelatex tuottavat
pdf\-/ tiedoston, ja niiden katselemiseen tarvitaan tietenkin oma
ohjelmansa. Sellaisia on saatavilla paljon erilaisia, ja melkein mikä
tahansa kelpaa, mutta yksi tietty ominaisuus olisi toivottavaa olla:
muuttuneen pdf\-/ tiedoston automaattinen lataaminen.
Välillä työskentely on sitä, että tehdään Latex\-/ dokumenttiin pieni
muutos, käännetään se ja katsotaan pdf:ää. Lopputulos ei ehkä ihan
miellytä. Muokataan tekstiä tai asetuksia vähän, käännetään ja
katsotaan, miltä ladottu pdf nyt näyttää.
On suuri apu, jos pdf\-/ katselimessa ei tarvitse joka kerta valikoiden
kautta avata samaa tiedostoa uudelleen, vaan ohjelma itse huomaa, että
jo avattu tiedosto muuttui tiedostojärjestelmässä, ja lataa sen
automaattisesti uudelleen. Jotkin pdf\-/ ohjelmat osaavat tämän. Jotkin
ohjelmat eivät ihan osaa mutta osaavat sentään yhdellä
näppäinpainalluksella avata saman pdf:n uudelleen
tiedostojärjestelmästä.
Hyvän tekstieditorin ja pdf\-/ katselimen kanssa työskentely on sujuvaa.
Parhaimmillaan editorissa tietty näppäinkomento tallentaa ja kääntää
dokumentin, ja pian pdf\-/ katselin lataa muuttuneen pdf:n
automaattisesti näkyviin. Sekä editorin että pdf\-/ katselimen voi pitää
samanaikaisesti esillä.
\subsection{Latexmk}
\label{luku/latexmk}
Erinomaisen hyödyllinen apuohjelma on Latexmk, koska se helpottaa
dokumenttien kääntämistä ja muutakin työskentelyä. Varsin usein Latex\-/
dokumentit täytyy kääntää useita kertoja ennen kuin pdf\-/ tiedosto on
valmis. Tämä johtuu siitä, että dokumentit sisältävät usein
ristiviitteitä eli viittauksia dokumentin toisiin osiin. Latex ei saa
ristiviitteitä kohdalleen yhdellä kääntämisellä, vaan ensin se
kirjoittaa viittausten kohteet muistiin väliaikaistiedostoon ja
seuraavilla kääntökerroilla käyttää väliaikaistiedostoa apunaan.
Tavallinenkin Latexin kääntäjä kyllä huomauttaa tietokoneen käyttäjää,
kun uusintakäännös on tarpeen, mutta Latexmk\-/ ohjelma käynnistää
uusintakäännöksen itse, aina kun se on tarpeellista. Alla ovat
esimerkkikomennot Latex\-/ dokumentin kääntämiseen Lualatexilla ja
Xelatexilla.
\begin{koodilohkosis}
latexmk -lualatex teksti.tex
latexmk -xelatex teksti.tex
\end{koodilohkosis}
\noindent
Työskentelyä erityisen paljon helpottava valitsin on \koodi{\=/pvc}. Kun
tuo valitsin on mukana komennossa, Latexmk jää tarkkailemaan annettua
Latex\-/ tiedostoa, ja kun se huomaa tiedoston muuttuneen, se kääntää
tiedoston automaattisesti uudelleen. Kirjoittajan ei siis tarvitse muuta
kuin tallentaa tiedosto tekstieditorista, ja tarkkailutilassa oleva
Latexmk kääntää sen aina itsestään.
Muitakin hyödyllisiä toimintoja on mukana. Seuraavista esimerkeistä
ensimmäinen komento poistaa kääntämisen aikana luodut
väliaikaistiedostot,%
\footnote{Kääntäjän luomien väliaikaistiedostojen nimien päätteitä:
\koodi{log}, \koodi{aux}, \koodi{out} ym.} ja jälkimmäinen komento
poistaa kaikki luodut tiedostot eli väliaikaistiedostojen lisäksi myös
valmiin pdf\-/ tiedoston.
\begin{koodilohkosis}
latexmk -c teksti.tex
latexmk -C teksti.tex
\end{koodilohkosis}
\noindent
Edellisissä esimerkeissä käsitellään lähdetiedostoa nimeltä
\koodi{teksti.\katk tex}, mutta jos lähdetiedostoa ei anna komennolle
lainkaan, käännetään kaikki nykyisessä hakemistossa olevat
\koodi{tex}\-/ päätteiset tiedostot.
Latexmk\-/ ohjelmalle voi tehdä asetustiedoston, johon voi kirjoittaa
omaan käyttöön sopivat asetukset. Asetustiedosto sijoitetaan
tiedostojärjestelmässä käyttäjän kotihakemistoon. Esimerkki
\ref{esim/latexmkrc} näyttää, mitä se voisi ehkä sisältää.
\begin{esimerkki*}
\begin{koodilohko}
$pdf_mode = 4; # 4=lualatex, 5=xelatex
$lualatex = 'lualatex -interaction=nonstopmode -shell-escape %O %S';
$xelatex = 'xelatex -interaction=nonstopmode -shell-escape %O %S';
$clean_ext = 'snm nav xdv bbl run.xml';
$pdf_previewer = 'okular %S';
\end{koodilohko}
\caption{Latexmk\-/ ohjelman asetustiedosto (\koodi{\textasciitilde
/.config/\katk latexmk/\katk latexmkrc})}
\label{esim/latexmkrc}
\end{esimerkki*}
Esimerkin ensimmäisen rivin asetus määrittää, miten pdf\-/ tiedostot
tuotetaan tai mitä kääntäjää käytetään oletuksena. Toisella ja
kolmannella rivillä määritellään, millä tavoin Lualatex ja Xelatex
suoritetaan. Tässä esimerkissä oletusasetuksiin on lisätty
\koodi{-inter\-action=\katk non\-stop\-mode}, joka estää kaiken
vuorovaikutteisen toiminnan. Asetus on tarpeen ainakin silloin, kun
kääntäjä käynnistetään toisesta ohjelmasta kuten tekstieditorista eikä
vuorovaikutus kääntäjän kanssa ole mahdollista. Valitsin
\koodi{-shell-escape} kytkee päälle ominaisuuden, jota tarvitaan
joidenkin laajennuspakettien toimintaan.\footnote{Ainakin
asiahakemistopaketit \paketti{indextools} ja \paketti{imakeidx}
tarvitsevat \koodi{-shell-escape}\-/ toiminnon (luku
\ref{luku/asiasanat}).}
Esimerkin \ref{esim/latexmkrc} neljännellä rivillä luetellaan
kääntämisen aikana syntyvien väliaikaistiedostojen päätteitä. Latexmk\-/
ohjelma tuntee yleisimmät väliaikaistiedostot (\koodi{log}, \koodi{aux},
\koodi{out} ym.), mutta tällä asetuksella mukaan voi lisätä
harvinaisempia, joita se ei tunne. Viides rivi määrittää pdf\-/
katseluohjelman, joka käynnistetään, kun käytetään valitsimia
\koodi{\=/pv} tai \koodi{\=/pvc}.
\subsection{Texdoc}
Latexin kirjoittajan täytyy silloin tällöin lukea ohjekirjoja. Vaikka
Latexin perusosat joskus oppisikin ulkoa, ei voi koskaan muistaa
kaikkien hyödyllisten laajennuspakettien kaikkia ominaisuuksia.
Tex Live \=/jakelun (luku \ref{luku/asentaminen}) mukana tulee mainio
komentotulkissa toimiva komento \koodi{texdoc}, jolla voi hakea ja avata
omaan järjestelmään asennettuja Latex\-/ aiheisia ohjeita. Jos vaikka
haluaa tutustua esimerkissä \ref{esim/ensimmäinen}
(s.~\pageref{esim/ensimmäinen}) mainittavaan \paketti{fontspec}\-/
pakettiin syvällisemmin, tarvitsee vain komentaa \koodi{texdoc
fontspec}, ja paketin pdf\-/ muotoinen ohjekirja avautuu.
\section{Lähdetiedostot}
Seuraavassa ovat ohjeet alkuun pääsemiseksi. Luodaan yksinkertainen
Latex\-/ lähdetiedosto, jota voi käyttää harjoitteluun ja pohjana omille
töille. Tallenna esimerkin \ref{esim/ensimmäinen} sisältö tekstieditorin
avulla tiedostoon vaikkapa nimellä \koodi{teksti.\katk tex}. Käännä eli
lado se pdf\-/ tiedostoksi käyttämällä jotakin seuraavista komennoista
(valitse yksi):
\begin{koodilohkosis}
lualatex teksti.tex
xelatex teksti.tex
latexmk -lualatex teksti.tex
latexmk -xelatex teksti.tex
\end{koodilohkosis}
\noindent
Tuloksena pitäisi olla tiedosto \koodi{teksti.\katk pdf}, jota voi
ihailla jollakin pdf\-/ tiedostojen katseluun tarkoitetulla ohjelmalla.
Esimerkin \ref{esim/ensimmäinen} ensimmäisellä rivillä määritellään
dokumenttiluokka \luokka{article}, joka on tietynlainen sivupohja tai
asetusten kokoelma, jonka perustalle aletaan rakentaa omaa dokumenttia.
Luokka \luokka{article} on tyypillinen valinta lyhyehköille teksteille.
Lisätietoa dokumenttiluokista on luvussa \ref{luku/dokumenttiluokat}.
Riveillä 2--4 käytetään komentoa \komentom{usepackage}, jonka avulla
otetaan käyttöön sivun asetuksista huolehtiva \paketti{geometry}\-/
paketti, fonttiasetuksia hoitava \paketti{fontspec}\-/ paketti ja
kieliasetuksista vastaava \paketti{polyglossia}\-/ paketti. Näitä kolmea
tarvitaan melkein joka kerta dokumenteissa, ja niihin palataan tarkemmin
luvuissa \ref{luku/sivuasetukset}, \ref{luku/kirjaintyypit} ja
\ref{luku/kieliasetukset}.
Seuraavilla riveillä asetetaan kieleksi suomi (\koodi{finnish}) ja
määritetään oletuksena käytettävä fontti tai oikeastaan kokonainen
kirjainperhe. \englanti{Latin Modern Roman} \=/kirjainperheen tilalle
voi toki asettaa jonkin muunkin. Fontin oletuskoko on 10 typografista
pistettä, mutta tässä esimerkissä se venytetään 1,3\-/ kertaiseksi eli
13 pisteeseen. Riviväliin liittyvä kerroin asetetaan rivillä 8.
\begin{esimerkki*}
\komentoi{begin}
\komentoi{documentclass}
\komentoi{end}
\komentoi{linespread}
\komentoi{setdefaultlanguage}
\komentoi{setmainfont}
\komentoi{usepackage}
\luokkai{article}
\pakettii{fontspec}
\pakettii{geometry}
\pakettii{polyglossia}
\ymparistoi{document}
\begin{koodilohko}
\documentclass{article}
\usepackage[a4paper,top=20mm,bottom=30mm,left=20mm,right=20mm]{geometry}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{finnish}
\setmainfont{Latin Modern Roman}[Scale=1.3]
\linespread{1.4}
\begin{document}
Minun Latex-dokumenttini!
\end{document}
\end{koodilohko}
\caption{Latex\-/ lähdedokumentin runko ja perusasetukset}
\label{esim/ensimmäinen}
\end{esimerkki*}
Dokumentin alkuosaa riville 9 saakka kutsutaan esittelyosaksi
(\englanti{preamble}). Tässä osassa ladataan tarvittavat paketit ja
määritetään dokumentin asetuksia ja taustatietoja. Riviltä 10 alkaa
varsinainen tekstiosa eli dokumentin sivuille ladottava sisältö. Se osa
kirjoitetaan \ymparistom{document}\-/ ympäristön sisään eli riveillä 10
ja 14 olevien ympäristön aloitus\-/\ ja lopetuskomentojen väliin
(\komento{begin}, \komento{end}).
Tällaisen merkintäkielen avulla dokumentit kirjoitetaan. Osa
merkintäkielen komennoista tulee Latexin perusosasta ja osa tulee
erikseen ladattavista paketeista (\paketti{geometry},
\paketti{fontspec}, \paketti{polyglossia} ym.). Komentoja voi luoda
itsekin.
Myöhempää käyttöä varten voisi olla hyödyllistä tallentaa tämänkaltainen
pohjadokumentti. Välttyy samojen perusjuttujen kirjoittamiselta, kun voi
aloittaa työt valmiista dokumenttipohjasta.
Lähdetiedoston nimissä kannattaa pitäytyä melko suppeassa
merkkivalikoimassa, ja varsinkin välilyöntejä kannattaa välttää.
Nimittäin kääntämisen aikana Latex ja sen paketit luovat
väliaikaistiedostoja, joilla sama nimen osa kuin lähdetiedostossa, ja
näitä tiedostoja saattavat käsitellä monet erilaiset taustalla
vaikuttavat työkaluohjelmat. Tiedoston nimissä olevat välilyönnit ja
ehkä muutkin erikoisemmat merkit aiheuttavat ongelmia.
Pitkä lähdedokumentti voi olla mielekästä jakaa useammaksi tiedostoksi.
Yhteen lähdetiedostoon voi sisällyttää toisen tiedoston käyttämällä
\komento{input}\-/ komentoa. Komennon argumentiksi annetaan ladattavan
lähdetiedoston nimi:
\komentoi{input}
\begin{koodilohkosis}
\input{toinen.tex}
\end{koodilohkosis}
\noindent
Hieman vastaava komento on \komento{include}, joka myös lisää
automaattisen sivunvaihdon (\komento{clearpage}, luku
\ref{luku/sivunvaihdot}) komennon kohdalle.
Nyt lienee sopiva aika alkaa opiskella itse Latexia eli merkintäkieltä
ja kokeilla sen ominaisuuksia itse. Tätä opasta ei tarvitse lukea
järjestyksessä luku luvulta eteenpäin, vaan eri aiheita voi vapaasti
opiskella mielenkiinnon ja tarpeiden mukaan. Onnea matkaan!
|