summaryrefslogtreecommitdiff
path: root/info/kaytannollista-latexia/luku-valmistautuminen.tex
blob: cc508893c0fd48a2f71b7877a4a98c3f7f0a9bc1 (plain)
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
431
432
% 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. Xelatex tehtiin
ensin, ja tarkoituksena oli saada Unicode\-/ merkistön tuki ja
fonttiasiat ajan tasalle. Myöhemmin jotkut ajattelivat, että Lua\-/
ohjelmointikieli täytyy saada mukaan, koska ominaisuudesta on hyötyä
joillekuille laajennuspakettien tekijöille. Lua\-/ kielen
sisällyttäminen oikeastaan pakotti kirjoittamaan koko kääntäjän koodin
uusiksi, ja syntyi Lualatex.

Kääntäjien toteutuksissa on muitakin sisäisiä eroja, esimerkiksi
fonttien käsittelyssä. Xelatex oli pitkään suositumpi ja paremmin tuettu
eri laajennuspaketeissa, mutta erot ovat sittemmin tasoittuneet. Lua\-/
ohjelmointikieli on alkanut vaikuttaa Lualatexin eduksi. On joitakin
laajennuspaketteja tai niiden yksittäisiä ominaisuuksia, jotka vaativat
toimiakseen Lualatexin. Sen tulevaisuus vaikuttaa valoisammalta.

Latexin käytön alkutaipaleella voi vaikka arpoa kolikon avulla, kumpaa
kääntäjää käyttää, sillä niiden erot eivät ihan helposti tule esiin.
Kääntäjän vaihtaminen on joka tapauksessa helppoa. Tässä oppaassa
mainitaan siellä täällä pari ominaisuutta, jotka toimivat vain toisella
kääntäjällä: toiset Lualatexilla, toiset Xelatexilla.

\subsection{Latex yläkäsitteenä}

Jotta kaikki olisi mahdollisimman sekavaa, \emph{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 jokin 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.

Kielenhuollon suositusten\footnote{Kotimaisten kielten keskus:
  \url{https://www.kotus.fi/}} 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}

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 kukaan tarvitse,
mutta kun yllättävä tarve tulee tai lukee vinkkejä verkkokeskusteluista,
on mukavaa huomata, että paketti olikin itsellä jo valmiina. Siksi
kokonaisen jakelupaketin asentaminen on helpoin tapa.

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}

Lähdetiedostot eli Latex\-/ merkintäkieltä sisältävät tiedostot (luku
\ref{luku/lähdetiedosto}) ovat puhdasta tekstiä, tekstitiedostoja, joita
kirjoitetaan ja muokataan tekstieditorilla. 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ää
esillä samanaikaisesti.

\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\-/ lähdetiedostoa, 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 kotihakemistossa olevaan
asetustiedostohakemistoon (\koodi{\textasciitilde /.config}). 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';
push @generated_exts, "run.xml";
push @generated_exts, "nav";
push @generated_exts, "snm";
$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} riveillä 4--6 on komennot, joilla
lisätään kääntämisen aikana mahdollisesti syntyvien
väliaikaistiedostojen päätteitä. Latexmk\-/ ohjelma tuntee yleisimmät
väliaikaistiedostot (\koodi{log}, \koodi{aux}, \koodi{out} ym.), mutta
näillä komennoilla mukaan voi lisätä harvinaisempia, joita se ei tunne.
Viimeinen 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} mainittavaan
\paketti{fontspec}\-/ pakettiin syvällisemmin, tarvitsee vain komentaa
\koodi{texdoc fontspec}, ja paketin pdf\-/ muotoinen ohjekirja avautuu.

\section{Lähdetiedostot}
\label{luku/lähdetiedosto}

Latexin lähdetiedostot eli lähdedokumentit ovat tekstitiedostoja eli
puhdasta tekstiä. Esimerkissä \ref{esim/ensimmäinen} on tyypillisen
dokumentin vähimmäissisältö, jota voi käyttää harjoitteluun sekä
myöhemminkin pohjana omille töille.

Tallenna esimerkin 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 katseluohjelmalla. Kääntämisen
aikana syntyy automaattisesti muitakin tiedostoja, jotka on tarkoitettu
lähinnä kääntäjän omaan väliaikaiseen käyttöön. Niitä ei tarvitse
säilyttää.

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 \komento{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 \ymparisto{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 on 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!