<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% TekijÃ¤:   Teemu Likonen &lt;tlikonen@iki.fi&gt;
% 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{Rakenne ja sisÃ¤ltÃ¶}
\label{luku/rakenne}

TÃ¤mÃ¤ luku on oppaan kaikista luvuista kenties kÃ¤ytÃ¤nnÃ¶nlÃ¤heisin. Luku
keskittyy asioihin, joita kirjoittaja miettii erityisesti dokumentin
sisÃ¤llÃ¶n kirjoitusvaiheessa. Kirjoittaja tekee esimerkiksi valintoja
otsikoinnin ja muun jÃ¤sentÃ¤misen osalta. HÃ¤n miettii tiedon esittÃ¤mistÃ¤
paitsi tekstin avulla myÃ¶s esimerkiksi luetelmien, kuvien ja taulukoiden
avulla. Kirjoittaja tekee myÃ¶s typografisia valintoja tekstin muotoilun
ja korostuskeinojen nÃ¤kÃ¶kulmasta. EdellÃ¤ mainittuja ja muitakin
dokumentin rakenteen ja sisÃ¤llÃ¶n asioita kÃ¤sitellÃ¤Ã¤n niin tekniikan kuin
typografiankin nÃ¤kÃ¶kulmasta.

\section{Tekstikappaleet}
\label{luku/kappale}

Tekstikappale on tekstin osa, jonka pitÃ¤isi kÃ¤sitellÃ¤ suunnilleen yhtÃ¤
asiakokonaisuutta. Se voi olla esimerkiksi yksi aihe, nÃ¤kÃ¶kulma,
ajankohta tai henkilÃ¶. Tekstin seuraava kappale kÃ¤sittelee jotakin
toista aihetta, nÃ¤kÃ¶kulmaa tms. Kappaleen vaihtuminen on lukijalle
merkki siitÃ¤, ettÃ¤ tekstin sisÃ¤llÃ¶ssÃ¤kin jokin muuttuu.

Latexin lÃ¤hdetiedostoissa kappaleen vaihtuminen ilmaistaan
kirjoittamalla kappaleiden vÃ¤liin vÃ¤hintÃ¤Ã¤n yksi tyhjÃ¤ rivi. TÃ¤tÃ¤
merkintÃ¤kielen piirrettÃ¤ kÃ¤sitellÃ¤Ã¤n myÃ¶s luvussa
\ref{luku/kappaleen-vaihtuminen}. Kappale vaihtuu myÃ¶s komennolla
\komento{par}, joka sopii kÃ¤ytettÃ¤vÃ¤ksi esimerkiksi komentojen
mÃ¤Ã¤rittelyssÃ¤ (luku \ref{luku/komennot}), kun halutaan varmistaa
kappaleen vaihtuminen tietyssÃ¤ kohdassa.

Ladotuissa teksteissÃ¤ kuten kirjoissa ja lehdissÃ¤ kappaleen vaihtuminen
ilmaistaan melkein aina siten, ettÃ¤ uuden kappaleen ensimmÃ¤inen rivi
sisennetÃ¤Ã¤n hieman. Niin on tÃ¤ssÃ¤kin oppaassa. Toisinaan tekstikappaleet
erotetaan pystysuuntaisella vÃ¤lillÃ¤, ja silloin kappaleiden ensimmÃ¤istÃ¤
riviÃ¤ ei sisennetÃ¤. Kappaleiden vÃ¤lejÃ¤, sisennyksiÃ¤, rivien tasaamista
ja muita asetuksia kÃ¤sitellÃ¤Ã¤n seuraavissa alaluvuissa.

Monissa kappaleisiin liittyvissÃ¤ asetuksissa tarvitaan Texin mittoja ja
mittayksikÃ¶itÃ¤. Mittoihin liittyvÃ¤Ã¤ tekniikkaa kÃ¤sitellÃ¤Ã¤n tarkemmin
luvussa \ref{luku/mitat}, joka on syytÃ¤ tuntea ennen tÃ¤mÃ¤n alaluvun
lukemista.

\subsection{Tasaaminen ja palstan muoto}
\label{luku/kappaleen-tasaus}

Perusdokumenttiluokissa (luku \ref{luku/perusdokumenttiluokat})
tekstikappaleet tasataan oletuksena palstan molempiin reunoihin, ja tÃ¤tÃ¤
palstan muotoa kutsutaan tasapalstaksi. Se tarkoittaa samalla sitÃ¤, ettÃ¤
rivillÃ¤ olevia sanavÃ¤lejÃ¤ venytetÃ¤Ã¤n sopivasti, jotta jokainen rivi
nÃ¤yttÃ¤isi yhtÃ¤ pitkÃ¤ltÃ¤ ja palstan molemmat reunat tasaiselta.

KÃ¤ytÃ¤nnÃ¶ssÃ¤ sanavÃ¤lien venymiselle on mÃ¤Ã¤ritelty ylÃ¤raja, jonka yli
niitÃ¤ ei venytetÃ¤. YlÃ¤rajan tarkoituksena on estÃ¤Ã¤ liian suuret ja rumat
sanavÃ¤lit. Rajoitus on sinÃ¤nsÃ¤ jÃ¤rkevÃ¤, mutta se voi myÃ¶s johtaa siihen,
ettÃ¤ Tex ei saa tasattua kaikkia tekstikappaleita palstan oikeasta
reunasta: jotkin rivit yltÃ¤vÃ¤t palstan reunan yli; jotkin rivit jÃ¤Ã¤vÃ¤t
vajaaksi. NÃ¤in kÃ¤y usein varsinkin suomen kielessÃ¤, jonka sanat ovat
usein pitkiÃ¤ ja riveillÃ¤ on vÃ¤hÃ¤nlaisesti sanavÃ¤lejÃ¤. Suomen kielessÃ¤
sanavÃ¤lien venymisen ylÃ¤raja on usein tarpeellista asettaa oletusarvoa
suuremmaksi. Se tehdÃ¤Ã¤n mitan \mitta{emergencystretch} avulla,
esimerkiksi seuraavasti:

\komentoi{setlength}
\mittai{emergencystretch}
\begin{koodilohkosis}
\setlength{\emergencystretch}{1em}
\end{koodilohkosis}

\noindent
Kaikenlaiset kappaleiden latomiseen liittyvÃ¤t tekniset rajoitukset voi
poistaa tai asettaa hyvin suuriksi komennolla \komento{sloppy}. Komento
asettaa muun muassa sanavÃ¤lien venymisen ylÃ¤rajaksi 3\,em. TÃ¤mÃ¤n
komennon kÃ¤yttÃ¶ ei ole kovin suositeltavaa, koska sillÃ¤ on muitakin
seurauksia ja se voi vaikuttaa myÃ¶s sellaisiin kappaleisiin, jotka
muuten saataisiin ladottua nÃ¤tisti. Parempi on asettaa vain mitta
\mitta{emergencystretch} riittÃ¤vÃ¤n suureksi. SanavÃ¤lien venymiseen ja
kappaleiden tasaiseen latomiseen liittyvÃ¤t asetukset voi palauttaa
oletusarvoihin komennolla \komento{fussy}.

Hyvin tavallista on tasata teksti pelkÃ¤stÃ¤Ã¤n vasempaan reunaan, jolloin
rivien pituudet vaihtelevat ja oikealla on niin sanottu liehureuna.
Oikea liehureuna sopii pitkiin teksteihin yhtÃ¤ hyvin kuin tasapalstakin,
mutta se on parempi valinta erityisesti silloin, kun palsta on kapea.
NimittÃ¤in kapealla palstalla venyviÃ¤ sanavÃ¤lejÃ¤ on kÃ¤ytettÃ¤vissÃ¤ hyvin
vÃ¤hÃ¤n ja oikean reunan tasaaminen vaatii sanavÃ¤lien venyttÃ¤mistÃ¤ joskus
kohtuuttoman paljon. Tekstiin jÃ¤Ã¤ rumia aukkoja.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[3]{\komento{#1} &amp; \ymparisto{#2} &amp; #3 \\}
  \begin{tabular}{lll}
    \toprule
    \ots{Komento} &amp; \ots{YmpÃ¤ristÃ¶} &amp; \ots{Merkitys} \\
    \midrule
    \rivi{raggedright}{flushleft}{vasen tasaus, oikea liehu}
    \rivi{raggedleft}{flushright}{oikea tasaus, vasen liehu}
    \rivi{centering}{center}{keskitetty}
    \midrule
    \rivi{RaggedRight}{FlushLeft}
    {vasen tasaus, oikea liehu, tavutus (\paketti{ragged2e})}
    \rivi{RaggedLeft}{FlushRight}
    {oikea tasaus, vasen liehu, tavutus (\paketti{ragged2e})}
    \rivi{Centering}{Center}{keskitetty, tavutus (\paketti{ragged2e})}
    \rivi{justifying}{justify}{tasapalsta, tavutus (\paketti{ragged2e})}
    \bottomrule
  \end{tabular}
}{
  \caption{Tekstikappaleen tasaamiseen ja palstan muotoon vaikuttavat
    komennot ja ympÃ¤ristÃ¶t. Osa sisÃ¤ltyy \paketti{ragged2e}\-/pakettiin}
  \label{tlk/kappaleen-tasauskomennot}
}

Kappaleiden tasaamiseen ja palstan muotoon vaikuttavia komentoja ja
ympÃ¤ristÃ¶jÃ¤ on koottu taulukkoon \ref{tlk/kappaleen-tasauskomennot}.
Taulukossa on mainittu ensin Latexin omat komennot ja sitten
\pakettictan{ragged2e}\-/ paketin vastaavat. Latexin omat komennot
estÃ¤vÃ¤t sanojen tavuttamisen, kun taas \paketti{ragged2e}\-/ paketin
komennot sallivat tavutuksen normaalisti.

\subsection{Optinen tasaus}

Tekstin tasaamisessa halutaan toisinaan jÃ¤ttÃ¤Ã¤ jotkut merkit
tasauskohdan ulkopuolelle. Esimerkiksi suurikokoisissa otsikoissa on
joskus alussa lainausmerkki, joka halutaan latoa tasauskohdan vasemmalle
puolelle, jotta eri riveillÃ¤ olevat sanat saadaan tasaan.

\begin{tulossis}
  \Large\makebox[0bp][r]{''}Optinen tasaus \\
  otsikossa''
\end{tulossis}

\noindent
Tasauskohdan ulkopuolinen lainausmerkki voidaan toteuttaa leveydettÃ¶mÃ¤n
laatikon avulla (luku \ref{luku/laatikot}). Lainausmerkki kirjoitetaan
laatikkoon, jonka leveys on nolla ja jonka sisÃ¤ltÃ¶ tasataan laatikon
oikeaan reunaan. TÃ¤llÃ¶in laatikko ei vie yhtÃ¤Ã¤n tilaa, mutta sen sisÃ¤ltÃ¶
ladotaan kyseisen kohdan vasemmalle puolelle.

\komentoi{makebox}
\begin{koodilohkosis}
\makebox[0bp][r]{''}Optinen tasaus \\
otsikossa''
\end{koodilohkosis}

\noindent
Toisinaan keskitetyssÃ¤ monirivisessÃ¤ tekstissÃ¤ tai otsikossa on rivin
lopussa yhdysmerkki, mutta keskitys ehkÃ¤ halutaan toteuttaa vain
kirjainten perusteella ja jÃ¤ttÃ¤Ã¤ yhdysmerkki sen ulkopuolelle. Sellainen
yhdysmerkki voidaan kirjoittaa leveydettÃ¶mÃ¤Ã¤n laatikkoon, jolloin sitÃ¤
ei huomioida keskittÃ¤misessÃ¤.

\komentoi{makebox}
\ymparistoi{center}
\begin{koodilohkosis}
\begin{center}
  \Large Latex\makebox[0bp][l]{-} \\ opas
\end{center}
\end{koodilohkosis}

\begin{tulossis}
  \begin{center}
    \Large Latex\makebox[0bp][l]{-} \\ opas
  \end{center}
\end{tulossis}

\subsection{Pystysuuntaiset vÃ¤lit}
\label{luku/pystysuuntaiset-vÃ¤lit}

Kappaleiden vÃ¤liin ladottava pystysuuntainen tyhjÃ¤ tila asetetaan mitan
\mitta{parskip} avulla. Se on oletuksena nolla, mutta pientÃ¤ venymistÃ¤
kuitenkin sallitaan, eli joissakin tilanteissa kappaleiden vÃ¤liin
voidaan latoa pieni tyhjÃ¤ tila. Jos tyhjÃ¤Ã¤ tilaa ei haluta missÃ¤Ã¤n
tilanteessa, asetetaan mitta vain nollaksi:

\komentoi{setlength}
\mittai{parskip}
\begin{koodilohkosis}
\setlength{\parskip}{0ex}
\end{koodilohkosis}

\noindent
Seuraava esimerkkikomento asettaa kappalevÃ¤liksi 1,3\,ex. LisÃ¤ksi se
sallii kappalevÃ¤lin venyÃ¤ 0,2\,ex:n verran tai kutistua 0,1\,ex:n
verran.

\komentoi{setlength}
\mittai{parskip}
\begin{koodilohkosis}
\setlength{\parskip}{1.3ex plus .2ex minus .1ex}
\end{koodilohkosis}

\noindent
Silloin kun kappaleet ladotaan erilleen toisistaan, on yleensÃ¤ hyvÃ¤
sallia kappalevÃ¤lin venyÃ¤ tai kutistua hieman, koska venyvÃ¤t
pystysuuntaiset vÃ¤lit antavat Texille paremmat mahdollisuudet latoa
hyvÃ¤nnÃ¤kÃ¶isiÃ¤ sivuja. Venyvien vÃ¤lien avulla esimerkiksi sivujen
tekstialueen ylÃ¤- ja alareunat saadaan aina samalle kohdalle. Toisaalta
myÃ¶s liian suuret ja toisistaan liiaksi poikkeavat kappalevÃ¤lit voivat
olla rumannÃ¤kÃ¶isiÃ¤.

Tavallista kappalevÃ¤liÃ¤ suurempien pystysuuntaisten vÃ¤lien tekemiseen on
olemassa kolme valmista komentoa: suurimmasta pienimpÃ¤Ã¤n ne ovat
\komento{bigskip}, \komento{medskip} ja \komento{smallskip}. Ne
sopivat kÃ¤ytettÃ¤vÃ¤ksi yksittÃ¤isiin tilainteisiin, joissa normaali
kappalevÃ¤li on liian vÃ¤hÃ¤n. Jos sivunvaihto osuu nÃ¤iden komentojen
kohdalle, mitÃ¤Ã¤n vÃ¤liÃ¤ ei ladota sivun loppuun eikÃ¤ seuraavan alkuun.

EdellÃ¤ mainittujen komentojen latoman vÃ¤lin suuruuteen voi vaikuttaa
mittojen \mitta{bigskipamount}, \mitta{medskipamount} ja
\mitta{smallskipamount} avulla. Seuraavassa on esimerkkikomennot
mittojen mÃ¤Ã¤rittelemiseen ja samalla niiden oletusarvot:

\komentoi{setlength}
\mittai{bigskipamount}
\mittai{medskipamount}
\mittai{smallskipamount}
\begin{koodilohkosis}
\setlength{\bigskipamount} {12pt plus 4pt minus 4pt}
\setlength{\medskipamount}  {6pt plus 2pt minus 2pt}
\setlength{\smallskipamount}{3pt plus 1pt minus 1pt}
\end{koodilohkosis}

\noindent
Komentojen \komento{bigskip}, \komento{medskip} ja \komento{smallskip}
sijasta voi kÃ¤yttÃ¤Ã¤ myÃ¶s komentoja \komento{bigbreak},
\komento{medbreak} tai \komento{smallbreak}. NÃ¤mÃ¤ toimivat lÃ¤hes
samalla tavalla, mutta niihin sisÃ¤ltyy myÃ¶s sivunvaihtovihje. Toisin
sanoen ne vaikuttavat ladonta\-/algoritmiin siten, ettÃ¤ komennon
kohdalla todennÃ¤kÃ¶isyys sivun vaihtumiselle kasvaa suhteessa muihin
kohtiin. Sivu voi edelleen vaihtua muustakin kohdasta, jos algoritmi
lÃ¶ytÃ¤Ã¤ omasta mielestÃ¤Ã¤n vielÃ¤ paremman paikan.

Pystysuuntaisten vÃ¤lien yleiskomento on \komento{vspace}, jolle
annetaan argumentiksi vÃ¤lin suuruus ja mahdolliset venymisen rajat.
TÃ¤mÃ¤kin komento jÃ¤ttÃ¤Ã¤ vÃ¤lin latomatta, jos se sattuu sivunvaihdon
kohdalle. Sen sijaan tÃ¤hdellinen versio \komento{vspace*} latoo vÃ¤lin
joka tapauksessa, vaikka se olisi sivun lopussa tai alussa.

\komentoi{vspace}
\begin{koodilohkosis}
Tekstikappale.
\vspace{5ex plus 1ex minus .5ex}

Toinen tekstikappale.
\end{koodilohkosis}

\noindent
Komento \komento{addvspace} toimii lÃ¤hes samoin kuin \komento{vspace},
mutta se huomioi mahdolliset perÃ¤kkÃ¤iset \komento{addvspace}\-/ komennot
ja varmistaa, ettÃ¤ vain suurin vÃ¤li toteutuu. Jos siis useita
\komento{addvspace}\-/ komentoja sattuu perÃ¤kkÃ¤in, niiden mÃ¤Ã¤rittÃ¤miÃ¤
vÃ¤lejÃ¤ ei ladota perÃ¤kkÃ¤in vaan ainoastaan suurin niistÃ¤ ladotaan.
Seuraava esimerkki latoo kappaleiden vÃ¤liin 2\,ex:n suuruisen
pystysuuntaisen vÃ¤lin:

\komentoi{addvspace}
\begin{koodilohkosis}
Tekstikappale.

\addvspace{1ex} \addvspace{2ex} \addvspace{.5ex}
Toinen tekstikappale.
\end{koodilohkosis}

\noindent
Jos edellisessÃ¤ esimerkissÃ¤ olisi kÃ¤ytetty \komento{vspace}\-/ komentoa,
pystysuuntaisen vÃ¤lin suuruus olisi 3,5\,ex, joka on vÃ¤lien
yhteenlaskettu suuruus.

\komento{addvspace}\-/komento soveltuu hyvin komentojen ja ympÃ¤ristÃ¶jen
mÃ¤Ã¤rittelyyn (luvut \ref{luku/komennot} ja \ref{luku/ympÃ¤ristÃ¶t}).
Esimerkiksi itse mÃ¤Ã¤ritellyn ympÃ¤ristÃ¶n alussa ja lopussa voi
\komento{addvspace}\-/ komennolla varmistaa tietynsuuruisen vÃ¤lin, mutta
jos sama tai muu vastaava ympÃ¤ristÃ¶ on dokumentissa kahdesti perÃ¤kkÃ¤in,
huomioidaan pystysuuntainen vÃ¤li vain kerran eli suurimman vÃ¤lin mukaan.
Jotkin Latexin valmiit ympÃ¤ristÃ¶t tekevÃ¤t juuri nÃ¤in eli kÃ¤yttÃ¤vÃ¤t
\komento{addvspace}\-/komentoa vÃ¤lien asettamiseen.

Sivun alueella Ã¤Ã¤rettÃ¶mÃ¤sti venyvÃ¤n pystysuuntaisen vÃ¤lin saa komennolla
\komento{vfill}. Mitan luonnollinen arvo on nolla, mutta se voi venyÃ¤
niin, ettÃ¤ se tÃ¤yttÃ¤Ã¤ kaiken tyhjÃ¤n tilan sivulla. \komento{vfill}\-/
komento tarkoittaa kÃ¤ytÃ¤nnÃ¶ssÃ¤ samaa kuin
\komento{vspace}\komentoarg{0mm plus 1fill} \=/komento. Texin venyviÃ¤
mittoja ja vÃ¤lejÃ¤ kÃ¤sitellÃ¤Ã¤n tarkemmin luvussa
\ref{luku/venyvÃ¤t-mitat}.

\subsection{EnsimmÃ¤isen rivin sisennys}
\label{luku/ensimmÃ¤isen-rivin-sisennys}

Kirjojen ja lehtien typografiassa kappaleen ensimmÃ¤inen rivi on tapana
sisentÃ¤Ã¤ merkiksi siitÃ¤, ettÃ¤ alkaa uusi kappale. Kappaleiden vÃ¤lissÃ¤ ei
ole pystysuuntaista tilaa, vaan pelkkÃ¤ sisennys on lukijalle merkki
siitÃ¤, ettÃ¤ tekstin sisÃ¤llÃ¶ssÃ¤ siirrytÃ¤Ã¤n seuraavaan asiaan.
Oletusasetuksilla Latex latoo sisennyksen automaattisesti kappaleiden
alkuun.

EnsimmÃ¤isen rivin sisennyksen suuruus asetetaan mitan \mitta{parindent}
avulla, seuraavan esimerkin mukaisesti. Sopiva mittayksikkÃ¶ tÃ¤hÃ¤n
tarkoitukseen on em, koska se viittaa suoraan nykyisen fontin kokoon.

\komentoi{setlength}
\mittai{parindent}
\begin{koodilohkosis}
\setlength{\parindent}{1em}
\end{koodilohkosis}

\noindent
EdellÃ¤ mainittu mitta pitÃ¤isi asettaa nollaan silloin, kun kappaleet
erotetaan pystysuuntaisen vÃ¤lin avulla. VÃ¤lihÃ¤n jo sinÃ¤nsÃ¤ ilmaisee,
ettÃ¤ kappale vaihtuu, joten sisennys on turha.

\komentoi{setlength}
\mittai{parskip}
\mittai{parindent}
\begin{koodilohkosis}
\setlength{\parskip}{1.3ex plus .2ex minus .1ex}
\setlength{\parindent}{0em}  % Ei sisennystÃ¤.
\end{koodilohkosis}

\noindent
\mitta{parindent}\-/ mitan levyisen vÃ¤lin voi tehdÃ¤ mihin tahansa
komennolla \komento{indent}. TÃ¤tÃ¤ komentoa ei tavallisesti tarvita,
koska kappaleet alkavat automaattisesti sen suuruisella sisennyksellÃ¤.
Tarpeellisempi komento on sen vastakohta \komento{noindent}, joka
voidaan kirjoittaa kappaleen alkuun estÃ¤mÃ¤Ã¤n kyseisen kappaleen alun
sisentÃ¤minen.

\komentoi{noindent}
\begin{koodilohkosis}
\noindent
TÃ¤mÃ¤n tekstikappaleen ensimmÃ¤istÃ¤ riviÃ¤ ei sisennetÃ¤.
\end{koodilohkosis}

\noindent
SuomenkielisissÃ¤ julkaisuissa on tavallista, ettÃ¤ leipÃ¤tekstin
kappaleessa ei ole sisennystÃ¤, jos sitÃ¤ ennen on pystysuuntainen vÃ¤li.
TÃ¤llainen tilanne on aina otsikoiden jÃ¤lkeen mutta myÃ¶s kokonaan
sisennetyn tekstikappaleen jÃ¤lkeen (esim. lohkolainaus, luku
\ref{luku/lohkolainaukset}) tai kuvan, taulukon, luetelman tai muun
vastaavan osan jÃ¤lkeen, jos nÃ¤mÃ¤ ovat osa tekstivirtaa eivÃ¤tkÃ¤ leijuvia
osia (luku \ref{luku/leijuosat}). KÃ¤ytÃ¤ntÃ¶Ã¶n on joskus poikkeuksia
suomenkielisessÃ¤kin typografiassa, mutta eri kielten vÃ¤lillÃ¤ kÃ¤ytÃ¤ntÃ¶
voi vaihdella enemmÃ¤nkin.

Latex estÃ¤Ã¤ sisennyksen automaattisesti otsikoiden jÃ¤lkeen mutta latoo
sisennyksen kuitenkin kaikkien muiden elementtien ja pystysuuntaisen
vÃ¤lin jÃ¤lkeen. Jos sisennys halutaan estÃ¤Ã¤, pitÃ¤isi kyseiset kappaleet
aloittaa aina \komento{noindent}\-/komennolla.

Toinen vaihtoehto on kÃ¤yttÃ¤Ã¤ \pakettictan{noindentafter}\-/ pakettia ja
mÃ¤Ã¤ritellÃ¤ sen tarjoaman komennon avulla, minkÃ¤ ympÃ¤ristÃ¶jen jÃ¤lkeen ei
haluta sisennystÃ¤. Seuraava esimerkki poistaa sisennyksen aina
\ymparisto{list}- ja \ymparisto{tabular}\-/ ympÃ¤ristÃ¶jen jÃ¤lkeen (luvut
\ref{luku/list-ympÃ¤ristÃ¶} ja \ref{luku/taulukot}).

\komentoi{NoIndentAfterEnv}
\ymparistoi{list}
\ymparistoi{tabular}
\begin{koodilohkosis}
\NoIndentAfterEnv{list}
\NoIndentAfterEnv{tabular}
\end{koodilohkosis}

\noindent
Tosin \paketti{noindentafter}\-/ paketti ei ole aina toiminut
luotettavasti yhdessÃ¤ \paketti{polyglossia}\-/ kielipaketin kanssa. Jos
sisennyksen poistaminen ei tahdo toimia, kyse voi olla juuri tÃ¤stÃ¤.

Kolmas keino kappaleen ensimmÃ¤isen rivin sisennyksen estÃ¤miseksi jonkin
ympÃ¤ristÃ¶n jÃ¤lkeen on se, ettÃ¤ aloittaa tekstikappaleen heti ympÃ¤ristÃ¶n
lopettavan \komento{end}\-/ komennon jÃ¤lkeen -- ilman tyhjÃ¤Ã¤ riviÃ¤.

\subsection{Riippuva sisennys}
\label{luku/riippuva-sisennys}

Riippuva sisennys tarkoittaa tekstikappaleen muotoa, jossa sisennetÃ¤Ã¤n
kappaleen muita rivejÃ¤ mutta ei ensimmÃ¤istÃ¤. Riippuvaa sisennystÃ¤
kÃ¤ytetÃ¤Ã¤n esimerkiksi kirjallisuus\-/{} ja lÃ¤hdeluetteloissa, joissa on
tarpeellista saada henkilÃ¶n nimi tai muu lÃ¤hdemerkinnÃ¤n hakusana
erottumaan selvÃ¤sti vasemmassa reunassa. TÃ¤mÃ¤n oppaan lopussa sivulla
\pageref{luku/kirjallisuutta} on esimerkki lÃ¤hdemerkinnÃ¶istÃ¤.

MyÃ¶s virallisten asiakirjojen muotoilussa kÃ¤ytetÃ¤Ã¤n riippuvaa
sisennystÃ¤. NiissÃ¤ kappaleen ensimmÃ¤inen rivi voi sisÃ¤ltÃ¤Ã¤ otsikon, joka
on tasattu vasempaan reunaan. Otsikon perÃ¤ssÃ¤ on sarkainhyppy
tekstikappaleen sisennyksen tasalle, ja kappaleen muut rivit on
sisennettynÃ¤ samalla tasolle.

\begin{esimerkki*}
  \komentoi{hangpara}
  \pakettii{hanging}
  \komentoi{,}

\begin{koodilohko}
\hangpara{2cm}{1}TÃ¤ssÃ¤ tekstikappaleessa on riippuva sisennys. Kappale
alkaa yhdellÃ¤ sisentÃ¤mÃ¤ttÃ¶mÃ¤llÃ¤ rivillÃ¤, ja kappaleen seuraavat rivit
on sisennetty 2\,cm. Ei ole kovin vaikeaa.
\end{koodilohko}
  \begin{tulos}
    \hangpara{2cm}{1}TÃ¤ssÃ¤ tekstikappaleessa on riippuva sisennys. Kappale
    alkaa yhdellÃ¤ sisentÃ¤mÃ¤ttÃ¶mÃ¤llÃ¤ rivillÃ¤, ja kappaleen seuraavat rivit
    on sisennetty 2\,cm. Ei ole kovin vaikeaa.
  \end{tulos}
  \caption{Riippuva sisennys \paketti{hanging}\-/ paketin ja sen
    \komento{hangpara}\-/ komennon avulla}
  \label{esim/riippuva-sis-hangpara}
\end{esimerkki*}

Helpoin tapa riippuvien sisennysten toteuttamiseen lienee
\pakettictan{hanging}\-/ paketin kÃ¤yttÃ¶. Paketti tuo uuden komennon
\komento{hangpara}, jonka kÃ¤yttÃ¶Ã¤ esimerkki
\ref{esim/riippuva-sis-hangpara} selventÃ¤Ã¤. Komennon ensimmÃ¤inen
argumentti on sisennyksen mitta ja toinen argumentti mÃ¤Ã¤rittÃ¤Ã¤, kuinka
monta riviÃ¤ kappaleen alusta jÃ¤tetÃ¤Ã¤n sisentÃ¤mÃ¤ttÃ¤. Jos toinen
argumentti on negatiivinen luku, on merkitys pÃ¤invastainen eli luvun
itseisarvo mÃ¤Ã¤rittÃ¤Ã¤, kuinka monta riviÃ¤ kappaleen alusta sisennetÃ¤Ã¤n.

Komennon \komento{hangpara} vaihtoehtona on ympÃ¤ristÃ¶
\ymparisto{hangparas}, jonka sisÃ¤llÃ¤ kaikki kappaleet sisennetÃ¤Ã¤n
riippuvalla tyylillÃ¤ samojen asetusten mukaisesti. YmpÃ¤ristÃ¶lle annetaan
samat argumentit kuin \komento{hangpara}\-/ komennollekin.

\ymparistoi{hangparas}
\begin{koodilohkosis}
\begin{hangparas}{2cm}{1}
  ...
\end{hangparas}
\end{koodilohkosis}

\begin{esimerkki*}
  \komentoi{hangpara}
  \komentoi{makebox}
  \komentoi{,}

\begin{koodilohko}
\hangpara{2cm}{1}\makebox[2cm][l]{Otsikko}TÃ¤ssÃ¤ tekstikappaleessa on
riippuva sisennys. Kappale alkaa yhdellÃ¤ sisentÃ¤mÃ¤ttÃ¶mÃ¤llÃ¤ rivillÃ¤,
joka sisÃ¤ltÃ¤Ã¤ nÃ¤kymÃ¤ttÃ¶mÃ¤ssÃ¤ 2\,cm leveÃ¤ssÃ¤ laatikossa olevan otsikon.
Kappaleen muut rivit on sisennetty 2\,cm.
\end{koodilohko}
  \begin{tulos}
    \hangpara{2cm}{1}\makebox[2cm][l]{Otsikko}TÃ¤ssÃ¤ tekstikappaleessa on
    riippuva sisennys. Kappale alkaa yhdellÃ¤ sisentÃ¤mÃ¤ttÃ¶mÃ¤llÃ¤ rivillÃ¤,
    joka sisÃ¤ltÃ¤Ã¤ nÃ¤kymÃ¤ttÃ¶mÃ¤ssÃ¤ 2\,cm leveÃ¤ssÃ¤ laatikossa olevan otsikon.
    Kappaleen muut rivit on sisennetty 2\,cm.
  \end{tulos}
  \caption{Asiakirjan tyylisten tekstikappaleiden toteutus}
  \label{esim/riippuva-sis-asiakirja}
\end{esimerkki*}

\noindent
Asiakirjan tyylisen otsikon saa toteutettua \komento{makebox}\-/
komennon avulla esimerkin \ref{esim/riippuva-sis-asiakirja} tavoin.
Komento latoo nÃ¤kymÃ¤ttÃ¶mÃ¤n laatikon, jonka leveys mÃ¤Ã¤ritellÃ¤Ã¤n
sisennyksen levyiseksi ja jonka sisÃ¤Ã¤n kirjoitetaan otsikko. Jos
asiakirjatyylisiÃ¤ tekstikappaleita tarvitaan useita, kannattaa
mÃ¤Ã¤ritellÃ¤ sarkainleveyttÃ¤ ja sisennystÃ¤ varten oma mitta ja
tekstikappaleen kirjoittamista varten oma komento. Seuraavassa on siitÃ¤
esimerkki:

\komentoi{newlength}
\komentoi{setlength}
\komentoi{newcommand}
\komentoi{makebox}
\komentoi{par}
\komentoi{hangpara}
\komentoi{ignorespaces}
\begin{koodilohkosis}
\newlength{\sarkain}
\setlength{\sarkain}{23mm}
\newcommand{\kappale}[1][]{\par\hangpara{2\sarkain}{1}%
  \makebox[2\sarkain][l]{\ignorespaces #1}\ignorespaces}
\end{koodilohkosis}

\noindent
TÃ¤mÃ¤n jÃ¤lkeen voi komennolla \komentox{kappale} aloittaa asiakirjan
sisennetyn tekstikappaleen. Komennolle voi antaa hakasulkeissa
valinnaisen argumentin, joka on kappaleen otsikko. \komento{makebox}\-/
komentoa ja muita laatikoita kÃ¤sitellÃ¤Ã¤n tarkemmin luvussa
\ref{luku/laatikot}.

\begin{esimerkki*}
  \ymparistoi{list}
  \komentoi{setlength}
  \mittai{leftmargin}
  \mittai{itemindent}
  \komentoi{item}
  \komentoi{,}

\begin{koodilohko}
\begin{list}{}{
    \setlength{\leftmargin}{2cm}
    \setlength{\itemindent}{-2cm}
  }
\item TÃ¤ssÃ¤ tekstikappaleessa on riippuva sisennys. Kappale alkaa
  yhdellÃ¤ sisentÃ¤mÃ¤ttÃ¶mÃ¤llÃ¤ rivillÃ¤, ja kappaleen muut rivit on
  sisennetty 2\,cm.
\end{list}
\end{koodilohko}
  \caption{Riippuvan sisennyksen toteuttaminen \ymparisto{list}\-/
    ympÃ¤ristÃ¶n avulla}
  \label{esim/riippuva-sis-list}
\end{esimerkki*}

Riippuvan sisennyksen voi toteuttaa myÃ¶s \ymparisto{list}\-/ ympÃ¤ristÃ¶n
avulla. Se on tarkoitettu luetelmien tekemiseen, mutta sopivilla
asetuksilla yksi ''luetelman'' kohta on riippuvasti sisennetty kappale.
Tarkemmin \ymparisto{list}\-/ ympÃ¤ristÃ¶Ã¤ kÃ¤sitellÃ¤Ã¤n luetelmien
yhteydessÃ¤ luvussa \ref{luku/list-ympÃ¤ristÃ¶}, mutta oheisessa
esimerkissÃ¤ \ref{esim/riippuva-sis-list} on sopivat asetukset riippuvan
sisennyksen toteuttamiseen. Kappale alkaa \komento{item}\-/ komennolla,
koska kyseessÃ¤ on ikÃ¤Ã¤n kuin luetelman kohta.

\subsection{Vasen ja oikea sisennys sekÃ¤ lohkolainaukset}
\label{luku/lohkolainaukset}

Dokumentteihin tarvitaan vÃ¤lillÃ¤ kokonaisia sisennettyjÃ¤
tekstikappaleita, koska leipÃ¤tekstin ohessa halutaan nÃ¤yttÃ¤Ã¤
muuntyyppistÃ¤ sisÃ¤ltÃ¶Ã¤. Kyse voi olla teksti- tai kuvaesimerkeistÃ¤,
esimerkiksi muualta lainatusta tekstistÃ¤. TÃ¤ssÃ¤ oppaassa kÃ¤ytetÃ¤Ã¤n
paljon sisennettyjÃ¤ tekstikappaleita Latex\-/koodien esimerkkeihin.

Kokonaan sisennettyjÃ¤ tekstikappaleita kutsutaan lohkolainauksiksi,
koska ne ovat lainauksia, jotka kÃ¤sittÃ¤vÃ¤t kokonaisen tekstilohkon.
LainausmerkkejÃ¤ ei tarvitse kÃ¤yttÃ¤Ã¤, koska lainaus ilmaistaan
typografisin keinoin. Sisennyksen lisÃ¤ksi varsin yleistÃ¤ on kÃ¤yttÃ¤Ã¤
hieman pienempÃ¤Ã¤ kirjainleikkausta ja rivivÃ¤liÃ¤ kuin leipÃ¤tekstissÃ¤.
Joskus vasemman reunan sisennyksen lisÃ¤ksi sisennetÃ¤Ã¤n myÃ¶s oikeasta
reunasta.

Latexissa on tavallisille lohkolainauksille kolme erilaista ympÃ¤ristÃ¶Ã¤:
\ymparisto{quotation}, \ymparisto{quote} ja \ymparisto{verse}. Kaksi
ensin mainittua on tarkoitettu normaalilla tavalla juoksevalle
tekstille, kun taas kolmas on tarkoitettu runon sÃ¤keiden ja sÃ¤keistÃ¶jen
latomiseen.

\ymparisto{quotation}\-/ ympÃ¤ristÃ¶ sisentÃ¤Ã¤ tekstikappaleiden
ensimmÃ¤isen rivin 1,5\,em:n verran, eikÃ¤ kappaleiden vÃ¤lissÃ¤ ole
pystysuuntaista tilaa. \ymparisto{quote}\-/ ympÃ¤ristÃ¶ ei sisennÃ¤
kappaleiden ensimmÃ¤istÃ¤ riviÃ¤, ja se puolestaan erottaa kappaleet
toisistaan pystysuuntaisen tilan avulla. \ymparisto{verse}\-/ ympÃ¤ristÃ¶Ã¤
kÃ¤ytetÃ¤Ã¤n siten, ettÃ¤ lÃ¤hdedokumentissa runon sÃ¤keet lopetetaan
rivinvaihtokomentoon (\komento{\keno}), lukuun ottamatta sÃ¤keistÃ¶n
viimeistÃ¤ sÃ¤ettÃ¤. SÃ¤keistÃ¶t erotetaan toisistaan tyhjÃ¤llÃ¤ rivillÃ¤, kuten
Latexissa tekstikappaleet muutenkin. Lopputuloksena on useimpiin
runoihin sopiva ladontatapa, jossa sÃ¤keistÃ¶jen vasen reuna on samalla
tasolla, oikealla on liehureuna ja sÃ¤keistÃ¶jen vÃ¤lissÃ¤ on
pystysuuntaista tilaa.

Jos Latexin valmiit lohkolainausympÃ¤ristÃ¶t eivÃ¤t tuota haluttua
lopputulosta, voi sisennetyt tekstikappaleet toteuttaa myÃ¶s luetelmien
tekemiseen tarkoitetun \ymparisto{list}\-/ ympÃ¤ristÃ¶n avulla (luku
\ref{luku/list-ympÃ¤ristÃ¶}). Sopivilla asetuksilla ''luetelma'' sisÃ¤ltÃ¤Ã¤
ihan tavallisen nÃ¤kÃ¶isiÃ¤ tekstikappaleita, jotka vain on sisennetty
vasemmalta tai oikealta tai molemmista reunoista.

\begin{esimerkki*}
  \ymparistoi{list}
  \komentoi{setlength}
  \mittai{leftmargin}
  \mittai{rightmargin}
  \mittai{itemindent}
  \mittai{listparindent}
  \mittai{parindent}
  \mittai{parsep}
  \mittai{topsep}
  \mittai{partopsep}
  \komentoi{item}
  \komentoi{linespread}
  \komentoi{small}

\begin{koodilohko}
\newenvironment{lohkolainaus}{%
  \begin{list}{}{
      \setlength{\leftmargin}{1cm}
      \setlength{\rightmargin}{1cm}
      \setlength{\itemindent}{0bp}
      \setlength{\listparindent}{\parindent}
      \setlength{\parsep}{\parskip}
      \setlength{\topsep}{1em}
      \setlength{\partopsep}{0bp}
    }
  \item\linespread{1}\small
  }{\end{list}}
\end{koodilohko}
  \caption{Lohkolainausten eli tekstikappaleen vasemman ja oikean
    sisennyksen toteutus \ymparisto{list}\-/ ympÃ¤ristÃ¶n avulla.
    Esimerkkikoodi mÃ¤Ã¤rittelee uuden ympÃ¤ristÃ¶n nimeltÃ¤
    \ymparistox{lohkolainaus}}
  \label{esim/vasen-oikea-sisennys}
\end{esimerkki*}

EsimerkistÃ¤ \ref{esim/vasen-oikea-sisennys} selviÃ¤Ã¤, kuinka
\ymparisto{list}\-/ ympÃ¤ristÃ¶Ã¤ voi kÃ¤yttÃ¤Ã¤ sisennyksen toteuttamiseen.
Esimerkki mÃ¤Ã¤rittelee uuden ympÃ¤ristÃ¶n nimeltÃ¤
\ymparistox{lohkolainaus}, jota voi hyÃ¶dyntÃ¤Ã¤ myÃ¶hemmin dokumentissa.

\begin{koodilohkosis}
\begin{lohkolainaus}
  TÃ¤mÃ¤ tekstikappale on sisennetty vasemmalta ja oikealta. LisÃ¤ksi
  kirjainleikkaus on hieman pienempi (\small) kuin leipÃ¤tekstissÃ¤.
\end{lohkolainaus}
\end{koodilohkosis}

\noindent
Omien ympÃ¤ristÃ¶jen mÃ¤Ã¤rittelyÃ¤ kÃ¤sitellÃ¤Ã¤n tarkemmin luvussa
\ref{luku/ympÃ¤ristÃ¶t}. Esimerkin \ref{esim/vasen-oikea-sisennys} rivillÃ¤
11 oleva \komento{item}\-/ komento on pakollinen, koska se aloittaa
\ymparisto{list}\-/ ympÃ¤ristÃ¶Ã¶n kuuluvan luetelman kohdan. Sen perÃ¤ssÃ¤
olevat komennot \komento{linespread} ja \komento{small} sen sijaan ovat
vapaaehtoisia. Ne ovat mukana siksi, ettÃ¤ on varsin tavallista latoa
lohkolainaukset pienemmÃ¤llÃ¤ rivivÃ¤lillÃ¤ (rivikorkeudella) ja pienemmÃ¤llÃ¤
kirjainleikkauksella kuin leipÃ¤teksti.

\subsection{Rivinvaihtokomennot}
\label{luku/rivinvaihtokomennot}

Latex\-/lÃ¤hdedokumentissa olevat rivinvaihdot tulkitaan sanavÃ¤leiksi
siinÃ¤ missÃ¤ vÃ¤lilyÃ¶nnitkin, eli ne rivinvaihdot eivÃ¤t pÃ¤Ã¤dy ladottuun
dokumenttiin (luvut \ref{luku/sanavÃ¤li} ja
\ref{luku/rivinvaihtomerkit}). Sen sijaan ladottuun dokumenttiin saadaan
rivinvaihto kÃ¤yttÃ¤mÃ¤llÃ¤ komentoa \komento{\keno} eli kaksi kenoviivaa.
Komennon ei tarvitse sijaita lÃ¤hdedokumentissa rivin lopussa.

\komentoi{\keno}
\begin{koodilohkosis}
ensimmÃ¤inen \\ toinen \\
kolmas
\end{koodilohkosis}

\begin{tulossis}
  ensimmÃ¤inen \\* toinen \\* kolmas
\end{tulossis}

\noindent
Rivinvaihtokomennolle voi antaa hakasulkeissa valinnaisen argumentin,
joka ilmaisee rivien vÃ¤liin ladottavan ylimÃ¤Ã¤rÃ¤isen pystysuuntaisen
tilan. Argumentin on siis oltava mitta.

\komentoi{\keno}
\begin{koodilohkosis}
ensimmÃ¤inen \\ toinen \\[1.3ex] kolmas
\end{koodilohkosis}

\begin{tulossis}
  ensimmÃ¤inen \\* toinen \\*[1.3ex] kolmas
\end{tulossis}

\noindent
Komennosta on olemassa tÃ¤htiversio \komento{\keno *}, joka edellisten
ominaisuuksien lisÃ¤ksi estÃ¤Ã¤ sivun vaihtumisen tÃ¤mÃ¤n rivinvaihdon
kohdalla. MyÃ¶s tÃ¤htiversiolle voi antaa valinnaiseksi argumentiksi
mitan, ja sen merkitys on sama kuin komennon normaalilla versiollakin.

Rivin voi vaihtaa myÃ¶s komennolla \komento{newline}, mutta tÃ¤mÃ¤ komento
ei hyvÃ¤ksy valinnaista argumenttia eikÃ¤ siitÃ¤ ole tÃ¤hdellistÃ¤ versiota.
Komennot \komento{newline} ja \komento{\keno} kÃ¤yttÃ¤ytyvÃ¤t eri tavoin
taulukoissa, joita kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/taulukot}.

\subsection{Lesket ja orvot}

Leski- ja orporivit tarkoittavat typografiassa rumannÃ¤kÃ¶isiÃ¤ yksinÃ¤isiÃ¤
rivejÃ¤. Leskirivi (\englanti{widow}) on tekstikappaleen viimeinen rivi,
joka on yksinÃ¤Ã¤n sivun tai palstan ylÃ¤reunassa. Orporivi
(\englanti{orphan}) puolestaan on tekstikappaleen ensimmÃ¤inen rivi, joka
on yksin sivun tai palstan alareunassa. Molemmat voivat nÃ¤yttÃ¤Ã¤
ikÃ¤vÃ¤ltÃ¤, mutta yleensÃ¤ orporivejÃ¤ ei pidetÃ¤ kovin vakavana virheenÃ¤;
leskien vÃ¤lttÃ¤misessÃ¤ ollaan enemmÃ¤n tosissaan.

Ulkoasun lisÃ¤ksi lesket ja orvot voivat olla ikÃ¤viÃ¤ myÃ¶s lukemisen
kannalta. Kun tekstikappale vaihtuu, lukija pitÃ¤Ã¤ pienen tauon ja
valmistautuu uuteen kappaleeseen. Sivun tai palstan olisi sopivaa
vaihtua samassa kohdassa eli tekstikappaleiden vÃ¤lissÃ¤, mutta leski- ja
orporivit aiheuttavat kaksi taukoa melkein perÃ¤kkÃ¤in: sekÃ¤ kappaleiden
vÃ¤lissÃ¤ ettÃ¤ sivun tai palstan vaihtumisen kohdalla.

Latexissa leski- tai orporivit lienee kÃ¤ytÃ¤nnÃ¶llisintÃ¤ estÃ¤Ã¤
\pakettictan{nowidow}\-/ paketin avulla. Paketin lataamisen jÃ¤lkeen
kÃ¤ytetÃ¤Ã¤n komentoa \komento{setnowidow}, joka estÃ¤Ã¤ leskirivit eli
pitÃ¤Ã¤ tekstikappaleen lopusta vÃ¤hintÃ¤Ã¤n kaksi riviÃ¤ yhdessÃ¤ sivun tai
palstan ylÃ¤reunassa. Komennolle voi antaa hakasulkeissa valinnaisen
argumentin (kokonaisluvun), joka ilmaisee, kuinka monta riviÃ¤ tÃ¤ytyy
vÃ¤hintÃ¤Ã¤n pysyÃ¤ yhdessÃ¤. Vastaavasti orporivit estetÃ¤Ã¤n komennolla
\komento{setnoclub}, joka toimii samalla tavalla. Molemmat komennot
vaikuttavat koko dokumenttiin eli kaikkiin tekstikappaleisiin.

\komentoi{usepackage}
\pakettii{nowidow}
\komentoi{setnowidow}
\komentoi{setnoclub}
\begin{koodilohkosis}
\usepackage{nowidow}
\setnowidow   % leskirivien esto
\setnoclub    % orporivien esto
\end{koodilohkosis}

\noindent
Paketti \paketti{nowidow} mÃ¤Ã¤rittelee myÃ¶s komennot \komento{nowidow}
ja \komento{noclub}, joilla voi vaikuttaa yksittÃ¤isen tekstikappaleen
leski- ja orporiveihin. NÃ¤mÃ¤ komennot tÃ¤ytyy sijoittaa tekstikappaleen
loppuun, ja myÃ¶s niille voi antaa hakasulkeissa valinnaiseksi
argumentiksi luvun, joka kertoo yhdessÃ¤ pidettÃ¤vien rivien mÃ¤Ã¤rÃ¤n.

Jos ei halua tai voi kÃ¤yttÃ¤Ã¤ \paketti{nowidow}\-/pakettia, voi leski- ja
orporivit estÃ¤Ã¤ myÃ¶s Texin matalan tason toimintojen avulla.
Ladonta\-/algoritmi kÃ¤yttÃ¤Ã¤ leski- ja orporiveissÃ¤ sisÃ¤isesti
haitallisuusarvoa tai sakkoarvoa (\englanti{penalty}), ja jos lesket ja
orvot halutaan estÃ¤Ã¤, mÃ¤Ã¤ritellÃ¤Ã¤n niiden haitallisuusarvo
mahdollisimman korkeaksi. KÃ¤ytÃ¤nnÃ¶ssÃ¤ arvo 10\,000 tarkoittaa samaa kuin
Ã¤Ã¤retÃ¶n, eli silloin lesken tai orvon haitallisuus on niin suuri, ettei
sellaisia sallita.

\komentoi{widowpenalty}
\komentoi{clubpenalty}
\begin{koodilohkosis}
\widowpenalty=10000  % leskirivien esto
\clubpenalty=10000   % orporivien esto
\end{koodilohkosis}

\noindent
Leskien ja orpojen haitallisuusarvoiksi voi kokeilla hieman pienempiÃ¤kin
lukuja. Silloin leski- tai orporivit voidaan sallia joissakin
tilanteissa, jos ladonta\-/algoritmi ei lÃ¶ydÃ¤ parempaakaan ratkaisua.

Orvoksi kutsutaan myÃ¶s tavua, joka jÃ¤Ã¤ yksin kappaleen viimeiselle
riville. Se on hÃ¤iritsevÃ¤n nÃ¤kÃ¶inen ainakin silloin, kun tavu on
kapeampi kuin seuraavan kappaleen ensimmÃ¤isen rivin sisennys.
Orpotavujen estÃ¤miseen ei taida olla automaattisia keinoja, mutta
kappaleen sanamÃ¤Ã¤rÃ¤Ã¤ ja sanajÃ¤rjestystÃ¤ muuttamalla voi tietenkin
vaikuttaa rivien latomiseen. Kappaleen viimeiseen sanaan voi kirjoittaa
myÃ¶s tavutusvihjeitÃ¤ (\komento{-}) mutta jÃ¤ttÃ¤Ã¤ vihje pois ennen
viimeistÃ¤ tavua. NÃ¤in estetÃ¤Ã¤n lyhyen orpotavun muodostuminen.
TavutusvihjeitÃ¤ ja muita tavutuksen asetuksia kÃ¤sitellÃ¤Ã¤n
luvussa~\ref{luku/tavutus}.

\subsection{Marginaalihuomautukset}
\label{luku/marginaalihuomautukset}

Klassisessa kirjatypografiassa -- jota tÃ¤mÃ¤kin opas suunnilleen
noudattaa -- on aukeaman ulkoreunoissa melko suuret marginaalit. NiitÃ¤
voidaan kÃ¤yttÃ¤Ã¤ erÃ¤Ã¤nlaisina apupalstoina, joihin voi kirjoittaa
lyhyehkÃ¶jÃ¤ huomautuksia ja lisÃ¤tietoa.

Marginaalihuomautukset tehdÃ¤Ã¤n komennolla \komento{marginpar}, jonka
argumentiksi annetaan marginaaliin tuleva teksti. Marginaalin teksti
ladotaan vasempaan tai oikeaan marginaaliin sen mukaan, kumpi on
aukeaman ulkoreunassa. Yksipuolisilla sivuilla teksti ladotaan
oletuksena oikeaan marginaaliin. MikÃ¤li sivu on kaksipalstaisessa
tilassa (luku \ref{luku/palstat}), marginaalihuomautus ladotaan
lÃ¤hempÃ¤nÃ¤ olevaan marginaaliin.

\komentoi{marginpar}
\begin{koodilohkosis}
TÃ¤mÃ¤ on leipÃ¤tekstin tekstikappale,
\marginpar{TÃ¤mÃ¤ ladotaan marginaaliin.}
joka ladotaan sivun normaalille tekstialueelle.
\end{koodilohkosis}

% Miten valinnainen argumentti toimii? \marginpar[left]{right}

\noindent
YleensÃ¤ marginaalihuomautukset kannattaa latoa erilaisella
kirjainleikkauksella kuin leipÃ¤teksti, jotta ne erottuvat toisistaan.
Jos leipÃ¤tekstissÃ¤ kÃ¤ytetÃ¤Ã¤n antiikvaa, voisi marginaalissa kÃ¤yttÃ¤Ã¤
esimerkiksi pienempÃ¤Ã¤ groteskia. TÃ¤mÃ¤n \marginpar{\sffamily
  \linespread{1} \scriptsize \RaggedRight TÃ¤ssÃ¤ on pienellÃ¤ groteskilla
  ladottu huomautus.} tekstikappaleen vieressÃ¤ on esimerkki edellÃ¤
mainitun tyylisestÃ¤ marginaalihuomautuksesta. Kirjainleikkauksen on
syytÃ¤ olla selvÃ¤sti pienempi ja riittÃ¤vÃ¤n erilainen kuin leipÃ¤tekstissÃ¤,
jotta huomautus ei hÃ¤iritse liikaa leipÃ¤tekstin lukemista. TÃ¤llaisen
toteutusta varten kannattaa mÃ¤Ã¤ritellÃ¤ uusi komento, vaikkapa nimellÃ¤
\komentox{huomautus}, jota kÃ¤yttÃ¤mÃ¤llÃ¤ marginaalihuomautukset saa
helposti yhdenmukaiseksi. Seuraavassa on esimerkki tÃ¤llaisen komennon
mÃ¤Ã¤rittelystÃ¤:

\komentoi{newcommand}
\komentoi{marginpar}
\komentoi{sffamily}
\komentoi{scriptsize}
\komentoi{RaggedRight}
\begin{koodilohkosis}
\newcommand{\huomautus}[1]{%
  \marginpar{\sffamily\scriptsize\RaggedRight #1}}
\end{koodilohkosis}

\noindent
Omien komentojen mÃ¤Ã¤rittelyÃ¤ kÃ¤sitellÃ¤Ã¤n tarkemmin luvussa
\ref{luku/komennot} ja fonttiasetuksia luvussa~\ref{luku/kirjaintyypit}.
EdellÃ¤ olevassa komennon mÃ¤Ã¤rittelyssÃ¤ on mukana myÃ¶s palstan muotoon
vaikuttava komento \komento{RaggedRight}, josta on lisÃ¤tietoa luvussa
\ref{luku/kappaleen-tasaus}.

Sivun marginaalissa olevan huomautuspalstan leveys voidaan mÃ¤Ã¤rittÃ¤Ã¤
sivun asetusten yhteydessÃ¤. Asetuksia hoitavan \pakettictan{geometry}\-/
paketin valitsimella \koodi{marginparwidth} asetetaan palstan leveys ja
valitsimella \koodi{marginparsep} palstan etÃ¤isyys leipÃ¤tekstistÃ¤.
Valitsimella \koodi{reversemarginpar} siirretÃ¤Ã¤n marginaalihuomautukset
pÃ¤invastaiseen marginaaliin. NÃ¤itÃ¤ ja muitakin sivun asetuksia
kÃ¤sitellÃ¤Ã¤n luvussa~\ref{luku/sivuasetukset}.

EdellÃ¤ mainittuja asetuksia voi muuttaa myÃ¶s kesken dokumentin. Mitta
\mitta{marginparwidth} mÃ¤Ã¤rittÃ¤Ã¤ marginaalihuomautuspalstan leveyden ja
mitta \mitta{marginparsep} palstan etÃ¤isyyden leipÃ¤tekstistÃ¤. LisÃ¤ksi on
mitta \mitta{marginparpush}, jolla asetetaan perÃ¤kkÃ¤isten
marginaalihuomautusten vÃ¤himmÃ¤isetÃ¤isyys toisistaan. Seuraavassa on
esimerkki nÃ¤iden mittojen asettamisesta:

\komentoi{setlength}
\mittai{marginparwidth}
\mittai{marginparsep}
\mittai{marginparpush}
\begin{koodilohkosis}
\setlength{\marginparwidth}{50bp}
\setlength{\marginparsep}  {10bp}
\setlength{\marginparpush}  {6bp}
\end{koodilohkosis}

\noindent
Kesken dokumentin komennolla \komento{reversemarginpar} voidaan vaihtaa
marginaalihuomautukset vastakkaiseen marginaaliin ja komennolla
\komento{normalmarginpar} palautetaan oletusasetukset.

Marginaalihuomautuksen ensimmÃ¤isen rivin peruslinja sijoittuu oletuksena
samalle kohdalle kuin rivi, jolla \komento{marginpar}\-/ komento
sijaitsee. Huomautukset ovat kuitenkin ovat jossain mÃ¤Ã¤rin leijuvia, eli
samaan kohtaan sattuvat huomautukset ladotaan allekkain, ja niiden
vÃ¤lissÃ¤ on mitan \mitta{marginparpush} suuruinen pystysuuntainen tila.

Valitettavasti Latex ei osaa aina latoa marginaalihuomautuksia
siististi. Esimerkiksi sivun lopussa oleva monirivinen huomautus saattaa
sijoittua ikÃ¤vÃ¤n alas alamarginaaliin. Parempi olisi latoa se
kokonaisena seuraavan sivun alkuun. Sivun loppuun sattuva
\komento{marginpar}\-/ komento saattaa myÃ¶s aiheuttaa kaksipuolisessa
asettelussa (luku \ref{luku/sivun-mitat}) sen, ettÃ¤ huomautus ladotaan
seuraavalle sivulle mutta vÃ¤Ã¤rÃ¤Ã¤n marginaaliin -- ei siis aukeaman
ulkomarginaaliin, kuten yleensÃ¤ pitÃ¤isi. KÃ¤ytÃ¤nnÃ¶ssÃ¤ kirjoittaja ei voi
luottaa siihen, ettÃ¤ huomautukset ladotaan aina tyylikkÃ¤Ã¤sti, vaan
lopputulosta tÃ¤ytyy vÃ¤hÃ¤n tarkkailla.

Vaihtoehto Latexin omille marginaalihuomautukselle on
\pakettictan{marginnote}\-/ paketin komento \komento{marginnote}. Se ei
tee leijuvia huomautuksia, vaan huomautus ladotaan juuri siihen kohtaan
kuin missÃ¤ komento sijaitsee. Kirjoittaja voi siis tarkemmin vaikuttaa
huomautuksen sijoitteluun. Toisaalta komennosta puuttuu samaan kohtaan
sattuvien huomautuksen automaattinen sijoittaminen allekkain, eli
huomautukset voivat sijoittua myÃ¶s toistensa pÃ¤Ã¤lle.
\komento{marginnote}\-/ komennon etuna on se, ettÃ¤ sitÃ¤ voi kÃ¤yttÃ¤Ã¤
leijuvien osien sisÃ¤llÃ¤ (luku \ref{luku/leijuosat}) ja alaviitteissÃ¤kin
(luku \ref{luku/alaviitteet}). Paketin ohjekirjassa kerrotaan muutamasta
hyÃ¶dyllisestÃ¤ huomautusten sijoitteluun vaikuttavasta asetuksesta.

\subsection{Anfangit eli suurikokoiset alkukirjaimet}

\lettrine[lines=3, loversize=.06, lhang=.02, findent=-5bp, nindent=4bp,
slope=4bp]{A}{nfangit} ovat suurikokoisia tekstin alkukirjaimia.
Tyypillisesti kirjaimen korkeus on kahdesta viiteen riviÃ¤ ja se
upotetaan kappaleen sisÃ¤Ã¤n. Joskus anfangi sijoitetaan kokonaan
marginaalin puolelle tai se sijaitsee normaalisti tekstin peruslinjalla.
Anfangikirjain voidaan latoa erilaisella kirjainleikkauksella kuin
leipÃ¤teksti. Esimerkiksi vanhassa ja vanhantyylisessÃ¤ typografiassa
anfangiin voi sopia erityisen koristeellinen kirjain.

\medbreak

\lettrine[lines=2, lhang=1, nindent=0bp]{E\hspace{1.5bp}}{dellÃ¤
  olevaan}, tÃ¤hÃ¤n ja seuraavaan tekstikappaleeseen anfangit sopivat
huonosti, eikÃ¤ niitÃ¤ tavallisesti kÃ¤ytetÃ¤ kirjan alalukujen alussa eikÃ¤
vÃ¤liotsikon jÃ¤lkeen. TÃ¤ssÃ¤ ne ovatkin vain esimerkin vuoksi. Anfangien
kÃ¤ytÃ¶n varsinainen tarkoitus on osoittaa tekstin alkamiskohta
esimerkiksi artikkelin alussa tai kirjan pÃ¤Ã¤lukujen alussa. Varsinkin
aikakauslehden artikkelit sisÃ¤ltÃ¤vÃ¤t monenlaisia visuaalisia elementtejÃ¤
kuten pÃ¤Ã¤- ja alaotsikon, erillisen johdantokappaleen eli ingressin,
kuvia ja tietolaatikoita. Anfangin avulla katse lÃ¶ytÃ¤Ã¤ artikkelin alun
helposti.

\lettrine[lines=1, loversize=.1, lhang=.02, findent=1.5bp]{K}{appaleen
  aloittava sana} tai pidempikin ilmaus ladotaan joskus lihavoidulla
kirjainleikkauksella tai pienversaalilla, kuten nÃ¤issÃ¤ esimerkeissÃ¤ on
tehty. TÃ¤llainen kappaleen aloitus voi toimia hieman otsikon tavoin tai
sitten muuten vain ilmaisee uuden luvun alkamista.

Latexissa anfangien tekemistÃ¤ varten on paketti \pakettictan{lettrine},
joka tarjoaa kÃ¤yttÃ¶Ã¶n samannimisen komennon. Jokainen anfangi on
erilainen, ja siksi \komento{lettrine}\-/ komentokin sisÃ¤ltÃ¤Ã¤ useita
asetuksia anfangin ulkoasun hienosÃ¤Ã¤tÃ¶Ã¶n. Komentoa kÃ¤ytetÃ¤Ã¤n seuraavalla
tavalla:

\komentoi{lettrine}
\begin{koodilohkosis}
\lettrine[lines=3, loversize=.06, lhang=.02, findent=-5bp,
  nindent=4bp, slope=4bp]{A}{nfangi} aloittaa tÃ¤mÃ¤n tekstikappaleen.
\end{koodilohkosis}

\noindent
EdellÃ¤ oleva esimerkki tekee kolmerivisen upotetun A\-/anfangin, jonka
perÃ¤ssÃ¤ oleva sanan osa \emph{nfangi} ladotaan pienversaalilla.
Valitsimella \koodi{lover\-size} kasvatetaan hieman anfangikirjaimen
kokoa, ja \koodi{lhang}\-/ valitsimella siirretÃ¤Ã¤n kirjainta hieman
vasemmalle marginaalin puolelle. Valitsin \koodi{findent} mÃ¤Ã¤rittÃ¤Ã¤
anfangikirjaimen rinnalla olevien rivien sisennyksen mÃ¤Ã¤rÃ¤n suhteessa
kirjaimeen. \koodi{nindent} mÃ¤Ã¤rittÃ¤Ã¤ toisen ja sitÃ¤ seuraavien rivien
sisennyksen suhteessa ensimmÃ¤iseen riviin, ja \koodi{slope} mÃ¤Ã¤rittÃ¤Ã¤
sisennysportaan, joka kertautuu joka rivillÃ¤ kolmannesta rivistÃ¤ alkaen.
NÃ¤illÃ¤ asetuksilla saadaan A\-/kirjaimen viistoa reunaa mukailevat
rivien alut.

Ennen \paketti{lettrine}\-/paketin kÃ¤yttÃ¤mistÃ¤ kannattaa lukea paketin
ohjekirjasta tietoa \komento{lettrine}\-/ komennon valitsimista ja myÃ¶s
teknisistÃ¤ rajoituksista. Anfangit eivÃ¤t toimi Latexissa teknisesti joka
paikassa -- ja typografisesti vielÃ¤ harvemmassa.

\section{Tekstin korostaminen}
\label{luku/korostus}

Tekstin yksittÃ¤isten sanojen korostukset toteutetaan tavallisimmin
siten, ettÃ¤ kÃ¤ytetÃ¤Ã¤n leipÃ¤tekstin kirjainperheestÃ¤ jotakin poikkeavaa
kirjainleikkausta, esimerkiksi \textit{kursiivia},
\textsl{kallistettua}, \textbf{lihavoitua} tai \textsc{pienversaalia}.
Joskus vaihdetaan koko kirjainperhe toiseksi, esimerkiksi ladotaan
\textrm{antiikvan} sekaan \textsf{groteskia} tai \texttt{tasalevyistÃ¤}.

Korostukset siis liittyvÃ¤t lÃ¤heisesti fonttien valintaan ja asetuksiin,
ja siksi korostusten teknistÃ¤ toteuttamista ja Latex\-/komentoja
kÃ¤sitellÃ¤Ã¤n pÃ¤Ã¤asiassa fonttien yhteydessÃ¤ luvussa
\ref{luku/fontit-korkea}. SiellÃ¤ muun muassa neuvotaan, kuinka
kirjainperheet ja niiden eri kirjainleikkaukset valitaan. Sen sijaan nyt
kÃ¤sillÃ¤ olevassa luvussa keskitytÃ¤Ã¤n tekstin korostamisen typografisiin
kÃ¤ytÃ¤ntÃ¶ihin ja suosituksiin. Joitakin uusia komentojakin esitellÃ¤Ã¤n.

TekstissÃ¤ sanoja korostetaan siksi, ettÃ¤ halutaan niiden erottuvan
ympÃ¤ristÃ¶stÃ¤Ã¤n. TÃ¤rkeÃ¤n avainsanan pitÃ¤Ã¤ ehkÃ¤ erottua tekstipalstasta
niin, ettÃ¤ sen huomaa nopeasti tekstiÃ¤ silmÃ¤ilemÃ¤llÃ¤. Se voi helpottaa
tiedon lÃ¶ytÃ¤mistÃ¤.

Sanoja tai ilmauksia korostetaan toisinaan myÃ¶s siksi, ettÃ¤ ne eivÃ¤t ole
kielen sanoja tavallisessa merkityksessÃ¤Ã¤n vaan lainauksia kielestÃ¤ tai
toisesta tekstityypistÃ¤. IhmiskieltÃ¤ kÃ¤sittelevissÃ¤ teksteissÃ¤ on
tavallista kursivoida sanat silloin, kun viitataan itse sanoihin eikÃ¤
varsinaisesti kÃ¤ytetÃ¤ kyseisiÃ¤ sanoja. Sanoihin ja muuhun kieliainekseen
viitatessa voi tosin kÃ¤yttÃ¤Ã¤ myÃ¶s lainausmerkkejÃ¤. Tietotekniikan
koodikielen esimerkit ladotaan usein leipÃ¤tekstistÃ¤ poikkeavalla
fontilla, jotta kÃ¤y selvÃ¤ksi, ettÃ¤ kyse on koodikielisestÃ¤ lainauksesta.
TÃ¤llÃ¶in hyvin tavallista on tasalevyisen fontin kÃ¤yttÃ¶, koska se
jÃ¤ljittelee tekstieditorien ja komentotulkkia suorittavien
pÃ¤Ã¤teohjelmien fonttia.

Sopivan korostustavan valinnassa on olennaista saavuttaa riittÃ¤vÃ¤
kontrasti ympÃ¤rÃ¶ivÃ¤Ã¤n tekstiin. Liian lievÃ¤ muutos ei erotu; toisaalta
liian rÃ¤ikeÃ¤ muutos voi olla hÃ¤iritsevÃ¤. Yhteensopivat korostuskeinot
saadaankin lÃ¤hes aina saman kirjainperheen sisÃ¤ltÃ¤, eri leikkauksia
kÃ¤yttÃ¤mÃ¤llÃ¤.

\subsection{Kursiivi, kallistus ja lihavointi}
\label{luku/peruskorostukset}

Antiikvatyyppisen kirjainleikkauksen korostamiseen sopii yleensÃ¤
parhaiten saman perheen \textit{kursiivi} (\komento{textit}).
Lihavointi toimii huonommin antiikvan kanssa, koska pelkkÃ¤ merkkien
viivojen vahvistaminen ei tuo riittÃ¤vÃ¤Ã¤ kontrastia.

\begin{tulossis}
  \rmfamily Antiikvaperheen \textit{kursiivileikkaus} tuo yleensÃ¤
  voimakkaan muotokontrastin ja on tyylillisesti yhteensopiva
  korostuskeino. Sen sijaan \textbf{lihavointi} erottuu antiikvassa
  huonommin.
\end{tulossis}

\noindent
\textbf{Lihavointi} (\komento{textbf}) toimii huomattavasti paremmin
groteskityyppisen kirjainperheen kanssa, koska lihavoitu leikkaus on
usein selvÃ¤sti vahvempi normaaliin verrattuna. Groteskin kursiivi sen
sijaan ei monesti edes ole varsinainen kursiivileikkaus vaan pelkkÃ¤
lievÃ¤ kallistus (\komento{textsl}). Sellainen ei vÃ¤lttÃ¤mÃ¤ttÃ¤ tuo
riittÃ¤vÃ¤Ã¤ muotokontrastia.\footnote{Joissakin niin sanotuissa
  humanistisissa groteskiperheissÃ¤ on mukana ihan kÃ¤yttÃ¶kelpoinen ja
  selvÃ¤sti erottuva kursiivileikkaus.}

\begin{tulossis}
  \sffamily Groteskia on tavallista korostaa \textbf{lihavoinnilla} eli
  leikkauksella, joka on selvÃ¤sti tavallista vahvempi. Sen sijaan
  \textit{kursiivi} tai \textsl{kallistus} ei kaikissa groteskiperheissÃ¤
  erotu riittÃ¤vÃ¤sti.
\end{tulossis}

\noindent
Joissakin kirjainperheissÃ¤ on mukana useita erivahvuisia leikkauksia.
Silloin tÃ¤ytyy valita kÃ¤yttÃ¶Ã¶n riittÃ¤vÃ¤sti toisistaan poikkeavat
vahvuudet. Esimerkiksi kaksi vierekkÃ¤istÃ¤ vahvuutta eivÃ¤t vÃ¤lttÃ¤mÃ¤ttÃ¤
poikkea toisistaan riittÃ¤vÃ¤sti, eikÃ¤ selvÃ¤Ã¤ vahvuuskontrastia synny.

MikÃ¤li leipÃ¤tekstissÃ¤ kÃ¤ytetÃ¤Ã¤n sulkeita ja niiden sisÃ¤llÃ¤ kursivoitua
ilmausta (\textit{kuten tÃ¤ssÃ¤}), ei itse suljemerkkejÃ¤ pidÃ¤ kursivoida,
koska ne kuuluvat ulompaan tekstiin. Jos sulkeiden ulkopuolellakin on
voimassa kursivointi, voi itse sulkeetkin kursivoida.

Latexissa kursiivin voi toteuttaa myÃ¶s komennolla \komento{emph}, joka
huomioi ympÃ¤rillÃ¤ olevan korostustilan. Tavallisesti komento kursivoi
argumentiksi annetun tekstin, mutta jos kursivointi on jo pÃ¤Ã¤llÃ¤
komennon ympÃ¤rillÃ¤, se latookin argumentiksi annetun tekstin
tavallisella pystyasentoisella kirjainleikkauksella. Komennon ajatuksena
on, ettÃ¤ voidaan samalla komennolla korostaa sekÃ¤ pystyasentoisen
tekstin ettÃ¤ kursiivin keskellÃ¤, eikÃ¤ tarvitse vÃ¤littÃ¤Ã¤ tai tietÃ¤Ã¤,
kumpi leikkaus on voimassa.

\komentoi{emph}
\begin{koodilohkosis}
tavallinen \emph{korostettu} tavallinen \\
\emph{korostettu \emph{kaksoiskorostettu} korostettu}
\end{koodilohkosis}

\begin{tulossis}
  tavallinen \emph{korostettu} tavallinen \\
  \emph{korostettu \emph{kaksoiskorostettu} korostettu}
\end{tulossis}

\subsection{Pienversaali eli kapiteeli}
\label{luku/korostus-pienversaali}

Melko rauhallinen typografinen keino on \textsc{pienversaali} eli
kapiteeli (\komento{textsc}), jonka kirjaimet nÃ¤yttÃ¤vÃ¤t
versaalikirjaimilta mutta ovat suunnilleen gemenakirjainten eli pienten
kirjainten korkuisia. Pienversaali on fonttiin sisÃ¤ltyvÃ¤ erillinen
suunnittelijan piirtÃ¤mÃ¤ leikkaus, eli se ei ole tietokoneen mekaanisesti
pienentÃ¤mÃ¤ versio versaalikirjaimista.

Jos fonttiin ei sisÃ¤lly pienversaalia ja sellaisen silti haluaa omaan
keinovalikoimaansa, voi yrittÃ¤Ã¤ vÃ¤hemmÃ¤n tyylikÃ¤stÃ¤ mekaanista
toteutusta luvussa \ref{luku/fontit-keinopienversaali} kerrotuilla
asetuksilla. Luvuissa \ref{luku/fontit-vÃ¤listys} ja
\ref{luku/korostus-harvennus} puolestaan kÃ¤sitellÃ¤Ã¤n merkkivÃ¤lien
{\scshape\addfontfeatures{LetterSpace=6} harvennusta}, joka voi
maltillisesti kÃ¤ytettynÃ¤ sopia pienversaaleihin.

Korostustarkoituksessa pienversaalia kÃ¤ytetÃ¤Ã¤n esimerkiksi pienissÃ¤
vÃ¤liotsikoissa, koska sen avulla syntyy selvÃ¤ muotokontrasti
leipÃ¤tekstin kanssa. Toisinaan tekstikappaleen ensimmÃ¤isiÃ¤ sanoja
ladotaan pienversaalilla, jolloin se toimii otsikon kaltaisessa
tehtÃ¤vÃ¤ssÃ¤. MyÃ¶s kirjallisuus\-/{} ja lÃ¤hdeluetteloissa kÃ¤ytetÃ¤Ã¤n
vÃ¤lillÃ¤ pienversaalia tekijÃ¶iden nimissÃ¤, koska se helpottaa nimen
mukaan aakkostetun luettelon silmÃ¤ilyÃ¤.

Pienversaalia kÃ¤ytetÃ¤Ã¤n toisinaan versaalikirjainten sijasta. Silloin
tarkoituksena ei ole tekstin korostamiseen vaan pÃ¤invastoin hÃ¤iritsevÃ¤n
korostuksen vÃ¤lttÃ¤minen. Esimerkiksi versaalikirjaimiset lyhenteet (SPR,
HTML) voivat paljon kÃ¤ytettynÃ¤ erottua leipÃ¤tekstistÃ¤ ikÃ¤vÃ¤n selvÃ¤sti,
eikÃ¤ tekstipalsta nÃ¤ytÃ¤ tasaiselta. Pienversaalit sulautuvat muuhun
tekstiin paremmin (\textsc{spr}, \textsc{html}).

Typografisesta estetiikasta juontuu sekin, ettÃ¤ pienversaali on sopiva
pari gemenanumeroiden kanssa erilaisiin teknisiin koodeihin ja muihin
ilmauksiin, jotka koostuvat kirjaimista ja numeroista. Sen sijaan
versaalikirjaimia ja gemenanumeroita ei sovi kÃ¤yttÃ¤Ã¤ yhdessÃ¤, koska
merkkien kokoero on hÃ¤iritsevÃ¤n suuri. Kuten taulukosta
\ref{tlk/versaali-pienversaali-vertailu} nÃ¤kyy, versaalit ovat joskus
miltei kaksinkertaisia gemenanumeroihin verrattuna, ja muutenkin
gemenanumerot asettuvat keskimÃ¤Ã¤rin eri korkeustasolle.

\leijutlk{
  \setlength{\tabcolsep}{3bp}
  \renewcommand{\arraystretch}{1.2}
  \begin{tabular}{llll}
    \toprule
    &amp; \multicolumn{2}{l}{\ots{Esimerkit}}
    &amp; \ots{Kirjainten ja numeroiden muoto} \\
    \midrule
    \otsrivi{VÃ¤Ã¤rin:}
    &amp; {\gemenanum ISO-8859-1}
    &amp; {\gemenanum 2012 a.D.}
    &amp; versaalikirjaimet ja gemenanumerot \\
    \otsrivi{Oikein:}
    &amp; {\gemenanum\scshape iso-8859-1}
    &amp; {\gemenanum\scshape 2012 a.d.}
    &amp; pienversaalikirjaimet ja gemenanumerot \\
    \otsrivi{Oikein:}
    &amp; {\versaalinum ISO-8859-1}
    &amp; {\versaalinum 2012 A.D.}
    &amp; versaalikirjaimet ja versaalinumerot \\
    \bottomrule
  \end{tabular}
}{
  \caption{Versaalikirjainten, pienversaalin sekÃ¤ gemena\-/\ ja
    versaalinumeroiden vertailua. Versaalikirjaimet ja gemenanumerot
    eivÃ¤t sovi yhteen}
  \label{tlk/versaali-pienversaali-vertailu}
}

Fontin nÃ¤kÃ¶kulmasta gemenanumerot ovat erillinen ominaisuus, jonka
fontin suunnittelija on toteuttanut. Ominaisuuden kÃ¤yttÃ¶Ã¶nottoa ja muita
numeroihin liittyviÃ¤ fonttiasetuksia kÃ¤sitellÃ¤Ã¤n luvussa
\ref{luku/fontit-numerot}.

\subsection{Alleviivaus ja yliviivaus}

Alleviivaus on kÃ¤sin kirjoitetun tekstin ja mekaanisten
kirjoituskoneiden korostuskeino, mutta nykyajan typografiaan se ei
oikeastaan sovi. Alleviivaus nimittÃ¤in vaikeuttaa kirjainhahmojen
tunnistamista ja hidastaa lukemista. Parempia korostuskeinoja ovat
esimerkiksi kursiivi ja lihavointi. Alleviivaus voi kuitenkin joskus
olla kÃ¤tevÃ¤ keino ohjata lukijan huomio tiettyyn kohtaan esimerkiksi
pidemmÃ¤ssÃ¤ esimerkkitekstissÃ¤.

Latexin oma alleviivauskomento \komento{underline} piirtÃ¤Ã¤ viivan
tekstin tai muun argumentiksi annetun sisÃ¤llÃ¶n alapuolelle. Komennon
huono puoli on, ettÃ¤ erilliset alleviivaukset eivÃ¤t vÃ¤lttÃ¤mÃ¤ttÃ¤ osu
samalle korkeudelle. Seuraavassa esimerkissÃ¤ toisen sanan alleviivaus on
alempana j- ja y\=/kirjainten alapidennyksen vuoksi.

\komentoi{underline}
\begin{koodilohkosis}
\underline{kone}, \underline{Ã¶ljy}
\end{koodilohkosis}

\begin{tulossis}
  \underline{kone}, \underline{Ã¶ljy}
\end{tulossis}

\noindent
Toinen \komento{underline}\-/ komennon ongelma on, ettÃ¤ se estÃ¤Ã¤ sanojen
tavuttamisen ja muutenkin tekstin katkaisemisen rivin lopussa. Komennon
argumentiksi annettua tekstiÃ¤ ei katkaista edes sanavÃ¤lien kohdalta.
Komennon hyvÃ¤ puoli on, ettÃ¤ se toimii myÃ¶s matematiikkatilassa
(luku~\ref{luku/matematiikka}).

KÃ¤ytÃ¤nnÃ¶ssÃ¤ alleviivaukset on parempi toteuttaa esimerkiksi paketin
\pakettictan{ulem} avulla. Tavallisen alleviivauksen lisÃ¤ksi se sisÃ¤ltÃ¤Ã¤
kaksoisalleviivauksen, aaltoviivat, pisteviivat ja erilaisia
ylikirjoitusmerkintÃ¶jÃ¤. Taulukkoon \ref{tlk/ulem} on koottu paketin
sisÃ¤ltÃ¤miÃ¤ komentoja.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\komento{#1} &amp; #2}
  \renewcommand{\arraystretch}{1.2}
  \begin{tabular}{llll}
    \toprule
    \ots{Komento}
    &amp; \ots{Merkitys} &amp; \ots{Komento} &amp; \ots{Merkitys} \\
    \cmidrule(r){1-2}
    \cmidrule(l){3-4}
    \rivi{uline}{\uline{alleviivaus}}
    &amp; \rivi{uuline}{\uuline{kaksoisalleviivaus}} \\
    \rivi{uwave}{\uwave{aaltoviiva}}
    &amp; \rivi{sout}{\sout{yliviivaus}} \\
    \rivi{dashuline}{\dashuline{katkoviiva}}
    &amp; \rivi{xout}{\xout{poisto}} \\
    \rivi{dotuline}{\dotuline{pisteviiva}} \\
    \bottomrule
  \end{tabular}
}{
  \caption{Alleviivaus- ja ylikirjoitusmerkintÃ¶jÃ¤ \paketti{ulem}\-/
    paketin komentojen avulla}
  \label{tlk/ulem}
}

Oletuksena \paketti{ulem}\-/ paketti mÃ¤Ã¤rittelee Latexin
\komento{emph}\-/ korostuskomennon (luku \ref{luku/peruskorostukset})
uudelleen siten, ettÃ¤ komento tuottaa kursiivin sijasta alleviivattua
tekstiÃ¤. Ajatuksena lienee se, ettÃ¤ paketin avulla voi helposti muuttaa
typografisen peruskorostusten eli kursiivin tilalle kirjoituskoneen
korostustavan eli alleviivauksen. KÃ¤ytÃ¤nnÃ¶ssÃ¤ tÃ¤llaista tuskin halutaan
koskaan, ja onneksi paketin lataamisen yhteydessÃ¤ voi kÃ¤yttÃ¤Ã¤ valitsinta
\koodi{nor\-mal\-em}, joka estÃ¤Ã¤ Latexin komentojen uudelleen
mÃ¤Ã¤rittelyn.

\pakettii{ulem}
\komentoi{usepackage}
\begin{koodilohkosis}
\usepackage[normalem]{ulem}
\end{koodilohkosis}

\noindent
Paketin \paketti{ulem} myÃ¶tÃ¤ on kÃ¤ytettÃ¤vissÃ¤ mitta \mitta{ULdepth},
joka on alleviivauksen etÃ¤isyys tekstin peruslinjasta. Mitta asetetaan
\komento{setlength}\-/ komennolla (luku \ref{luku/mitat}). Viivan
paksuus puolestaan sisÃ¤ltyy komennon \komento{ULthickness} mÃ¤Ã¤ritelmÃ¤Ã¤n,
ja komennon voi halutessaan mÃ¤Ã¤ritellÃ¤ uudestaan. Seuraavassa on nÃ¤istÃ¤
esimerkki:

\komentoi{setlength}
\mittai{ULdepth}
\komentoi{renewcommand}
\komentoi{ULthickness}
\komentoi{uline}
\begin{koodilohkosis}
\setlength{\ULdepth}{.2ex}        % viivan etÃ¤isyys
\renewcommand{\ULthickness}{.1ex} % viivan paksuus
\uline{kone}, \uline{Ã¶ljy}
\end{koodilohkosis}

\begin{tulossis}
  \setlength{\ULdepth}{.2ex}
  \renewcommand{\ULthickness}{.1ex}
  \uline{kone}, \uline{Ã¶ljy}
\end{tulossis}

\noindent
Toinen paketti alleviivausten ja yliviivausten tekemiseen on
\pakettictan{soul}. Se ei sisÃ¤llÃ¤ erikoisempia korostustapoja kuten
aalto- ja katkoviivoja, mutta viivan etÃ¤isyyden ja paksuuden
mÃ¤Ã¤rittÃ¤miseen on hieman kÃ¤tevÃ¤mmÃ¤t komennot.

Tekstin alleviivauksen lisÃ¤ksi on olemassa pari komentoa, joilla saa
ladottua pelkÃ¤n viivan ilman tekstiÃ¤. Komento \komento{hrulefill} latoo
kaiken tilan tÃ¤yttÃ¤vÃ¤n alaviivan ja komento \komento{dotfill} kaiken
tilan tÃ¤yttÃ¤vÃ¤n pisteviivan. MyÃ¶s \komento{rule}\-/ komento voi soveltua
alaviivojen toteuttamiseen. Komentoa kÃ¤sitellÃ¤Ã¤n erikoismerkkien
yhteydessÃ¤ luvussa \ref{luku/tarkkeet}.

\komentoi{hrulefill}
\komentoi{dotfill}
\komentoi{rule}
\begin{koodilohkosis}
abc \hrulefill\ abc \dotfill\ abc \rule[-.3ex]{5em}{.4bp} abc
\end{koodilohkosis}

\begin{tulossis}
  abc \hrulefill\ abc \dotfill\ abc \rule[-.3ex]{5em}{.4bp} abc
\end{tulossis}

\subsection{Harvennus ja tiivistys}
\label{luku/korostus-harvennus}

MerkkivÃ¤lien harventaminen on tyyli- tai korostuskeino, joka juontuu
antiikin roomalaisten kiveen hakatuista teksteistÃ¤. Historiansa vuoksi
harvennus sopii luontevimmin antiikvan eli pÃ¤Ã¤teviivallisen
kirjainperheen versaali\-/\ tai pienversaalikirjainten (luku
\ref{luku/korostus-pienversaali}) kanssa. Antiikin aikana
gemenakirjaimet eivÃ¤t olleet vielÃ¤ kÃ¤ytÃ¶ssÃ¤. TÃ¤ssÃ¤ alaluvussa
keskitytÃ¤Ã¤n harventamisen ja tiivistÃ¤misen typografiaan; teknisiÃ¤
ohjeita on luvussa \ref{luku/fontit-vÃ¤listys}.

\komentoi{large}
\komentoi{addfontfeatures}
\begin{koodilohkosis}
\large TAVALLINEN \\
{\addfontfeatures{LetterSpace=10} KLASSINEN HARVENNUS}
\end{koodilohkosis}

\begin{tulossis}
  \large
  TAVALLINEN \\
  {\addfontfeatures{LetterSpace=10} KLASSINEN HARVENNUS}
\end{tulossis}

\noindent
Klassisesti eli antiikin tyyliin harvennetut (n.~10\,\%)
versaalikirjaimet voivat sopia joihinkin otsikoihin. Sen sijaan
pienversaalit lievÃ¤sti {\addfontfeatures{LetterSpace=6}
  \textsc{harvennettuna}} (esim.~6\,\%) voivat olla tyylikÃ¤s
tehostuskeino leipÃ¤tekstiin.

EdellisiÃ¤ esimerkkejÃ¤ suurempi harvennus on huomiota herÃ¤ttÃ¤vÃ¤
korostus\-/\ tai tehokeino, joka voi sopia yksittÃ¤isiin sanoihin
leipÃ¤tekstin ulkopuolella. Jos kirjaimet ovat hyvinkin kaukana
toisistaan, tÃ¤ytyy sanan ympÃ¤rillÃ¤ olla runsaasti tyhjÃ¤Ã¤ tilaa, jotta
sanahahmo pysyy visuaalisesti koossa.

\komentoi{sffamily}
\komentoi{bfseries}
\komentoi{addfontfeatures}
\begin{koodilohkosis}
{\sffamily\bfseries\addfontfeatures{LetterSpace=40} SEIS!}
\end{koodilohkosis}

\begin{tulossis}
  {\sffamily\bfseries\addfontfeatures{LetterSpace=40} SEIS!}
\end{tulossis}

\noindent
MerkkivÃ¤lien tiivistÃ¤minen on joskus tarpeen suurikokoisissa otsikoissa.
Fontin merkkivÃ¤lit on ehkÃ¤ suunniteltu ensisijaisesti pienten kokojen
ehdoilla, ja siksi reilusti suuremmilla fonttiko'oilla vÃ¤lit voivat olla
hÃ¤iritsevÃ¤n suuria. Erityisesti tÃ¤mÃ¤ pÃ¤tee groteskiin eli
pÃ¤Ã¤teviivattomaan kirjainperheeseen, kuten kuva
\ref{kuva/otsikon-tiivistys} osoittaa. Antiikvat eivÃ¤t yleensÃ¤ siedÃ¤
tiivistÃ¤mistÃ¤, koska kirjainten pÃ¤Ã¤teviivat asettuvat helposti
pÃ¤Ã¤llekkÃ¤in.

\leijukuva{
  \sffamily\fontsize{50bp}{50bp}\selectfont
  Tavallinen \\
  \addfontfeatures{LetterSpace=-5} Tiivistetty
}{
  \caption{Otsikoiden merkkivÃ¤lien tiivistÃ¤minen voi olla tarpeen
    suurikokoisen groteskin kanssa -- varsinkin jos lihavointi ei ole
    kÃ¤ytÃ¶ssÃ¤}
  \label{kuva/otsikon-tiivistys}
}

\subsection{Tietokonekoodi ja tasalevyinen kirjainperhe}

Tietokonekoodi tai muu vastaava tekninen, koneelle syÃ¶tettÃ¤vÃ¤ tai koneen
tulostama koodi on tapana esittÃ¤Ã¤ \texttt{tasalevyisellÃ¤} fontilla.
KyseessÃ¤ on ikÃ¤Ã¤n kuin lainaus toisenlaisesta tekstityypistÃ¤, joka ei
ole luonnollista kieltÃ¤ lainkaan.

Tasalevyinen kirjainperhe mÃ¤Ã¤ritellÃ¤Ã¤n fonttiasetusten yhteydessÃ¤ (luku
\ref{luku/fontin-valinta}) ja valitaan kÃ¤yttÃ¶Ã¶n esimerkiksi komennolla
\komento{texttt}. TasalevyisellÃ¤ fontilla ladottava teksti on
tavallisesti tietokonekoodia, joten sille on asetettu hieman
toisenlaiset oletusasetukset kuin muille kirjainperheille. Oletuksena
tekstiÃ¤ ei tavuteta, ja esimerkiksi \komento{texttt}\-/ komennon
argumentiksi annettu teksti katkaistaan vain sanavÃ¤lien ja yhdysmerkkien
kohdalta. MyÃ¶s niin sanotut Tex\-/ligatuurit (esim. \koodi{''}
ja~\koodi{--}) on kytketty pois pÃ¤Ã¤ltÃ¤. Fonttien oletusasetuksia ja
niiden muuttamista kÃ¤sitellÃ¤Ã¤n luvussa
\ref{luku/fontit-oletusasetukset}. Tex\-/ligatuureja eli Texin
merkintÃ¤tapoja lainausmerkeille ja ajatusviivoille kÃ¤sitellÃ¤Ã¤n luvuissa
\ref{luku/lainausmerkit} ja \ref{luku/yhdys-ajatus-miinus}.

Toinen vaihtoehto tasalevyisen tekstin tuottamiseen on
\komento{verb}\-/ komento. Komennon nimi on lyhennetty englannin kielen
sanasta \englantik{verbatim}, joka tarkoittaa 'kirjaimellisesti' tai
'sananmukaisesti'. Niin se juuri toimiikin, eli \keno{verb}\-/
komennolle annettu argumentti tulkitaan kirjaimellisesti.
Tex\-/jÃ¤rjestelmÃ¤n omat merkintÃ¤tavat kuten kenoviivalla (\koodi{\keno})
alkavat komennot eivÃ¤t toimi tÃ¤mÃ¤n komennon argumentissa.

\komento{verb}\-/ komennon argumentti tÃ¤ytyy ilmaista tavallisesta
poikkeavalla tavalla. VÃ¤littÃ¶mÃ¤sti komennon nimen jÃ¤lkeen tuleva merkki
on oleva argumentin aloitus- ja lopetusmerkki. Niiden vÃ¤lissÃ¤ oleva
teksti tulkitaan kirjaimellisesti ja ladotaan tasalevyisellÃ¤
kirjainperheellÃ¤. Seuraavassa on tÃ¤stÃ¤ kaksi esimerkkiÃ¤:

\komentoi{verb}
\begin{koodilohkosis}
\verb.tasalevyinen.   % aloitus- ja lopetusmerkkinÃ¤ piste
\verb|tasalevyinen|   % aloitus- ja lopetusmerkkinÃ¤ pystyviiva
\end{koodilohkosis}

\begin{tulossis}
  \verb.tasalevyinen.
  \verb|tasalevyinen|
\end{tulossis}

\noindent
YksittÃ¤isiÃ¤ sanoja pidempien tietokonekoodien latomiseen on olemassa
\ymparisto{verbatim}\-/ ympÃ¤ristÃ¶, jonka sisÃ¤llÃ¤ kaikki teksti
tulkitaan kirjaimellisesti -- myÃ¶s vÃ¤lilyÃ¶nnit ja rivinvaihdot.

\ymparistoi{verbatim}
\begin{koodilohkosis}
\begin{verbatim}
tieto-       kone-
       koodia
\end{verbatim}
\end{koodilohkosis}

\begin{tulossis}
\begin{verbatim}
tieto-       kone-
       koodia
\end{verbatim}
\end{tulossis}

\noindent
Paljon monipuolisemman ympÃ¤ristÃ¶n tarjoaa paketti
\pakettictan{fancyvrb}. Sen mukana tuleva \ymparisto{Verbatim}\-/
ympÃ¤ristÃ¶ ymmÃ¤rtÃ¤Ã¤ monenlaisia asetuksia, joilla vaikutetaan
tietokonekoodin latomiseen. Koodiin saa mukaan esimerkiksi rivinumerot,
tai sen voi latoa kehyksen sisÃ¤Ã¤n. MyÃ¶s koodin sisennykseen, fontin
kokoon ja vÃ¤reihin voi vaikuttaa.

\subsection{Verkko-osoitteet}

Verkko\-/osoitteiden eli internetin linkkien latominen voi olla
pienoinen typografinen ongelma: osoitteet ovat pitkiÃ¤, eivÃ¤tkÃ¤ ne
sisÃ¤llÃ¤ vÃ¤lilyÃ¶ntejÃ¤, joista ne voisi luontevasti katkaista rivin
vaihtumisen kohdalla. Tavuviivojen lisÃ¤Ã¤minen rivin loppuun voi olla
ongelmallista, koska kyse on teknisestÃ¤ merkkijonosta, joka pitÃ¤isi
tulkita kirjaimellisesti.

Parasta olisi latoa verkko\-/osoitteet leipÃ¤teksti ulkopuolelle,
esimerkiksi sivun alareunaan alaviitteeksi (luku
\ref{luku/alaviitteet}). TÃ¤llÃ¤ tavoin pitkÃ¤t ja joskus rumat osoitteet
eivÃ¤t hÃ¤iritse leipÃ¤tekstin lukemista mutta ovat silti lukijan
saatavilla.

Latexissa verkko\-/osoitteet kannattaa toteuttaa siihen tarkoitetun
paketin avulla. Paketti \pakettictan{hyperref} sisÃ¤ltÃ¤Ã¤ toimintoja
paitsi verkko\-/ osoitteiden latomiseen mutta myÃ¶s pdf\-/tiedoston
asetusten (luku \ref{luku/pdf-asetukset}) ja ristiviitteiden (luku
\ref{luku/ristiviitteet}) hallintaan. Paketin avulla valmiin pdf\-/
tiedoston verkkolinkit toimivat, eli pdf\-/ lukijassa linkkiÃ¤
napsauttamalla pitÃ¤isi avautua verkkoselain ja linkin osoittama sivu.

Paketin kÃ¤yttÃ¤misen typografinen hyÃ¶ty on se, ettÃ¤ rivin vaihdon
kohdalle sattuvat verkko\-/ osoitteet katkaistaan automaattisesti
luontevista kohdista eli vain tiettyjen vÃ¤limerkkien jÃ¤lkeen.
Tavuviivoja ei lisÃ¤tÃ¤ rivin loppuun. MyÃ¶s typografiset ligatuurit (luku
\ref{luku/typo-liga}) kytketÃ¤Ã¤n pois pÃ¤Ã¤ltÃ¤.

\paketti{hyperref}\-/paketin ohjekirja neuvoo lataamaan paketin
viimeisenÃ¤ eli muiden pakettien lataamisen jÃ¤lkeen, koska se
muokkaa joidenkin muualla mÃ¤Ã¤riteltyjen komentojen ominaisuuksia.

\komentoi{usepackage}
\pakettii{hyperref}
\komentoi{hypersetup}
\komentoi{urlstyle}
\begin{koodilohkosis}
\usepackage{hyperref}  % paketin lataaminen
\hypersetup{hidelinks} % linkeistÃ¤ pois kehykset
\urlstyle{same}        % linkkien fontti
\end{koodilohkosis}

\noindent
Edellisen esimerkin komennolla \komento{hypersetup} vaikutetaan
paketin asetuksiin. Oletuksena esimerkiksi linkkien ympÃ¤rille
ladotaan vÃ¤rilliset kehykset, mutta valitsin \koodi{hide\-links} poistaa
ne. Valitsimella \koodi{url\-color} voisi vaihtaa verkko\-/osoitteiden
kehyksen vÃ¤riÃ¤.

Esimerkin seuraava komento \komento{urlstyle} mÃ¤Ã¤rittÃ¤Ã¤, mitÃ¤
kirjainperhettÃ¤ kÃ¤ytetÃ¤Ã¤n verkko\-/ osoitteiden latomiseen. Komennon
argumentti \koodi{same} tarkoittaa, ettÃ¤ kÃ¤ytetÃ¤Ã¤n samaa kirjainperhettÃ¤
kuin ympÃ¤rillÃ¤ olevassa tekstissÃ¤. Tietty kiinteÃ¤ kirjainperhe valitaan
\komento{urlstyle}\-/ komennon argumentilla \koodi{rm} (antiikva,
roman), \koodi{sf} (groteski, sans serif) tai \koodi{tt} (tasalevyinen).
Oletusasetus on tasalevyinen kirjainperhe.

Verkko\-/ osoitteiden ilmaisemisen peruskomento on \komento{href},
jolle annetaan kaksi pakollista argumenttia: ensimmÃ¤inen on varsinainen
osoite ja toinen on dokumenttiin ladottava teksti. Linkin teksti voi
siis olla mitÃ¤ hyvÃ¤nsÃ¤ tekstiÃ¤, ja pdf\-/ lukijassa tekstiÃ¤
napsauttamalla linkin osoittama sivusto avautuu.

\komentoi{href}
\begin{koodilohkosis}
\href{https://www.ctan.org/}{CTAN-sivusto}
\end{koodilohkosis}

\begin{tulossis}
  \href{https://www.ctan.org/}{CTAN-sivusto}
\end{tulossis}

\noindent
Kun halutaan latoa dokumenttiin itse verkko\-/osoite, kÃ¤ytetÃ¤Ã¤n komentoa
\komento{url}, joka osaa katkaista osoitteet jÃ¤rkevÃ¤llÃ¤ tavalla rivin
lopussa. Komennolle annetaan vain yksi argumentti, verkko\-/osoite.

\komentoi{url}
\begin{koodilohkosis}
\url{https://www.ctan.org/}
\end{koodilohkosis}

\begin{tulossis}
  \url{https://www.ctan.org/}
\end{tulossis}

\noindent
Joskus dokumenttiin voidaan tarvita verkko\-/osoite, joka ei ole pdf:ssÃ¤
napsautettava linkki. Silloin kÃ¤ytetÃ¤Ã¤n komentoa \komento{nolinkurl}.
TÃ¤mÃ¤n komennon argumenttina oleva verkko\-/osoite ainoastaan ladotaan
osoitteiden tavoin.

LinkkinÃ¤ toimivien sÃ¤hkÃ¶postiosoitteiden latominen vaatii
\komento{href}- ja \komento{nolinkurl}\-/ komentojen yhdistÃ¤mistÃ¤.
Linkin alkuun tÃ¤ytyy lisÃ¤tÃ¤ sana \koodi{mailto:}, mutta tuota sanaa
tuskin halutaan nÃ¤kyviin itse dokumenttiin. NiinpÃ¤ sÃ¤hkÃ¶postiosoite
kannattaa kirjoittaa seuraavalla tavalla:

\komentoi{href}
\komentoi{nolinkurl}
\begin{koodilohkosis}
\href{mailto:tunnus@osoite.net}{\nolinkurl{tunnus@osoite.net}}
\end{koodilohkosis}

\noindent
Osoite pitÃ¤Ã¤ siis kirjoittaa kaksi kertaa: itse linkkiÃ¤ varten ja
dokumenttiin ladottavaa tekstiÃ¤ varten. Omaa tyÃ¶tÃ¤ kannattaa helpottaa
mÃ¤Ã¤rittelemÃ¤llÃ¤ sÃ¤hkÃ¶postiosoitteita varten oma komento, esimerkiksi
seuraavalla tavalla:

\komentoi{newcommand}
\komentoi{href}
\komentoi{nolinkurl}
\begin{koodilohkosis}
\newcommand{\sposti}[1]{\href{mailto:#1}{\nolinkurl{#1}}}
\end{koodilohkosis}

\subsection{VÃ¤rit}

Eri vÃ¤rien kÃ¤yttÃ¶ voi sopia tekstin erilaisten osien korostamiseen.
Esimerkiksi otsikot (luku \ref{luku/otsikot}), taulukot (luku
\ref{luku/taulukot}) tai leijuvat osat (luku \ref{luku/leijuosat}) saa
erottumaan selvemmin, kun niiden toteutuksessa kÃ¤yttÃ¤Ã¤ vÃ¤rejÃ¤. Sen
sijaan leipÃ¤tekstissÃ¤ vÃ¤rejÃ¤ kannattaa kÃ¤yttÃ¤Ã¤ hillitymmin, sillÃ¤
vÃ¤rikÃ¤s tekstipalsta nÃ¤yttÃ¤Ã¤ rauhattomalta. Katse voi hakeutua
poikkeavan vÃ¤risiin osiin liian helposti, mikÃ¤ hidastaa lukemista.
VÃ¤rien kÃ¤sittelyn tekniikkaa kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/vÃ¤rit} ja
sivun taustavÃ¤riÃ¤ luvussa \ref{luku/sivun-vÃ¤ri}.

TÃ¤mÃ¤n oppaan leipÃ¤tekstissÃ¤ on kÃ¤ytetty vÃ¤rejÃ¤ Latexin komentojen ja
muiden rakenteiden ilmaisemiseen, esimerkiksi \komentox{komento},
\ymparistox{ympÃ¤ristÃ¶} ja \mittax{mitta}. VÃ¤risÃ¤vyt on melko tummia,
jotta mustaa tekstiÃ¤ sisÃ¤ltÃ¤vÃ¤ tekstipalsta nÃ¤yttÃ¤isi verrattain
tasaiselta eikÃ¤ katse kiinnittyisi vÃ¤rillisiin kohtiin kovin helposti.
Samanlaista ajatusta kannattanee toteuttaa muidenkin elementtien
vÃ¤rittÃ¤misessÃ¤.

\section{Sivunvaihdot ja sivujen tasaaminen}
\label{luku/sivunvaihdot}

Kirjoittajan ei normaalisti tarvitse huolehtia sivun vaihtumisesta
lainkaan, vaan jÃ¤rjestelmÃ¤ pyrkii latomaan hyvÃ¤nnÃ¤kÃ¶isiÃ¤ sivuja
automaattisesti. VÃ¤lillÃ¤ tietenkin halutaan aloittaa jokin uusi aihe
puhtaalta sivulta, ja sitÃ¤ varten Latexissa on muutama komento.
Mainittakoon kuitenkin heti aluksi, ettÃ¤ otsikoiden yhteyteen saa
sivunvaihdon kÃ¤tevimmin keinoilla, jotka neuvotaan otsikoiden yhteydessÃ¤
luvussa \ref{luku/otsikot-ulkoasu}.

Komento \komento{clearpage} vaihtaa sivua, eli komennon jÃ¤lkeinen
dokumentin osa alkaa aina puhtaalta sivulta. LÃ¤hes samanlainen komento
on \komento{cleardoublepage}, joka kaksipuolisessa dokumentissa
aloittaa uuden sisÃ¤llÃ¶n aina parittomilta sivuilta. Jos seuraavana ei
satu olemaan pariton sivu, komento tekee vÃ¤liin tyhjÃ¤n sivun. TÃ¤tÃ¤
ominaisuutta on kÃ¤ytetty tÃ¤ssÃ¤ oppaassa: pÃ¤Ã¤luvut alkavat aina
oikeanpuoleiselta eli parittomalta sivulta.

\komento{cleardoublepage}\-/komennon aiheuttamalle tyhjÃ¤lle sivulle
saatetaan kuitenkin latoa ylÃ¤- ja alatunnisteet, jos sellaiset on
mÃ¤Ã¤ritelty (luku \ref{luku/ylÃ¤-ala-tunnisteet}). TÃ¤ysin tyhjÃ¤n sivun saa
kÃ¤yttÃ¤mÃ¤llÃ¤ apuna pakettia \pakettictan{titlesec} ja sen valitsinta
\koodi{clear\-empty}:

\komentoi{usepackage}
\pakettii{titlesec}
\begin{koodilohkosis}
\usepackage[clearempty]{titlesec}
\end{koodilohkosis}

\noindent
EdellÃ¤ mainittu \paketti{titlesec}\-/ paketti sisÃ¤ltÃ¤Ã¤ monenlaisia
toimintoja otsikoiden muotoiluun, joten sitÃ¤ kÃ¤sitellÃ¤Ã¤n tarkemmin
otsikoiden yhteydessÃ¤ luvussa \ref{luku/otsikot-ulkoasu}.

Komennoilla \komento{clearpage} ja \komento{cleardoublepage} on lisÃ¤ksi
sellainen ominaisuus, ettÃ¤ ne pakottavat aiemmin mÃ¤Ã¤ritellyt leijuvat
osat (luku \ref{luku/leijuosat}) ladottavaksi ennen uutta puhdasta
sivua.

Hieman toisenlainen sivunvaihtokomento on \komento{newpage}. Se sallii
aiempien leijuvien osien latomisen myÃ¶s sivunvaihdon jÃ¤lkeen.
\komento{newpage} eroaa edellisistÃ¤ sivuvaihtokomennoista myÃ¶s siten,
ettÃ¤ kaksipalstaisessa tilassa (luku \ref{luku/palstat}) se aloittaa
vain uuden palstan, ei vÃ¤lttÃ¤mÃ¤ttÃ¤ uutta sivua.

Sivunvaihdon todennÃ¤kÃ¶isyyteen tietyssÃ¤ kohdassa voi vaikuttaa
komennoilla \komento{pagebreak} ja \komento{nopagebreak}. Kummallekin
voi antaa hakasulkeissa valinnaisen argumentin, joka on luku 0\==4.
Nolla tarkoittaa pienintÃ¤ todennÃ¤kÃ¶isyyttÃ¤ sivunvaihdolle
(\komento{pagebreak}\komentoargv{0}) tai sen vÃ¤lttÃ¤miselle
(\komento{nopagebreak}\komentoargv{0}). Luku neljÃ¤ (joka on oletusarvo)
tarkoittaa, ettÃ¤ sivunvaihto pakotetaan tai estetÃ¤Ã¤n siinÃ¤ kohdassa.
NÃ¤iden komentojen tarkoitus on kertoa ladonta\-/ algoritmille vihje,
kuinka toivottavaa sivunvaihto on tietyssÃ¤ kohdassa. Jos ei kÃ¤ytÃ¤
suurinta arvoa neljÃ¤~(4), algoritmi voi lÃ¶ytÃ¤Ã¤ omasta mielestÃ¤Ã¤n
paremmankin sivunvaihtokohdan.

\komentoi{pagebreak}
\komentoi{nopagebreak}
\begin{koodilohkosis}
\pagebreak[3]  % LisÃ¤tÃ¤Ã¤n sivunvaihdon todennÃ¤kÃ¶isyyttÃ¤.
\nopagebreak   % EstetÃ¤Ã¤n sivunvaihto (oletusarvo 4).
\end{koodilohkosis}

\noindent
Jos \komento{pagebreak}\-/ komentoa kÃ¤yttÃ¤Ã¤ tekstikappaleen sisÃ¤llÃ¤,
sivunvaihto ei vÃ¤lttÃ¤mÃ¤ttÃ¤ satu juuri komennon kohdalle. Sivu vaihdetaan
kohdalle osuvan rivin lopussa.

Oletuksena Latex pyrkii latomaan kaikkien sivujen ylÃ¤- ja alareunan
tasaiseksi. Toisin sanoen se saattaa venyttÃ¤Ã¤ tai kutistaa sivulla
olevia pystysuuntaisia vÃ¤lejÃ¤ niin, ettÃ¤ kaikki sivut nÃ¤yttÃ¤vÃ¤t yhtÃ¤
korkeilta. TÃ¤mÃ¤ tila voidaan asettaa pÃ¤Ã¤lle komennolla
\komento{flushbottom}, mutta se on jo oletuksena pÃ¤Ã¤llÃ¤ ainakin Latexin
perusdokumenttiluokissa.

Vaihtoehtoinen tila asetetaan komennolla \komento{raggedbottom}.
Komennon seurauksena sivujen alareunoja ei tasata. Toisin sanoen sivun
pystysuuntaisiin vÃ¤leihin ei kosketa, joten eri sivujen alareunat voivat
sattua eri korkeudelle.

Dokumentin viimeistelyvaiheessa sivujen hienosÃ¤Ã¤tÃ¶Ã¶n sopinee komento
\komento{enlargethispage}, jolla voi muuttaa kÃ¤sillÃ¤ olevan sivun
korkeutta, kÃ¤ytÃ¤nnÃ¶ssÃ¤ \mitta{textheight}\-/mittaa. Komennolle annetaan
argumentiksi positiivinen tai negatiivinen mitta. Seuraavassa on
esimerkkejÃ¤:

\komentoi{enlargethispage}
\mittai{baselineskip}
\begin{koodilohkosis}
\enlargethispage{12bp}          % 12 pistettÃ¤ korkemmaksi
\enlargethispage{-4bp}          % 4 pistettÃ¤ matalammaksi
\enlargethispage{\baselineskip} % yksi tekstirivi lisÃ¤Ã¤
\end{koodilohkosis}

\noindent
Komennon tÃ¤htiversio \komento{enlargethispage*} pyrkii lisÃ¤ksi
tiivistÃ¤mÃ¤Ã¤n sivun sisÃ¤ltÃ¶Ã¤ pystysuunnassa niin paljon kuin mahdollista.
Sen tyypillisin kÃ¤yttÃ¶tarkoitus lienee se, ettÃ¤ sivulle pyritÃ¤Ã¤n
mahduttamaan yksi ylimÃ¤Ã¤rÃ¤inen rivi. TÃ¤mÃ¤ntyyppinen sivujen hienosÃ¤Ã¤tÃ¶
kannattaa tehdÃ¤ vasta viimeisenÃ¤ eli siinÃ¤ vaiheessa, kun kaikki sisÃ¤ltÃ¶
on valmiina ja muu typografinen asettelu tehty.

\section{JÃ¤sennys}
\label{luku/jÃ¤sennys}

Tekstin jÃ¤sentÃ¤minen tarkoittaa sisÃ¤llÃ¶n jÃ¤rjestystÃ¤ ja sen jakamista
sopiviin kokonaisuuksiin. Esimerkiksi laaja teos voi koostua osista,
osien sisÃ¤isistÃ¤ pÃ¤Ã¤luvuista ja niiden alaluvuista. Eri luvut ilmaistaan
eritasoisilla otsikoilla. Varsinaisten sisÃ¤ltÃ¶lukujen jÃ¤lkeen teoksessa
voi olla erilaisia liite- tai luettelosivuja, esimerkiksi lÃ¤hdeluettelo
ja asiahakemisto. Toisaalta lyhyempi artikkeli sisÃ¤ltÃ¤Ã¤ ehkÃ¤ vain yhden-
tai kahdentasoisia otsikoita -- muuta ei tarvita. TÃ¤ssÃ¤ alaluvussa
kÃ¤sitellÃ¤Ã¤n juuri tÃ¤mÃ¤ntyyppisiÃ¤ asioita eli tekstikappaletta suurempien
kokonaisuuksien jÃ¤sentÃ¤mistÃ¤.

\subsection{Perustiedot, nimiÃ¶sivu ja tiivistelmÃ¤}
\label{luku/dokumentin-perustiedot}

Latexissa on yksinkertainen toiminto dokumentin perustietojen latomiseen
dokumentin alkuun, mahdollisesti erilliselle nimiÃ¶sivulle. Perustietoja
ovat teoksen nimi, tekijÃ¤ ja pÃ¤ivÃ¤ys. LÃ¤hdedokumentin alussa perustiedot
ilmaistaan seuraavilla komennoilla:

\komentoi{title}
\komentoi{author}
\komentoi{date}
\komentoi{and}
\komentoi{today}
\begin{koodilohkosis}
\title{TieteellistÃ¤ tiedettÃ¤}              % teoksen nimi
\author{Timo Tiedemies \and Tuija Tutkija} % tekijÃ¶iden nimet
\date{\today}                              % pÃ¤ivÃ¤ys
\end{koodilohkosis}

\noindent
Edellisen esimerkin komentojen argumentissa voi kÃ¤yttÃ¤Ã¤ komentoa
\komento{thanks}, joka on tarkoitettu kiitosten osoittamiseen.
Komennolle annetaan argumentiksi lyhyehkÃ¶ teksti eli kiitosviesti, joka
tulisi nÃ¤kymÃ¤Ã¤n sivulla alaviitteessÃ¤.

Komennot eivÃ¤t itse vielÃ¤ lado mitÃ¤Ã¤n tekstiÃ¤ dokumenttiin. Ne vain
tallentavat perustiedot muistiin mahdollista myÃ¶hempÃ¤Ã¤ kÃ¤yttÃ¶Ã¤ varten.
Komennolla \komento{maketitle} voi latoa kaikki edellÃ¤ mainitut tiedot.
Ne voivat nÃ¤kyÃ¤ ensimmÃ¤isen sisÃ¤ltÃ¶sivun alussa tai erillisellÃ¤
nimiÃ¶sivulla; se riippuu dokumenttiluokan asetuksista ja valitsimista
\koodi{titlepage} ja \koodi{notitlepage}. Se, kumpi asetus on oletuksena
pÃ¤Ã¤llÃ¤, vaihtelee eri dokumenttiluokissa (luku
\ref{luku/perusdokumenttiluokat-asetukset}). YksittÃ¤iset perustiedot saa
ladottua seuraavilla komennoilla: \komento{thetitle},
\komento{theauthor} ja \komento{thedate}.

Perustietokomentoihin \komento{title}, \komento{author} ja
\komento{date} ei ole tarkoitus sisÃ¤llyttÃ¤Ã¤ kovin monimutkaisia
muotoilukomentoja. Jos haluaa vaikuttaa perustietojen ulkoasuun,
kannattaa kÃ¤yttÃ¤Ã¤ siihen tarkoitettua pakettia \pakettictan{titling}.
Toisaalta mikÃ¤Ã¤n ei estÃ¤ muotoilemasta oman dokumentin perustietoja
ilman Latexin valmiita keinoja.

HyÃ¶dyllisiÃ¤ ympÃ¤ristÃ¶jÃ¤ dokumentin alussa kÃ¤ytettÃ¤vÃ¤ksi voivat olla
\ymparisto{titlepage} ja \ymparisto{abstract}. Ensin mainittu luo
tyhjÃ¤n sivun nimiÃ¶sivun toteuttamista varten. Se myÃ¶s aloittaa
sivunumeroinnin alusta eli nollaa \laskuri{page}\-/ laskurin arvon.
YmpÃ¤ristÃ¶ \ymparisto{abstract} toimii \luokka{article}\-/\ ja
\luokka{report}\-/ dokumenttiluokissa ja on tarkoitettu tieteellisen
artikkelin tiivistelmÃ¤n kirjoittamiseen. Molempien edellÃ¤ mainittujen
ympÃ¤ristÃ¶jen kÃ¤yttÃ¶ on vapaaehtoista. NimiÃ¶sivun ja artikkelin
tiivistelmÃ¤n voi aivan hyvin toteuttaa ilman nÃ¤itÃ¤kin.

Teoksen nimiÃ¶sivu -- jos sellainen on -- kannattanee lisÃ¤tÃ¤ pdf\-/
tiedoston sisÃ¤iseen sisÃ¤llysluetteloon, jotta lukija voi helposti palata
alkuun myÃ¶s luettelon kautta. Normaaliin ladottavaan sisÃ¤llysluetteloon
tuskin koskaan merkitÃ¤Ã¤n nimiÃ¶sivua. Pdf:n sisÃ¤llysluetteloon saa oman
merkinnÃ¤n esimerkiksi seuraavalla komennolla:

\komentoi{pdfbookmark}
\begin{koodilohkosis}
\pdfbookmark[0]{NimiÃ¶}{sivu/nimiÃ¶}
\end{koodilohkosis}

\noindent
EdellÃ¤ mainittu komento \komento{pdfbookmark} tÃ¤ytyy sijoittaa Latex\-/
lÃ¤hdedokumentissa nimenomaan nimiÃ¶sivulle, koska
sisÃ¤llysluettelomerkintÃ¤ on samalla linkki kyseiseen kohtaan
dokumentissa. Komento kuuluu \paketti{hyperref}\-/ pakettiin, ja sitÃ¤
kÃ¤sitellÃ¤Ã¤n tarkemmin pdf:n asetusten yhteydessÃ¤ luvussa
\ref{luku/pdf-asetukset}.

\subsection{Otsikointi}
\label{luku/otsikot}

Otsikoiden tehtÃ¤vÃ¤nÃ¤ on tietenkin jakaa sisÃ¤ltÃ¶ mielekkÃ¤isiin osiin ja
ilmaista tekstikokonaisuuksien aihe. Ne auttavat lukijaa ennakoimaan,
mitÃ¤ on tulossa. Otsikot havainnollistavat myÃ¶s asioiden
hierarkkisuutta: ylemmÃ¤ntasoiset otsikot nimeÃ¤vÃ¤t ylÃ¤kÃ¤sitteitÃ¤ tai
laajempia kokonaisuuksia, alemmantasoiset otsikot alakÃ¤sitteitÃ¤ ja
pienempiÃ¤ kokonaisuuksia.

Jos kirjoittaa Latexilla vÃ¤hÃ¤nkÃ¤Ã¤n otsikoita, kannattaa ladata mukaan
paketti \paketti{hyperref}. Se huolehtii, ettÃ¤ Latexiin merkityt otsikot
tuodaan mukaan pdf\-/ tiedoston sisÃ¤iseen sisÃ¤llysluetteloon ja ettÃ¤
dokumenttiin mahdollisesti ladottavassa sisÃ¤llysluettelossa otsikot ovat
automaattisesti myÃ¶s linkkejÃ¤, joilla voi hypÃ¤tÃ¤ kyseiseen lukuun.
Pdf\-/ tiedoston selailu on nÃ¤in mukavampaa. \paketti{hyperref}\-/
pakettia ja pdf\-/ tiedoston ominaisuuksia kÃ¤sitellÃ¤Ã¤n tarkemmin luvussa
\ref{luku/pdf-asetukset}.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[4]{\komento{#1} &amp; #2 &amp; #3 &amp; #4 \\}
  \begin{tabular}{lccl}
    \toprule
    \multirow{2}{*}{\ots{Komento}}
    &amp; \ots{Taso}
    &amp; \ots{Taso}
    &amp; \multirow{2}{*}{\ots{Merkitys}} \\
    &amp; (\luokka{article}) &amp; (\luokka{book}, \luokka{report}) \\
    \midrule
    \rivi{part}{0}{-1}{teoksen osa}
    \rivi{chapter}{}{0}{pÃ¤Ã¤luku}
    \rivi{section}{1}{1}{otsikko 1, luku}
    \rivi{subsection}{2}{2}{otsikko 2, alaluku}
    \rivi{subsubsection}{3}{3}{otsikko 3, alaluvun alaluku}
    \rivi{paragraph}{4}{4}{kappaleotsikko 1}
    \rivi{subparagraph}{5}{5}{kappaleotsikko 2}
    \bottomrule
  \end{tabular}
}{
  \caption{Otsikointikomennot ja niitÃ¤ vastaavat tasot Latexin
    otsikkohierarkiassa. Dokumenttiluokassa \luokka{article} ei ole
    pÃ¤Ã¤lukuja (\komento{chapter})}
  \label{tlk/otsikkotasot}
}

Latexissa eri otsikoiden tasoille on omat komentonsa, jotka on koottu
taulukkoon \ref{tlk/otsikkotasot} -- suurimmasta otsikosta pienimpÃ¤Ã¤n.
Ylin otsikkotaso on teoksen osa, ja sitÃ¤ merkitÃ¤Ã¤n komennolla
\komento{part}. TÃ¤mÃ¤n komennon kÃ¤yttÃ¶ on vapaaehtoista, mutta sillÃ¤ voi
osoittaa laajan teoksen osia. Osat numeroidaan oletuksena roomalaisilla
jÃ¤rjestysluvuilla: ''\partname~I'', ''\partname~II'', ''\partname~III''
jne. Ne eivÃ¤t vaikuta alemmantasoisten otsikoiden numerointiin, eli osan
vaihtuminen ei oletusasetuksilla nollaa alemmantasoisten lukujen
laskuria.

Otsikkotaso \komento{chapter} tarkoittaa kirjan pÃ¤Ã¤lukua, joka alkaa
oletuksena puhtaalta sivulta. Otsikkoa ennen suoritetaan automaattisesti
sivunvaihtokomento \komento{clearpage} tai \komento{cleardoublepage}
(luku \ref{luku/sivunvaihdot}). \komento{chapter}\-/ tasoiset otsikot
saavat oletuksena numeroinnin ''\chaptername~1'', ''\chaptername~2'',
''\chaptername~3'' jne. Dokumenttiluokassa \luokka{article} ei tÃ¤tÃ¤
otsikkotasoa ole lainkaan.

Seuraavat otsikkotasot \komento{section}, \komento{subsection} ja
\komento{subsubsection} ovat tavallisimpia tekstin vÃ¤liotsikoita. Nekin
saavat oletuksena numeroinnin, jossa pisteellÃ¤ erotetaan mahdolliset
alaluvut: 1.1, 1.2, 1.2.1, 1.2.2, 1.3 yms.

Otsikoinnissa on tÃ¤rkeÃ¤Ã¤ sÃ¤ilyttÃ¤Ã¤ suora hierarkkinen suhde
otsikkotasojen vÃ¤lillÃ¤: alemmantasoista otsikkoa ei saa kÃ¤yttÃ¤Ã¤ ennen
kuin on kÃ¤ytetty yhtÃ¤ astetta ylempÃ¤Ã¤ otsikkotasoa. TÃ¤ytyy siis olla
ensin \komento{section} ennen kuin voi olla \komento{subsection}\-/
komentoja. Muuten otsikoiden numerointi ei toimi oikein. Poikkeus on
\komento{part}, joka ei vaikuta numerointiin ja jonka kÃ¤yttÃ¶ on
muutenkin vapaaehtoista.

Otsikkotasot \komento{paragraph} ja \komento{subparagraph} eivÃ¤t ole
ihan perinteisiÃ¤ otsikoita, vaan ne ladotaan tekstikappaleen alkuun.
Nekin kyllÃ¤ erottuvat leipÃ¤tekstistÃ¤ ja voivat toimia otsikon
kaltaisessa tehtÃ¤vÃ¤ssÃ¤. Oletuksena kappaleotsikoita ei numeroida eivÃ¤tkÃ¤
ne tule mukaan sisÃ¤llysluetteloon. Oletusasetuksia on kuitenkin
mahdollista muuttaa, ja tarvittaessa \komento{paragraph} ja
\komento{subparagraph} voivat toimia normaaleina otsikoina tason
\komento{subsubsection} jÃ¤lkeen. Kovin syvÃ¤Ã¤ otsikkorakennetta ei
yleensÃ¤ suositeta, koska lukijan voi olla vaikeaa hahmottaa monitasoisia
kokonaisuuksia.

Otsikkokomennoille annetaan tyypillisesti vain yksi argumentti, joka on
kyseisen otsikon teksti. Otsikkoon ei ole tarkoitus kirjoittaa kovin
monimutkaisia fontti- eikÃ¤ muotoilukomentoja, vaan mieluiten ainoastaan
otsikon teksti. Typografinen muotoilu tehdÃ¤Ã¤n muilla keinoilla, joita
esitellÃ¤Ã¤n luvussa \ref{luku/otsikot-ulkoasu}. Yksinkertaiset
korostuskomennot ja tavutusvihjeet (\komento{-}) kuitenkin toimivat
yleensÃ¤. Otsikkokomennon argumentissa olevien hauraiden komentojen (luku
\ref{luku/komennot-hauraat}) eteen tÃ¤ytyy kirjoittaa komento
\komento{protect}.

\komentoi{section}
\begin{koodilohkosis}
\section{TÃ¤mÃ¤ teksti on otsikko}
\end{koodilohkosis}

\noindent
Otsikko tulee automaattisesti mukaan teoksen sisÃ¤llysluetteloon, jos
sellainen on olemassa (luku \ref{luku/sisÃ¤llysluettelo}). Otsikko nÃ¤kyy
myÃ¶s pdf\-/ tiedoston sisÃ¤llysluettelossa, jos \paketti{hyperref}\-/
paketti on kÃ¤ytÃ¶ssÃ¤ (luku \ref{luku/pdf-asetukset}). LisÃ¤ksi otsikon
tekstiÃ¤ voi kÃ¤yttÃ¤Ã¤ ristiviittauksissa (luku~\ref{luku/ristiviitteet}).

Otsikkokomennoille voi antaa yhden valinnaisen argumentin, jolla
ilmaistaan otsikosta lyhempi tai yksinkertaisempi versio. TÃ¤llÃ¶in
sisÃ¤llysluettelossa ja ristiviitteissÃ¤ nÃ¤ytetÃ¤Ã¤n lyhempi otsikko ja
tekstiin ladotaan varsinainen otsikko. TÃ¤tÃ¤ ominaisuutta on syytÃ¤
hyÃ¶dyntÃ¤Ã¤ myÃ¶s silloin, kun varsinainen otsikko sisÃ¤ltÃ¤Ã¤ otsikkotekstin
lisÃ¤ksi muotoilukomentoja. Silloin valinnaiseen argumenttiin
kirjoitetaan vain puhdasta tekstiÃ¤ sisÃ¤ltÃ¤vÃ¤ versio otsikosta.

\komentoi{section}
\begin{koodilohkosis}
\section[Lyhyt otsikko]{TÃ¤mÃ¤ tÃ¤ssÃ¤ on pitkÃ¤ otsikko}
\end{koodilohkosis}

\noindent
Kaikille otsikkokomennoille on olemassa myÃ¶s tÃ¤htiversio eli
komentovaihtoehto, jonka nimen lopussa on tÃ¤hti: \komento{part*},
\komento{chapter*}, \komento{section*}, \komento{subsection*},
\komento{subsubsection*}, \komento{paragraph*}, \komento{subparagraph*}.
NÃ¤mÃ¤ vaihtoehdot latovat otsikon, jolla ei ole numerointia ja jota ei
lisÃ¤tÃ¤ sisÃ¤llysluetteloon.

PelkÃ¤n otsikon numeroinnin poistamiseen ei ehkÃ¤ kannata kÃ¤yttÃ¤Ã¤ nÃ¤itÃ¤
tÃ¤htiversioita, koska yleensÃ¤ otsikko kuitenkin halutaan
sisÃ¤llysluetteloon. Otsikoiden numeroinnin saa pois keinoilla, jotka
neuvotaan luvussa \ref{luku/otsikot-numerointi}. Jos kuitenkin haluaa
kÃ¤yttÃ¤Ã¤ tÃ¤hdellistÃ¤ otsikkokomentoa ja haluaa otsikon myÃ¶s
sisÃ¤llysluetteloon, tÃ¤ytyy se tehdÃ¤ seuraavalla tavalla:

\komentoi{section*}
\komentoi{addcontentsline}
\komentoi{phantomsection}
\begin{koodilohkosis}
\section*{TÃ¤ssÃ¤pÃ¤ numeroimaton otsikko}
\phantomsection
\addcontentsline{toc}{section}{TÃ¤ssÃ¤pÃ¤ numeroimaton otsikko}
\end{koodilohkosis}

\noindent
EdellÃ¤ olevan esimerkin komento \komento{addcontentsline} lisÃ¤Ã¤
merkinnÃ¤n sisÃ¤llysluetteloon. Komennon ensimmÃ¤inen argumentti on
\koodi{toc} (\englanti{table of contents}), joka on sisÃ¤llysluetteloiden
tekemisessÃ¤ tarvittavan vÃ¤liaikaistiedoston pÃ¤Ã¤te. EsimerkissÃ¤ lisÃ¤ttÃ¤vÃ¤
sisÃ¤llysluettelon merkintÃ¤ on tasoltaan \koodi{section} eli vastaa muita
\komento{section}\-/ komennolla syntyviÃ¤ sisÃ¤llysluettelon kohtia.
Komento \komento{phantomsection} kuuluu \paketti{hyperref}\-/
pakettiin, ja se lisÃ¤Ã¤ pdf\-/ tiedostoon nÃ¤kymÃ¤ttÃ¶mÃ¤n ankkurin tÃ¤hÃ¤n
kohtaan dokumentissa. SitÃ¤ tarvitaan, jotta sisÃ¤llysluettelon merkintÃ¤
viittaisi oikealle sivulle ja toimisi myÃ¶s linkkinÃ¤, joka tuo juuri
tÃ¤hÃ¤n kohtaan.

\subsection{Otsikoiden numerointi}
\label{luku/otsikot-numerointi}

Oletusasetuksilla Latex numeroi otsikot (\komento{chapter},
\komento{section} jne.) automaattisesti, mutta kirjoittaja voi vaikuttaa
numerointiin monella tavalla, kuten siihen, mihin otsikkotasoon saakka
numerointi yltÃ¤Ã¤ ja millÃ¤ tyylillÃ¤ otsikoiden numerot ylipÃ¤Ã¤tÃ¤Ã¤n
ladotaan.

Laskuri \laskuri{secnumdepth} on tarkoitettu kirjoittajan
asetettavaksi, ja sillÃ¤ mÃ¤Ã¤ritetÃ¤Ã¤n, mihin otsikkotasoon saakka otsikot
numeroidaan. Tasonumerot ovat taulukossa \ref{tlk/otsikkotasot}
(s.~\pageref{tlk/otsikkotasot}). Seuraava esimerkki mÃ¤Ã¤rittelee, ettÃ¤
vain tasoon~1 (\komento{section}) saakka otsikot numeroidaan.
Alemmantasoiset otsikot (\komento{subsection} ym.) eivÃ¤t saa numeroa.

\komentoi{setcounter}
\laskurii{secnumdepth}
\begin{koodilohkosis}
\setcounter{secnumdepth}{1}
\end{koodilohkosis}

\noindent
Asetusta voi muuttaa kesken dokumentin. Muuttaminen voi olla mielekÃ¤stÃ¤
esimerkiksi laajan teoksen lopussa, jossa on mahdollisesti
lÃ¤hdeluettelo, asiahakemistoja tai liitteitÃ¤, joille ei ehkÃ¤ haluta
samanlaista otsikkonumerointia kuin varsinaisille sisÃ¤ltÃ¶luvuille.

Latexin otsikoiden numerointi noudattaa yleistÃ¤ tietokirjallisuuden
kÃ¤ytÃ¤ntÃ¶Ã¤, eli numeroinnissa kÃ¤ytetÃ¤Ã¤n arabialaisia numeroita ja eri
tasoja ilmaisevat numerot erotetaan toisistaan pisteellÃ¤: 1.1, 1.2,
1.2.1, 1.2.2 jne. SisÃ¤isesti Latex kÃ¤yttÃ¤Ã¤ laskureita, joilla on sama
nimi kuin vastaavalla otsikointikomennolla: \laskuri{part},
\laskuri{chapter}, \laskuri{section}, \laskuri{subsection},
\laskuri{subsubsection}, \laskuri{paragraph}, \laskuri{subparagraph}.

Laskureiden toimintaan voi perehtyÃ¤ tarkemmin luvun \ref{luku/laskurit}
avulla, mutta kerrataan tÃ¤ssÃ¤ yhteydessÃ¤ yksi asia. Laskurin arvon voi
latoa dokumenttiin kÃ¤yttÃ¤mÃ¤llÃ¤ komentoa, joka alkaa kirjaimilla
\komentox{the} ja jatkuu laskurin nimellÃ¤. Niin otsikkokomennot juuri
tekevÃ¤t: esimerkiksi \komento{section}\-/ otsikon kohdalla suoritetaan
automaattisesti \komento{thesection}, joka tuottaa otsikon numeron.
Vastaavasti \komento{subsection}\-/ komento latoo numeron kÃ¤yttÃ¤mÃ¤llÃ¤
komentoa \komento{thesubsection} jne.

Kirjoittaja voi halutessaan mÃ¤Ã¤ritellÃ¤ nÃ¤mÃ¤ laskurin latomiskomennot
uudelleen. Jos esimerkiksi teoksen osat (\komento{part}) halutaan
ilmaista arabialaisin numeroin eikÃ¤ roomalaisin (kuten on oletus),
tehdÃ¤Ã¤n se seuraavan esimerkin mukaisesti. EsimerkissÃ¤ kÃ¤ytettÃ¤vÃ¤
komento \komento{arabic} latoo laskurin arvon arabialaisilla numeroilla.

\komentoi{renewcommand}
\komentoi{thepart}
\laskurii{part}
\komentoi{arabic}
\begin{koodilohkosis}
\renewcommand{\thepart}{\arabic{part}}
\end{koodilohkosis}

\noindent
Joskus ehkÃ¤ halutaan, ettÃ¤ otsikoissa eri tasojen numeroita ei eroteta
toisistaan pisteellÃ¤ (2.1) vaan yhdysmerkillÃ¤ tai ajatusviivalla
(2\==1). TÃ¤llainen asetus saadaan mÃ¤Ã¤rittelemÃ¤llÃ¤ alemmantasoisten
laskurien latomiskomennot uudelleen, esimerkiksi seuraavasti:

\komentoi{renewcommand}
\komentoi{thesection}
\komentoi{thesubsection}
\komentoi{thesubsubsection}
\laskurii{subsection}
\laskurii{subsubsection}
\komentoi{arabic}
\begin{koodilohkosis}
\renewcommand{\thesubsection}{\thesection--\arabic{subsection}}
\renewcommand{\thesubsubsection}{%
  \thesubsection--\arabic{subsubsection}}
\end{koodilohkosis}

\noindent
Otsikkonumeroinnin poistamista ei pidÃ¤ toteuttaa siten, ettÃ¤ mÃ¤Ã¤rittelee
edellÃ¤ mainitut \komentox{the}\-/ alkuiset komennot tyhjÃ¤ksi. Numerointi
poistetaan laskurin \laskuri{secnumdepth} avulla mÃ¤Ã¤rittÃ¤mÃ¤llÃ¤ sen arvo
tarpeeksi pieneksi. Sekin on syytÃ¤ muistaa, ettÃ¤ nÃ¤mÃ¤ \komentox{the}\-/
alkuiset komennot on tarkoitettu vain laskurien arvon latomiseen.
Komennon mÃ¤Ã¤ritelmÃ¤Ã¤n ei pidÃ¤ kirjoittaa typografiseen muotoiluun
liittyviÃ¤ komentoja. Otsikoiden ulkoasuun vaikutetaan muilla keinoilla.

\subsection{Otsikoiden ulkoasu}
\label{luku/otsikot-ulkoasu}

Otsikoiden typografiaan eli esimerkiksi kirjainperheen ja \=/leikkauksen
valintaan ja vÃ¤listyksiin on kÃ¤tevintÃ¤ kÃ¤yttÃ¤Ã¤ \pakettictan{titlesec}\-/
pakettia. Perus Latexissakin on kyllÃ¤ otsikoiden muotoiluun tarkoitettu
komento \komentox{@startsection}, mutta sen kÃ¤yttÃ¶ on hankalampaa eikÃ¤
se toimi kaikilla otsikkotasoilla. TÃ¤ssÃ¤ oppaassa keskitytÃ¤Ã¤n
\paketti{titlesec}\-/ pakettiin.

Otsikoiden perusmuotoilu on helpointa toteuttaa
\komento{titleformat*}\-/ komennon avulla. Sille annetaan argumenteiksi
otsikkokomento ja sitÃ¤ vastaavat muotoilukomennot. Seuraava esimerkki
vaihtaa otsikoihin groteskin kirjainperheen (\komento{sffamily}) ja
hieman toisistaan poikkeavan kirjainleikkauksen.

\komentoi{titleformat*}
\komentoi{section}
\komentoi{subsection}
\komentoi{subsubsection}
\komentoi{sffamily}
\komentoi{large}
\komentoi{Large}
\komentoi{normalsize}
\komentoi{bfseries}
\komentoi{itshape}
\begin{koodilohkosis}
\titleformat*{\section}      {\sffamily\bfseries\Large}
\titleformat*{\subsection}   {\sffamily\bfseries\itshape\large}
\titleformat*{\subsubsection}{\sffamily\bfseries\normalsize}
\end{koodilohkosis}

\noindent
Monipuolisemmat muotoiluasetukset saa toteutettua komennon tÃ¤hdettÃ¶mÃ¤llÃ¤
versiolla \komento{titleformat}. TÃ¤mÃ¤n komentoversion monista
argumenteista ja ominaisuuksista kannattaa lukea \paketti{titlesec}\-/
paketin ohjekirjasta, mutta esimerkistÃ¤ \ref{esim/titleformat}
selvinnevÃ¤t perustoiminnot.

\begin{esimerkki*}
  \komentoi{titleformat}
  \komentoi{section}
  \komentoi{sffamily}
  \komentoi{bfseries}
  \komentoi{Large}
  \komentoi{raggedright}
  \komentoi{thesection}

\begin{koodilohko}
\titleformat{\section}     % otsikkotaso: \section
[hang]                     % muoto: riippuva sisennys
{\sffamily\bfseries\Large  % ulkoasukomentoja
  \raggedright}
{\thesection}              % numerointi
{.8em}                     % numeroinnin ja otsikkotekstin vÃ¤li (mitta)
{}                         % koodia ennen otsikkotekstiÃ¤
[]                         % koodia otsikon jÃ¤lkeen
\end{koodilohko}
  \caption{Otsikoiden ulkoasuun voi vaikuttaa monipuolisesti
    \komento{titleformat}\-/ komennolla, joka kuuluu \paketti{titlesec}\-/
    pakettiin}
  \label{esim/titleformat}
\end{esimerkki*}

Luvun numeroinnin (1.1, 1.2 jne.) tyyliin voi vaikuttaa komennolla
\komento{titlelabel}. Komento suoritetaan yleensÃ¤ vain kerran, ja se
vaikuttaa kaikentasoisiin otsikoihin. TÃ¤tÃ¤ komentoa ei tarvita, jos
kÃ¤yttÃ¤Ã¤ edellÃ¤ mainittua ''tÃ¤hdetÃ¶ntÃ¤'' \komento{titleformat}\-/
komentoa, koska se sisÃ¤ltÃ¤Ã¤ jo toiminnot myÃ¶s lukujen numeroinnin
asetuksiin.

\komentoi{titlelabel}
\komentoi{hspace}
\begin{koodilohkosis}
\titlelabel{\thetitle\hspace{1em}}
\end{koodilohkosis}

\noindent
EdellÃ¤ olevan komennon argumentissa kÃ¤ytetty komento \komentox{thetitle}
on tarkoitettu vain tÃ¤mÃ¤n komennon ja \paketti{titlesec}\-/ paketin
sisÃ¤iseen kÃ¤yttÃ¶Ã¶n. Se latoo kyseisen luvun numeron, olipa otsikkotaso
mikÃ¤ hyvÃ¤nsÃ¤. Sen perÃ¤Ã¤n esimerkissÃ¤ asetetaan 1\,em:n suuruinen vÃ¤li
\komento{hspace}\-/ komennolla.

Otsikoiden yhteydessÃ¤ ladottavaan sisennykseen ja pystysuuntaiseen
vÃ¤liin vaikutetaan komennolla \komento{titlespacing*}. Sille annetaan
argumenteiksi otsikkokomento ja halutut mitat jÃ¤rjestyksessÃ¤ vasen
sisennys, ylÃ¤puolinen vÃ¤li ja alapuolinen vÃ¤li.

\komentoi{titlespacing*}
\komentoi{section}
\begin{koodilohkosis}
\titlespacing*{\section}{0mm}{3ex plus 2bp minus 1bp}{2ex plus 1bp}
\end{koodilohkosis}

\noindent
Pystysuuntaiset mitat on yleensÃ¤ hyvÃ¤ asettaa venyviksi (luku
\ref{luku/venyvÃ¤t-mitat}), jotta Tex saa pelivaraa sivujen latomiseen.
Otsikon ylÃ¤puolella pitÃ¤isi olla isompi vÃ¤li kuin alapuolella, koska
otsikko kuuluu kiinteÃ¤mmin sitÃ¤ seuraavaan tekstiin. Pystysuuntaisten
vÃ¤lien mÃ¤Ã¤rittÃ¤misessÃ¤ voi kÃ¤yttÃ¤Ã¤ *\=/lyhennettÃ¤, joka tarkoittaa
oletuksena ex\-/mittayksikkÃ¶Ã¤ ja sallii hieman venymistÃ¤.

\komentoi{titlespacing*}
\komentoi{section}
\begin{koodilohkosis}
\titlespacing*{\section}{0mm}{*3}{*2}
\end{koodilohkosis}

\noindent
TÃ¤hdellinen \komento{titlespacing*}\-/ komento poistaa otsikon jÃ¤lkeen
tulevasta tekstikappaleesta ensimmÃ¤isen rivin sisennyksen (luku
\ref{luku/ensimmÃ¤isen-rivin-sisennys}). TÃ¤hdetÃ¶n komentoversio
\komento{titlespacing} sen sijaan sÃ¤ilyttÃ¤Ã¤ kappaleen sisennyksen. SitÃ¤
ei liene tarvetta kÃ¤yttÃ¤Ã¤ koskaan, sillÃ¤ otsikoiden jÃ¤lkeen tulevaa
tekstikappaletta ei kuulu sisentÃ¤Ã¤.

Teoksen osien (\komento{part}) vaihtuessa sivulle ladotaan oletuksena
teksti kuten ''\partname~I'', ''\partname~II'' jne. Mainittu sana
''\partname'' tulee suomen kieliasetuksista ja komennosta
\komento{partname}. Kaikkien kielten asetukset nimittÃ¤in mÃ¤Ã¤rittelevÃ¤t
komennon \komento{partname} siten, ettÃ¤ se sisÃ¤ltÃ¤Ã¤ ja latoo kyseiseen
kieleen sopivan ilmauksen. Vastaavasti pÃ¤Ã¤lukujen (\komento{chapter})
yhteydessÃ¤ ladotaan suomen kieliasetuksilla ilmaus ''\chaptername~1'',
''\chaptername~2'' jne. Sana ''\chaptername'' tulee komennosta
\komento{chaptername}.

Jos omassa dokumentissa haluaa kutsua teoksen osia tai pÃ¤Ã¤lukuja
joksikin muuksi, voi mÃ¤Ã¤ritellÃ¤ edellÃ¤ mainitut komennot uudelleen.
Seuraavassa esimerkissÃ¤ voisi olla jokin romaani, jossa teoksen osat
ovat \emph{kausia} ja pÃ¤Ã¤luvut ovat \emph{pÃ¤iviÃ¤}.

\komentoi{addto}
\komentoi{captionsfinnish}
\komentoi{renewcommand}
\komentoi{partname}
\komentoi{chaptername}
\begin{koodilohkosis}
\addto{\captionsfinnish}{
  \renewcommand{\partname}{Kausi}
  \renewcommand{\chaptername}{PÃ¤ivÃ¤}
}
\end{koodilohkosis}

\noindent
EdellisessÃ¤ esimerkissÃ¤ \komento{renewcommand}\-/ komennot sijoitettiin
\komento{addto}\-/ komennon toiseen argumenttiin. Komento
\komento{addto} tÃ¤ytyy suorittaa lÃ¤hdedokumentin esittelyosassa, ja
tÃ¤ssÃ¤ esimerkissÃ¤ se lisÃ¤Ã¤ uusia komentoja suomen kielen asetuksiin
(\komento{captionsfinnish}), niin ettÃ¤ ne tulevat voimaan samalla kun
suomen kieliasetuksetkin. \komento{addto} kuuluu
\paketti{polyglossia}\-/\ ja \paketti{babel}\-/ paketteihin, joita
kÃ¤sitellÃ¤Ã¤n tarkemmin kieliasetusten yhteydessÃ¤ luvussa
\ref{luku/kieliasetukset}.

Otsikoiden yhteyteen saa automaattisen sivunvaihdon mÃ¤Ã¤rittÃ¤mÃ¤llÃ¤
komennon, jonka nimen alussa on otsikkokomennon nimi ja lopussa sana
\koodi{break}. Tavallisin lienee \komento{sectionbreak}. Komennon
mÃ¤Ã¤ritelmÃ¤Ã¤n kirjoitetaan jokin sivuvaihtokomento kuten
\komento{clearpage}. Sivunvaihtokomentoja kÃ¤sitellÃ¤Ã¤n tarkemmin luvussa
\ref{luku/sivunvaihdot}.

\komentoi{newcommand}
\komentoi{sectionbreak}
\komentoi{clearpage}
\begin{koodilohkosis}
\newcommand{\sectionbreak}{\clearpage}
\end{koodilohkosis}

\subsection{Esittely, pÃ¤Ã¤luvut, liitteet ja luettelot}
\label{luku/frontmainbackmatter}

Dokumenttiluokassa \luokka{book} (luku \ref{luku/perusdokumenttiluokat})
on kÃ¤ytettÃ¤vissÃ¤ kolme lisÃ¤komentoa dokumentin erilaisten osien
ilmaisemiseen: \komento{frontmatter}, \komento{mainmatter} ja
\komento{backmatter}. NiillÃ¤ jaetaan laaja teos esittelysivuihin,
varsinaisiin sisÃ¤ltÃ¶lukuihin ja loppuosaan kuten liitesivuihin ja
erilaisiin luetteloihin. LisÃ¤ksi muissakin dokumenttiluokissa on komento
\komento{appendix}, jolla voi aloittaa liitesivuja sisÃ¤ltÃ¤vÃ¤n osan
dokumentissa. NÃ¤iden komentojen kÃ¤yttÃ¶ on vapaaehtoista. Luvussa
\ref{luku/tyypillinen-tietokirja} kÃ¤sitellÃ¤Ã¤n tyypillisen suomalaisen
tietokirjan rakennetta ja teknistÃ¤ toteuttamista.

Dokumentin alkuun voi kirjoittaa komennon \komento{frontmatter}, joka
asettaa sivunumeroiden tyyliksi roomalaiset numerot (i, ii, iii jne.) ja
poistaa pÃ¤Ã¤luvuilta (\komento{chapter}) numeroinnin. TÃ¤ssÃ¤ osassa ovat
teoksen nimiÃ¶ ja perustiedot, sisÃ¤llysluettelo, tietokirjan tai
tutkimuksen tiivistelmÃ¤ ja mahdollisesti teoksen esipuhe tai muu
vastaava esittelyteksti, joka ei ole vielÃ¤ varsinaista sisÃ¤ltÃ¶Ã¤.

Jos dokumentissa kÃ¤ytetÃ¤Ã¤n \komento{frontmatter}\-/ komentoa, tÃ¤ytynee
varsinaisten sisÃ¤ltÃ¶lukujen alkuun kirjoittaa komento
\komento{mainmatter}, joka nollaa sivunumerolaskurin, asettaa
numeroinnin tyyliksi arabialaiset numerot (1, 2, 3 jne.) ja kytkee
pÃ¤Ã¤lle lukujen numeroinnin. Sen jÃ¤lkeen ensimmÃ¤inen \komento{chapter}\-/
komennolla tehty luku on siis ''\chaptername~1''.

SisÃ¤ltÃ¶sivujen lopussa voi olla komento \komento{appendix}. Se
ensinnÃ¤kin nollaa \luokka{book}- ja \luokka{report}\-/ luokissa
pÃ¤Ã¤lukujen laskurin \laskuri{chapter}. Sen sijaan \luokka{article}\-/
luokassa se nollaa \laskuri{section}\-/ laskurin. Sen lisÃ¤ksi
\komento{appendix}\-/ komento muuttaa lukujen numerointityyliksi
kirjaimet (A, B, C jne.) ja pÃ¤Ã¤lukujen nimeksi ''\appendixname'', joka
tulee komennosta \komento{appendixname}. NÃ¤in teoksen lopussa
\komento{appendix}\-/ komennon jÃ¤lkeen pÃ¤Ã¤luvut tulevat nimetyksi
uudella tavalla: ''\appendixname~A'', ''\appendixname~B'' jne.

SisÃ¤ltÃ¶sivujen ja mahdollisten liitteiden jÃ¤lkeen voi olla hyÃ¶dyllistÃ¤
kÃ¤yttÃ¤Ã¤ komentoa \komento{backmatter}, joka lopettaa pÃ¤Ã¤lukujen
numeroinnin kokonaan. TÃ¤hÃ¤n osaan voisi sijoittaa ainakin asiahakemistot
sekÃ¤ kirjallisuus\-/\ tai lÃ¤hdeluettelon.

\subsection{Tyypillinen tietokirjan rakenne}
\label{luku/tyypillinen-tietokirja}

Latexin komennot \komento{frontmatter} ja \komento{mainmatter} (luku
\ref{luku/frontmainbackmatter}) eivÃ¤t ihan vastaa suomalaista
tietokirjojen kÃ¤ytÃ¤ntÃ¶Ã¤. Suomessa teoksen alun sivunumeroita ei ole
tapana ilmaista roomalaisilla numeroilla eikÃ¤ sivunumerointia nollata
sisÃ¤ltÃ¶lukujen alkaessa. Esimerkkiin \ref{esim/tietokirjojen-rakenne} on
koottu varsin tyypillinen suomalainen tietokirjojen rakenne. EsimerkissÃ¤
ei kÃ¤ytetÃ¤ lainkaan komentoja \komento{frontmatter},
\komento{mainmatter} eikÃ¤ \komento{backmatter}, vaan lukujen
numerointiin vaikutetaan suoraan asettamalla laskuriin
\laskuri{secnumdepth} sopiva arvo. TÃ¤tÃ¤ laskuria kÃ¤sitellÃ¤Ã¤n otsikoiden
yhteydessÃ¤ luvussa \ref{luku/otsikot-numerointi}.

\begin{esimerkki*}
  \komentoi{documentclass}
  \luokkai{book}
  \komentoi{pagestyle}
  \komentoi{cleardoublepage}
  \komentoi{setcounter}
  \laskurii{tocdepth}
  \laskurii{secnumdepth}
  \komentoi{tableofcontents}
  \komentoi{chapter}
  \komentoi{appendix}
  \komentoi{printbibliography}
  \komentoi{printindex}
  \ymparistoi{document}

\begin{koodilohko}
\documentclass{book}

\begin{document}

\pagestyle{empty} % sivunumerot pois nÃ¤kyvistÃ¤
% nimiÃ¶sivu yms.

\cleardoublepage
\setcounter{tocdepth}{2} % sisÃ¤llysluettelon syvyys
\pagestyle{plain}        % sivunumerot nÃ¤kyviin
\tableofcontents         % sisÃ¤llysluettelo

\setcounter{secnumdepth}{-1} % lukujen numerointi pois

\chapter{Esipuhe}
% esipuheen teksti

\setcounter{secnumdepth}{2} % aloitetaan lukujen numerointi

\chapter{EnsimmÃ¤inen pÃ¤Ã¤luku}
% ...
\chapter{Toinen pÃ¤Ã¤luku}
% ...

% mahdollisesti liitteet
\appendix
\chapter{TÃ¤rkeÃ¤ liite}
% ...
\chapter{Tosi tÃ¤rkeÃ¤ liite}
% ...

% Kirjallisuusluettelot, asiahakemistot yms.
\setcounter{secnumdepth}{-1} % lukujen numerointi pois

\chapter{Kirjallisuutta}
\printbibliography

\chapter{Asiahakemisto}
\printindex

\end{document}
\end{koodilohko}
  \caption{Tyypillinen suomalainen tietokirjojen rakenne sekÃ¤ sivujen ja
    lukujen numerointikÃ¤ytÃ¤nnÃ¶t}
  \label{esim/tietokirjojen-rakenne}
\end{esimerkki*}

Suomalaisissa kirjoissa sivunumeroinnin laskuri alkaa ensimmÃ¤iseltÃ¤
sivulta, johon on painettu jotakin, yleensÃ¤ pelkkÃ¤ teoksen nimi tai
kirjailijan nimi. Sivu~1 ei ole vielÃ¤ kirjan kansi, koska kirjapainossa
kannet lisÃ¤tÃ¤Ã¤n ikÃ¤Ã¤n kuin tekijÃ¶iden tyÃ¶n ympÃ¤rille. AikakauslehdissÃ¤
kansi on kuitenkin sivu~1.

Sivunumerot tulevat nÃ¤kyviin hieman vaihtelevasti: joskus sivunumerot
nÃ¤ytetÃ¤Ã¤n sisÃ¤llysluettelon alusta saakka; joskus ne nÃ¤ytetÃ¤Ã¤n vasta
sisÃ¤llysluettelon jÃ¤lkeen esipuheessa; joskus esipuhe on ennen
sisÃ¤llysluetteloa ja sivunumerot nÃ¤kyvÃ¤t esipuheen alusta saakka.
EsimerkissÃ¤ \ref{esim/tietokirjojen-rakenne} sivutyyli \koodi{plain}
kytketÃ¤Ã¤n pÃ¤Ã¤lle sisÃ¤llysluettelon alkaessa, eli sivunumerotkin alkavat
sen myÃ¶tÃ¤ nÃ¤kyÃ¤. SivutyylejÃ¤ ja muita ylÃ¤- ja alatunnisteisiin liittyviÃ¤
asioita kÃ¤sitellÃ¤Ã¤n tarkemmin luvussa \ref{luku/ylÃ¤-ala-tunnisteet}.

MikÃ¤li haluaa, ettÃ¤ sisÃ¤llysluettelossa ei vielÃ¤ nÃ¤ytetÃ¤ sivunumeroita,
joutuu dokumenttiluokissa \luokka{book} ja \luokka{report} kÃ¤yttÃ¤mÃ¤Ã¤n
vÃ¤hÃ¤n epÃ¤tavallista keinoa halutun lopputuloksen saavuttamiseksi.
Sellainen neuvotaan sisÃ¤llysluettelon kÃ¤sittelyn yhteydessÃ¤ esimerkissÃ¤
\ref{esim/sisÃ¤llysluettelo-empty}
(s.~\pageref{esim/sisÃ¤llysluettelo-empty}).

\section{SisÃ¤llysluettelo}
\label{luku/sisÃ¤llysluettelo}

Dokumentin sisÃ¤llysluettelo syntyy helposti yhdellÃ¤ komennolla:
\komento{tableofcontents}. Otsikkokomennoilla (luku \ref{luku/otsikot})
tehdyt otsikot tulevat automaattisesti sisÃ¤llysluetteloon. Jos kÃ¤ytÃ¶ssÃ¤
on paketti \paketti{hyperref} (luku \ref{luku/pdf-asetukset}),
sisÃ¤llysluettelon otsikot ovat myÃ¶s linkkejÃ¤, jotka vievÃ¤t kyseiseen
kohtaan dokumentissa. Oletuksena syntyvÃ¤ sisÃ¤llysluettelo on tyyliltÃ¤Ã¤n
neutraali, ja se sopinee sellaisenaan useimpiin tÃ¶ihin. Ulkoasua voi
kyllÃ¤ muokatakin varsin helposti.

\komentoi{tableofcontents}
\begin{koodilohkosis}
% Ladotaan sisÃ¤llysluettelo tÃ¤hÃ¤n kohtaan.
\tableofcontents
\end{koodilohkosis}

\noindent
Laskurin \laskuri{tocdepth} avulla kirjoittaja voi mÃ¤Ã¤ritellÃ¤, mihin
tasoon saakka sisÃ¤llysluettelossa nÃ¤ytetÃ¤Ã¤n otsikoita. Esimerkiksi
jonkin kuvitteellisen romaanin (dokumenttiluokka \luokka{book})
sisÃ¤llysluettelossa voisi nÃ¤yttÃ¤Ã¤ ainoastaan osat (\komento{part}) ja
pÃ¤Ã¤luvut (\komento{chapter}) asettamalla laskurin arvoksi nolla. Arvo
nolla viittaa nimenomaan \komento{chapter}\-/ tasoisiin otsikoihin.
Otsikoiden tasonumerot voi tarkistaa taulukosta \ref{tlk/otsikkotasot}
(s.~\pageref{tlk/otsikkotasot}).

\komentoi{setcounter}
\laskurii{tocdepth}
\begin{koodilohkosis}
\setcounter{tocdepth}{0}
\end{koodilohkosis}

\noindent
SisÃ¤llysluettelolle ladotaan automaattisesti otsikko, joka tulee
komennosta \komento{contentsname}. Komento on mÃ¤Ã¤ritelty
kieliasetuksissa, ja se latoo suomen kielessÃ¤ sanan ''\contentsname''.
Jos otsikkoon ei ole tyytyvÃ¤inen, voi lÃ¤hdedokumentin esittelyosassa
\komento{addto}\-/ komennon avulla muuttaa kieliasetuksia. Seuraavassa
esimerkissÃ¤ muutetaan sisÃ¤llysluettelon otsikko suomen kielen osalta:

\komentoi{addto}
\komentoi{captionsfinnish}
\komentoi{renewcommand}
\komentoi{contentsname}
\begin{koodilohkosis}
\addto{\captionsfinnish}{
  \renewcommand{\contentsname}{SisÃ¤llysluettelo}
}
\end{koodilohkosis}

\noindent
Dokumenttiluokissa \luokka{book} ja \luokka{report} (luku
\ref{luku/perusdokumenttiluokat}) on sellainen ominaisuus tai
kummallisuus, ettÃ¤ sisÃ¤llysluettelon alkusivulla suoritetaan
automaattisesti komento \komento{thispagestyle}\komentoarg{plain}. TÃ¤mÃ¤n
vuoksi sisÃ¤llysluettelon ensimmÃ¤inen sivu on aina \koodi{plain}\-/
tyylinen eli alatunnisteessa nÃ¤kyy sivunumero, vaikka ennen
sisÃ¤llysluetteloa olisikin asettanut sivutyyliksi jonkin muun.
Monisivuisen sisÃ¤llysluettelon seuraavilla sivuilla sen sijaan
noudatetaan aiemmin \komento{pagestyle}\-/ komennolla asetettua
sivutyyliÃ¤.

\begin{esimerkki*}
  \komentoi{pagestyle}
  \komentoi{renewcommand}
  \komentoi{thispagestyle}
  \komentoi{tableofcontents}

\begin{koodilohko}
\pagestyle{empty}
{
  \renewcommand{\thispagestyle}[1]{} % tyhjÃ¤ mÃ¤Ã¤ritelmÃ¤
  \tableofcontents
}
\end{koodilohko}
  \caption{SisÃ¤llysluettelon sivutyylin muuttaminen kokonaan
    \koodi{empty}\-/ tyyliseksi. Komento \komento{thispagestyle} pitÃ¤Ã¤
    mÃ¤Ã¤ritellÃ¤ vÃ¤liaikaisesti uudestaan dokumenttiluokissa \luokka{report}
    ja \luokka{book}}
  \label{esim/sisÃ¤llysluettelo-empty}
\end{esimerkki*}

Jotta edellÃ¤ mainitusta kummallisuudesta pÃ¤Ã¤sisi eroon, tÃ¤ytyy
mÃ¤Ã¤ritellÃ¤ vÃ¤liaikaisesti \komento{thispagestyle}\-/ komento
toisenlaiseksi. VÃ¤liaikainen komennon mÃ¤Ã¤rittely saadaan aikaan
aaltosulkeilla (luku \ref{luku/aaltosulkeet}), joiden sisÃ¤Ã¤n komennon
uudelleen mÃ¤Ã¤rittely ja sisÃ¤llysluettelon latomiskomento sijoitetaan.
EsimerkistÃ¤ \ref{esim/sisÃ¤llysluettelo-empty} selviÃ¤Ã¤, miten se tehdÃ¤Ã¤n.
TÃ¤ssÃ¤ esimerkissÃ¤ komennon mÃ¤Ã¤ritelmÃ¤ jÃ¤tettiin tyhjÃ¤ksi, koska sen ei
haluta tekevÃ¤n mitÃ¤Ã¤n. NÃ¤in ollen aiemmin annettu \komento{pagestyle}\-/
komento vaikuttaa koko sisÃ¤llysluetteloon.

Normaalit otsikot tulevat mukaan sisÃ¤llysluetteloon itsestÃ¤Ã¤n, mutta
joskus voi joutua lisÃ¤Ã¤mÃ¤Ã¤n luetteloon kohtia myÃ¶s keinotekoisesti. Se
tehdÃ¤Ã¤n komennolla \komento{addcontentsline}, jonka kÃ¤ytÃ¶stÃ¤ on
esimerkki luvussa \ref{luku/otsikot}. PelkkÃ¤Ã¤n pdf\-/ tiedoston
sisÃ¤iseen sisÃ¤llysluetteloon voi lisÃ¤tÃ¤ kohtia komennolla
\komento{pdfbookmark}, joka kuuluu \paketti{hyperref}\-/ pakettiin.
TÃ¤tÃ¤ komentoa kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/pdf-asetukset}.

\begin{esimerkki*}
  \komentoi{addvspace}
  \komentoi{bfseries}
  \komentoi{contentslabel}
  \komentoi{contentspage}
  \komentoi{hspace}
  \komentoi{large}
  \komentoi{normalsize}
  \komentoi{rmfamily}
  \komentoi{small}
  \komentoi{titlecontents}
  \komentoi{titlerule*}
  \komentoi{titlerule}

\begin{koodilohko}
\titlecontents{chapter}                     % otsikon taso: chapter
[8mm]                                       % vasen sisennys (mitta)
{\addvspace{1.5ex}\rmfamily\bfseries\large} % ylÃ¤puolinen koodi
{\contentslabel{8mm}}                       % numeroitu kohta
{\hspace{-8mm}}                             % numeroimaton kohta
{\small\titlerule[0bp]\contentspage}  % pisteviiva (pois) ja sivunumero
[\addvspace{.5ex}]                    % alapuolinen koodi

\titlecontents{section}                     % otsikon taso: section
[8mm]                                       % vasen sisennys (mitta)
{\addvspace{.5ex}\rmfamily\normalsize}      % ylÃ¤puolinen koodi
{\contentslabel{8mm}}                       % numeroitu kohta
{}                                          % numeroimaton kohta
{~\small\titlerule*[3mm]{.}\contentspage}   % pisteviiva ja sivunumero
[\addvspace{.2ex}]                          % alapuolinen koodi

\titlecontents{subsection}                  % otsikon taso: subsection
[18mm]                                      % vasen sisennys (mitta)
{\rmfamily\small}                           % ylÃ¤puolinen koodi
{\contentslabel{10mm}}                      % numeroitu kohta
{}                                          % numeroimaton kohta
{~\small\titlerule*[3mm]{.}\contentspage}   % pisteviiva ja sivunumero
[]                                          % alapuolinen koodi
\end{koodilohko}
  \caption{SisÃ¤llysluettelon ulkoasua muokataan \komento{titlecontents}\-/
    komennolla, joka on perÃ¤isin \paketti{titletoc}\-/ paketista}
  \label{esim/titlecontents}
\end{esimerkki*}

SisÃ¤llysluettelon ulkoasun muokkaamista varten on paketti
\pakettictan{titletoc}, jonka tÃ¤rkeimmÃ¤n komennon
(\komento{titlecontents}) kÃ¤yttÃ¶Ã¤ esitellÃ¤Ã¤n esimerkissÃ¤
\ref{esim/titlecontents}. Komennolla voi muokata paitsi
sisÃ¤llysluettelon kohtia mutta myÃ¶s leijuvien osien (luku
\ref{luku/leijuosat}) kuten kuvien ja taulukoiden luetteloita.

EsimerkistÃ¤ selviÃ¤Ã¤, miten \komento{titlecontents}\-/ komennolla
mÃ¤Ã¤ritellÃ¤Ã¤n luettelokohdan vasemman sisennyksen mitta, ylÃ¤puolinen ja
alapuolinen vÃ¤li (\komento{addvspace}, luku
\ref{luku/pystysuuntaiset-vÃ¤lit}), mahdolliset kirjainperheeseen ja
\=/leikkaukseen vaikuttavat komennot kuten \komento{rmfamily},
\komento{bfseries} ja \komento{large} (luku \ref{luku/fontit-korkea}).

\komento{titlecontents}\-/ komennon argumenteissa kÃ¤ytetÃ¤Ã¤n jonkin
verran muita komentoja, jotka on tarkoitettu nimenomaan tÃ¤mÃ¤n komennon
argumentteihin. Komento \komento{contentslabel} latoo kyseisen otsikon
numeron (1.2, 1.3 tms.) tietynlevyiseen tilaan ja sisennystason
vasemmalle puolelle (riippuva sisennys). Komento \komento{contentspage}
latoo sivunumeron. Komennolla \komento{titlerule} voi tehdÃ¤ katsetta
ohjaavan viivan tai pisteviivan otsikkotekstin ja sivunumeron vÃ¤liin.

Paketin \paketti{titletoc} ohjekirjassa on paljon muitakin
toimintoja ja esimerkkejÃ¤ sisÃ¤llysluetteloiden ehostamiseen. Ohjeisiin
kannattaa tutustua, mikÃ¤li kaipaa erikoisempia sisÃ¤llysluettelomalleja.

\section{Luetelmat}
\label{luku/luetelmat}

Latexissa on helppokÃ¤yttÃ¶iset ympÃ¤ristÃ¶t kolmelle erilaiselle luetelman
perustyypille: numeroimaton (\ymparisto{itemize}), numeroitu
(\ymparisto{enumerate}) ja mÃ¤Ã¤ritelmÃ¤luetelma (\ymparisto{description}).
Ne riittÃ¤nevÃ¤t perustarpeisiin ja ovat hieman myÃ¶s muokattavissa
typografisesti. NÃ¤itÃ¤ luetelmien perusympÃ¤ristÃ¶jÃ¤ kÃ¤sitellÃ¤Ã¤n luvussa
\ref{luku/luetelma-perus}.

Perusluetelmien lisÃ¤ksi on olemassa yleinen luetelmien rakenteluun
tarkoitettu ympÃ¤ristÃ¶ \ymparisto{list}, jolla voi toteuttaa suunnilleen
mitÃ¤ tahansa luetelmiin tai tekstikappaleisiin liittyviÃ¤ rakenteita.
Teknisesti \ymparisto{list}\-/ ympÃ¤ristÃ¶ sisÃ¤ltÃ¤Ã¤ kaikki tarvittavat
luetelmiin liittyvÃ¤t ominaisuudet, joten kirjoittaja voi aivan hyvin
kÃ¤yttÃ¤Ã¤ pelkÃ¤stÃ¤Ã¤n sitÃ¤. YmpÃ¤ristÃ¶Ã¤ kÃ¤sitellÃ¤Ã¤n luvussa
\ref{luku/list-ympÃ¤ristÃ¶}.

\subsection{PerusympÃ¤ristÃ¶t}
\label{luku/luetelma-perus}

YmpÃ¤ristÃ¶ \ymparisto{itemize} tekee numeroimattoman luetelman, jonka
jokainen kohta merkitÃ¤Ã¤n samanlaisella merkillÃ¤, esimerkiksi
luetelmaympyrÃ¤llÃ¤~(\textbullet). \ymparisto{enumerate} puolestaan on
numeroitu luetelma, eli luetelman kohdat saavat jÃ¤rjestysnumeron tai
muun jÃ¤rjestystÃ¤ ilmaisevan merkinnÃ¤n kuten kirjaimen tai roomalaisen
numeron. YmpÃ¤ristÃ¶ \ymparisto{description} luo mÃ¤Ã¤ritelmÃ¤luetelman,
jossa luetellaan kÃ¤sitteitÃ¤ ja niiden mÃ¤Ã¤ritelmiÃ¤. TÃ¤mÃ¤ on kÃ¤ytÃ¤nnÃ¶ssÃ¤
sama kuin tekstikappaleen riippuva sisennys (luku
\ref{luku/riippuva-sisennys}), jossa kappale alkaa mÃ¤Ã¤riteltÃ¤vÃ¤llÃ¤
ilmauksella.

LÃ¤hdetiedostossa kaikkien luetelmatyyppien rakenne on samanlainen:
luetelmaympÃ¤ristÃ¶n sisÃ¤llÃ¤ kÃ¤ytetÃ¤Ã¤n \komento{item}\-/ komentoa, joka
aloittaa uuden luetelmakohdan. Komennolle ei tarvitse antaa argumenttia,
vaan komennon jÃ¤lkeinen teksti muodostaa luetelman kohdan. Seuraavassa
on esimerkki \ymparisto{itemize}\-/ ympÃ¤ristÃ¶stÃ¤, mutta
\ymparisto{enumerate}\-/ ympÃ¤ristÃ¶Ã¤kin kÃ¤ytetÃ¤Ã¤n samalla tavalla:

\ymparistoi{itemize}
\komentoi{item}
\begin{koodilohkosis}
\begin{itemize}
\item Luetelman ensimmÃ¤inen kohta.
\item Toinen kohta heti perÃ¤Ã¤n.
\item Kolmaskin kohta on tarpeen.
\end{itemize}
\end{koodilohkosis}

\noindent
\komento{item}\-/ komennolle voi antaa hakasulkeissa valinnaisen
argumentin. Silloin ei ladota tavanomaista luetelmamerkkiÃ¤ vaan
argumentin sisÃ¤ltÃ¤mÃ¤ teksti.

\komentoi{item}
\begin{koodilohkosis}
\item[--] TÃ¤ssÃ¤ kohdassa onkin ajatusviiva.
\end{koodilohkosis}

\begin{esimerkki*}
  \ymparistoi{description}
  \komentoi{item}

\begin{koodilohko}
\begin{description}
\item[Tex] Tekstidokumenttien ladontaan erikoistunut ohjelmointikieli.
\item[Latex] Dokumenttien kirjoittajille tarkoitettu merkintÃ¤kieli.
\item[Lualatex] Latex-muotoisten lÃ¤hdedokumenttien kÃ¤Ã¤ntÃ¤jÃ¤ohjelma.
  SisÃ¤ltÃ¤Ã¤ Lua-nimisen ohjelmointikielen.
\end{description}
\end{koodilohko}

  \begin{tulos}
    \begin{description}
    \item[Tex] Tekstidokumenttien ladontaan erikoistunut ohjelmointikieli.
    \item[Latex] Dokumenttien kirjoittajille tarkoitettu merkintÃ¤kieli.
    \item[Lualatex] Latex-muotoisten lÃ¤hdedokumenttien kÃ¤Ã¤ntÃ¤jÃ¤ohjelma.
      SisÃ¤ltÃ¤Ã¤ Lua-nimi\-sen ohjelmointikielen.
    \end{description}
  \end{tulos}
  \caption{KÃ¤sitteiden mÃ¤Ã¤ritelmiÃ¤ ja sen kaltaisia luetelmia voi
    toteuttaa \ymparisto{description}\-/ ympÃ¤ristÃ¶n avulla. KÃ¤sitteet
    kirjoitetaan \komento{item}\-/ komennon valinnaiseen argumenttiin}
  \label{esim/description}
\end{esimerkki*}

\noindent
Komennon valinnaista argumenttia hyÃ¶dynnetÃ¤Ã¤n varsinkin
\ymparisto{description}\-/ ympÃ¤ristÃ¶ssÃ¤, jossa luetellaan sanoja tai
kÃ¤sitteitÃ¤ ja niiden mÃ¤Ã¤ritelmiÃ¤. EsimerkistÃ¤ \ref{esim/description}
selviÃ¤Ã¤, kuinka mÃ¤Ã¤riteltÃ¤vÃ¤t kÃ¤sitteet ilmaistaan \komento{item}\-/
komennon valinnaisessa argumentissa.

EdellÃ¤ mainittuja luetelmaympÃ¤ristÃ¶jÃ¤ voi kirjoittaa sisÃ¤kkÃ¤in: yksi
luetelman kohta (\komento{item}) voi siis aloittaa uuden
luetelmaympÃ¤ristÃ¶n. Latex osaa kÃ¤sitellÃ¤ neljÃ¤ sisÃ¤kkÃ¤istÃ¤ luetelmaa.

Latex sisentÃ¤Ã¤ sisÃ¤kkÃ¤iset luetelmat automaattisesti loogisella tavalla
ja vaihtaa eri tasoilla luetelmakohtien merkkiÃ¤ tai numerointitapaa.
Esimerkiksi uloimmainen \ymparisto{itemize}\-/ ympÃ¤ristÃ¶ kÃ¤yttÃ¤Ã¤
luetelmaympyrÃ¤Ã¤~(\textbullet), mutta sen sisÃ¤llÃ¤ oleva kÃ¤yttÃ¤Ã¤
ajatusviivaa~(\==). Uloimmainen \ymparisto{enumerate}\-/ ympÃ¤ristÃ¶
kÃ¤yttÃ¤Ã¤ arabialaisia numeroita (1, 2, 3 jne.) mutta sen sisÃ¤llÃ¤ oleva
kirjaimia (a, b, c jne.).

\begin{esimerkki*}
  \komentoi{renewcommand}
  \komentoi{labelitemi}
  \komentoi{labelitemii}
  \komentoi{labelitemiii}
  \komentoi{labelitemiv}
  \komentoi{textbullet}
  \komentoi{normalfont}
  \komentoi{bfseries}
  \komentoi{textendash}
  \komentoi{textasteriskcentered}
  \komentoi{textperiodcentered}
  \komentoi{labelenumi}
  \komentoi{labelenumii}
  \komentoi{labelenumiii}
  \komentoi{labelenumiv}
  \komentoi{arabic}
  \komentoi{alph}
  \komentoi{Alph}
  \komentoi{roman}
  \laskurii{enumi}
  \laskurii{enumii}
  \laskurii{enumiii}
  \laskurii{enumiv}

\begin{koodilohko}
% itemize-ympÃ¤ristÃ¶n luetelmamerkki
\renewcommand{\labelitemi}  {\textbullet} % uloimmainen luetelma
\renewcommand{\labelitemii} {\normalfont\bfseries\textendash}
\renewcommand{\labelitemiii}{\textasteriskcentered}
\renewcommand{\labelitemiv} {\textperiodcentered}

% enumerate-ympÃ¤ristÃ¶n numerointitapa
\renewcommand{\labelenumi}  {\arabic{enumi}.} % uloimmainen luetelma
\renewcommand{\labelenumii} {(\alph{enumii})}
\renewcommand{\labelenumiii}{\roman{enumiii}.}
\renewcommand{\labelenumiv} {\Alph{enumiv}.}
\end{koodilohko}
  \caption{Luetelmamerkkien ja numerointitapojen muuttaminen
    \ymparisto{itemize}\-/\ ja \ymparisto{enumerate}\-/ ympÃ¤ristÃ¶issÃ¤.
    EsimerkissÃ¤ nÃ¤kyvÃ¤t oletusarvot}
  \label{esim/labelitem-labelenum}
\end{esimerkki*}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[3]{#1 &amp; \uctunnus{#2} &amp; #3 \\}
  \begin{tabular}{cll}
    \toprule
    \multicolumn{2}{l}{\ots{Merkki ja Unicode-nimi}} &amp; \ots{Komento} \\
    \midrule
    \rivi{\textbullet}{u+2022 bullet}{\komento{textbullet}}
    \rivi{â—¦}{u+25e6 white bullet}{}
    \rivi{$\circ$}{u+2218 ring operator}{\koodi{\$\mkomento{circ}\$}}
    % \rivi{âƒ}{u+2043 hyphen bullet}{}
    % \rivi{â–ª}{u+25aa black small square}{}
    \rivi{\rule[.3ex]{.5ex}{.5ex}}{}
    {\komento{rule}\komentoargv{.3ex}\komentoarg{.5ex}\komentoarg{.5ex}}
    \rivi{â€£}{u+2023 triangular bullet}{}
    \rivi{--}{u+2013 en dash}{\komento{textendash}, \koodi{--}}
    \rivi{$\star$}{u+22c6 star operator}{\koodi{\$\mkomento{star}\$}}
    \rivi{\textasteriskcentered}
    {u+2217 asterisk operator} {\komento{textasteriskcentered}}
    \rivi{\textperiodcentered}
    {u+00b7 middle dot}{\komento{textperiodcentered}}
    \bottomrule
  \end{tabular}
}{
  \caption{Erilaisia luetelmamerkkejÃ¤. Komento-sarakkeen
    \koodi{\$}\=/merkit ovat matematiikkatilan aloitus- ja
    lopetuskomentoja}
  \label{tlk/luetelmamerkkejÃ¤}
}

Luetelmamerkit ja luetelmien numerointitavat ovat kirjoittajan
muutettavissa. YmpÃ¤ristÃ¶ssÃ¤ \ymparisto{itemize} luetelmamerkit tulevat
komennosta, joka alkaa sanoilla \komentox{label\-item} ja jatkuu
luetelman tasoa ilmaisevalla roomalaisella numerolla
\koodi{i}\==\koodi{iv}. Komennot voi mÃ¤Ã¤ritellÃ¤ uudelleen haluamallaan
tavalla, kuten esimerkki \ref{esim/labelitem-labelenum} osoittaa.
Taulukkoon \ref{tlk/luetelmamerkkejÃ¤} on koottu erilaisia
luetelmamerkkejÃ¤ sekÃ¤ Latex\-/ komentoja, joilla niitÃ¤ voi tuottaa.

\ymparisto{enumerate}\-/ ympÃ¤ristÃ¶ssÃ¤ numeroidut kohdat tulevat
komennosta, joka alkaa sanoilla \komentox{label\-enum} ja jatkuu
luetelman tasoa ilmaisevalla roomalaisella numerolla
\koodi{i}\==\koodi{iv}. Numeroidussa luetelmassa kÃ¤ytetÃ¤Ã¤n laskureita
\laskuri{enumi}, \laskuri{enumii}, \laskuri{enumiii} ja
\laskuri{enumiv}, joten luetelmakohtien tÃ¤ytyy latoa nÃ¤iden laskurien
arvo jossakin muodossa. Esimerkki \ref{esim/labelitem-labelenum}
selventÃ¤Ã¤ asiaa.

Numeroiduista luetelmakohdista huolehtivat laskurit nollataan
automaattisesti aina ympÃ¤ristÃ¶n alussa. Joskus voi kuitenkin olla
tarpeen aloittaa luetelmakohdat jostain muusta kuin luvusta~1 tai
kirjaimesta~\textit{a}. Silloin kirjoittajan tÃ¤ytyy asettaa laskuri
haluamaansa arvoon \ymparisto{enumerate}\-/ ympÃ¤ristÃ¶n sisÃ¤llÃ¤. Seuraava
esimerkki asettaa uloimman luetelman \laskuri{enumi}\-/ laskurin
arvoon~3, joten ensimmÃ¤iseksi luetelmakohdaksi tulee~4.

\ymparistoi{enumerate}
\komentoi{setcounter}
\komentoi{item}
\laskurii{enumi}
\begin{koodilohkosis}
\begin{enumerate}
  \setcounter{enumi}{3}
\item TÃ¤mÃ¤ on luetelmakohta numero 4.
\end{enumerate}
\end{koodilohkosis}

\noindent
Kirjoittaja voi vaikuttaa myÃ¶s luetelmakohtien sisennykseen ja
pystysuuntaisiin vÃ¤leihin. Sisennykseen vaikuttavat mitat alkavat
sanoilla \mittax{leftmargin} ja jatkuvat roomalaisella numerolla
\koodi{i}\==\koodi{iv}, joka ilmaisee luetelman tasoa. Uloimmaisen
luetelman sisennys ilmaistaan suhteessa sivun tekstialueen reunaan;
sisempien luetelmien sisennys ilmaistaan suhteessa edellisen tason
sisennykseen. Oletuksena Latexin sisennykset ovat melko suuria, joten
niitÃ¤ on usein tarpeen pienentÃ¤Ã¤, esimerkiksi seuraavan esimerkin
mukaisesti:

\komentoi{setlength}
\mittai{leftmargini}
\mittai{leftmarginii}
\mittai{leftmarginiii}
\mittai{leftmarginiv}
\begin{koodilohkosis}
\setlength{\leftmargini}  {1.5em} % uloimmainen luetelma
\setlength{\leftmarginii} {1.5em}
\setlength{\leftmarginiii}{1.5em}
\setlength{\leftmarginiv} {1.5em}
\end{koodilohkosis}

\noindent
EdellÃ¤ olevat sisennysasetukset toimivat ympÃ¤ristÃ¶issÃ¤
\ymparisto{itemize}, \ymparisto{enumerate} ja \ymparisto{description}.
Mainituissa ympÃ¤ristÃ¶issÃ¤ voi sÃ¤Ã¤tÃ¤Ã¤ pystysuuntaisia vÃ¤lejÃ¤ mittojen
\mitta{parsep}, \mitta{itemsep} ja \mitta{parskip} avulla. Mittojen
sijainti luetelmassa on nÃ¤htÃ¤vissÃ¤ kuvassa \ref{kuva/list-mitat}
(s.~\pageref{kuva/list-mitat}). Mittojen asettamiskomennot on syytÃ¤
sijoittaa luetelmaympÃ¤ristÃ¶n sisÃ¤Ã¤n heti \komento{begin}\-/ komennon
jÃ¤lkeen.

\komentoi{setlength}
\mittai{parsep}
\mittai{itemsep}
\mittai{parskip}
\begin{koodilohkosis}
\setlength{\parsep} {0bp}   % kappaleiden vÃ¤li
\setlength{\itemsep}{3bp}   % luetelmakohtien vÃ¤li
\setlength{\parskip}{1.2ex} % vÃ¤li luetelman alussa ja lopussa
\end{koodilohkosis}

\subsection{Omat luetelmat (list)}
\label{luku/list-ympÃ¤ristÃ¶}

YmpÃ¤ristÃ¶ \ymparisto{list} on yleistyÃ¶kalu, joka soveltuu moniin
asioihin: se on tarkoitettu erilaisten luetelmien rakentamiseen, mutta
sen avulla muotoilla mitÃ¤ tahansa tekstikappaleita. Esimerkiksi luvussa
\ref{luku/luetelma-perus} kÃ¤sitellyt luetelmat voi toteuttaa myÃ¶s
\ymparisto{list}\-/ ympÃ¤ristÃ¶n avulla -- samoin luvuissa
\ref{luku/riippuva-sisennys} ja \ref{luku/lohkolainaukset} kÃ¤sitellyt
riippuvat sisennykset ja lohkolainaukset.

Tyypillisesti \ymparisto{list}\-/ ympÃ¤ristÃ¶Ã¤ ei kÃ¤ytetÃ¤ dokumentin
kirjoittamisessa sellaisenaan, vaan kirjoittaja mÃ¤Ã¤rittelee oman
helppokÃ¤yttÃ¶isen luetelma\-/\ tai muun ympÃ¤ristÃ¶n, ja
\ymparisto{list}\-/ ympÃ¤ristÃ¶Ã¤ hyÃ¶dynnetÃ¤Ã¤n ympÃ¤ristÃ¶n
mÃ¤Ã¤rittelemisessÃ¤. Omien ympÃ¤ristÃ¶jen tekemistÃ¤ kÃ¤sitellÃ¤Ã¤n yleisesti
luvussa \ref{luku/ympÃ¤ristÃ¶t}, mutta tÃ¤mÃ¤n alaluvun loppupuolella on
esimerkki, joka liittyy nimenomaan \ymparisto{list}\-/ ympÃ¤ristÃ¶Ã¶n.

Seuraavassa on esimerkki \ymparisto{list}\-/ ympÃ¤ristÃ¶n rakenteesta. Se
muistuttaa luvussa \ref{luku/luetelma-perus} kÃ¤siteltyjÃ¤ perusluetelmia,
mutta lisÃ¤ksi sille tÃ¤ytyy antaa kaksi argumenttia. Niiden avulla
vaikutetaan luetelman asetuksiin.

\begin{koodilohkosis}
\begin{list}{merkki}{asetukset}
\item ...
\end{list}
\end{koodilohkosis}

\noindent
Edellisen esimerkin argumentti \koodi{merk\-ki} sisÃ¤ltÃ¤Ã¤ tekstiÃ¤ tai
koodia, joka muodostaa luetelmakohdan merkin. Numeroimattomassa
luetelmassa siihen voi laittaa esimerkiksi luetelmaympyrÃ¤n eli komennon
\komento{textbullet} tai ajatusviivan (\koodi{--}). Muita esimerkkejÃ¤ on
taulukossa \ref{tlk/luetelmamerkkejÃ¤}. Numeroidussa luetelmassa siihen
kirjoitetaan komento, joka latoo jonkin laskurin arvon.

\ymparisto{list}\-/ ympÃ¤ristÃ¶n toinen argumentti \koodi{ase\-tuk\-set}
sisÃ¤ltÃ¤Ã¤ mitÃ¤ hyvÃ¤nsÃ¤ koodia, jolla vaikutetaan ympÃ¤ristÃ¶n asetuksiin.
Tyypillisesti siinÃ¤ mÃ¤Ã¤ritellÃ¤Ã¤n kÃ¤ytettÃ¤vÃ¤ luetelmalaskuri sekÃ¤
asetetaan luetelman ulkoasuun vaikuttavat mitat sopivaksi. Mahdollisesti
siinÃ¤ myÃ¶s mÃ¤Ã¤ritellÃ¤Ã¤n luetelmamerkkien latomiseen vaikuttava komento
\komento{makelabel}.

\begin{esimerkki*}
  \ymparistoi{list}
  \komentoi{arabic}
  \komentoi{setlength}
  \komentoi{usecounter}
  \mittai{leftmargin}
  \mittai{itemsep}
  \mittai{parsep}
  \laskurii{enumi}

\begin{koodilohko}
\begin{list}{\arabic{enumi})}{
    \usecounter{enumi}             % kÃ¤ytetÃ¤Ã¤n enumi-laskuria
    \setlength{\leftmargin}{1.5em} % vasen sisennys
    \setlength{\itemsep}{.2ex}     % luetelmakohtien vÃ¤li
    \setlength{\parsep}{0ex}       % luetelmakappaleiden vÃ¤li
  }
\item Luetelman ensimmÃ¤inen kohta.
\item TÃ¤ssÃ¤ on vielÃ¤ toinen
\item ja kolmas kohta.
\end{list}
\end{koodilohko}
  \begin{tulos}
    \begin{list}{\arabic{enumi})}{
        \usecounter{enumi}             % kÃ¤ytetÃ¤Ã¤n enumi-laskuria
        \setlength{\leftmargin}{1.5em} % vasen sisennys
        \setlength{\itemsep}{.2ex}     % luetelmakohtien vÃ¤li
        \setlength{\parsep}{0ex}       % luetelmakappaleiden vÃ¤li
      }
    \item Luetelman ensimmÃ¤inen kohta.
    \item TÃ¤ssÃ¤ on vielÃ¤ toinen
    \item ja kolmas kohta.
    \end{list}
  \end{tulos}
  \caption{\ymparisto{list}\-/ ympÃ¤ristÃ¶n argumenttien avulla vaikutetaan
    luetelmakohtien merkintÃ¤tapaan ja mittoihin}
  \label{esim/list-perus}
\end{esimerkki*}

EsimerkissÃ¤ \ref{esim/list-perus} on yksinkertainen numeroitu luetelma,
joka hyÃ¶dyntÃ¤Ã¤ olemassa olevaa \laskuri{enumi}\-/ laskuria (luku
\ref{luku/luetelma-perus}). Laskurin arvo ladotaan arabialaisilla
numeroilla (\komento{arabic}). Laskurin \laskuri{enumi} sijasta voi
kÃ¤yttÃ¤Ã¤ mitÃ¤ tahansa omaakin laskuria, kunhan sen on luonut etukÃ¤teen
komennolla \komento{newcounter} (luku \ref{luku/laskurit}). EsimerkissÃ¤
asetetaan myÃ¶s erÃ¤itÃ¤ luetelman sisÃ¤isiÃ¤ mittoja, joista on lisÃ¤tietoa
myÃ¶hemmin tÃ¤ssÃ¤ alaluvussa sekÃ¤ kuvassa \ref{kuva/list-mitat}.

\begin{esimerkki*}
  \ymparistoi{list}
  \komentoi{renewcommand}
  \komentoi{makelabel}
  \komentoi{textsc}
  \komentoi{setlength}
  \komentoi{item}
  \mittai{leftmargin}
  \mittai{labelwidth}
  \mittai{labelsep}
  \mittai{itemindent}
  \mittai{itemsep}

\begin{koodilohko}
\begin{list}{}{
    \renewcommand{\makelabel}[1]{\textsc{#1:}}
    \setlength{\leftmargin}{1.5em}
    \setlength{\labelwidth}{1.5em}
    \setlength{\itemindent}{1em}
    \setlength{\labelsep}{1em}
    \setlength{\itemsep}{.2ex}
  }
\item[Tex] Tekstidokumenttien ladontaan erikoistunut ohjelmointikieli.
\item[Latex] Dokumenttien kirjoittajille tarkoitettu merkintÃ¤kieli.
\item[Lualatex] Latex-muotoisten lÃ¤hdedokumenttien kÃ¤Ã¤ntÃ¤jÃ¤ohjelma.
  SisÃ¤ltÃ¤Ã¤ Lua-nimi\-sen ohjelmointikielen.
\end{list}
\end{koodilohko}
  \begin{tulos}
    \begin{list}{}{
        \renewcommand{\makelabel}[1]{\textsc{#1:}}
        \setlength{\leftmargin}{1.5em}
        \setlength{\labelwidth}{1.5em}
        \setlength{\itemindent}{1em}
        \setlength{\labelsep}{1em}
        \setlength{\itemsep}{.2ex}
      }
    \item[Tex] Tekstidokumenttien ladontaan erikoistunut ohjelmointikieli.
    \item[Latex] Dokumenttien kirjoittajille tarkoitettu merkintÃ¤kieli.
    \item[Lualatex] Latex-muotoisten lÃ¤hdedokumenttien kÃ¤Ã¤ntÃ¤jÃ¤ohjelma.
      SisÃ¤ltÃ¤Ã¤ Lua-nimi\-sen ohjelmointikielen.
    \end{list}
  \end{tulos}
  \caption{MÃ¤Ã¤ritelmÃ¤luetelmien tekeminen \ymparisto{list}\-/ ympÃ¤ristÃ¶n
    avulla. SisÃ¤isesti komento \komento{makelabel} huolehtii
    luetelmamerkkien eli tÃ¤ssÃ¤ kÃ¤sitteiden nimien latomisesta}
  \label{esim/list-makelabel}
\end{esimerkki*}

Luetelmamerkit \ymparisto{list}\-/ ympÃ¤ristÃ¶ latoo siten, ettÃ¤ se
suorittaa aina komennon \komento{makelabel} ja antaa sille argumentiksi
kulloisenkin luetelmamerkin eli \ymparisto{list}\-/ ympÃ¤ristÃ¶n
ensimmÃ¤isenÃ¤ argumenttina annetun tekstin tai \komento{item}\-/ komennon
valinnaisena argumenttina olevan tekstin. Luetelmamerkki ladotaan sille
varatun alueen oikeaan reunaan. Oletuksena \komento{makelabel}\-/
komento toimii ikÃ¤Ã¤n kuin se olisi mÃ¤Ã¤ritelty seuraavalla tavalla:

\komentoi{renewcommand}
\komentoi{makelabel}
\komentoi{hfill}
\begin{koodilohkosis}
\renewcommand{\makelabel}[1]{\hfill #1}
\end{koodilohkosis}

\noindent
Kirjoittaja voi mÃ¤Ã¤ritellÃ¤ \komento{makelabel}\-/ komennon uudelleen
sellaiseksi kuin haluaa. Se on tarpeen esimerkiksi silloin, kun tÃ¤ytyy
latoa kaikki luetelmamerkit eri fontilla kuin muu teksti. Varsinkin
mÃ¤Ã¤ritelmÃ¤luetelmissa (luku \ref{luku/luetelma-perus}), joissa
luetellaan kÃ¤sitteitÃ¤ ja niiden mÃ¤Ã¤ritelmiÃ¤, on usein hyÃ¶dyllistÃ¤, ettÃ¤
kÃ¤sitteet erottuvat muusta tekstistÃ¤ selvÃ¤sti. Esimerkki
\ref{esim/list-makelabel} selventÃ¤Ã¤ tÃ¤tÃ¤ asiaa.

\leijukuva{
  \begin{tikzpicture}
    [x=.01\textwidth, y=.01\textwidth, line width=1bp, rounded corners=2bp]

    \newcommand{\kpl}[1]{\draw (15,#1) -- ++(70,0) -- ++(0,15)
      -- ++(-60,0) -- ++(0,-5) -- ++(-10,0) -- cycle}
    \newcommand{\nuoli}[2]{\draw [color=mittanuoli, &lt;-&gt;] (#1) -- (#2)}
    \newcommand{\kyltti}[2]{\draw (#1) node [anchor=west] {#2}}

    \newcommand{\katko}[2]{\draw [color=apuviiva, densely dotted, line
      width=.7bp] (#1) -- (#2)}

    \katko{0,10}{0,110};
    \katko{100,10}{100,110};

    \kpl{80};
    \kpl{55};
    \kpl{25};

    \draw (0,10) rectangle ++(100,-7);
    \node at (50,6) {alapuolinen teksti};

    \draw (0,110) rectangle ++(100,7);
    \node at (50,113) {ylÃ¤puolinen teksti};

    \nuoli{50,110}{50,95};
    \kyltti{51,102.5}{\mitta{topsep} + \mitta{parskip} (+ \mitta{partopsep})};

    % Ylin kappale
    \node at (50,87) {luetelmakohta 1};
    \draw (5,91) rectangle ++(15,4);
    \katko{5,98}{5,95};
    \katko{20,98}{20,95};
    \katko{25,98}{25,95};
    \nuoli{5,98}{20,98}; \kyltti{2,102}{\mitta{labelwidth}};
    \nuoli{20,98}{25,98}; \kyltti{20,102}{\mitta{labelsep}};
    \katko{25,90}{25,87};
    \nuoli{15,87}{25,87}; \kyltti{15,84}{\mitta{itemindent}};

    \nuoli{50,70}{50,80};
    \kyltti{51,75}{\mitta{parsep}};

    % KeskimmÃ¤inen kappale
    \node at (50,62) {toinen tekstikappale};
    \nuoli{0,57}{15,57};
    \kyltti{0,52}{\mitta{leftmargin}};
    \nuoli{85,57}{100,57};
    \kyltti{82,52}{\mitta{rightmargin}};
    \katko{15,70}{15,65};
    \nuoli{15,70}{25,70};
    \kyltti{13,74}{\mitta{listparindent}};

    \nuoli{50,40}{50,55};
    \kyltti{51,47}{\mitta{itemsep} + \mitta{parsep}};

    % Alin kappale
    \node at (50,32) {luetelmakohta 2};
    \draw (5,36) rectangle ++(15,4);

    \nuoli{50,25}{50,10};
    \kyltti{51,17.5}{\mitta{topsep} + \mitta{parskip} (+ \mitta{partopsep})};
  \end{tikzpicture}
}{
  \caption{Luetelmien tekemiseen tarkoitetun \ymparisto{list}\-/
    ympÃ¤ristÃ¶n mitat}
  \label{kuva/list-mitat}
}

Luetelmiin liittyviÃ¤ mittoja on useita, ja ne voi asettaa sopiviin
arvoihin \ymparisto{list}\-/ ympÃ¤ristÃ¶n toisen argumentin sisÃ¤llÃ¤.
Mittojen sijainnit on koottu kuvaan \ref{kuva/list-mitat}, ja
seuraavassa on lisÃ¤tietoa niiden merkityksestÃ¤.

\begin{maaritelma}{\mitta{#1}}
\item [parskip] Pystysuuntainen mitta ja vÃ¤li, joka ei liity pelkÃ¤stÃ¤Ã¤n
  \ymparisto{list}\-/ ympÃ¤ristÃ¶Ã¶n vaan on yleinen tekstikappaleiden
  vÃ¤linen etÃ¤isyysmitta (luku \ref{luku/pystysuuntaiset-vÃ¤lit}). Mitta
  on vaikuttaa kuitenkin myÃ¶s \ymparisto{list}\-/ ympÃ¤ristÃ¶Ã¶n, ja sen
  voi mÃ¤Ã¤ritellÃ¤ vÃ¤liaikaisesti uudelleen ympÃ¤ristÃ¶n yhteydessÃ¤.
\item [topsep] Pystysuuntainen vÃ¤li, joka ladotaan ennen ja jÃ¤lkeen
  \ymparisto{list}\-/ ympÃ¤ristÃ¶n, yhdessÃ¤ mittojen \mitta{parskip} ja
  \mitta{partopsep} kanssa.
\item [partopsep] Pystysuuntainen vÃ¤li, joka lisÃ¤tÃ¤Ã¤n
  \ymparisto{list}\-/ ympÃ¤ristÃ¶Ã¤ ennen ja sen jÃ¤lkeen silloin, kun
  ympÃ¤ristÃ¶ aloittaa uuden tekstikappaleen eli sitÃ¤ ennen on tyhjÃ¤ rivi.
\item [parsep] Pystysuuntainen vÃ¤li, joka tulee luetelman sisÃ¤llÃ¤
  kaikkien luetelmakohtien vÃ¤liin sekÃ¤ saman luetelmakohdan eri
  tekstikappaleiden vÃ¤liin.
\item [itemsep] Pystysuuntainen vÃ¤li, joka tulee luetelman sisÃ¤llÃ¤
  luetelmakohtien vÃ¤liin.
\item [leftmargin] Luetelman kappaleiden vasen sisennys.
\item [rightmargin] Luetelman kappaleiden oikea sisennys. Oletusarvo on
  nolla.
\item [labelwidth] Luetelmamerkin leveys. Merkki ladotaan oletuksena
  tÃ¤mÃ¤n alueen oikeaan reunaan, mutta se riippuu \komento{makelabel}\-/
  komennon on mÃ¤Ã¤rittelystÃ¤. Jos luetelmamerkki on leveÃ¤mpi kuin
  \mitta{labelwidth}\-/ mitta, luetelmamerkin jÃ¤lkeinen teksti siirtyy
  oikealle siten, ettÃ¤ merkki mahtuu kokonaan. Luetelmamerkin alueen
  vasen reuna sijaitsee kohdassa, jonka voi laskea seuraavasta kaavasta:
  \mitta{leftmargin} âˆ’ \mitta{labelwidth} + \mitta{itemindent} âˆ’
  \mitta{labelsep}. MikÃ¤li haluaa, ettÃ¤ luetelmamerkin vasen reuna on
  sisennyksen nollakohdassa, tÃ¤ytyy edellÃ¤ mainitut mitat asettaa siten,
  ettÃ¤ mittojen yhteistulos on nolla. EsimerkissÃ¤
  \ref{esim/list-makelabel} on tehty juuri nÃ¤in.
\item [labelsep] Vaakasuuntainen vÃ¤li luetelmamerkin jÃ¤lkeen, ennen
  luetelman sisÃ¤ltÃ¶tekstiÃ¤. Oletusarvo on 0,5\,em.
\item [itemindent] YlimÃ¤Ã¤rÃ¤inen luetelmakohtien ensimmÃ¤isen rivin
  sisennys. TÃ¤tÃ¤ voi tarvita, kun haluaa sÃ¤Ã¤tÃ¤Ã¤ luetelmamerkin vasemman
  reunan tiettyyn kohtaan. Katso mitta \mitta{labelwidth} edellÃ¤.
  Oletusarvo on nolla.
\item [listparindent] Luetelmakohtien toisen ja sitÃ¤ seuraavien
  tekstikappaleiden ensimmÃ¤isen rivin sisennys. Oletusarvo on nolla.
\end{maaritelma}

\noindent
Kun on lopulta saanut \ymparisto{list}\-/ ympÃ¤ristÃ¶n asetukset
kohdalleen ja luetelmat ovat sellaisia kuin pitÃ¤Ã¤kin, on varmaankin hyvÃ¤
aika luoda oma ympÃ¤ristÃ¶, joka piilottaa asetukset yhden
ympÃ¤ristÃ¶mÃ¤Ã¤rittelyn sisÃ¤Ã¤n. Omaa ympÃ¤ristÃ¶Ã¤ on sitten helppoa kÃ¤yttÃ¤Ã¤
useitakin kertoja omassa lÃ¤hdedokumentissa.

\begin{esimerkki*}
  \komentoi{newenvironment}
  \komentoi{setlength}
  \komentoi{textbullet}
  \mittai{itemsep}
  \mittai{labelsep}
  \mittai{leftmargin}
  \mittai{parsep}
  \ymparistoi{list}

\begin{koodilohko}
\newenvironment{numeroimaton}[1][\textbullet]{%
  \begin{list}{#1}{
      \setlength{\leftmargin}{1.1em}
      \setlength{\labelsep}{.2em}
      \setlength{\itemsep}{.4ex plus .1ex}
      \setlength{\parsep}{.2ex}
    }
  }{\end{list}}
\end{koodilohko}
  \caption{Oman numeroimattoman luetelman tekeminen \ymparisto{list}\-/
    ympÃ¤ristÃ¶n avulla}
  \label{esim/list-oma-numeroimaton}
\end{esimerkki*}

\begin{esimerkki*}
  \komentoi{arabic}
  \komentoi{bfseries}
  \komentoi{hfill}
  \komentoi{large}
  \komentoi{makelabel}
  \komentoi{newenvironment}
  \komentoi{renewcommand}
  \komentoi{setcounter}
  \komentoi{setlength}
  \komentoi{usecounter}
  \laskurii{enumi}
  \mittai{itemsep}
  \mittai{labelsep}
  \mittai{leftmargin}
  \mittai{parsep}
  \ymparistoi{list}

\begin{koodilohko}
\newenvironment{numeroitu}[1][0]{%
  \begin{list}{\arabic{enumi}.}{
      \usecounter{enumi}
      \setcounter{enumi}{#1}
      \renewcommand{\makelabel}[1]{\hfill\bfseries\large ##1}
      \setlength{\leftmargin}{2em}
      \setlength{\labelsep}{.5em}
      \setlength{\itemsep}{.4ex plus .1ex}
      \setlength{\parsep}{.2ex}
    }
  }{\end{list}}
\end{koodilohko}
  \caption{Oman numeroidun luetelman tekeminen \ymparisto{list}\-/
    ympÃ¤ristÃ¶n avulla}
  \label{esim/list-oma-numeroitu}
\end{esimerkki*}

EsimerkissÃ¤ \ref{esim/list-oma-numeroimaton} on vinkkejÃ¤ oman
numeroimattoman luetelman tekemiseen. Luetelma on nimeltÃ¤Ã¤n
\ymparistox{numeroimaton}, ja sille voi antaa hakasulkeissa valinnaisen
argumentin, jolla valitaan luetelmamerkki. Oletuksena se on
luetelmaympyrÃ¤ (\komento{textbullet}).

Esimerkki \ref{esim/list-oma-numeroitu} tekee numeroidun ympÃ¤ristÃ¶n
nimeltÃ¤ \ymparistox{numeroitu}. TÃ¤lle ympÃ¤ristÃ¶lle voi antaa valinnaisen
argumentin, jolla ilmaistaan numerointilaskurin alkukohta. Oletuksena se
on nolla, eli luetelmakohtien numerointi alkaa luvusta~1. TÃ¤mÃ¤ ympÃ¤ristÃ¶
mÃ¤Ã¤rittelee myÃ¶s \komento{makelabel}\-/ komennon siten, ettÃ¤
luetelmanumerot ladotaan lihavoituna (\komento{bfseries}) ja suuremmalla
fontilla (\komento{large}). Numerot myÃ¶s tasataan luetelmamerkille
varatun tilan oikeaan reunaan (\komento{hfill}). Huomaa, ettÃ¤ parametri
\koodi{\#1} kuuluu \ymparistox{numeroitu}\-/ ympÃ¤ristÃ¶n mÃ¤Ã¤ritelmÃ¤Ã¤n ja
parametri \koodi{\#\#1} kuuluu sisempÃ¤Ã¤n, \komento{makelabel}\-/
komennon mÃ¤Ã¤ritelmÃ¤Ã¤n. Katso lisÃ¤tietoa komentojen mÃ¤Ã¤rittelemistÃ¤
kÃ¤sittelevÃ¤stÃ¤ luvusta \ref{luku/komennot-mÃ¤Ã¤rittely}.

\section{Taulukot}
\label{luku/taulukot}

Taulukoiden tekemiseen on perus Latexissa kaksi ympÃ¤ristÃ¶Ã¤,
\ymparisto{tabular} ja \ymparisto{tabular*}, joskin jÃ¤lkimmÃ¤isen tilalle
sopii yleensÃ¤ paremmin \paketti{tabularx}\-/ paketin ympÃ¤ristÃ¶
\ymparisto{tabularx}. Ennen kuin kÃ¤sitellÃ¤Ã¤n taulukoiden teknisiÃ¤
ohjeita on kuitenkin syytÃ¤ puhua niiden sijoittelusta ja typografiasta.

Taulukon voi sijoittaa dokumenttiin eri tavoin. Yksi mahdollisuus on
sijoittaa ne normaalin tekstivirran sekaan omiksi tekstikappaleikseen.
Pieni pystysuuntainen vÃ¤li on silloin tarpeen ennen ja jÃ¤lkeen taulukon.
Jos tekstikappaleiden vÃ¤lissÃ¤ ei ole normaalisti vÃ¤liÃ¤
(\mitta{parskip}), tÃ¤ytyy sellainen lisÃ¤tÃ¤ kÃ¤sin. Pystysuuntaisia vÃ¤lejÃ¤
kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/pystysuuntaiset-vÃ¤lit}. Taulukolle tulee
oletuksena sama sisennys kuin tekstikappaleiden ensimmÃ¤isellÃ¤ rivillÃ¤ on
eli mitta \mitta{parindent} (luku
\ref{luku/ensimmÃ¤isen-rivin-sisennys}). Jos sisennyksen haluaa pois,
tÃ¤ytyy kÃ¤yttÃ¤Ã¤ komentoa \komento{noindent}.

Toinen tyypillinen vaihtoehto on sijoittaa taulukko vaakasuunnassa sivun
keskelle, jolloin se erottuu muusta tekstistÃ¤ vielÃ¤ selvemmin. TÃ¤mÃ¤n voi
toteuttaa kirjoittamalla taulukkoympÃ¤ristÃ¶ \ymparisto{center}\-/
ympÃ¤ristÃ¶n sisÃ¤Ã¤n (luku \ref{luku/kappaleen-tasaus}).

Kolmas vaihtoehto on tehdÃ¤ taulukosta leijuva eli antaa Latexin
sijoittaa se sopivaan paikkaan. Samalla taulukolle annetaan kuvateksti
ja yksilÃ¶llinen tunniste, niin ettÃ¤ siihen voi viitata tekstistÃ¤.
Leijuvia osia ja ristiviitteitÃ¤ kÃ¤sitellÃ¤Ã¤n luvuissa
\ref{luku/leijuosat} ja \ref{luku/ristiviitteet}.

Taulukkojen ulkoasua ja helppolukuisuutta kÃ¤sittelevÃ¤t ohjeet yleensÃ¤
neuvovat, ettÃ¤ pystyviivoja ei pitÃ¤isi juuri kÃ¤yttÃ¤Ã¤. Ne hÃ¤iritsevÃ¤t
vasemmalta oikealle lukemista ja vaikeuttavat katseen tarkentamista
solujen sisÃ¤ltÃ¶Ã¶n. Tavallinen sarakkeiden vÃ¤linen tyhjÃ¤ tila on yleensÃ¤
riittÃ¤vÃ¤ erottamaan solut toisistaan.

Se on hyvÃ¤ yleisohje, mutta sitÃ¤ tuskin kannattaa pitÃ¤Ã¤ ihan ehdottomana
sÃ¤Ã¤ntÃ¶nÃ¤. Joskus on tarpeen jakaa sarakkeet mielekkÃ¤isiin ryhmiin ja
nimenomaan ohjata katsetta pystysuunnassa tiettyjÃ¤ sarakkeita pitkin.
Katseen ei vÃ¤lttÃ¤mÃ¤ttÃ¤ haluta lipsuvan tietyn kohdan yli, ja pystyviiva
sopii hyvin siihen tarkoitukseen. TÃ¤mÃ¤n luvun esimerkeissÃ¤ kÃ¤ytetÃ¤Ã¤n
paljon vaaka- ja pystyviivoja, jotta lukija hahmottaa helposti, miten
esimerkkikoodin solut ovat yhteydessÃ¤ ladottuun taulukkoon. KÃ¤ytÃ¤nnÃ¶ssÃ¤
viivoja ei kannata kÃ¤yttÃ¤Ã¤ niin paljon, vaan pari vaakaviivaa yleensÃ¤
riittÃ¤Ã¤.

\subsection{Perustoiminnot}

Taulukoiden perusympÃ¤ristÃ¶ on \ymparisto{tabular}, jolle tÃ¤ytyy antaa
ainakin yksi argumentti. YmpÃ¤ristÃ¶n rakenne on seuraavanlainen:

\komentoi{\keno}
\ymparistoi{tabular}
\begin{koodilohkosis}
\begin{tabular}[sijainti]{sarakkeet}
  solu 1 &amp; solu 2 \\
  solu 3 &amp; solu 4 \\
\end{tabular}
\end{koodilohkosis}

\noindent
YmpÃ¤ristÃ¶n valinnainen argumentti \koodi{sijainti} mÃ¤Ã¤rittelee
taulukkoympÃ¤ristÃ¶n sijainnin pystysuunnassa, jos se on samassa
kappaleessa muun tekstin kanssa. Oletusarvo on \koodi{c}
(\englanti{center}), joka tarkoittaa, ettÃ¤ pystysuunnassa taulukon
peruslinja on sen keskellÃ¤. Muut vaihtoehdot ovat \koodi{t}
(\englanti{top}), eli taulukon peruslinja on ylÃ¤reunassa, ja \koodi{b}
(\englanti{bottom}), eli taulukon peruslinja on sen alareunassa.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\koodi{#1} &amp; #2 \\}
  \begin{tabular}{ll}
    \toprule
    \ots{Tyyppi} &amp; \ots{Merkitys} \\
    \midrule
    \rivi{l}{vasemmalle tasattu sarake (\englanti{left})}
    \rivi{c}{keskitetty sarake (\englanti{center})}
    \rivi{r}{oikealle tasattu sarake (\englanti{right})}
    \rivi{p\{m\}}{sarake, jonka leveys on mitta \koodi{m}}
    \midrule
    \rivi{|}{sarakkeiden vÃ¤lissÃ¤ pystyviiva}
    \rivi{@\{â€¦\}}{sarakkeiden vÃ¤lissÃ¤ olevaa tekstiÃ¤ tai komentoja}
    \rivi{*\{n\}\{s\}}{toistetaan \koodi{n} kertaa sarakkeet \koodi{s}}
    \bottomrule
  \end{tabular}
}{
  \caption{Taulukoiden saraketyyppien ja sarakkeiden vÃ¤lien mÃ¤Ã¤rittely}
  \label{tlk/taulukko-sarakemerkit}
}

Pakollinen argumentti \koodi{sarakkeet} mÃ¤Ã¤rittelee taulukon sarakkeiden
mÃ¤Ã¤rÃ¤n ja tyypin. Ne ilmaistaan tietyillÃ¤ kirjaimilla tai muilla
merkeillÃ¤, jotka on koottu taulukkoon \ref{tlk/taulukko-sarakemerkit}.
Taulukon neljÃ¤ ensimmÃ¤istÃ¤ tyyppiÃ¤ \koodi{lcrp} mÃ¤Ã¤rittelevÃ¤t,
millaisesta sarakkeesta on kyse. SyntyvÃ¤ssÃ¤ taulukossa tulee olemaan
niin monta saraketta kuin nÃ¤itÃ¤ on ympÃ¤ristÃ¶n \koodi{sarakkeet}\-/
argumentissa. Kolme ensin mainittua luovat sarakkeen, jonka leveys
mÃ¤Ã¤rÃ¤ytyy sarakkeen leveimmÃ¤n solun perusteella. NeljÃ¤s eli saraketyyppi
\koodi{p} tarvitsee aaltosulkeissa argumentiksi mitan (luku
\ref{luku/mitat}), ja sillÃ¤ ilmaistaan sarakkeen kiinteÃ¤ leveys. TÃ¤ssÃ¤
saraketyypissÃ¤ teksti tasataan solun molemmista reunoista eli sanavÃ¤lit
voivat venyÃ¤.

Merkit \koodi{|} ja \koodi{@} voi sijoittaa edellÃ¤ mainittujen
saraketyyppien vÃ¤liin tai ennen ensimmÃ¤istÃ¤ saraketta tai viimeisen
sarakkeen jÃ¤lkeen. Ensin mainittu tekee sarakkeiden vÃ¤liin pystyviivan.
Viiva yltÃ¤Ã¤ taulukon kaikille riveille, mutta komennolla
\komento{multicolumn} voi tehdÃ¤ rivikohtaisia poikkeuksia. TÃ¤tÃ¤ komentoa
kÃ¤sitellÃ¤Ã¤n myÃ¶hemmin. Merkki \koodi{@} tarvitsee argumentin
aaltosulkeissa. Se voi olla mitÃ¤ hyvÃ¤nsÃ¤ tekstiÃ¤ tai komentoja, jotka
halutaan suorittaa joka rivillÃ¤ sarakkeiden vÃ¤lissÃ¤.

Sarakemerkki \koodi{*} on vain keino toistaa tiettyjÃ¤ sarakemÃ¤Ã¤rityksiÃ¤
useamman kerran. Se tarvitsee aaltosulkeissa kaksi argumenttia:
ensimmÃ¤inen on luku, ja toinen sisÃ¤ltÃ¤Ã¤ mitÃ¤ hyvÃ¤nsÃ¤ edellÃ¤ mainittuja
saraketyyppejÃ¤. NÃ¤mÃ¤ sarakkeet toistuvat luvun ilmaiseman mÃ¤Ã¤rÃ¤n.
Esimerkiksi \koodi{*\{3\}\{rl|\}} tarkoittaa samaa kuin
\koodi{rl|rl|rl|}.

\begin{esimerkki*}
  \komentoi{\keno}
  \komentoi{arraystretch}
  \komentoi{cline}
  \komentoi{hline}
  \komentoi{hspace}
  \komentoi{renewcommand}
  \ymparistoi{tabular}

\begin{koodilohko}
\begin{tabular}{|l@{\hspace{4em}}r|c|}
  \hline
  Vasen &amp; Oikea &amp; Keskitetty \\[.5ex]
  \hline
  16 &amp; 32 &amp; 11732 \\
  \cline{1-2}
  71 &amp; 87235 &amp; 2 \\
  \cline{3-3}
  1235 &amp; 238 &amp; 982 \\
  \hline
\end{tabular}
\end{koodilohko}

  \begin{tulos}
    \versaalinum
    \renewcommand{\arraystretch}{1.3}
    \begin{tabular}{|l@{\hspace{4em}}r|c|}
      \hline
      Vasen &amp; Oikea &amp; Keskitetty \\[.5ex]
      \hline
      16 &amp; 32 &amp; 11732 \\
      \cline{1-2}
      71 &amp; 87235 &amp; 2 \\
      \cline{3-3}
      1235 &amp; 238 &amp; 982 \\
      \hline
    \end{tabular}
  \end{tulos}

  \caption{Taulukoiden erilaisia saraketyyppejÃ¤ ja viivoja}
  \label{esim/taulukkomÃ¤Ã¤rityksiÃ¤}
\end{esimerkki*}

Esimerkki \ref{esim/taulukkomÃ¤Ã¤rityksiÃ¤} havainnollistaa taulukon
ominaisuuksia ja eri saraketyyppejÃ¤. SitÃ¤ tuskin kannattaa pitÃ¤Ã¤
typografisena esimerkkinÃ¤, mutta tarkoituksena on osoittaa eri
saraketyyppien toiminta kÃ¤ytÃ¤nnÃ¶ssÃ¤. Sarakkeiden vÃ¤lissÃ¤ on yleensÃ¤
pystyviiva, mutta yhdessÃ¤ vÃ¤lissÃ¤ on \koodi{@\{\dots\}}\=/ merkeillÃ¤
mÃ¤Ã¤ritelty komento \komento{hspace}, jolla tehdÃ¤Ã¤n poikkeuksellisen
leveÃ¤ (4\,em) tyhjÃ¤ tila sarakkeiden vÃ¤liin.

RivillÃ¤ olevat perÃ¤kkÃ¤iset solut erotetaan toisistaan \koodi{\&amp;}\=/
merkillÃ¤, ja taulukon rivi tÃ¤ytyy pÃ¤Ã¤ttÃ¤Ã¤ aina \komento{\keno}\=/
komentoon. TÃ¤lle rivinvaihtokomennolle voi antaa hakasulkeissa yhden
argumentin. Se on mitta ja tarkoittaa, kuinka paljon ylimÃ¤Ã¤rÃ¤istÃ¤
pystysuuntaista tyhjÃ¤Ã¤ tilaa halutaan rivin jÃ¤lkeen, esimerkiksi
\komento{\keno}\komentoargv{.5ex}.

Vaakasuuntainen, koko taulukon levyinen viiva tehdÃ¤Ã¤n komennolla
\komento{hline} ja mÃ¤Ã¤rÃ¤mittaisia viivoja komennolla \komento{cline}.
TÃ¤lle komennolle tÃ¤ytyy antaa yksi argumentti, joka sisÃ¤ltÃ¤Ã¤ kaksi
yhdysmerkillÃ¤ erotettua lukua. Luvuilla ilmaistaan, mistÃ¤ sarakkeesta
mihin sarakkeeseen viiva yltÃ¤Ã¤.

\subsection{Asetuksia}

Taulukon rivit saatetaan latoa oletuksena vÃ¤hÃ¤n liian lÃ¤helle toisiaan
-- varsinkin jos kÃ¤ytetÃ¤Ã¤n vaakaviivoja. Sen korjaamiseksi on
taulukoille olemassa oma rivivÃ¤likerroin, joka on komennossa
\komento{arraystretch}. Kerroin on desimaaliluku, jolla normaali
rivikorkeus kerrotaan taulukoiden sisÃ¤llÃ¤. Sopiva kerroin lienee yleensÃ¤
1\==1,3. Oletusarvo on~1. Kerroinkomennon voi mÃ¤Ã¤ritellÃ¤ milloin hyvÃ¤nsÃ¤
uudelleen, ja se tehdÃ¤Ã¤n seuraavan esimerkin mukaisesti:

\komentoi{renewcommand}
\komentoi{arraystretch}
\begin{koodilohkosis}
\renewcommand{\arraystretch}{1.3}
\end{koodilohkosis}

\noindent
Sarakkeiden mÃ¤Ã¤rittelyssÃ¤ voi kirjoittaa useita pystyviivoja eli
\koodi{|}\=/ merkkejÃ¤ perÃ¤kkÃ¤in. Silloin pystyviivoja myÃ¶s ladotaan
taulukkoon useita vierekkÃ¤in. Ladottujen viivojen vÃ¤liseen etÃ¤isyyteen
voi vaikuttaa mitan \mitta{doublerulesep} avulla. Sen oletusarvo on
2\,pt. Kaikkien viivoja paksuus puolestaan on mitassa
\mitta{arrayrulewidth}, jonka oletusarvo on 0,4\,pt.

Jos sarakkeiden vÃ¤lissÃ¤ ei ole \koodi{@}\=/ merkillÃ¤ tehtyjÃ¤
poikkeuksia, ladotaan joka solun vasempaan ja oikeaan reunaan vÃ¤li, joka
on mÃ¤Ã¤ritelty mitassa \mitta{tabcolsep}. TÃ¤mÃ¤n mitan suuruinen vÃ¤li
siis ladotaan kerran taulukon vasempaan ja oikeaan reunaan ja kaksi
kertaa jokaisen sarakkeen vÃ¤liin. Oletusarvo on 6\,pt. Seuraavassa on
koonti edellÃ¤ mainittujen mittojen asettamisesta ja niiden oletusarvot.

\komentoi{setlength}
\mittai{doublerulesep}
\mittai{arrayrulewidth}
\mittai{tabcolsep}
\begin{koodilohkosis}
\setlength{\doublerulesep}{2pt}
\setlength{\arrayrulewidth}{.4pt}
\setlength{\tabcolsep}{6pt}
\end{koodilohkosis}

\noindent
SarakemÃ¤Ã¤ritelmÃ¤ssÃ¤ voi \koodi{@}\=/ merkillÃ¤ sÃ¤Ã¤tÃ¤Ã¤ sarakkeiden vÃ¤lit
haluamansa laiseksi. MerkeillÃ¤ \koodi{@\{\}} sarakevÃ¤li poistetaan
kokonaan. Jos \koodi{@\{\dots\}}\=/ mÃ¤Ã¤rittelyyn halutaan mukaan
normaali sarakkeiden pystyviiva, tÃ¤ytyy kÃ¤yttÃ¤Ã¤ komentoa
\komento{vline}, esimerkiksi seuraavasti:

\komentoi{\keno}
\komentoi{hspace}
\komentoi{vline}
\ymparistoi{tabular}
\begin{koodilohkosis}
\begin{tabular}{|l@{\hspace{1em}\vline\hspace{1em}}l|}
  ensimmÃ¤inen &amp; toinen \\
\end{tabular}
\end{koodilohkosis}

\subsection{Poikkeuksellisia sarakkeita ja rivejÃ¤}

TaulukkoympÃ¤ristÃ¶n argumenteissa mÃ¤Ã¤ritellÃ¤Ã¤n taulukon sarakkeiden mÃ¤Ã¤rÃ¤
ja tyypit, mutta niihin on mahdollista tehdÃ¤ yksittÃ¤isiÃ¤ poikkeuksia
taulukon sisÃ¤llÃ¤. Sarakekohtaiset poikkeukset tehdÃ¤Ã¤n komennolla
\komento{multicolumn} ja rivikohtaiset poikkeukset komennolla
\komento{multirow}, joka kuuluu pakettiin \pakettictan{multirow}.

\begin{esimerkki*}
  \komentoi{\keno}
  \komentoi{multicolumn}
  \ymparistoi{tabular}

\begin{koodilohko}
\begin{tabular}{|r@{}l|}
  \multicolumn{2}{l}{Tulokset} \\
  \hline
  425 &amp; ,34 \\
    4 &amp; ,021 \\
   32 &amp; \\
    0 &amp; ,75 \\
  \hline
\end{tabular}
\end{koodilohko}

  \begin{tulos}
    \renewcommand{\arraystretch}{1.2}
    \versaalinum
    \begin{tabular}{|r@{}l|}
      \multicolumn{2}{l}{Tulokset} \\
      \hline
      425 &amp; ,34 \\
      4 &amp; ,021 \\
      32 &amp; \\
      0 &amp; ,75 \\
      \hline
    \end{tabular}
  \end{tulos}

  \caption{Desimaalilukujen tasaaminen pilkun kohdalta, ja
    poikkeuksellisten sarakkeiden tekeminen \komento{multicolumn}\-/
    komennolla}
  \label{esim/taulukko-desimaalipilkku}
\end{esimerkki*}

EsimerkissÃ¤ \ref{esim/taulukko-desimaalipilkku} on taulukoitu lukuja,
jotka halutaan latoa samaan linjaan desimaalipilkun kohdalta.
Tasaamisessa hyÃ¶dynnetÃ¤Ã¤n kahden sarakkeen rajakohtaa: luvun
kokonaislukuosa ja desimaaliosa tasataan tÃ¤tÃ¤ rajakohtaa vasten --
toinen oikealle~(\koodi{r}), toinen vasemmalle~(\koodi{l}). SarakevÃ¤li
on poistettu tÃ¤stÃ¤ kohdasta kokonaan \koodi{@\{\}}\=/ merkeillÃ¤.

Esimerkkitaulukon otsikko ''Tulokset'' halutaan kuitenkin sijoittaa
desimaalilukujen koko leveydelle eli kahden sarakkeen pÃ¤Ã¤lle. LisÃ¤ksi
otsikkoriviltÃ¤ halutaan poistaa pystyviivat, jotka muutoin ladotaan
taulukon reunoille. NÃ¤ihin asioihin tarvitaan komentoa
\komento{multicolumn}, joka on tarkoitettu poikkeuksellisten
sarakemÃ¤Ã¤ritysten tekemiseen. Komentoa kÃ¤ytetÃ¤Ã¤n seuraavasti:

\komentoi{multicolumn}
\begin{koodilohkosis}
\multicolumn{n}{sarakkeet}{teksti}
\end{koodilohkosis}

\noindent
Komennon \komento{multicolumn} voi sijoittaa mihin hyvÃ¤nsÃ¤ taulukon
soluun. Komennon ensimmÃ¤inen argumentti \koodi{n} on luku ja ilmaisee,
kuinka monen sarakkeen alueeseen vaikutetaan. Toinen argumentti
\koodi{sarak\-keet} sisÃ¤ltÃ¤Ã¤ uuden sarakemÃ¤Ã¤rittelyn tÃ¤lle alueelle, ja
se tehdÃ¤Ã¤n taulukon \ref{tlk/taulukko-sarakemerkit} merkkien avulla.
Kolmas argumentti on teksti, joka ladotaan tÃ¤hÃ¤n uudella tavalla
mÃ¤Ã¤riteltyyn alueeseen.

EdellÃ¤ on kÃ¤sitelty vain soluja, joissa on yksirivinen teksti, mutta
tietyissÃ¤ tilanteissa yhteen soluun voidaan latoa useampia rivejÃ¤.
Saraketyyppi~\koodi{p} (taulukko \ref{tlk/taulukko-sarakemerkit}) on
leveydeltÃ¤Ã¤n kiinteÃ¤, ja jos solun sisÃ¤ltÃ¶ ei mahdu kyseiseen tilaan, se
jaetaan useammalle riville ja sanoja mahdollisesti katkaistaan
tavurajojen kohdalta. MyÃ¶s \komento{newline}\-/ komennolla voi vaihtaa
riviÃ¤ yksittÃ¤isen solun sisÃ¤llÃ¤. Sekin toimii vain kiinteÃ¤leveyksisillÃ¤
\koodi{p}\-/ tyypin sarakkeilla.

Seuraavassa on esimerkki, kuinka yhden solun sisÃ¤ltÃ¶ voi jakautua
kahdelle riville. TeknisessÃ¤ mielessÃ¤ taulukkorivien mÃ¤Ã¤rÃ¤ ei kuitenkaan
kasva, vaan muihin saman taulukkorivin soluihin tulee tyhjÃ¤Ã¤ tilaa.

\komentoi{\keno}
\komentoi{hline}
\ymparistoi{tabular}
\begin{koodilohkosis}
\begin{tabular}{|l|p{6.5em}|l|}
  \hline solu &amp; TÃ¤mÃ¤ ei mahdu yhdelle riville. &amp; solu \\ \hline
\end{tabular}
\end{koodilohkosis}

\begin{tulossis}
  \renewcommand{\arraystretch}{1.2}
  \begin{tabular}{|l|p{6.5em}|l|}
    \hline solu &amp; TÃ¤mÃ¤ ei mahdu yhdelle riville. &amp; solu \\ \hline
  \end{tabular}
\end{tulossis}

\noindent
Joskus puolestaan halutaan, ettÃ¤ yksi solu levittÃ¤ytyy useamman rivin
alueelle verrattuna taulukon muihin riveihin. TÃ¤mÃ¤n toteutukseen
tarvitaan \paketti{multirow}\-/ pakettia ja sen \komento{multirow}\-/
komentoa. Komennon pakolliset argumentit ovat seuraavat:

\komentoi{multirow}
\begin{koodilohkosis}
\multirow{n}{leveys}{teksti}
\end{koodilohkosis}

\noindent
EnsimmÃ¤inen argumentti \koodi{n} on luku, joka ilmaisee, kuinka monen
rivin alueelle solu levitetÃ¤Ã¤n. Toinen argumentti \koodi{leveys} on
tekstin leveyttÃ¤ ilmaiseva mitta. Argumentiksi voi kirjoittaa pelkÃ¤n
tÃ¤hden (\koodi{*}), jolloin kÃ¤ytetÃ¤Ã¤n tekstin luonnollista leveyttÃ¤.
Kolmas argumentti on teksti, joka ladotaan tÃ¤hÃ¤n pystysuunnassa
laajennettuun soluun.

Komennolla on myÃ¶s valinnaisia argumentteja, jotka ilmaistaan
hakasulkeiden avulla. TÃ¤ssÃ¤ niistÃ¤ tÃ¤rkeimmÃ¤t:

\komentoi{multirow}
\begin{koodilohkosis}
\multirow[sijainti]{n}{leveys}[pysty]{teksti}
\end{koodilohkosis}

\noindent
Edellisen esimerkin valinnainen argumentti \koodi{sijainti} on kirjain,
jolla ilmaistaan solun sisÃ¤llÃ¶n pystysuuntainen asemointi ylÃ¶s, keskelle
tai alas: \koodi{t} (\englanti{top}), \koodi{c} (\englanti{center},
oletus) tai \koodi{b} (\englanti{bottom}). Valinnainen argumentti
\koodi{pysty} on mitta, jolla hienosÃ¤Ã¤detÃ¤Ã¤n solun sisÃ¤llÃ¶n sijaintia
pystysuunnassa. Positiivinen mitta siirtÃ¤Ã¤ sisÃ¤ltÃ¶Ã¤ ylÃ¶spÃ¤in,
negatiivinen alaspÃ¤in.

Komennon muista mahdollisuuksista kannattaa lukea \paketti{multirow}\-/
paketin ohjekirjasta. Esimerkki \ref{esim/taulukko-multirow}
havainnollistaa komennon peruskÃ¤yttÃ¶Ã¤. \komento{multirow}\-/ komento
kirjoitetaan siihen soluun, josta monirivinen solu alkaa. Sen
alapuolelta tÃ¤ytyy jÃ¤ttÃ¤Ã¤ riittÃ¤vÃ¤ mÃ¤Ã¤rÃ¤ soluja tyhjÃ¤ksi.

\begin{esimerkki*}
  \komentoi{\keno}
  \komentoi{cline}
  \komentoi{hline}
  \komentoi{multirow}
  \ymparistoi{tabular}

\begin{koodilohko}
\begin{tabular}{|l|l|l|}
  \hline
  \multirow{2}{*}{kaksirivinen solu} &amp; tavallisia &amp; soluja \\
  \cline{2-3}
                                     &amp; kahdella   &amp; rivillÃ¤ \\
  \hline
\end{tabular}
\end{koodilohko}

  \begin{tulos}
    \renewcommand{\arraystretch}{1.3}
    \begin{tabular}{|l|l|l|}
      \hline
      \multirow{2}{*}[-1bp]{kaksirivinen solu} &amp; tavallisia &amp; soluja \\
      \cline{2-3}
                                               &amp; kahdella &amp; rivillÃ¤ \\
      \hline
    \end{tabular}
  \end{tulos}

  \caption{\paketti{multirow}\-/ paketin \komento{multirow}\-/
    komennolla voi levittÃ¤Ã¤ yhden solun useamman rivin alueelle}
  \label{esim/taulukko-multirow}
\end{esimerkki*}

\subsection{KiinteÃ¤levyiset taulukot}

Latexin toinen taulukkoympÃ¤ristÃ¶ \ymparisto{tabular*} toimii muuten
samalla tavalla kuin \ymparisto{tabular}, mutta se tarvitsee yhden
argumentin enemmÃ¤n, taulukon leveysmitan:

\ymparistoi{tabular*}
\begin{koodilohkosis}
\begin{tabular*}{leveys}[sijainti]{sarakkeet}
  ...
\end{tabular*}
\end{koodilohkosis}

\noindent
Valitettavasti taulukon leveysmittaa voi hyÃ¶dyntÃ¤Ã¤ vain rajallisesti. Se
vaikuttaa taulukon leveyteen silloin, kun sarakkeiden vÃ¤lit on
mÃ¤Ã¤ritelty venyviksi kÃ¤yttÃ¤mÃ¤llÃ¤ seuraavanlaista sarakevÃ¤lin mÃ¤Ã¤ritystÃ¤:

\komentoi{extracolsep}
\mittai{fill}
\begin{koodilohkosis}
@{\extracolsep{\fill}}
\end{koodilohkosis}

\noindent
EdellisestÃ¤ on tÃ¤rkeÃ¤Ã¤ huomata, ettÃ¤ sarakkeiden leveydet eivÃ¤t veny
vaan ainoastaan niiden vÃ¤lissÃ¤ oleva tyhjÃ¤ tila. Usein olisi kuitenkin
hyÃ¶dyllisempÃ¤Ã¤, ettÃ¤ joidenkin sarakkeiden leveys olisi venyvÃ¤ ja ne
mukautuisivat koko taulukon leveyteen. TÃ¤mÃ¤ ominaisuus saadaan
\pakettictan{tabularx}\-/ paketin avulla. Se mÃ¤Ã¤rittelee uuden
taulukkoympÃ¤ristÃ¶n \ymparisto{tabularx}, joka on kÃ¤ytÃ¤nnÃ¶ssÃ¤ parempi
versio \ymparisto{tabular*}\-/ ympÃ¤ristÃ¶stÃ¤. Sen kÃ¤yttÃ¶ on samanlaista:

\ymparistoi{tabularx}
\begin{koodilohkosis}
\begin{tabularx}{leveys}[sijainti]{sarakkeet}
  ...
\end{tabularx}
\end{koodilohkosis}

\noindent
YmpÃ¤ristÃ¶ \ymparisto{tabularx} sisÃ¤ltÃ¤Ã¤ yhden uuden
saraketyypin:~\koodi{X} (vrt. taulukko \ref{tlk/taulukko-sarakemerkit}).
TÃ¤mÃ¤ saraketyyppi toimii kuten tyyppi~\koodi{p}, mutta sille ei anneta
argumentiksi mittaa, vaan sen leveys on Ã¤Ã¤rettÃ¶mÃ¤sti venyvÃ¤.
TÃ¤mÃ¤ntyyppiset sarakkeet tÃ¤yttÃ¤vÃ¤t siis kaiken vapaana olevan tilan, ja
jos niitÃ¤ on useita, ne ovat oletuksena keskenÃ¤Ã¤n yhtÃ¤ leveitÃ¤. TÃ¤mÃ¤
ilmenee seuraavasta esimerkistÃ¤:

\komentoi{hline}
\mittai{linewidth}
\ymparistoi{tabularx}
\begin{koodilohkosis}
\begin{tabularx}{\linewidth}{|l|X|X|}
  \hline luonnollinen &amp; venyvÃ¤ &amp; venyvÃ¤ \\ \hline
\end{tabularx}
\end{koodilohkosis}

\begin{tulossis}
  \renewcommand{\arraystretch}{1.2}
  \begin{tabularx}{\linewidth}{|l|X|X|}
    \hline luonnollinen &amp; venyvÃ¤ &amp; venyvÃ¤ \\ \hline
  \end{tabularx}
\end{tulossis}

\noindent
SaraketyypissÃ¤ \koodi{X} teksti tasataan oletuksena solujen
molemmista reunoista, mutta siihen on mahdollista vaikuttaa
sijoittamalla sarakemÃ¤Ã¤rittelyssÃ¤ \koodi{&gt;}\=/ merkki ja sen
aaltosulkeissa olevat argumentit ennen \koodi{X}\=/ merkkiÃ¤.
Argumentiksi kirjoitetaan sopivia asetuskomentoja. Seuraava
sarakemÃ¤Ã¤rittely tekee vasemmalle tasatun \koodi{X}\=/ sarakkeen:

\komentoi{raggedright}
\komentoi{arraybackslash}
\begin{koodilohkosis}
&gt;{\raggedright\arraybackslash}X
\end{koodilohkosis}

\noindent
Sarakkeen solujen tasaaminen vasemmalle tulee komennon
\komento{raggedright} vaikutuksesta (luku \ref{luku/kappaleen-tasaus}).
Sen perÃ¤Ã¤n tarvitaan myÃ¶s komento \komento{arraybackslash}, koska
\komento{raggedright} mÃ¤Ã¤rittelee \komento{\keno}\=/ rivinvaihtokomennon
uudelleen tavalla, joka on ristiriidassa taulukon rivien lopussa
tarvittavan vastaavan komennon kanssa. \komento{arraybackslash}
palauttaa mÃ¤Ã¤ritelmÃ¤n sellaiseksi, ettÃ¤ se toimii taulukossa.

\paketti{tabularx}\-/ paketin myÃ¶tÃ¤ voi mÃ¤Ã¤ritellÃ¤ omiakin
saraketyyppejÃ¤. HyÃ¶dyllisiÃ¤ tyyppejÃ¤ voisivat olla esimerkiksi
\koodi{LCR}, jotka toimisivat lÃ¤hes samoin kuin perus Latexin
saraketyypit \koodi{lcr} (taulukko \ref{tlk/taulukko-sarakemerkit})
mutta olisivat kuitenkin leveydeltÃ¤Ã¤n venyviÃ¤. Omia saraketyyppejÃ¤
tehdÃ¤Ã¤n komennolla \komento{newcolumntype}, ja edellÃ¤ mainitut tyypit
voisi mÃ¤Ã¤ritellÃ¤ seuraavasti:

\komentoi{arraybackslash}
\komentoi{centering}
\komentoi{newcolumntype}
\komentoi{raggedleft}
\komentoi{raggedright}
\begin{koodilohkosis}
\newcolumntype{L}{&gt;{\raggedright\arraybackslash}X}
\newcolumntype{C}{&gt;{\centering\arraybackslash}X}
\newcolumntype{R}{&gt;{\raggedleft\arraybackslash}X}
\end{koodilohkosis}

\noindent
MitÃ¤ hyvÃ¤nsÃ¤ saraketyyppejÃ¤ voi tehdÃ¤ vastaavalla tavalla. Esimerkiksi
taulukon ensimmÃ¤iseen, otsikoita ilmaisevaan saraketyyppiin \koodi{O}
voitaisiin laittaa fonttikomento, jotta koko sarake ladotaan
automaattisesti eri kirjainleikkauksella kuin muu taulukko.

\komentoi{newcolumntype}
\komentoi{bfseries}
\begin{koodilohkosis}
\newcolumntype{O}{&gt;{\bfseries}l} % lihavoitu otsikkosarake
\end{koodilohkosis}

\noindent
YmpÃ¤ristÃ¶n \ymparisto{tabularx} kÃ¤yttÃ¶Ã¶n liittyy tiettyjÃ¤ rajoituksia:
sitÃ¤ ei voi kÃ¤yttÃ¤Ã¤ normaalisti omien ympÃ¤ristÃ¶jen mÃ¤Ã¤rittelyssÃ¤ (luku
\ref{luku/ympÃ¤ristÃ¶t}). Esimerkiksi seuraava ympÃ¤ristÃ¶n mÃ¤Ã¤rittely ei
kÃ¤ytÃ¤nnÃ¶ssÃ¤ toimi:

\komentoi{newenvironment}
\ymparistoi{tabularx}
\mittai{linewidth}
\begin{koodilohkosis}
\newenvironment{omataulukko}[1]
{\begin{tabularx}{\linewidth}{#1}}
{\end{tabularx}}
\end{koodilohkosis}

\noindent
EdellÃ¤ mainitun puutteen saa korjattua kÃ¤yttÃ¤mÃ¤llÃ¤ oman ympÃ¤ristÃ¶n
mÃ¤Ã¤rittelyssÃ¤ \ymparisto{tabularx}\-/ ympÃ¤ristÃ¶n aloitukseen komentoa
\komento{tabularx} ja lopetukseen komentoa \komento{endtabularx}. Ei
siis kÃ¤ytetÃ¤ normaaleja aloitus\-/\ ja lopetuskomentoja \komento{begin}
ja \komento{end}.

\komentoi{newenvironment}
\komentoi{tabularx}
\komentoi{endtabularx}
\mittai{linewidth}
\begin{koodilohkosis}
\newenvironment{omataulukko}[1]
{\tabularx{\linewidth}{#1}}
{\endtabularx}
\end{koodilohkosis}

\subsection{Muita paketteja}

\paketti{tabularx}\-/ paketin kanssa samankaltainen on paketti
\pakettictan{tabulary}, jossa on joitakin erilaisia ominaisuuksia. Se
muun muassa sisÃ¤ltÃ¤Ã¤ valmiiksi uudet saraketyypit \koodi{LCRJ}.

EdellÃ¤ esitellyt taulukkoympÃ¤ristÃ¶t ladotaan aina kokonaisena eli vain
yhden sivun alueelle. Useammalle sivulle jakautuvia taulukoita voi tehdÃ¤
\pakettictan{longtable}\-/ paketin taulukkoympÃ¤ristÃ¶n
\ymparisto{longtable} avulla. SitÃ¤ voi kÃ¤yttÃ¤Ã¤ kuten
\ymparisto{tabular}\-/ ympÃ¤ristÃ¶Ã¤, mutta lisÃ¤ksi se sisÃ¤ltÃ¤Ã¤ komentoja,
joiden avulla saa joka sivulla toistumaan automaattisesti tietyt
otsikkorivit tai yhteenvetorivit. Toinen mahdollisuus yli sivurajan
yltÃ¤vien taulukon kaltaisten rakenteiden tekemiseen ovat sarkaimet,
joita kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/sarkaimet}.

HyÃ¶dyllinen taulukoiden apupaketti on \pakettictan{booktabs}, jonka
avulla saa erilaisia ja tyylikkÃ¤Ã¤mpiÃ¤ vaakaviivoja. Paketin komennot
\komento{toprule}, \komento{midrule}, \komento{bottomrule} ja
\komento{cmidrule} piirtÃ¤vÃ¤t rivien vÃ¤liin erivahvuisia viivoja ja
huolehtivat myÃ¶s niiden ylÃ¤- ja alapuolisesta vÃ¤listÃ¤ paremmin kuin
Latexin omat viivakomennot.

Taulukon rivien taustan voi vÃ¤rittÃ¤Ã¤ \pakettictan{xcolor}\-/ paketin
(luku \ref{luku/vÃ¤rit}) komentojen avulla. Varsinkin leveiden
taulukoiden lukemista voi helpottaa, jos rivien eri taustavÃ¤rit
vuorottelevat. Tarkemmat tiedot selviÃ¤vÃ¤t paketin ohjekirjasta, mutta
seuraavan esimerkin avulla ominaisuutta pÃ¤Ã¤see kokeilemaan:

\komentoi{rowcolors}
\komentoi{usepackage}
\pakettii{xcolor}
\begin{koodilohkosis}
\usepackage[table]{xcolor}     % lÃ¤hdedokumentin esittelyosaan
\rowcolors{1}{blue!10}{red!10} % ennen taulukkoympÃ¤ristÃ¶jÃ¤
\end{koodilohkosis}

\section{Sarkaimet}
\label{luku/sarkaimet}

Sarkaimet ovat ennalta mÃ¤Ã¤ritettyjÃ¤ vaakasuuntaisia sisennys\-/\ tai
tasauskohtia. NiitÃ¤ voi hyÃ¶dyntÃ¤Ã¤ tekstin tasaamisessa tiettyihin
kohtiin rivillÃ¤. SuomenkielisissÃ¤ asiakirjoissa sarkainkohdat ovat 23
millimetrin vÃ¤lein, mutta jos ei ole kirjoittamassa virallista
asiakirjaa, voi kirjoittaja mÃ¤Ã¤rittÃ¤Ã¤ sarkainkohdat niin kuin haluaa.

Ajatus sarkaimista on vanha, sillÃ¤ mekaanisissa kirjoituskoneissakin oli
sarkainnÃ¤ppÃ¤in (\englanti{tab, tabular}), joka siirsi telaa eteenpÃ¤in
seuraavaan sarkainkohtaan. Se helpotti tekstin tasaamista tiettyyn
kohtaan ja sen myÃ¶tÃ¤ taulukoiden kirjoittamista.

Latexissa on taulukoita varten omatkin ympÃ¤ristÃ¶nsÃ¤ (luku
\ref{luku/taulukot}), mutta jos ei tarvitse varsinaista taulukkoa vaan
ainoastaan yksittÃ¤isiÃ¤ tasauskohtia, voi olla kÃ¤tevÃ¤mpÃ¤Ã¤ kÃ¤yttÃ¤Ã¤
\ymparisto{tabbing}\-/ sarkainympÃ¤ristÃ¶Ã¤ tai rakentaa tasaukset
nÃ¤kymÃ¤ttÃ¶mien laatikoiden avulla. NÃ¤itÃ¤ kÃ¤sitellÃ¤Ã¤n seuraavissa
alaluvuissa.

\subsection{SarkainympÃ¤ristÃ¶}

Sarkaimet voi toteuttaa niitÃ¤ varten tehdyn ympÃ¤ristÃ¶n eli
\ymparisto{tabbing}\-/ ympÃ¤ristÃ¶n avulla. Esimerkki
\ref{esim/tabbing-perus} havainnollistaa ympÃ¤ristÃ¶n peruskÃ¤yttÃ¶Ã¤.
RivillÃ¤~2 asetetaan kaikki sarkainkohdat eli tehdÃ¤Ã¤n vaakasuuntaisia
vÃ¤lejÃ¤ \komento{hspace}\-/ komennolla ja merkitÃ¤Ã¤n sarkainkohdat
\komento{=}\=/ komennoilla. Sen rivin lopussa on komento \komento{kill},
joka hylkÃ¤Ã¤ rivin eli jÃ¤ttÃ¤Ã¤ sen latomatta. Seuraavien rivien lopussa on
\komento{\keno}\-/ komento -- paitsi viimeisellÃ¤ rivillÃ¤ ennen
ympÃ¤ristÃ¶n lopetuskomentoa. Rivin sisÃ¤llÃ¤ seuraavaan sarkainkohtaan
hypÃ¤tÃ¤Ã¤n \komento{&gt;}\-/ komennolla.

\begin{esimerkki*}
  \ymparistoi{tabbing}
  \komentoi{hspace}
  \komentoi{kill}
  \komentoi{=}
  \komentoi{&gt;}

\begin{koodilohko}
\begin{tabbing}
  \hspace{23mm} \= \hspace{23mm} \= \hspace{23mm} \= \kill
  TÃ¤ssÃ¤ \&gt; on \\
  \&gt; eri \&gt; tavoin \\
  \&gt;\&gt; sisennettyÃ¤ \\
  \&gt;\&gt;\&gt; tekstiÃ¤.
\end{tabbing}
\end{koodilohko}

  \begin{tulos}
    \begin{tabbing}
      \hspace{23mm} \= \hspace{23mm} \= \hspace{23mm} \= \kill
      TÃ¤ssÃ¤ \&gt; on \\
      \&gt; eri \&gt; tavoin \\
      \&gt;\&gt; sisennettyÃ¤ \\
      \&gt;\&gt;\&gt; tekstiÃ¤.
    \end{tabbing}
  \end{tulos}
  \caption{Sarkainkohtien mÃ¤Ã¤rittely ja kÃ¤yttÃ¶ \ymparisto{tabbing}\-/
    ympÃ¤ristÃ¶ssÃ¤}
  \label{esim/tabbing-perus}
\end{esimerkki*}

\ymparisto{tabbing}\-/ ympÃ¤ristÃ¶n sisÃ¤llÃ¤ on kÃ¤ytettÃ¤vissÃ¤ muutama
muukin erityiskomento, joilla vaikutetaan sarkainten kÃ¤sittelyyn.
Seuraavassa kerrotaan ympÃ¤ristÃ¶n kaikkien erityiskomentojen merkitys, ja
esimerkissÃ¤ \ref{esim/tabbing-erikois} havainnollistetaan joidenkin
komentojen kÃ¤yttÃ¶Ã¤.

\begin{maaritelma}{\komento{#1}}
\item [\keno] Rivinvaihto, joka tÃ¤ytyy kirjoittaa jokaisen rivin
  loppuun, lukuun ottamatta viimeistÃ¤ riviÃ¤ ennen ympÃ¤ristÃ¶n
  lopetuskomentoa \komento{end}.
\item [kill] Rivinvaihto, joka hylkÃ¤Ã¤ kyseisen rivin. TÃ¤mÃ¤ on
  kÃ¤yttÃ¶kelpoinen sarkainkohtien mÃ¤Ã¤rittelyrivillÃ¤, jota itsessÃ¤Ã¤n ei
  haluta latoa nÃ¤kyviin.
\item [=] Sarkainkohdan mÃ¤Ã¤rittÃ¤minen komennon kohdalle.
\item [&gt;] HyppÃ¤Ã¤ seuraavaan sarkainkohtaan nykyisellÃ¤ rivillÃ¤.
\item [+] SiirtÃ¤Ã¤ seuraavan rivin aloituskohtaa yhden sarkaimen verran
  oikealle siitÃ¤, missÃ¤ se oli ennestÃ¤Ã¤n.
\item [-] SiirtÃ¤Ã¤ seuraavan rivin aloituskohtaa yhden sarkaimen verran
  vasemmalle siitÃ¤, missÃ¤ se oli ennestÃ¤Ã¤n.
\item [&lt;] SiirtÃ¤Ã¤ nykyisen rivin aloituskohdan yhden sarkaimen verran
  vasemmalla. TÃ¤tÃ¤ komentoa voi kÃ¤yttÃ¤Ã¤ vain rivin alussa ja vain
  silloin, kun rivin aloituskohtaa on sisennetty aiemmin \komento{+}\-/
  komennolla. TÃ¤mÃ¤ komento ei muuta pysyvÃ¤sti rivin aloituskohdan
  asetusta, joka on tehty komennoilla \komento{+} ja \komento{-}.
\item ['] Latoo komentoa edeltÃ¤vÃ¤n tekstin nykyisen sarkainkohdan
  vasemmalle puolelle ja tasaa tekstin oikeasta reunasta. Tekstin oikean
  reunan ja sarkainkohdan vÃ¤liin tulee mitan \mitta{tabbingsep}
  suuruinen vÃ¤li.
\item [`] Tasaa komennon jÃ¤lkeisen tekstin sivun oikeaan reunaan.
\item [pushtabs] Tallentaa nykyiset sarkainkohdat muistiin. TÃ¤mÃ¤n
  jÃ¤lkeen sarkainasetuksia voi muuttaa ja alkuperÃ¤iset asetukset
  palauttaa \komento{poptabs}\-/ komennolla.
\item [poptabs] Palauttaa aiemmin \komento{pushtabs}\-/ komennolla
  tallennetut sarkainkohdat kÃ¤yttÃ¶Ã¶n.
\item [a'] Latoo akuuttiaksentin (\'a) seuraavaan kirjaimeen. Vastaa
  \komento{'}\-/ komentoa \ymparisto{tabbing}\-/ ympÃ¤ristÃ¶n ulkopuolella
  (taulukko \ref{tlk/tarkkeet}, s.~\pageref{tlk/tarkkeet}).
\item [a`] Latoo gravisaksentin (\`a) seuraavaan kirjaimeen. Vastaa
  \komento{`}\-/ komentoa \ymparisto{tabbing}\-/ ympÃ¤ristÃ¶n
  ulkopuolella.
\item [a=] Latoo pituusmerkin (\=a) seuraavaan kirjaimeen. Vastaa
  \komento{=}\-/ komentoa \ymparisto{tabbing}\-/ ympÃ¤ristÃ¶n
  ulkopuolella.
\end{maaritelma}

\begin{esimerkki*}
  \komentoi{'}
  \komentoi{+}
  \komentoi{-}
  \komentoi{&lt;}
  \komentoi{=}
  \komentoi{&gt;}
  \komentoi{`}
  \komentoi{a'}
  \komentoi{a`}
  \komentoi{a=}
  \komentoi{hspace}
  \komentoi{kill}
  \komentoi{setlength}
  \mittai{tabbingsep}
  \ymparistoi{tabbing}

\begin{koodilohko}
\setlength{\tabbingsep}{0mm}
\begin{tabbing}
  \hspace{23mm} \= \hspace{23mm} \= \hspace{23mm} \= \kill
  tÃ¤ssÃ¤pÃ¤ \&gt; kaikki \&gt; eri \&gt; sarkainkohdat \+ \\
  valmiiksi sisennetty \+ \\
  vielÃ¤ enemmÃ¤n sisennetty \- \\
  vÃ¤hemmÃ¤n sisennetty \&gt;\&gt; oikealle\' \\
  \&lt; poikkeuksellisesti sisennetty vÃ¤hemmÃ¤n \` tÃ¤ysin oikealla \\
  paluu aiempaan sisennystasoon ja tarkkeita: \a'{a}\a`{a}\a={a}
\end{tabbing}
\end{koodilohko}

  \begin{tulos}
    \setlength{\tabbingsep}{0mm}
    \begin{tabbing}
      \hspace{23mm} \= \hspace{23mm} \= \hspace{23mm} \= \kill
      tÃ¤ssÃ¤pÃ¤ \&gt; kaikki \&gt; eri \&gt; sarkainkohdat \+ \\
      valmiiksi sisennetty \+ \\
      vielÃ¤ enemmÃ¤n sisennetty \- \\
      vÃ¤hemmÃ¤n sisennetty \&gt;\&gt; oikealle\' \\
      \&lt; poikkeuksellisesti sisennetty vÃ¤hemmÃ¤n \` tÃ¤ysin oikealla \\
      paluu aiempaan sisennystasoon ja tarkkeita: \a'{a}\a`{a}\a={a}
    \end{tabbing}
  \end{tulos}

  \caption{Erikoisempia sarkaintoimintoja \ymparisto{tabbing}\-/
    ympÃ¤ristÃ¶ssÃ¤}
  \label{esim/tabbing-erikois}
\end{esimerkki*}

\subsection{Laatikkototeutus}

Sarkainkohtia sisÃ¤ltÃ¤vÃ¤n rivin voi varsin helposti toteuttaa laatikoiden
(luku \ref{luku/laatikot}) avulla. Varsinkin \komento{makebox}\-/
komento soveltuu hyvin, koska laatikolla ei ole reunaviivoja ja laatikon
leveyden ja sisÃ¤llÃ¶n tasauksen voi asettaa. Katso lisÃ¤tietoa
\komento{makebox}\-/ komennon argumenteista luvusta
\ref{luku/laatikot-pienet}.

\begin{esimerkki*}
  \komentoi{newlength}
  \komentoi{setlength}
  \komentoi{newcommand}
  \komentoi{makebox}
  \komentoi{ignorespaces}
  \komentoi{noindent}

\begin{koodilohko}
\newlength{\sarkainleveys}
\setlength{\sarkainleveys}{23mm}
\newcommand{\sarkain}[3][l]{%
  \makebox[#2\sarkainleveys][#1]{#3}\ignorespaces}

\noindent
\sarkain{1}{ensin} \sarkain{1}{kaikki} \sarkain{1}{eri} sarkainkohdat \\
\sarkain{1}{} sarkaimen verran sisennetty rivi \\
\sarkain{2}{jotain tekstiÃ¤} \sarkain[r]{1}{oikealle} \\
\sarkain{1}{} \sarkain[c]{2}{keskitetty}
\end{koodilohko}

  \begin{tulos}
    \newlength{\sarkainleveys}
    \setlength{\sarkainleveys}{23mm}
    \newcommand{\sarkain}[3][l]{%
      \makebox[#2\sarkainleveys][#1]{#3}\ignorespaces}

    \noindent
    \sarkain{1}{ensin} \sarkain{1}{kaikki} \sarkain{1}{eri} sarkainkohdat \\
    \sarkain{1}{} sarkaimen verran sisennetty rivi \\
    \sarkain{2}{jotain tekstiÃ¤} \sarkain[r]{1}{oikealle} \\
    \sarkain{1}{} \sarkain[c]{2}{keskitetty}
  \end{tulos}

  \caption{Sarkainten toteutus laatikoiden avulla}
  \label{esim/sarkain-laatikot}
\end{esimerkki*}

EsimerkissÃ¤ \ref{esim/sarkain-laatikot} mÃ¤Ã¤ritetÃ¤Ã¤n riveillÃ¤ 1--2
sarkainten leveysmitta \mittax{sarkainleveys} ja riveillÃ¤ 3--4 komento
\komentox{sarkain}, jolla tekstiÃ¤ voi kirjoittaa tietyn levyiseen
laatikkoon. NÃ¤in mÃ¤Ã¤ritelty \komentox{sarkain}\-/ komento tarvitsee
ainakin kaksi argumenttia: ensimmÃ¤inen argumentti on kerroin, kuinka
monen sarkaimen levyinen laatikko tehdÃ¤Ã¤n; toinen argumentti on teksti,
joka ladotaan tÃ¤hÃ¤n laatikkoon. Ennen pakollisia argumentteja voi antaa
myÃ¶s valinnaisen argumentin hakasulkeissa: se on laatikon sisÃ¤llÃ¶n
tasaus, ja oletus on vasempaan reunaan. Esimerkki
\ref{esim/sarkain-laatikot} havainnollistaa sarkainten toteuttamista
laatikoiden avulla.

\section{Leijuvat osat}
\label{luku/leijuosat}

Leijuvat osat ovat sellaisia dokumentin osia -- kÃ¤ytÃ¤nnÃ¶ssÃ¤
ympÃ¤ristÃ¶jÃ¤~--, joita ei ladota normaalin leipÃ¤tekstin sekaan tiettyyn
kohtaan. Ne ''leijuvat'' irrallaan tavallisesta tekstivirrasta, ja Latex
huolehtii niiden sijoittelusta. Leijuvilla osilla on yleensÃ¤ kuvateksti,
jonka alussa on sen tyyppi ja numero, esimerkiksi ''\figurename~1'' tai
''\tablename\ 4.2''. NÃ¤iden perÃ¤ssÃ¤ on varsinainen kuvateksti, joka
kertoo kyseisen leijuvan osan sisÃ¤llÃ¶stÃ¤ tai merkityksestÃ¤.
LeipÃ¤tekstistÃ¤ usein viitataan leijuviin osiin kÃ¤yttÃ¤mÃ¤llÃ¤ ilmauksia
kuten ''kuvassa~1''. NÃ¤issÃ¤ hyÃ¶dynnetÃ¤Ã¤n Latexin ristiviittaustoimintoja
(luku \ref{luku/ristiviitteet}).

Perus Latex sisÃ¤ltÃ¤Ã¤ kaksi erityyppistÃ¤ leijuvaa osaa, kuvat ja taulukot
(luku \ref{luku/leijuosat-latex}), mutta \paketti{floatrow}\-/ paketin
avulla voi tehdÃ¤ muunkinlaisia (luku \ref{luku/leijuosat-omat}).
Esimerkiksi tÃ¤ssÃ¤ oppaassa on kÃ¤ytÃ¶ssÃ¤ myÃ¶s tyyppi ''Esimerkki'', jota
kÃ¤ytetÃ¤Ã¤n leijuvien Latex\-/ koodiesimerkkien toteuttamiseen.

Koska Latex huolehtii leijuvien osien sijoittamisesta, niiden lopullinen
jÃ¤rjestyskin voi hieman poiketa siitÃ¤, miten ne ovat lÃ¤hdetiedostossa.
Tosin samantyyppiset leijuvat osat, esimerkiksi kuvat, ladotaan aina
siinÃ¤ jÃ¤rjestyksessÃ¤ kuin ne ovat lÃ¤hdetiedostossa. Sen sijaan
erityyppiset leijuvat osat saatetaan latoa eri jÃ¤rjestyksessÃ¤:
esimerkiksi jokin taulukko saatetaan latoa ennen tiettyÃ¤ kuvaa, vaikka
ne olisivat lÃ¤hdedokumentissa pÃ¤invastaisessa jÃ¤rjestyksessÃ¤. Latex
pyrkii latomaan hyvÃ¤nnÃ¤kÃ¶isiÃ¤ sivuja, ja leijuvien osien sijoittelulla
se voi vaikuttaa asiaan.

\subsection{Leijuvat taulukot ja kuvat}
\label{luku/leijuosat-latex}

KÃ¤ytÃ¤nnÃ¶ssÃ¤ leijuvat osat ovat ympÃ¤ristÃ¶jÃ¤, joiden sijoittelusta vastaa
Latex eikÃ¤ kirjoittaja. Tosin kirjoittajakin voi hieman vaikuttaa
asiaan, ja tÃ¤tÃ¤ kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/leijuosat-sijoittelu}.
YmpÃ¤ristÃ¶ \ymparisto{table} on tarkoitettu taulukoille, ja ympÃ¤ristÃ¶
\ymparisto{figure} on kuville. EsimerkistÃ¤ \ref{esim/leijuosat-perus}
ilmenee leijuvan taulukon toteuttamisen perusasiat. Muuntyyppiset
leijuvat osat tehdÃ¤Ã¤n samalla tavalla, ympÃ¤ristÃ¶ on vain eri.

\begin{esimerkki*}
  \komentoi{arraystretch}
  \komentoi{caption}
  \komentoi{hline}
  \komentoi{renewcommand}
  \ymparistoi{center}
  \ymparistoi{table}
  \ymparistoi{tabular}

\begin{koodilohko}
\begin{table}
  \begin{center}
    \renewcommand{\arraystretch}{1.3}
    \begin{tabular}{ll}
      Upeita &amp; Lukuja \\
      \hline
      324 &amp; 33 \\
      2   &amp; 49 \\
      \hline
    \end{tabular}
  \end{center}
  \caption{Upea kuvateksti.}
\end{table}
\end{koodilohko}

  \caption{Leijuvan taulukon toteuttaminen \ymparisto{table}\-/
    ympÃ¤ristÃ¶n avulla. Varsinainen taulukko syntyy ympÃ¤ristÃ¶n
    \ymparisto{tabular} avulla}
  \label{esim/leijuosat-perus}
\end{esimerkki*}

Latex ei sinÃ¤nsÃ¤ ota kantaa siihen, mitÃ¤ leijuva ympÃ¤ristÃ¶ sisÃ¤ltÃ¤Ã¤, eli
\ymparisto{table}\-/ ympÃ¤ristÃ¶n sisÃ¤llÃ¤ ei tarvitse olla
taulukkoympÃ¤ristÃ¶Ã¤ (luku \ref{luku/taulukot}), eikÃ¤
\ymparisto{figure}\-/ ympÃ¤ristÃ¶n sisÃ¤llÃ¤ ole pakko olla kuvaa (luku
\ref{luku/grafiikka}). Valitut ympÃ¤ristÃ¶t vaikuttavat kuitenkin
kuvatekstiin: \ymparisto{table}\-/ ympÃ¤ristÃ¶n kuvatekstiin tulee suomen
kieliasetuksilla sana ''\tablename'', ja \ymparisto{figure}\-/
ympÃ¤ristÃ¶ssÃ¤ se on ''\figurename''. Nimet tulevat komennoista
\komento{tablename} ja \komento{figurename}, jotka kirjoittaja voi
mÃ¤Ã¤rittÃ¤Ã¤ uudelleen. Se kannattaa tehdÃ¤ dokumentin esittelyosassa
seuraavalla tavalla:

\komentoi{addto}
\komentoi{captionsfinnish}
\komentoi{figurename}
\komentoi{tablename}
\begin{koodilohkosis}
\addto{\captionsfinnish}{
  \renewcommand{\tablename}{HÃ¶kÃ¶tys}
  \renewcommand{\figurename}{Himmeli}
}
\end{koodilohkosis}

\noindent
EdellÃ¤ kÃ¤ytettiin \komento{addto}\-/ komentoa, joka kuuluu
kielipaketteihin \paketti{polyglossia} ja \paketti{babel}. SillÃ¤
lisÃ¤tÃ¤Ã¤n omia komentoja tietyn kielen asetuksiin, tÃ¤ssÃ¤ suomen
kieliasetuksiin (\komento{captionsfinnish}). Kieliasetuksia kÃ¤sitellÃ¤Ã¤n
tarkemmin luvussa \ref{luku/kieliasetukset}.

Kuvatekstit tehdÃ¤Ã¤n komennolla \komento{caption}, joka sijoitetaan
leijuvan ympÃ¤ristÃ¶n sisÃ¤lle, kuten esimerkissÃ¤
\ref{esim/leijuosat-perus} on tehty. Komennolle annetaan yksi argumentti
eli haluttu kuvateksti. Siihen ei pidÃ¤ kirjoittaa leijuvan osan tyyppiÃ¤
eikÃ¤ numeroa (esim. ''\tablename~3''), sillÃ¤ nÃ¤mÃ¤ Latex tekee
automaattisesti. \komento{caption}\-/ komennolle voi antaa myÃ¶s
valinnaisen argumentin, jolla ilmaistaan kuvatekstistÃ¤ lyhempi versio:

\komentoi{caption}
\begin{koodilohkosis}
\caption[Lyhyt kuvateksti.]{Varsinainen pitkÃ¤ kuvateksti.}
\end{koodilohkosis}

\noindent
Varsinainen (pitkÃ¤) kuvateksti ladotaan aina leijuvan osan yhteyteen ja
lyhempÃ¤Ã¤ versiota kÃ¤ytetÃ¤Ã¤n mahdollisesti luettelossa (luku
\ref{luku/leijuosat-luettelot}) ja ristiviitteissÃ¤. Kuvatekstin eli
\komento{caption}\-/ komennon jÃ¤lkeen leijuvaan ympÃ¤ristÃ¶Ã¶n lisÃ¤tÃ¤Ã¤n
usein \komento{label}\-/ komennolla yksilÃ¶llinen tunniste
ristiviittausta varten. Komentoa kÃ¤sitellÃ¤Ã¤n ristiviitteiden yhteydessÃ¤
luvussa \ref{luku/ristiviitteet}.

Leijuvista ympÃ¤ristÃ¶istÃ¤ on olemassa myÃ¶s tÃ¤hdelliset versiot,
\ymparisto{table*} ja \ymparisto{figure*}. YmpÃ¤ristÃ¶jen eri versioilla
on merkitystÃ¤ vain kaksipalstaisessa tilassa (luku \ref{luku/palstat}),
jossa normaaliversio (esim. \ymparisto{table}) ladotaan yhden palstan
sisÃ¤Ã¤n ja tÃ¤hdellinen versio (esim. \ymparisto{table*}) sijoitetaan
palstojen ulkopuolelle, koko sivun tilaan.

\subsection{Muut leijuvat osat}
\label{luku/leijuosat-omat}

Omia, itse nimettyjÃ¤ leijuvia osia tehdÃ¤Ã¤n \pakettictan{floatrow}\-/
paketin avustuksella. Se sisÃ¤ltÃ¤Ã¤ komennon on
\komento{DeclareNewFloatType}, jonka argumentit ovat seuraavanlaiset:

\komentoi{DeclareNewFloatType}
\begin{koodilohkosis}
\DeclareNewFloatType{tyyppi}{valitsimet}
\end{koodilohkosis}

\noindent
Komennon ensimmÃ¤inen argumentti \koodi{tyyppi} on leijuvan osan tyyppi
ja kÃ¤ytÃ¤nnÃ¶ssÃ¤ myÃ¶s ympÃ¤ristÃ¶n nimi. Jos tyypiksi antaa sanan
\koodi{esimerkki}, syntyy leijuvat ympÃ¤ristÃ¶t \ymparistox{esimerkki} ja
\ymparistox{esimerkki*}. Argumentin \koodi{valitsimet} avulla voi
vaikuttaa tarkemmin leijuvan osan ominaisuuksiin. Mahdolliset valitsimet
on koottu taulukkoon \ref{tlk/declarenewfloat}. Eri valitsimet erotetaan
toisistaan pilkulla, eli komentoa kÃ¤ytetÃ¤Ã¤n esimerkin
\ref{esim/declarenewfloat} tavoin.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\koodi{\englanti{#1}} &amp; #2 \\}
  \begin{tabular}{ll}
    \toprule
    \ots{Valitsin} &amp; \ots{Merkitys} \\
    \midrule
    \rivi{name}{kuvateksteissÃ¤ nÃ¤kyvÃ¤ tyyppi}
    \rivi{placement}{sijoitteluasetukset}
    \rivi{fileext}{vÃ¤liaikaistiedoston pÃ¤Ã¤te}
    \rivi{within}{ylemmÃ¤ntasoinen laskuri}
    % \rivi{relatedcapstyle}{??}
    \bottomrule
  \end{tabular}
}{
  \caption{\komento{DeclareNewFloatType}\-/ komennon valitsimia, joilla
    vaikutetaan leijuvan osan ominaisuuksiin}
  \label{tlk/declarenewfloat}
}

\begin{esimerkki*}
\komentoi{DeclareNewFloatType}

\begin{koodilohko}
\DeclareNewFloatType{esimerkki}{
  name=Esimerkki,
  placement=tbp,
  fileext=loesim,
  within=chapter
}
\end{koodilohko}

\caption{\komento{DeclareNewFloatType}\-/ komennon kÃ¤yttÃ¶}
\label{esim/declarenewfloat}
\end{esimerkki*}

Valitsimen \koodi{name} arvo nÃ¤kyy kuvateksteissÃ¤ leijuvan osan
tyyppinÃ¤. Valitsimella \koodi{placement} tehdÃ¤Ã¤n sijoitteluasetuksia,
joita kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/leijuosat-sijoittelu}. KÃ¤ytÃ¤nnÃ¶ssÃ¤
ne ovat tiettyjÃ¤ kirjaimia, joilla vaikutetaan leijuvan osan
sijoitteluun. Oletusarvo on \koodi{tbp}.

Valitsin \koodi{file\-ext} mÃ¤Ã¤rittelee tiedoston pÃ¤Ã¤tteen. NimittÃ¤in
leijuvien osien luetteloita tehtÃ¤essÃ¤ Latex kÃ¤yttÃ¤Ã¤ vÃ¤liaikaistiedostoa,
ja sen pÃ¤Ã¤tteen voi valita tÃ¤llÃ¤ valitsimella. Luetteloissa on tapana
kÃ¤yttÃ¤Ã¤ tiedostopÃ¤Ã¤tettÃ¤, joka alkaa kirjaimilla \koodi{lo}
(\englanti{list of}). Latexin omissa leijuvissa osissa pÃ¤Ã¤tteet ovat
\koodi{lot} (\englanti{list of tables}) ja \koodi{lof} (\englanti{list
  of figures}). Oletuksena omille leijuville osille tulee pÃ¤Ã¤tteeksi
\koodi{lo}, jonka perÃ¤ssÃ¤ on osan tyyppi.

Valitsimen \koodi{within} avulla vaikutetaan leijuvien osien numeroinnin
riippuvuuteen muista laskureista. Oletuksena leijuvan osan laskuri ei
ole riippuvainen muista laskureista eli osat numeroidaan dokumentin
alusta saakka yhdellÃ¤ luvulla. Arvoksi voi antaa myÃ¶s Latexin laskurin
nimen: mielekkÃ¤itÃ¤ arvoja ovat esimerkiksi \laskuri{chapter} ja
\laskuri{section}. Vaikutus on se, ettÃ¤ leijuvan osan laskuri on
riippuvainen nÃ¤istÃ¤ laskureista ja nollautuu aina, kun toisen laskurin
arvo kasvaa. LisÃ¤ksi kuvateksteissÃ¤ nÃ¤kyy kaksiosainen numerointi (4.1,
4.2 jne.), jossa ensimmÃ¤inen luku on ylemmÃ¤ntasoisen laskurin arvo --
esimerkiksi kirjan pÃ¤Ã¤luvun numero -- ja toinen on leijuvan osan
laskurin arvo. TÃ¤llaisia hierarkkisia laskureita kÃ¤sitellÃ¤Ã¤n tarkemmin
luvussa \ref{luku/hierarkkiset-laskurit}. Leijuvan osan numeroinnin
ulkoasun muokkaamista kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/leijuosat-ulkoasu}.

\subsection{Leijuvien osien luettelot}
\label{luku/leijuosat-luettelot}

Dokumentin leijuvista osista voi latoa automaattisesti luetteloita:
komennolla \komento{listoftables} syntyy taulukkoluettelo ja komennolla
\komento{listoffigures} kuvaluettelo. Omien leijuvien osien (luku
\ref{luku/leijuosat-omat}) luettelo tehdÃ¤Ã¤n \paketti{floatrow}\-/
paketin komennolla \komento{listof}, jolle annetaan argumentiksi
leijuvan osan tyyppi sekÃ¤ luettelon otsikko.

\komentoi{listoftables}
\komentoi{listoffigures}
\komentoi{listof}
\begin{koodilohkosis}
\listoftables                  % taulukkoluettelo (table)
\listoffigures                 % kuvaluettelo (figure)
\listof{esimerkki}{Esimerkit}  % luettelo esimerkki-tyyppisistÃ¤ osista
\end{koodilohkosis}

\noindent
Leijuvien osien luettelot muistuttavat sisÃ¤llysluetteloita (luku
\ref{luku/sisÃ¤llysluettelo}), eli niille tulee automaattisesti otsikko
kuten ''\listtablename'' tai ''\listfigurename'' ja automaattisesti
sisÃ¤ltÃ¶ eli kaikki \komento{caption}\-/ komennolla ilmaistut (lyhyet)
kuvatekstit sekÃ¤ tietysti sivunumerot.

\begin{esimerkki*}
  \komentoi{addvspace}
  \komentoi{contentslabel}
  \komentoi{contentspage}
  \komentoi{rmfamily}
  \komentoi{small}
  \komentoi{titlecontents}
  \komentoi{titlerule*}

\begin{koodilohko}
\titlecontents{table}                       % tyyppi: table
[8mm]                                       % vasen sisennys (mitta)
{\addvspace{3bp}\rmfamily\small}            % ylÃ¤puolinen koodi
{\contentslabel{8mm}}                       % numeroitu kohta
{}                                          % numeroimaton kohta
{~\small\titlerule*[3mm]{.}\contentspage}   % pisteviiva ja sivunumero
[]                                          % alapuolinen koodi
\end{koodilohko}
  \caption{Leijuvien osien luettelon ulkoasua muokataan
    \komento{titlecontents}\-/ komennolla, joka on perÃ¤isin
    \paketti{titletoc}\-/ paketista}
  \label{esim/leijuosat-titlecontents}
\end{esimerkki*}

Leijuvien osien luettelojen ulkoasua voi muokata samalla tavalla kuin
sisÃ¤llysluetteloidenkin: kÃ¤ytetÃ¤Ã¤n pakettia \pakettictan{titletoc} ja
mÃ¤Ã¤ritellÃ¤Ã¤n sen \komento{titlecontents}\-/ komennolla luettelokohtien
ulkoasu. EsimerkistÃ¤ \ref{esim/leijuosat-titlecontents} selvinnee
perusajatus, ja lisÃ¤tietoa on sisÃ¤llysluetteloita kÃ¤sittelevÃ¤ssÃ¤ luvussa
\ref{luku/sisÃ¤llysluettelo} sekÃ¤ tietysti paketin ohjekirjassa.

Latexin omien leijuvien osien luetteloiden otsikot tulevat
kieliasetuksista ja komennoista \komento{listtablename} ja
\komento{listfigurename}, jotka kirjoittaja voi mÃ¤Ã¤ritellÃ¤ uudestaan.
JÃ¤rkevÃ¤Ã¤ on tehdÃ¤ se lÃ¤hdedokumentin esittelyosassa ja kÃ¤yttÃ¤Ã¤
\komento{addto}\-/ komentoa, jolla asetukset lisÃ¤tÃ¤Ã¤n tietyn kielen
asetuksiin.

\komentoi{addto}
\komentoi{captionsfinnish}
\komentoi{listfigurename}
\komentoi{listtablename}
\begin{koodilohkosis}
\addto{\captionsfinnish}{
  \renewcommand{\listtablename}{Taulukkoluettelo}
  \renewcommand{\listfigurename}{Kuvaluettelo}
}
\end{koodilohkosis}

\noindent
Luetteloihin saa lisÃ¤ttyÃ¤ omia rivejÃ¤ samoilla keinoilla kuin
sisÃ¤llysluetteloihinkin eli komennolla \komento{addcontentsline}.
Komennon ensimmÃ¤inen argumentti on luettelon tyyppiÃ¤ vastaavan tiedoston
pÃ¤Ã¤te. Tyyppi \koodi{lot} (\englanti{list of tables}) on taulukoille ja
tyyppi \koodi{lof} (\englanti{list of figures}) on kuville. Omilla
leijuvilla osilla (luku \ref{luku/leijuosat-omat}) tiedoston pÃ¤Ã¤te on
jotakin muuta ja valitaan osan mÃ¤Ã¤rittelyn yhteydessÃ¤.

\komentoi{addcontentsline}
\begin{koodilohkosis}
\addcontentsline{lot}{table}{YlimÃ¤Ã¤rÃ¤inen taulukko}
\addcontentsline{lof}{figure}{YlimÃ¤Ã¤rÃ¤inen kuva}
\end{koodilohkosis}

\noindent
Komennon toinen argumentti tarkoittaa luettelomerkinnÃ¤n tasoa (vrt.
otsikkotasot). Leijuvien osien luetteloissa on vain yksi taso, ja siihen
kirjoitetaan kyseisen leijuvan osan tyyppi eli ympÃ¤ristÃ¶n nimi,
esimerkiksi \ymparisto{table} tai \ymparisto{figure}. Komennon kolmas
argumentti on luetteloon lisÃ¤ttÃ¤vÃ¤ merkintÃ¤.

\subsection{Sijoittelu sivulle}
\label{luku/leijuosat-sijoittelu}

Latex sijoittaa leijuvat osat yleensÃ¤ sivun ylÃ¤osaan, joskus alaosaan
tai omalle sivulleen, jossa ei ole leipÃ¤tekstiÃ¤ lainkaan. YksittÃ¤isen
ympÃ¤ristÃ¶n sijoitteluun voi vaikuttaa valinnaisen argumentin avulla:

\ymparistoi{figure}
\begin{koodilohkosis}
\begin{figure}[sijainti]
  ...
\end{figure}
\end{koodilohkosis}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\koodi{#1} &amp; #2 \\}
  \begin{tabular}{cl}
    \toprule
    \ots{Valitsin} &amp; \ots{Merkitys} \\
    \midrule
    \rivi{t}{sivun ylÃ¤osaan (\englanti{top})}
    \rivi{b}{sivun alaosaan (\englanti{bottom})}
    \rivi{p}{leijuvien osien sivulle (\englanti{page})}
    \rivi{h}{mieluiten tÃ¤hÃ¤n kohtaan (\englanti{here})}
    \rivi{H}{ehdottomasti tÃ¤hÃ¤n kohtaan (\englanti{here},
    \paketti{floatrow})}
    \rivi{!}{ei huomioida tiettyjÃ¤ sijoittelurajoituksia}
    \bottomrule
  \end{tabular}
}{
  \caption{Leijuvien osien sijoitteluun voi vaikuttaa ympÃ¤ristÃ¶n
    valinnaisen argumentin avulla. Valitsin \koodi{H} on
    \paketti{floatrow}\-/ paketin ominaisuus}
  \label{tlk/leijuosat-sijoittelukirjaimet}
}

\noindent
Valinnainen argumentti \koodi{sijainti} on tietty merkki tai merkkien
yhdistelmÃ¤, jolla vaikutetaan leijuvan osan sijoitteluun. Taulukossa
\ref{tlk/leijuosat-sijoittelukirjaimet} ovat mahdolliset vaihtoehdot.
Oletusarvo on \koodi{tbp}, eli sen mukaan leijuva osa pyritÃ¤Ã¤n
sijoittamaan ensisijaisesti sivun ylÃ¤osaan (\koodi{t}) mutta
mahdollisesti myÃ¶s alaosaan (\koodi{b}) tai omalle sivulleen (\koodi{p})
mahdollisesti muiden leijuvien osien kanssa.

Vaihtoehto \koodi{h} pyrkii latomaan leijuvan osan siihen kohtaan kuin
se on lÃ¤hdetiedostossa. Se on kuitenkin vain ehdotus eikÃ¤ useinkaan
toteudu: Latex lisÃ¤Ã¤ automaattisesti aina \koodi{h}\=/ valitsimen perÃ¤Ã¤n
\koodi{t}:n eli sivun ylÃ¤osaan sijoittamisen. Latex kÃ¤yttÃ¤Ã¤ sitÃ¤, jos se
saa sillÃ¤ tavoin omasta mielestÃ¤Ã¤n paremman lopputuloksen. Lataamalla
paketin \paketti{floatrow} voi kÃ¤yttÃ¤Ã¤ myÃ¶s myÃ¶s valitsinta \koodi{H}.
Se tarkoittaa ehdotonta vaatimusta, ettÃ¤ juuri tÃ¤hÃ¤n kohtaan leijuva osa
pitÃ¤Ã¤ sijoittaa. TÃ¤tÃ¤ valitsinta ei voi yhdistÃ¤Ã¤ muiden valitsimien
kanssa.

Valitsinta \koodi{!} kÃ¤ytetÃ¤Ã¤n yhdessÃ¤ edellÃ¤ mainittujen valitsimien
\koodi{tbp} kanssa. Se poistaa tietyt sijoitteluun vaikuttavat sÃ¤Ã¤nnÃ¶t
tai rajoitukset. NiitÃ¤ kÃ¤sitellÃ¤Ã¤n seuraavaksi.

Leijuvien osien automaattisessa sijoittelussa vaikuttaa kymmenen
erilaista parametria, joihin kirjoittaja voi vaikuttaa: kolme laskuria,
kolme mittaa ja neljÃ¤ komentoa. Joillekin asetuksille on olemassa
rinnakkainen versio, jota kÃ¤ytetÃ¤Ã¤n kahden palstan tilassa (luku
\ref{luku/palstat}). Ne koskevat leijuvien ympÃ¤ristÃ¶jen tÃ¤hdellisiÃ¤
versiota, kuten \ymparisto{table*} ja \ymparisto{figure*}, eli
tilannetta, jossa leijuva osa ei ole palstojen sisÃ¤llÃ¤, vaan koko sivun
leveys on kÃ¤ytettÃ¤vissÃ¤.

Seuraavat kolme laskuria vaikuttavat sivulle ladottavien leijuvien osien
enimmÃ¤ismÃ¤Ã¤rÃ¤Ã¤n. Ne koskevat tilannetta, jossa sivulla on myÃ¶s
tavallista leipÃ¤tekstiÃ¤ tai muuta sisÃ¤ltÃ¶Ã¤. Laskureille asetetaan uusi
arvo komennolla \komento{setcounter} (luku \ref{luku/laskurit}). NÃ¤iden
laskurien vaikutuksen voi poistaa kokonaan kÃ¤yttÃ¤mÃ¤llÃ¤ leijuvan
ympÃ¤ristÃ¶n valitsinta \koodi{!} (taulukko
\ref{tlk/leijuosat-sijoittelukirjaimet}).

\begin{maaritelma}{\laskuri{#1}}
\item [topnumber] Sivun ylÃ¤osaan sijoitettavien leijuvien osien
  enimmÃ¤ismÃ¤Ã¤rÃ¤. Oletusarvo on~2. Kahden palstan tilassa kÃ¤ytetÃ¤Ã¤n
  laskuria \laskuri{dbltopnumber}.
\item [bottomnumber] Sivun alaosaan sijoitettavien leijuvien osien
  enimmÃ¤ismÃ¤Ã¤rÃ¤. Oletusarvo on~1. Kahden palstan tilassa leijuvia osia
  ei sijoiteta sivun alaosaan tÃ¤ysilevyisenÃ¤.
\item [totalnumber] Samalla sivulla olevien leijuvien osien
  enimmÃ¤ismÃ¤Ã¤rÃ¤, kun sivulla on myÃ¶s tavallista leipÃ¤tekstiÃ¤. Oletusarvo
  on~3.
\end{maaritelma}

\noindent
Seuraavat kolme mittaa vaikuttavat leijuvien osien pystysuuntaisiin
vÃ¤leihin. Mitat asetetaan komennolla \komento{setlength} (luku
\ref{luku/mitat}).

\begin{maaritelma}{\mitta{#1}}
\item [floatsep] Samalla sivulla kahden perÃ¤kkÃ¤isen leijuvan osan
  pystysuuntainen vÃ¤li. Oletusarvo on venyvÃ¤ mitta \koodi{12pt plus 2pt
    minus 2pt}. Kahden palstan tilassa kÃ¤ytetÃ¤Ã¤n mittaa
  \mitta{dblfloatsep}.
\item [textfloatsep] Leijuvan osan ja leipÃ¤tekstin vÃ¤linen
  pystysuuntainen vÃ¤li. Oletusarvo on venyvÃ¤ mitta \koodi{20pt plus 2pt
    minus 4pt}. Kahden palstan tilassa kÃ¤ytetÃ¤Ã¤n mittaa
  \mitta{dbltextfloatsep}.
\item [intextsep] Pystysuuntainen vÃ¤li leipÃ¤tekstin ja leijuvan osan
  vÃ¤lissÃ¤ silloin, kun leijuva osa sijoitetaan osaksi tekstivirtaa. TÃ¤mÃ¤
  koskee sijoitteluasetuksia \koodi{h} ja \koodi{H} (taulukko
  \ref{tlk/leijuosat-sijoittelukirjaimet}). Oletusarvo vaihtelee
  dokumenttiluokan fonttikokoasetusten (luku
  \ref{luku/perusdokumenttiluokat-asetukset}) perusteella. Jos
  dokumenttiluokan valitsin on \koodi{10pt} (oletus) tai \koodi{11pt},
  oletusmitta on \koodi{12pt plus 2pt minus 2pt}. Dokumenttiluokan
  valitsimella \koodi{12pt} oletus on \koodi{14pt plus 4pt minus 4pt}.
\end{maaritelma}

\noindent
Seuraavat neljÃ¤ komentoa sisÃ¤ltÃ¤vÃ¤t pelkÃ¤n desimaaliluvun 0\==1. Luku
kertoo leijuvien osien tai leipÃ¤tekstin viemÃ¤n suhteellisen tilan
samalla sivulla. Komennot mÃ¤Ã¤ritellÃ¤Ã¤n uudelleen komennolla
\komento{renewcommand} (luku \ref{luku/komennot-mÃ¤Ã¤rittely}). NÃ¤iden
vaikutuksen voi poistaa kokonaan leijuvan ympÃ¤ristÃ¶n valitsimella
\koodi{!} (taulukko \ref{tlk/leijuosat-sijoittelukirjaimet}).

\begin{maaritelma}{\komento{#1}}
\item [topfraction] Sivun ylÃ¤osaan sijoitettavien leijuvien osien viemÃ¤
  enimmÃ¤istila suhteessa sivun tekstialueen korkeuteen. Oletusarvo
  on~\koodi{0.7}, mikÃ¤ tarkoittaa, ettÃ¤ leijuvat osat voivat viedÃ¤
  korkeintaan 0,7\=/ kertaisesti (70\,\%) sivulla olevan pystysuuntaisen
  tilan. Kahden palstan tilassa kÃ¤ytetÃ¤Ã¤n komentoa
  \komento{dbltopfraction}.
\item [bottomfraction] Sivun alaosaan sijoitettavien leijuvien osien
  viemÃ¤ enimmÃ¤istila suhteessa sivun tekstialueen korkeuteen. Oletusarvo
  on~\koodi{0.3} (30\,\%). Kahden palstan tilassa leijuvia osia ei
  koskaan sijoiteta sivun alaosaan.
\item [textfraction] LeipÃ¤tekstin vÃ¤himmÃ¤istila sivulla, kun samalla
  sivulla on myÃ¶s leijuvia osia. Oletusarvo on \koodi{0.2} (20\,\%).
\item [floatpagefraction] Omalle sivulleen sijoitettavien leijuvien
  osien vÃ¤himmÃ¤istila sivun tekstialueen korkeudesta. Toisin sanoen
  leijuvien osien tÃ¤ytyy viedÃ¤ vÃ¤hintÃ¤Ã¤n tÃ¤mÃ¤n verran tilaa sivulta,
  jotta ne voidaan sijoittaa omalle sivulleen, jossa ei ole leipÃ¤tekstiÃ¤
  lainkaan. Oletusarvo on~\koodi{0.5} (50\,\%). Kahden palstan tilassa
  kÃ¤ytetÃ¤Ã¤n komentoa \komento{dblfloatpagefraction}.
\end{maaritelma}

\noindent
Sivunvaihtokomennot \komento{clearpage} ja \komento{cleardoublepage}
(luku \ref{luku/sivunvaihdot}) pakottavat kaikki aiemmin
lÃ¤hdetiedostossa olleet leijuvat osat ladottavaksi. Osanvaihtokomento
\komento{part} ja otsikkokomento \komento{chapter} (luku
\ref{luku/otsikot}) tekevÃ¤t saman automaattisesti joissakin
dokumenttiluokissa.

Paketin \pakettictan{placeins} avulla voi tehdÃ¤ omiakin rajakohtia,
jonka yli leijuvat osat eivÃ¤t voi siirtyÃ¤. Paketin komennolla
\komento{FloatBarrier} tehdÃ¤Ã¤n raja kyseiseen kohtaan lÃ¤hdedokumentissa.
Jos paketin lataamisessa antaa argumentin \koodi{section}, asetetaan
tÃ¤llainen raja automaattisesti \komento{section}\-/ otsikoille.

\komentoi{usepackage}
\pakettii{placeins}
\begin{koodilohkosis}
\usepackage[section]{placeins}
\end{koodilohkosis}

\subsection{Ulkoasu}
\label{luku/leijuosat-ulkoasu}

Leijuvan osan sisÃ¤isen asettelun, ulkoasun ja muun typografian
hallintaan ja muokkaamiseen tarvitaan yleensÃ¤ paketteja
\paketti{floatrow} ja \pakettictan{caption}. JÃ¤lkimmÃ¤isen avulla
muokataan kuvatekstin fonttia ja rivitystÃ¤, ja sitÃ¤ kÃ¤sitellÃ¤Ã¤n
myÃ¶hemmin tÃ¤ssÃ¤ alaluvussa.

Paketti \paketti{floatrow} tarjoaa runsaasti mahdollisuuksia leijuvien
osien sijoitteluun: osat voi kehystÃ¤Ã¤ laatikolla, kuvatekstin voi
sijoittaa ylÃ¶s, alas tai sivulle, useita leijuvia osia voi sijoittaa
vierekkÃ¤in ym. TÃ¤ssÃ¤ oppaassa kÃ¤sitellÃ¤Ã¤n ainoastaan peruskÃ¤yttÃ¶Ã¤.

Jotta \paketti{floatrow}\-/ paketin ominaisuudet saisi kÃ¤yttÃ¶Ã¶nsÃ¤,
tÃ¤ytyy leijuvat osat toteuttaa sen oman \komento{floatbox}\-/ komennon
avulla. Komento sijoitetaan leijuvan ympÃ¤ristÃ¶n sisÃ¤Ã¤n. Sen
argumenteiksi annetaan ainakin leijuvan osan tyyppi, kuvatekstikomento
ja varsinainen leijuva sisÃ¤ltÃ¶. Seuraavassa esimerkissÃ¤ kÃ¤ytetÃ¤Ã¤n
\ymparisto{table}\-/ ympÃ¤ristÃ¶Ã¤, mutta muut tyypit toimivat samalla
tavalla.

\komentoi{floatbox}
\ymparistoi{table}
\begin{koodilohkosis}
\begin{table}
  \floatbox{table}[leveys]{kuvatekstit}{sisÃ¤ltÃ¶}
\end{table}
\end{koodilohkosis}

\begin{esimerkki*}
  \komentoi{caption}
  \komentoi{floatbox}
  \komentoi{label}
  \mittai{FBwidth}
  \ymparistoi{table}
  \ymparistoi{tabular}

\begin{koodilohko}
\begin{table}
  \floatbox{table}[\FBwidth]{
    \caption{Upea taulukko}    % kuvateksti
    \label{tlk/upea-taulukko}  % tunniste ristiviittausta varten
  }{
    \begin{tabular}{ll}
      jotain &amp; soluja \\
      esimerkin &amp; vuoksi \\
    \end{tabular}
  }
\end{table}
\end{koodilohko}
  \caption{\komento{floatbox}\-/ komennon peruskÃ¤yttÃ¶}
  \label{esim/floatbox-perus}
\end{esimerkki*}

\noindent
Valinnaisen \koodi{leveys}\-/ argumentin voi jÃ¤ttÃ¤Ã¤ poiskin, jolloin
leijuva osa varaa itselleen sivun (tai palstan) leveyden verran tilaa.
Argumentiksi on joskus hyÃ¶dyllistÃ¤ antaa mitta \mitta{FBwidth}, joka on
leijuvan osan sisÃ¤llÃ¶n levyinen. KÃ¤yttÃ¤mÃ¤llÃ¤ tÃ¤tÃ¤ mittaa kuvatekstit
rivitetÃ¤Ã¤n sisÃ¤llÃ¶n levyiseksi. Esimerkki \ref{esim/floatbox-perus}
selventÃ¤Ã¤, miten \komento{floatbox}\-/ komento toimii kÃ¤ytÃ¤nnÃ¶ssÃ¤.

\begin{esimerkki*}
  \komentoi{caption}
  \komentoi{floatbox}
  \mittai{FBwidth}
  \ymparistoi{floatrow}
  \ymparistoi{table}

\begin{koodilohko}
\begin{table}
  \begin{floatrow}[2]  % kaksi rinnakkain
    \floatbox{table}[\FBwidth]{\caption{Vasen}}{â€¦}
    \floatbox{table}[\FBwidth]{\caption{Oikea}}{â€¦}
  \end{floatrow}
\end{table}
\end{koodilohko}
  \caption{Rinnakkaisten leijuvien osien toteutus
    \ymparisto{floatrow}\-/ ympÃ¤ristÃ¶n ja \komento{floatbox}\-/ komennon
    avulla. Kohdassa ''\koodi{\ldots}'' olisi varsinainen sisÃ¤ltÃ¶ eli
    taulukon toteutus}
  \label{esim/floatrow-floatbox}
\end{esimerkki*}

Yksi leijuva ympÃ¤ristÃ¶ voi sisÃ¤ltÃ¤Ã¤ rinnakkain useampia taulukoita,
kuvia tms., joilla jokaisella on oma kuvatekstinsÃ¤. Se tehdÃ¤Ã¤n
ympÃ¤ristÃ¶llÃ¤ \ymparisto{floatrow}, jonka valinnainen argumentti
ilmaisee, kuinka monta kuvaa tms. ladotaan rinnakkain. Oletusarvo on~2.
YmpÃ¤ristÃ¶n sisÃ¤llÃ¤ tÃ¤ytyy olla yhtÃ¤ monta \komento{floatbox}\-/
komentoa. EsimerkistÃ¤ \ref{esim/floatrow-floatbox} selviÃ¤Ã¤ perusajatus
kahden taulukon latomiseksi rinnakkain.

Kun leijuvat osat on toteutettu \komento{floatbox}\-/ komennon avulla,
voi niiden ulkoasuun vaikuttaa komennolla \komento{floatsetup}. Sille
annetaan ainakin yksi argumentti, joka voi sisÃ¤ltÃ¤Ã¤ useita pilkulla
toisistaan erotettuja valitsimia ja niiden arvoja.

\komentoi{floatsetup}
\begin{koodilohkosis}
\floatsetup[tyyppi]{valitsimet}
\end{koodilohkosis}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\koodi{#1} &amp; #2 \\}
  \begin{tabularx}{\textwidth}{lL}
    \toprule
    \ots{Valitsin} &amp; \ots{Merkitys ja vaihtoehtoja} \\
    \midrule

    \rivi{style}{tyyli: \koodi{plain}, \koodi{ruled}, \koodi{boxed} ym.}

    \rivi{capposition}{kuvatekstin sijainti: \koodi{top}, \koodi{bottom}
      ym.}

    \rivi{captionskip}{kuvatekstin etÃ¤isyys sisÃ¤llÃ¶stÃ¤ (mitta)}

    \rivi{font}{fonttiasetukset: \koodi{rm}, \koodi{sf}, \koodi{tt},
      \koodi{md}, \koodi{bf}, \koodi{up}, \koodi{it}, \koodi{sl},
      \koodi{sc}, \koodi{scriptsize}, \koodi{footnotesize},
      \koodi{small}, \koodi{normalsize}, \koodi{large}, \koodi{Large}}

    \rivi{margins}{leijuvan osan sijainti: \koodi{centering},
      \koodi{raggedright}, \koodi{raggedleft} ym.}

    \rivi{justification}{sisÃ¤llÃ¶n tasaus: \koodi{justified},
      \koodi{centering}, \koodi{raggedright}, \koodi{raggedleft},
      \koodi{RaggedRight} (\paketti{ragged2e}), \koodi{RaggedLeft}
      (\paketti{ragged2e})}

    \bottomrule
  \end{tabularx}
}{
  \caption{Muutama \komento{floatsetup}\-/ komennon valitsin, joilla
    vaikutetaan leijuvien osien ulkoasuun. Osa asetuksista tarvitsee
    paketin \paketti{ragged2e}}
  \label{tlk/floatsetup-valitsimia}
}

\noindent
Valinnainen argumentti \koodi{tyyppi} on leijuvan osan tyyppi,
esimerkiksi \ymparisto{table} tai \ymparisto{figure}. Jos se on annettu,
asetukset vaikuttavat vain kyseiseen tyyppiin; muuten asetukset koskevat
kaikentyyppisiÃ¤ leijuvia osia. Asetukset tehdÃ¤Ã¤n erilaisten valitsimien
avulla, joista muutama on koottu taulukkoon
\ref{tlk/floatsetup-valitsimia}.

Valitsin \koodi{font} asettaa leijuvan ympÃ¤ristÃ¶n fontin mutta ei
vaikuta kuvatekstiin. Fonttiasetukset ovat kÃ¤ytÃ¤nnÃ¶ssÃ¤ avainsanoja,
jotka vastaavat lÃ¤hes samannimisiÃ¤ fonttikomentoja. NiitÃ¤ kÃ¤sitellÃ¤Ã¤n
luvussa \ref{luku/fontit-korkea}. Omiakin fonttien avainsanoja voi luoda
komennolla \komento{DeclareFloatFont}. Valitsimen \koodi{justification}
arvoksi annetaan myÃ¶s tietty sana, joka vastaava samannimisiÃ¤ palstan
tasauskomentoja (luku \ref{luku/kappaleen-tasaus}). KÃ¤ytÃ¤nnÃ¶ssÃ¤ leijuvan
osan asetukset voisivat nÃ¤yttÃ¤Ã¤ vaikka seuraavanlaiselta:

\komentoi{floatsetup}
\begin{koodilohkosis}
\floatsetup{ style=plain, capposition=bottom, font={sf, small},
  justification=centering, captionskip=2ex }
\floatsetup[figure]{ style=boxed }
\end{koodilohkosis}

\noindent
Kuvatekstien fonttia ja rivittÃ¤mistÃ¤ hallitaan \paketti{caption}\-/
paketin avulla. TÃ¤rkein komento on \komento{captionsetup}, joka yleensÃ¤
sijoitetaan dokumentin esittelyosaan tai muuten alkuun, koska silloin se
vaikuttaa koko dokumentissa. Komennon voi sijoittaa myÃ¶s yksittÃ¤isen
leijuvan ympÃ¤ristÃ¶n sisÃ¤Ã¤n, jolloin se vaikuttaa vain kyseisessÃ¤
ympÃ¤ristÃ¶ssÃ¤.

\komentoi{captionsetup}
\begin{koodilohkosis}
\captionsetup[tyyppi]{valitsimet}
\end{koodilohkosis}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\koodi{#1} &amp; #2 \\}
  \begin{tabularx}{\textwidth}{lL}
    \toprule
    \ots{Valitsin} &amp; \ots{Merkitys ja vaihtoehtoja} \\
    \midrule

    \rivi{font}{kuvatekstin fontti: \koodi{normalfont}, \koodi{rm},
      \koodi{sf}, \koodi{tt}, \koodi{md}, \koodi{bf}, \koodi{up},
      \koodi{it}, \koodi{sl}, \koodi{sc}, \koodi{scriptsize},
      \koodi{footnotesize}, \koodi{small}, \koodi{normalsize},
      \koodi{large}, \koodi{Large}}

    \rivi{labelfont}{leijuvan osan tyypin ja numeroinnin fontti}

    \rivi{textfont}{varsinaisen kuvatekstin fontti}

    \rivi{format}{kappaleen tyyppi, tavallinen \koodi{plain} vai
      riippuva \koodi{hang}}

    \rivi{indentation}{sisennysmitta kuvatekstin toisesta rivistÃ¤
      alkaen}

    \rivi{labelformat}{leijuvan osan tyypin muoto: \koodi{default},
      \koodi{empty}, \koodi{simple}, \koodi{brace}, \koodi{parens}}

    \rivi{labelsep}{leijuvan osan tyypin erotinmerkki: \koodi{none},
      \koodi{colon}, \koodi{period}, \koodi{space}, \koodi{quad},
      \koodi{newline}, \koodi{endash}}

    \rivi{textformat}{kuvatekstin lopetusmerkki: \koodi{simple},
      \koodi{period}}

    \rivi{justification}{kuvatekstin tasaus: \koodi{justified},
      \koodi{centering}, \koodi{centerlast}, \koodi{centerfirst},
      \koodi{raggedright}, \koodi{RaggedRight} (\paketti{ragged2e}),
      \koodi{raggedleft}}

    \rivi{singlelinecheck}{yksirivisten kuvatekstien poikkeuksellinen
      tasaus: \koodi{true} (oletus), \koodi{false}}

    \rivi{margin}{kuvatekstin marginaalit: yksi mitta tai kaksi pilkulla
      erotettua mittaa (vasen ja oikea marginaali)}

    \rivi{width}{kuvatekstikappaleen leveys (mitta)}

    \bottomrule
  \end{tabularx}
}{
  \caption{TÃ¤rkeimpiÃ¤ \komento{captionsetup}\-/ komennon valitsimia}
  \label{tlk/captionsetup-valitsimia}
}

\noindent
Komennon valinnainen \koodi{tyyppi}\-/ argumentti on leijuvan osan
tyyppi, esimerkiksi \ymparisto{table} tai \ymparisto{figure}, johon
halutaan vaikuttaa. Jos sen jÃ¤ttÃ¤Ã¤ pois, asetukset vaikuttavat kaikkien
leijuvien osien kuvateksteihin. Pakollinen argumentti on
\koodi{valitsimet}, johon kirjoitetaan valitsimia ja niiden arvoja.
TÃ¤rkeimpiÃ¤ valitsimia on koottu taulukkoon
\ref{tlk/captionsetup-valitsimia}. KÃ¤ytÃ¤nnÃ¶ssÃ¤ komento voisi nÃ¤yttÃ¤Ã¤
esimerkiksi seuraavanlaiselta:

\komentoi{captionsetup}
\begin{koodilohkosis}
\captionsetup{ font={small, sf}, labelfont={bf}, textfont={},
  textformat=period, margin={.5em,0em}, justification=raggedright,
  singlelinecheck=false }
\end{koodilohkosis}

\noindent
Oletuksena Latex kÃ¤sittelee yksiriviset kuvatekstit poikkeuksellisella
tavalla eli keskittÃ¤Ã¤ ne. Sen vuoksi tasausvalitsin
\koodi{justification} ei vaikuta yksirivisiin kuvateksteihin. TÃ¤mÃ¤n
poikkeuksen saa pois pÃ¤Ã¤ltÃ¤ kÃ¤yttÃ¤mÃ¤llÃ¤ asetusta
\koodi{singlelinecheck=\katk false}, jolloin sama
\koodi{justification} pÃ¤tee yhtÃ¤ lailla niin yksi- kuin monirivisiinkin
kuvateksteihin.

\begin{esimerkki*}
  \ymparistoi{table}
  \komentoi{caption}
  \komentoi{ContinuedFloat}

\begin{koodilohko}
\begin{table}                 % kokonaisuuden 1. leijuva ympÃ¤ristÃ¶
  \caption{Hieno taulukko}
  ...
\end{table}
...
\begin{table}                 % kokonaisuuden 2. leijuva ympÃ¤ristÃ¶
  \ContinuedFloat             % sama numerointi kuin edelliselle
  \caption{Hieno taulukko (jatkuu)}
  ...
\end{table}
\end{koodilohko}

  \caption{Usealle leijuvalle osalle saa saman numeron kÃ¤yttÃ¤mÃ¤llÃ¤
    jÃ¤lkimmÃ¤isissÃ¤ ympÃ¤ristÃ¶issÃ¤ komentoa \komento{ContinuedFloat}}
  \label{esim/continuedfloat}
\end{esimerkki*}

Joskus halutaan, ettÃ¤ useampi taulukko, kuva tai muu leijuva osa
muodostaa kokonaisuuden, jolla on sama numero, esimerkiksi
''\tablename~3''. Ajatuksena on, ettÃ¤ sama sisÃ¤ltÃ¶ on jakautunut
useampaan osaan. Se onnistuu sijoittamalla \paketti{caption}\-/ paketin
komento \komento{ContinuedFloat} ensimmÃ¤isen jÃ¤lkeisiin leijuviin
ympÃ¤ristÃ¶ihin. Komento pitÃ¤isi sijoittaa heti ympÃ¤ristÃ¶n alkuun.
Esimerkki \ref{esim/continuedfloat} havainnollistaa sen kÃ¤yttÃ¶Ã¤.

KuvatekstissÃ¤ oleva leijuvan osan numero tulee laskurista, ja
erityyppisellÃ¤ osilla on oma laskurinsa. Laskurin nimi on sama kuin
vastaavan leijuvan ympÃ¤ristÃ¶n nimi, eli esimerkiksi \ymparisto{table}\-/
ympÃ¤ristÃ¶t numeroidaan laskurin \laskuri{table} avulla.

KÃ¤ytÃ¤nnÃ¶ssÃ¤ laskurien arvo ladotaan \komentox{the}\-/ alkuisella
komennolla, jonka perÃ¤ssÃ¤ on laskurin nimi, esimerkiksi
\komento{thetable}. Oletuksena nÃ¤mÃ¤ komennot latovat laskurin
arabialaisilla numeroilla. Jos laskuri on riippuvainen teoksen
pÃ¤Ã¤luvuista (\komento{chapter}), ladotaan ensin pÃ¤Ã¤luvun numero,
erotinpiste ja leijuvan osan numero: 2.1, 2.2 jne.

Kirjoittaja voi mÃ¤Ã¤ritellÃ¤ laskurien latomiskomennon haluamallaan
tavalla. Seuraavassa esimerkissÃ¤ leijuville kuville (\ymparisto{figure})
mÃ¤Ã¤ritellÃ¤Ã¤n numerointitapa, jossa on pÃ¤Ã¤luvun numero, ajatusviiva (\==)
ja leijuvan kuvan numero:

\komentoi{arabic}
\komentoi{renewcommand}
\komentoi{thechapter}
\komentoi{thefigure}
\laskurii{figure}
\begin{koodilohkosis}
\renewcommand{\thefigure}{\thechapter--\arabic{figure}}
\end{koodilohkosis}

\subsection{Upottaminen tekstipalstaan}

Pienikokoisia leijuvia osia on jotenkuten mahdollista upottaa
tekstipalstan vasempaan tai oikeaan reunaan siten, ettÃ¤ teksti kiertÃ¤Ã¤
kyseisen kuvan tai taulukon (kuva \ref{kuva/wrapfig-esimerkki}). TÃ¤hÃ¤n
tarvitaan \pakettictan{wrapfig}\-/ pakettia ja sen ympÃ¤ristÃ¶jÃ¤
\ymparisto{wrapfigure} (kuvat) tai \ymparisto{wraptable} (taulukot).
NiitÃ¤ kÃ¤ytetÃ¤Ã¤n seuraavalla tavalla:

\ymparistoi{wrapfigure}
\komentoi{caption}
\begin{koodilohkosis}
\begin{wrapfigure}{sijainti}{leveys}
  % kuvan sisÃ¤ltÃ¶koodi
  \caption{Kuvateksti.}
\end{wrapfigure}
\end{koodilohkosis}

\begin{wrapfigure}{R}{5em}
  \begin{tikzpicture}[x=.5em, y=.5em,
    tyyli/.style={draw=black, fill=yellow, line width=.6bp}]
    \draw [tyyli] (0,0) ellipse [x radius=4, y radius=1.5, rotate=45];
    \draw [tyyli] (-2,2) circle [radius=1];
    \draw [tyyli] (2,-2) circle [radius=1];
  \end{tikzpicture}
  \caption{Tekstipalstaan upotettu kuva}
  \label{kuva/wrapfig-esimerkki}
\end{wrapfigure}

\noindent
YmpÃ¤ristÃ¶n pakollinen argumentti \koodi{sijainti} mÃ¤Ã¤rittÃ¤Ã¤ kuvan
sijoittelun, ja se on yhden kirjaimen koodi: \koodi{L} (\englanti{left},
vasen), \koodi{R} (\englanti{right}, oikea), \koodi{I}
(\englanti{inside}, sisÃ¤reuna) tai \koodi{O} (\englanti{outside},
ulkoreuna). Jos kuvaa ei halua leijuvaksi eli Latexin sijoittamaksi vaan
se halutaan sijoittaa tÃ¤smÃ¤lleen ympÃ¤ristÃ¶n kohdalle, kÃ¤ytetÃ¤Ã¤n
vastaavia kirjainkoodeja mutta pieniÃ¤ kirjaimia: \koodi{lrio}.

Toinen pakollinen ympÃ¤ristÃ¶lle annettava argumentti \koodi{leveys}
mÃ¤Ã¤rittÃ¤Ã¤ upotetun osan leveyden. Se on mitta, jonka levyinen tila
palstasta varataan ympÃ¤ristÃ¶n sisÃ¤llÃ¶lle ja mahdolliselle kuvatekstille.
YmpÃ¤ristÃ¶lle voi antaa myÃ¶s valinnaisia argumentteja, jolloin
argumenttien rakenne on seuraavanlainen:

\ymparistoi{wrapfigure}
\begin{koodilohkosis}
\begin{wrapfigure}[rivit]{sijainti}[siirto]{leveys}
  ...
\end{wrapfigure}
\end{koodilohkosis}

\noindent
EnsimmÃ¤inen valinnainen argumentti \koodi{rivit} on rivimÃ¤Ã¤rÃ¤: nÃ¤in
monen tekstirivin korkuinen tila varataan upotettavalle kuvalle. Latex
laskee tÃ¤mÃ¤n automaattisesti, joten argumenttia ei peruskÃ¤ytÃ¶ssÃ¤
tarvita. Toinen valinnainen argumentti \koodi{siirto} on mitta, jolla
ilmaistaan, kuinka paljon kuvaa siirretÃ¤Ã¤n sivun marginaalin suuntaan.
TÃ¤ssÃ¤ argumentissa voi kÃ¤yttÃ¤Ã¤ apuna mittaa \mitta{width}, joka on
upotettavan kuvan leveys. Esimerkiksi \koodi{siirto}\-/ argumenttiin
voisi kirjoittaa \koodi{0.5\keno width}, jolloin kuva siirtyy puoliksi
marginaalin puolelle.

Tekstipalstaan upotetun kuvan ylÃ¤- ja alapuolelle jÃ¤tetÃ¤Ã¤n mitan
\mitta{intextsep} suuruinen vÃ¤li. Vasemmalle tai oikealle puolelle
jÃ¤tetÃ¤Ã¤n mitan \mitta{columnsep} suuruinen vÃ¤li. Samaa mittaa kÃ¤ytetÃ¤Ã¤n
palstojen vÃ¤lissÃ¤ (luku \ref{luku/palstat}).

Valitettavasti Latexin tekniikka ei sovellu kovin hyvin tekstipalstaan
upotettavien elementtien kÃ¤sittelyyn, ja siksi \paketti{wrapfig}\-/
paketinkaan avulla ei saa toteutettua mitÃ¤ tahansa upotuksia.
Esimerkiksi luetelmien (luku \ref{luku/luetelmat}) tai muiden
erikoisempien ympÃ¤ristÃ¶jen rinnalle ei voi upottaa kuvaa. LÃ¤hinnÃ¤ vain
tavallinen teksti toimii upotuksen rinnalla. Paketin ohjekirjassa
kerrotaan rajoituksista tarkemmin.

\section{Ristiviittaukset}
\label{luku/ristiviitteet}

Ristiviittaukset tarkoittavat dokumentin sisÃ¤isiÃ¤ viittauksia eli
viittauksia toisiin kohtiin samassa dokumentissa. Lukijalle ne ilmenevÃ¤t
ilmauksina kuten ''luvussa 4.2'' tai ''kuvassa~5''. Kirjoittajan ei
kuitenkaan kannata naputella luvun numeroa (esim. 4.2) kÃ¤sin
lÃ¤hdedokumenttiin, koska lukujen jÃ¤rjestys ja numerointi voi muuttua
kirjoittamisen edetessÃ¤. Joutuisi korjaamaan muuttuneet numerot
mahdollisesti useitakin kertoja ennen kuin tyÃ¶ on valmis.

Latex numeroi dokumentin otsikot (luvut) ja leijuvat osat
automaattisesti, eli se tietÃ¤Ã¤, minkÃ¤ numeron mikÃ¤kin dokumentin osa
saa. NiinpÃ¤ Latex osaa myÃ¶s -- kirjoittajan pienellÃ¤ avustuksella --
yllÃ¤pitÃ¤Ã¤ ajantasaisia ristiviittauksia dokumentin eri osiin. Teknisesti
tÃ¤mÃ¤ toteutetaan siten, ettÃ¤ otsikoille ja leijuville osille annetaan
yksilÃ¶llinen tunniste ja viittaamisessa kÃ¤ytetÃ¤Ã¤n samoja tunnisteita.
Tunnisteet annetaan \komento{label}\-/ komennolla, joka sijoitetaan heti
otsikkokomennon (\komento{section}, \komento{subsection} ym.) tai
leijuvan osan kuvatekstikomennon (\komento{caption}) jÃ¤lkeen:

\komentoi{section}
\komentoi{label}
\begin{koodilohkosis}
\section{Jokin otsikko}
\label{tunniste}
\end{koodilohkosis}

\noindent
\komento{label}\-/ komennon argumentti \koodi{tunniste} voi olla
suunnilleen mitÃ¤ tahansa tekstiÃ¤. Sen tÃ¤ytyy olla yksilÃ¶llinen, eli sama
tunniste ei saa olla kÃ¤ytÃ¶ssÃ¤ missÃ¤Ã¤n toisessa \komento{label}\-/
komennossa. Jos sama tunniste sattuu olemaan useassa paikassa, vain
viimeinen jÃ¤Ã¤ kÃ¤ytÃ¤nnÃ¶ssÃ¤ voimaan.

JÃ¤rkevÃ¤Ã¤ on kirjoittaa tunnisteeseen sana tai sanoja, jotka kertovat
jotakin kyseisen osan sisÃ¤llÃ¶stÃ¤. HyÃ¶dyllistÃ¤ voi olla myÃ¶s liittÃ¤Ã¤
mukaan tieto, onko kyse luvusta, taulukosta, kuvasta vai muusta
leijuvasta osasta, koska erityyppiset osat voivat kÃ¤sitellÃ¤ samaa
aihetta. Seuraavassa on esimerkkejÃ¤ \komento{label}\-/ komennoista:

\komentoi{label}
\begin{koodilohkosis}
\label{luku/fonttien-valinta}    % otsikkokomennon jÃ¤lkeen
\label{tlk/fonttikomentoja}      % taulukon \caption-komennon jÃ¤lkeen
\label{kuva/kirjainleikkauksia}  % kuvan \caption-komennon jÃ¤lkeen
\end{koodilohkosis}

\noindent
Ristiviittauksissa vÃ¤himmÃ¤llÃ¤ vaivalla selviÃ¤Ã¤, kun huomioi kaksi asiaa:
1)~kirjoittaa \komento{label}\-/ komentoja vain niihin kohtiin, joihin
tÃ¤ytyy viitata muualta, 2)~yrittÃ¤Ã¤ valita tunnisteet siten, ettei niitÃ¤
tarvitse muuttaa enÃ¤Ã¤ sen jÃ¤lkeen, kun ne on kerran valinnut.

Tavallisimmat ristiviittaukset tehdÃ¤Ã¤n \komento{ref}\-/ komennolla,
jonka argumentiksi annetaan sama tunniste kuin jossakin dokumentin
\komento{label}\-/ komennossa. Latex latoo \komento{ref}\-/ komentojen
kohdalle kyseisen luvun tai leijuvan osan numeron. Toinen tarpeellinen
ristiviittauskomento on \komento{pageref}, joka kÃ¤Ã¤ntÃ¤misvaiheessa
korvautuu kyseisen kohteen sivunumerolla. NÃ¤itÃ¤ voi hyÃ¶dyntÃ¤Ã¤
lÃ¤hdedokumentissa esimerkiksi seuraavasti:

\komentoi{ref}
\komentoi{pageref}
\begin{koodilohkosis}
Katso taulukko \ref{tlk/komennot-kirjainperhe} sivulla
\pageref{tlk/komennot-kirjainperhe}.
\end{koodilohkosis}

\begin{tulossis}
  Katso taulukko \ref{tlk/komennot-kirjainperhe} sivulla
  \pageref{tlk/komennot-kirjainperhe}.
\end{tulossis}

\noindent
Jos ladattuna on paketti \paketti{hyperref} (luku
\ref{luku/pdf-asetukset}), on ristiviittauksiin kÃ¤ytettÃ¤vissÃ¤ myÃ¶s
komento \komento{nameref}. Sillekin annetaan argumentiksi jokin
\komento{label}\-/ komennolla mÃ¤Ã¤ritetty tunniste, ja kÃ¤Ã¤ntÃ¤misvaiheessa
komennon tilalle ladotaan kyseisen kohteen teksti eli otsikko tai
kuvateksti. Ristiviittauksissa ladotaan otsikon tai kuvatekstin lyhempi
versio, jos sellainen on annettu. Otsikkokomentojen ja
kuvatekstikomennon argumentteja kÃ¤sitellÃ¤Ã¤n luvuissa \ref{luku/otsikot}
(\nameref{luku/otsikot}) ja \ref{luku/leijuosat-latex}
(\nameref{luku/leijuosat-latex}).

Ristiviittaukset vaativat, ettÃ¤ Latex\-/ lÃ¤hdedokumentti kÃ¤Ã¤nnetÃ¤Ã¤n
kahdesti. EnsimmÃ¤isellÃ¤ kÃ¤Ã¤ntÃ¤miskerralla \komento{label}\-/ komennolla
mainittujen kohteiden tiedot kirjoitetaan muistiin vÃ¤liaikaistiedostoon.
Toisella kÃ¤Ã¤ntÃ¤miskerralla hyÃ¶dynnetÃ¤Ã¤n vÃ¤liaikaistiedostoa ja
komentojen \komento{ref}, \komento{pageref} ja \komento{nameref} tilalle
ladotaan viittauskohteen oikeat tiedot.

\section{Alaviitteet}
\label{luku/alaviitteet}

Alaviitteet ovat sivun alareunassa olevia numeroituja tai muulla tavalla
merkittyjÃ¤ huomautuksia. Niihin viitataan sanojen tai virkkeiden perÃ¤ssÃ¤
olevalla ylÃ¤indeksinumerolla, \=/kirjaimella tai
\=/symbolilla.\footnote{Katso myÃ¶s ylÃ¤- ja alaindeksejÃ¤ kÃ¤sittelevÃ¤ luku
  \ref{luku/ylÃ¤-alaindeksit}. SiellÃ¤ mainitun \paketti{realscripts}\-/
  paketin lataaminen on suositeltavaa, kun kÃ¤yttÃ¤Ã¤ alaviitteitÃ¤.}
Alaviitteiden tarkoituksena on lisÃ¤tÃ¤ tekstiin lÃ¤hes huomaamaton
lisÃ¤tieto, joka ei hÃ¤iritse lukemista. Se sopii asioille, joilla ei ole
suurta merkitystÃ¤ useimmille lukijoille tai jotka muuten sopivat
huonosti leipÃ¤tekstiin. Varsin usein myÃ¶s tiedonlÃ¤hteet ilmaistaan
alaviitteiden avulla.\footcites[162]{kt_oik}[127--128]{typokk}

Alaviite tehdÃ¤Ã¤n komennolla \komento{footnote}, jonka argumentiksi
kirjoitetaan alaviitteeseen tuleva teksti. Oletuksena Latex latoo
komennon paikalle ylÃ¤indeksinumeron, joka tulee automaattisesti
laskurista \laskuri{footnote}. Komennolle voi antaa myÃ¶s valinnaisen
argumentin, joka on kyseisen alaviitteen numero. TÃ¤ssÃ¤ tapauksessa
komento ei kasvata \laskuri{footnote}\-/ laskuria.

\komentoi{footnote}
\begin{koodilohkosis}
\footnote{Alaviitteen teksti.}
\footnote[numero]{Alaviitteen teksti.}
\end{koodilohkosis}

\noindent
Itse alaviite ladotaan samalla kirjaintyypillÃ¤ kuin leipÃ¤tekstikin mutta
selvÃ¤sti pienempÃ¤nÃ¤: sen koko tulee komennosta \komento{footnotesize}
(luku \ref{luku/fontit-korkea}). Alaviitteet erotetaan leipÃ¤tekstistÃ¤
pienellÃ¤ pystysuuntaisella vÃ¤lillÃ¤ sekÃ¤ oletuksena myÃ¶s lyhyellÃ¤
vaakaviivalla. Samalle sivulle voi sattua useampikin alaviite. Jos
alaviitteen tekee leijuvaan osaan (luku \ref{luku/leijuosat}) tai
\ymparisto{minipage}\-/ ympÃ¤ristÃ¶Ã¶n (luku \ref{luku/laatikot-isot}), se
merkitÃ¤Ã¤n oletuksena kirjaimen avulla, ja alaviitteen teksti ladotaan
kyseisen osan alapuolelle.

\komento{footnote}\-/ komennon toiminnan voi jakaa kahteen erilliseen
osaan komentojen \komento{footnotemark} ja \komento{footnotetext}
avulla. Ensin mainittu komento latoo pelkÃ¤n ylÃ¤indeksinumeron, joka
tulee alaviitelaskurista. Komento ei lado varsinaista alaviitettÃ¤.
JÃ¤lkimmÃ¤inen komento puolestaan latoo pelkÃ¤n alaviitteen. Kummallekin
komennolle voi antaa valinnaisen argumentin, jolla ilmaistaan kyseisen
alaviitteen numero.

\komentoi{footnotemark}
\komentoi{footnotetext}
\begin{koodilohkosis}
\footnotemark[numero]                      % ylÃ¤indeksinumero
\footnotetext[numero]{Alaviitteen teksti.} % alaviite
\end{koodilohkosis}

\noindent
Alaviitteiden numerointi on laskurissa \laskuri{footnote}, mutta sen
arvo ladotaan komennon \komento{thefootnote} avulla. TÃ¤mÃ¤n komennon
mÃ¤Ã¤ritelmÃ¤ssÃ¤ on oletuksena komento
\komento{arabic}\komentoarg{footnote}, eli laskuri ladotaan
arabialaisilla numeroilla. Kirjoittaja voi kuitenkin mÃ¤Ã¤ritellÃ¤ komennon
uudestaan. Seuraavassa esimerkissÃ¤ mÃ¤Ã¤ritellÃ¤Ã¤n komento siten, ettÃ¤
alaviitteet ilmaistaan symbolien avulla:

\komentoi{renewcommand}
\komentoi{thefootnote}
\komentoi{fnsymbol}
\laskurii{footnote}
\begin{koodilohkosis}
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\end{koodilohkosis}

\noindent
Laskurien symboliesitys toimii vain lukualueella 1\==9, joten samaan
dokumenttiin ei mahdu kovin monta alaviitettÃ¤, ellei laskuria nollaa
vÃ¤lillÃ¤. Laskurin voi mÃ¤Ã¤ritellÃ¤ riippuvaiseksi toisesta laskurista,
jolloin se nollautuu itsestÃ¤Ã¤n, kun toisen laskurin arvo kasvaa.
Esimerkiksi dokumenttiluokassa \luokka{book} alaviitteiden laskuri
nollautuu oletuksena aina pÃ¤Ã¤lukujen (\komento{chapter}) vaihtuessa.

Joskus voi olla tarpeen tehdÃ¤ alaviitteiden laskuri sivukohtaiseksi eli
riippuvaiseksi \laskuri{page}\-/ laskurista. Sen voi toteuttaa
esimerkiksi paketin \paketti{footmisc} ja valitsimen \koodi{perpage}
avulla. NÃ¤itÃ¤ kÃ¤sitellÃ¤Ã¤n myÃ¶hemmin tÃ¤ssÃ¤ luvussa. Toinen vaihtoehto
sivukohtaiseen alaviitenumerointiin on \paketti{chngcntr}\-/ paketin
komento \komento{counterwithin*} (luku
\ref{luku/hierarkkiset-laskurit}). Seuraavassa on siitÃ¤ esimerkki:

\komentoi{counterwithin*}
\laskurii{footnote}
\laskurii{page}
\begin{koodilohkosis}
\counterwithin*{footnote}{page}
\end{koodilohkosis}

\noindent
EdellisissÃ¤ esimerkeissÃ¤ on kÃ¤sitelty koko dokumentin alaviitelaskuria
\laskuri{footnote}, mutta leijuvissa osissa ja \ymparisto{minipage}\-/
ympÃ¤ristÃ¶issÃ¤ (luku \ref{luku/laatikot-isot}) alaviitteet numeroidaan
laskurin \laskuri{mpfootnote} avulla. TÃ¤mÃ¤n laskurin arvo ladotaan
kÃ¤ytÃ¤nnÃ¶ssÃ¤ komennolla \komento{thempfootnote}, jonka kirjoittaja voi
mÃ¤Ã¤ritellÃ¤ uudelleen tarpeen mukaan.

LeipÃ¤teksti ja alaviitteet erotetaan pystysuuntaisella vÃ¤lillÃ¤, jonka
voi asettaa sivun asetusten yhteydessÃ¤ (luku \ref{luku/sivuasetukset}).
Asetus on \paketti{geometry}\-/ paketin valitsin \koodi{footnotesep},
jota kÃ¤ytetÃ¤Ã¤n esimerkiksi \komento{geometry}\-/ komennon kanssa:

\komentoi{geometry}
\begin{koodilohkosis}
\geometry{footnotesep=14bp}
\end{koodilohkosis}

\noindent
VÃ¤lin tÃ¤ytyy olla ainakin niin suuri, ettei lukija sekoita alaviitteitÃ¤
leipÃ¤tekstin kappaleeseen. RiittÃ¤vÃ¤ vÃ¤li on noin yhden rivikorkeuden
verran tai vÃ¤hÃ¤n enemmÃ¤n. Sopivan vÃ¤lin suuruus voi riippua siitÃ¤kin,
erotetaanko leipÃ¤teksti ja alaviitteet toisistaan myÃ¶s vaakaviivalla.

Muunlaiset alaviitteisiin vaikuttavat asetukset tÃ¤ytyy tehdÃ¤ paketin
\pakettictan{footmisc} avustuksella. Sen avulla voi esimerkiksi poistaa
alaviitteiden erotinviivan ja muotoilla alaviitekappaleita. Paketin
lataamisen yhteydessÃ¤ voi antaa useita pilkulla erotettuja valitsimia,
joita on koottu taulukkoon \ref{tlk/footmisc-valitsimet}. Erotinviiva
poistetaan paketin valitsimella \koodi{norule}. Samalla pystysuuntainen
vÃ¤li hieman kasvaa.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\koodi{#1} &amp; #2 \\}
  \begin{tabular}{ll}
    \toprule
    \ots{Valitsin} &amp; \ots{Merkitys} \\
    \midrule
    \rivi{norule}{vaakasuuntainen erotinviiva pois}
    \rivi{perpage}{numerointi sivukohtaiseksi}
    \rivi{bottom}{alaviite aina sivun alareunaan}
    \rivi{ragged}{alaviitteeseen automaattinen \komento{raggedright} tai
    \komento{RaggedRight}}
    \rivi{hang}{luetelmatyyppiset alaviitteet, riippuva sisennys}
    \rivi{multiple}{useat perÃ¤kkÃ¤iset ylÃ¤indeksinumerot}
    \bottomrule
  \end{tabular}
}{
  \caption{\paketti{footmisc}\-/ paketin asetusten avulla muotoillaan
    alaviitteitÃ¤}
  \label{tlk/footmisc-valitsimet}
}

\pakettii{footmisc}
\komentoi{usepackage}
\begin{koodilohkosis}
\usepackage[norule]{footmisc}
\end{koodilohkosis}

\noindent
Valitsin \koodi{perpage} numeroi alaviitteet sivukohtaisesti, eli niiden
laskuri nollautuu aina sivun vaihtuessa. Valitsin \koodi{bottom}
pakottaa alaviitteen aina sivun alareunaan. Oletusasetuksilla alaviite
voi sijoittua joskus ylemmÃ¤ksi, jos sivun alaosaan ladotaan leijuva osa
tai jos sivun alareunan tasaaminen on pois pÃ¤Ã¤ltÃ¤
(\komento{raggedbottom}, luku \ref{luku/sivunvaihdot}).

Valitsin \koodi{ragged} latoo alaviitteen tekstikappaleet
liehureunaisena eli suorittaa automaattisesti komennon
\komento{raggedright} tai \komento{RaggedRight} (luku
\ref{luku/kappaleen-tasaus}). Monipuolisempi keino alaviitteen tyylin
muokkaamiseen on komento \komento{footnotelayout}. Komennon voi
mÃ¤Ã¤ritellÃ¤ itse haluamakseen, ja komennon mÃ¤Ã¤ritelmÃ¤Ã¤n kirjoitetaan mitÃ¤
hyvÃ¤nsÃ¤ komentoja, jotka halutaan suorittaa automaattisesti jokaisen
alaviitetekstin alussa.

\komentoi{footnotelayout}
\komentoi{raggedright}
\begin{koodilohkosis}
\renewcommand{\footnotelayout}{\raggedright}
\end{koodilohkosis}

\noindent
Oletuksena alaviitekappaleet ladotaan samalla tavalla kuin
tekstikappaleet oletuksena muutenkin, eli alaviitteen ensimmÃ¤inen rivi
on sisennetty, ja sen alussa on alaviitteen numero. Seuraavia rivejÃ¤ ei
sisennetÃ¤. TÃ¤llainen asetus sopii pitkien alaviitetekstien latomiseen.
Usein viitteet ovat kuitenkin lyhyitÃ¤, ja silloin voi sopia paremmin
luetelmatyyppiset alaviitekappaleet (riippuva sisennys), joissa
alaviitteen numero on omalla alueellaan ja varsinainen alaviiteteksti on
sisennetty. TÃ¤llainen asetus tehdÃ¤Ã¤n \paketti{footmisc}\-/ paketin
valitsimella \koodi{hang}. Sisennyksen suuruuteen voi vaikuttaa mitan
\mitta{footnotemargin} avulla:

\komentoi{setlength}
\komentoi{usepackage}
\mittai{footnotemargin}
\pakettii{footmisc}
\begin{koodilohkosis}
\usepackage[hang]{footmisc}
\setlength{\footnotemargin}{.8em}
\end{koodilohkosis}

\noindent
Valitsin \koodi{multiple} mahdollistaa perÃ¤kkÃ¤isten
\komento{footnote}\-/ komentojen kirjoittamisen helposti. PerÃ¤kkÃ¤in
olevien ylÃ¤indeksinumeroiden vÃ¤liin ladotaan automaattisesti pilkku,
kuten seuraava esimerkki osoittaa:

\komentoi{footnote}
\begin{koodilohkosis}
sana\footnote{â€¦}\footnote{â€¦}
\end{koodilohkosis}

\begin{tulossis}
  sana\textsuperscript{7}%
  \yipilkku%
  \textsuperscript{8}
\end{tulossis}

\noindent
Toisaalta ylÃ¤indeksiin voi sijoittaa pilkun tai muuta tekstiÃ¤ kÃ¤sinkin
komennolla \komento{textsuperscript} (luku \ref{luku/ylÃ¤-alaindeksit}).
\koodi{multiple}\-/ valitsin vaatii toimiakseen tietyn
\paketti{hyperref}\-/ paketin valitsimen, joka kÃ¤sitellÃ¤Ã¤n seuraavaksi.

Jos ladattuna on \paketti{hyperref}\-/ paketti (luku
\ref{luku/pdf-asetukset}), alaviitteisiin liittyvistÃ¤
ylÃ¤indeksinumeroista tulee myÃ¶s hiirellÃ¤ napsautettavia linkkejÃ¤. TÃ¤stÃ¤
ominaisuudesta on harvoin mitÃ¤Ã¤n hyÃ¶tyÃ¤, koska alaviite on melkein aina
samalla sivulla. Linkkitoiminto myÃ¶s hÃ¤iritsee \paketti{footmisc}\-/
paketin \koodi{multiple}\-/ valitsimen toimintaa. Alaviitteiden linkit
voi kytkeÃ¤ pois \paketti{hyperref}\-/ paketin lataamisen yhteydessÃ¤
seuraavalla asetuksella:

\komentoi{usepackage}
\pakettii{hyperref}
\begin{koodilohkosis}
\usepackage[hyperfootnotes=false]{hyperref}
\end{koodilohkosis}

\noindent
\paketti{footmisc}\-/ paketti sisÃ¤ltÃ¤Ã¤ muitakin toimintoja alaviitteiden
ulkoasun sÃ¤Ã¤tÃ¤miseen. LisÃ¤tietoa saa paketin ohjekirjasta.

\section{Palstat}
\label{luku/palstat}

Latex pystyy usean palstan kÃ¤sittelyn perusasioihin, mutta mihinkÃ¤Ã¤n
sanoma\-/\ tai aikakauslehden kaltaiseen monipuoliseen tekstin, kuvien
ja muiden osien sommitteluun se ei kykene. Verrattain yksinkertaiset
monipalstaiset tekstit kuitenkin onnistuvat Latexissakin varsin
mukavasti.

Perus Latexissa on kaksi palstoihin liittyvÃ¤Ã¤ tilaa: normaali eli yhden
palstan tila sekÃ¤ kahden palstan tila, joka tÃ¤ytyy erikseen kytkeÃ¤
pÃ¤Ã¤lle. TÃ¤tÃ¤ tilaa kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/kahden-palstan-tila}.
Toinen palstojen toteuttamisen vaihtoehto on paketti
\paketti{multicol}. Sen kanssa kÃ¤ytetÃ¤Ã¤n Latexin yhden palstan tilaa ja
erityistÃ¤ palstaympÃ¤ristÃ¶Ã¤ \ymparisto{multicols}. YmpÃ¤ristÃ¶n sisÃ¤llÃ¤
teksti rivitetÃ¤Ã¤n kahdelle tai useammalle palstalle. TÃ¤tÃ¤ vaihtoehtoa
kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/multicol}.

\subsection{Kahden palstan tila}
\label{luku/kahden-palstan-tila}

Perus Latexin yhden tai kahden palstan tilan voi valita jo
dokumenttiluokan (luku \ref{luku/perusdokumenttiluokat-asetukset})
lataamisen yhteydessÃ¤ tai sivun asetuksissa (luku
\ref{luku/sivuasetukset}) kÃ¤yttÃ¤mÃ¤llÃ¤ valitsinta \koodi{onecolumn}
(oletus) tai \koodi{twocolumn}. Dokumentin keskellÃ¤ tilaa voi vaihtaa
komennoilla \komento{onecolumn} ja \komento{twocolumn}. Kumpikin komento
aloittaa uuden sivun, josta alkaen valittu tila on voimassa. Komennolle
\komento{twocolumn} voi antaa hakasulkeissa valinnaisen argumentin,
jolla ilmaistaan sivun alkuun ladottava koko sivun levyinen sisÃ¤ltÃ¶:

\komentoi{twocolumn}
\begin{koodilohkosis}
\twocolumn[yksipalstaista sisÃ¤ltÃ¶Ã¤]
\end{koodilohkosis}

\noindent
\komento{twocolumn}\-/ komennon valinnainen argumentti mahdollistaa sen,
ettÃ¤ sivun alkuun voi sijoittaa esimerkiksi koko sivun levyisen otsikon,
kuvan tai muun osan. Sen jÃ¤lkeen lÃ¤hes kaikki sisÃ¤ltÃ¶ on ladotaan
kahdelle palstalle, eli teksti tÃ¤yttÃ¤Ã¤ ensin vasemmanpuoleisen palstan
ja sen jÃ¤lkeen oikeanpuoleisen.

Leijuvat osat (luku \ref{luku/leijuosat}) ja ympÃ¤ristÃ¶t kuten
\ymparisto{table} ja \ymparisto{figure} sijoitetaan palstan sisÃ¤Ã¤n, eli
niiden sisÃ¤ltÃ¶ tÃ¤ytyy suunnitella yhden palstan levyiseksi. YmpÃ¤ristÃ¶jen
tÃ¤hdelliset versiot kuten \ymparisto{table*} ja \ymparisto{figure*}
ladotaan koko sivun levyisenÃ¤ sivun ylÃ¤osaan tai kokonaan omalle
sivulleen, jossa on vain leijuvia osia. Leijuvien osien sijoitteluun
kahden palstan tilassa voi vaikuttaa tiettyjen laskurien, mittojen ja
komentojen avulla. NiitÃ¤ kÃ¤sitellÃ¤Ã¤n luvussa
\ref{luku/leijuosat-sijoittelu}.

Palstojen vÃ¤lissÃ¤ olevan tyhjÃ¤n tilan leveys on mitassa
\mitta{columnsep}, ja sen voi asettaa haluamakseen
\komento{setlength}\-/ komennolla tai \paketti{geometry}\-/ paketin
asetuksista (luku \ref{luku/sivun-mitat}). Oletusasetus on 35\,pt.
Palstojen vÃ¤liin saa myÃ¶s pystyviivan, jonka leveys on mitassa
\mitta{columnseprule}. Sen oletusarvo on nolla, eli pystyviivaa ei
ladota.

\komentoi{setlength}
\mittai{columnsep}
\mittai{columnseprule}
\begin{koodilohkosis}
\setlength{\columnsep}{6mm}       % palstojen vÃ¤li
\setlength{\columnseprule}{.2mm}  % pystyviivan leveys
\end{koodilohkosis}

\noindent
Latex laskee automaattisesti palstan leveyden ja asettaa sen mittaan
\mitta{columnwidth}. TÃ¤tÃ¤ mittaa ei siis tarvitse eikÃ¤ pidÃ¤ itse
asettaa, mutta sitÃ¤ voi hyÃ¶dyntÃ¤Ã¤ esimerkiksi taulukoiden tai kuvien
sovittamisessa koko palstan levyiseksi. KÃ¤ytÃ¤nnÃ¶ssÃ¤ kahden palstan
tilassa palstan leveys on mittojen \mitta{textwidth} ja
\mitta{columnsep} erotus jaettuna kahdella. Tilannekohtainen rivin
pituus on mitassa \mitta{linewidth}.

\subsection{PalstaympÃ¤ristÃ¶}
\label{luku/multicol}

Perus Latex osaa vain yhden ja kahden palstan tilan, ja ne ovat voimassa
koko sivulla. Paketti \pakettictan{multicol} tuo kÃ¤yttÃ¶Ã¶n myÃ¶s
ympÃ¤ristÃ¶n \ymparisto{multicols}, jonka sisÃ¤llÃ¤ tietty palstamÃ¤Ã¤rÃ¤ on
voimassa. Samallakin sivulla voi olla eri tavoin palstoitettua sisÃ¤ltÃ¶Ã¤.
Esimerkki \ref{esim/multicols} havainnollistaa ympÃ¤ristÃ¶n kÃ¤yttÃ¶Ã¤ ja
ladottua lopputulosta. Oleelliset tiedot ovat seuraavat:

\ymparistoi{multicols}
\begin{koodilohkosis}
\begin{multicols}{palstamÃ¤Ã¤rÃ¤}
  ...
\end{multicols}
\end{koodilohkosis}

\noindent
Argumentti \koodi{palstamÃ¤Ã¤rÃ¤} on kokonaisluku, joka ilmaisee, kuinka
monelle palstalle ympÃ¤ristÃ¶n sisÃ¤ltÃ¶ ladotaan. Palstojen korkeus
pyritÃ¤Ã¤n tasaamaan automaattisesti, niin ettÃ¤ kaikki palstat ovat yhtÃ¤
korkeita. KÃ¤ytÃ¤nnÃ¶ssÃ¤ palstaympÃ¤ristÃ¶n viimeisen sivun viimeinen palsta
jÃ¤Ã¤ hieman vajaaksi. Jos kÃ¤yttÃ¤Ã¤ ympÃ¤ristÃ¶n tÃ¤htiversiota
\ymparisto{multicols*}, ei viimeisen sivun palstojen korkeuksia tasata,
vaan ensin tÃ¤ytetÃ¤Ã¤n vasemmanpuoleinen palsta kokonaan, sitten seuraava
jne.

\begin{esimerkki*}
  \ymparistoi{multicols}
  \komentoi{noindent}

\begin{koodilohko}
\begin{multicols}{3}  % kolme palstaa
  \noindent Jukolan talo, etelÃ¤isessÃ¤ HÃ¤meessÃ¤, seisoo erÃ¤Ã¤n mÃ¤en
  pohjoisella rinteellÃ¤, liki Toukolan kylÃ¤Ã¤. Sen lÃ¤heisin ympÃ¤ristÃ¶ on
  kivinen tanner, mutta alempana alkaa pellot, joissa, ennenkuin talo
  oli hÃ¤viÃ¶Ã¶n mennyt, aaltoili terÃ¤inen vilja. Peltojen alla on niittu,
  apilaÃ¤yrÃ¤inen, halkileikkaama monipolvisen ojan; ja runsaasti antoi se
  heiniÃ¤, ennenkuin joutui laitumeksi kylÃ¤n karjalle. Muutoin on talolla
  avaria metsiÃ¤, soita ja erÃ¤maita, jotka, tÃ¤mÃ¤n tilustan ensimmÃ¤isen
  perustajan oivallisen toiminnan kautta, olivat langenneet sille osaksi
  jo ison jaon kÃ¤ydessÃ¤ entisinÃ¤ aikoina.
\end{multicols}
\end{koodilohko}
  \begin{tulos}
    \footnotesize
    \setlength{\columnsep}{1em}
    \setlength{\multicolsep}{0bp}
    \begin{multicols}{3}
      \noindent Jukolan talo, etelÃ¤isessÃ¤ HÃ¤meessÃ¤, seisoo erÃ¤Ã¤n mÃ¤en
      pohjoisella rinteellÃ¤, liki Toukolan kylÃ¤Ã¤. Sen lÃ¤heisin ympÃ¤ristÃ¶
      on kivinen tanner, mutta alempana alkaa pellot, joissa, ennenkuin
      talo oli hÃ¤viÃ¶Ã¶n mennyt, aaltoili terÃ¤inen vilja. Peltojen alla on
      niittu, api\-la\-Ã¤yrÃ¤i\-nen, halkileikkaama monipolvisen ojan; ja
      runsaasti antoi se heiniÃ¤, ennenkuin joutui laitumeksi kylÃ¤n
      karjalle. Muutoin on talolla avaria metsiÃ¤, soita ja erÃ¤maita,
      jotka, tÃ¤mÃ¤n tilustan ensimmÃ¤isen perustajan oivallisen toiminnan
      kautta, olivat langenneet sille osaksi jo ison jaon kÃ¤ydessÃ¤
      entisinÃ¤ aikoina.
    \end{multicols}
  \end{tulos}

  \caption{Palstojen toteutus \paketti{multicol}\-/ paketin
    \ymparisto{multicols}\-/ ympÃ¤ristÃ¶n avulla. Teksti on Aleksis Kiven
    \emph{SeitsemÃ¤n veljestÃ¤} \=/romaanin alusta}
  \label{esim/multicols}
\end{esimerkki*}

YmpÃ¤ristÃ¶lle voi antaa hakasulkeissa valinnaisen argumentin, joka voi
sisÃ¤ltÃ¤Ã¤ mitÃ¤ tahansa tekstiÃ¤ tai koodia. Se on tarkoitettu otsikolle
(\komento{section} ym.) tai muulle sisÃ¤llÃ¶lle, joka ladotaan ennen
palstoja ja jonka tÃ¤ytyy pÃ¤Ã¤tyÃ¤ samalle sivulle kuin palstasisÃ¤llÃ¶n
alku.

\ymparistoi{multicols}
\begin{koodilohkosis}
\begin{multicols}{palstamÃ¤Ã¤rÃ¤}
  [tekstiÃ¤ tai koodia ennen palstoja]
  ...
\end{multicols}
\end{koodilohkosis}

\noindent
Ennen palstaympÃ¤ristÃ¶Ã¤ ja sen jÃ¤lkeen ladotaan mitan \mitta{multicolsep}
suuruinen pystysuuntainen vÃ¤li. VÃ¤liÃ¤ ei kuitenkaan ladota, jos se
sattuu sivunvaihdon kohdalle. Palstojen vÃ¤lissÃ¤ oleva vaakasuuntainen
tyhjÃ¤ tila asetetaan mitan \mitta{columnsep} avulla, ja vÃ¤liin
mahdollisesti ladottavan pystyviivan leveys on mitassa
\mitta{columnseprule}. TÃ¤mÃ¤n mitan oletusarvo on nolla, eli pystyviivaa
ei ladota.

\komentoi{setlength}
\mittai{multicolsep}
\mittai{columnsep}
\mittai{columnseprule}
\begin{koodilohkosis}
\setlength{\multicolsep}{.5ex plus .2ex}  % vÃ¤li ennen ja jÃ¤lkeen
\setlength{\columnsep}{6mm}               % palstojen vÃ¤li
\setlength{\columnseprule}{.2mm}          % pystyviivan leveys
\end{koodilohkosis}

\noindent
Oletuksena palstojen alareuna pyritÃ¤Ã¤n joka sivulla pitÃ¤mÃ¤Ã¤n tarkasti
samalla tasolla. TÃ¤mÃ¤ toteutuu siten, ettÃ¤ palstoilla olevia
pystysuuntaisia vÃ¤lejÃ¤ voidaan venyttÃ¤Ã¤, jotta niiden viimeiset rivit
saataisiin samalle tasolle. TÃ¤mÃ¤ on yhdenmukainen sivujen
tasaamiskÃ¤ytÃ¤nnÃ¶n kanssa, jota kÃ¤sitellÃ¤Ã¤n luvussa
\ref{luku/sivunvaihdot}. Palstojen alareunan tasaamisen ja
pystysuuntaisten vÃ¤lien venyttÃ¤misen saa pois komennolla
\komento{raggedcolumns}. Oletustilaan palataan komennolla
\komento{flushcolumns}. Palstanvaihdon voi pakottaa tiettyyn kohtaan
komennolla \komento{columnbreak}. Jos komento sijaitsee tekstikappaleen
sisÃ¤llÃ¤, palsta vaihtuu nykyisen rivin lopussa.

Leijuvat osat (luku \ref{luku/leijuosat}) toimivat
\ymparisto{multicols}\-/ ympÃ¤ristÃ¶ssÃ¤ hieman toisin kuin muualla.
Leijuvien ympÃ¤ristÃ¶jen tÃ¤hdellisiÃ¤ versioita kuten \ymparisto{table*} ja
\ymparisto{figure*} ei koskaan ladota samalle sivulle kuin missÃ¤ ne
esiintyvÃ¤t. EnsimmÃ¤inen mahdollinen paikka on seuraavan sivun ylÃ¤osassa.

Leijuvien osien sijoitteluun vaikuttavat tavalliset yhden palstan tilan
asetukset kuten laskuri \laskuri{topnumber}, mitta \mitta{floatsep} ja
komento \komento{topfraction}. \ymparisto{multicols}\-/ ympÃ¤ristÃ¶ssÃ¤ ei
kÃ¤ytetÃ¤ \koodi{dbl}\-/ alkuisia kahden palstan tilan laskureita, mittoja
eikÃ¤ komentoja, kuten \laskuri{dbltopnumber}, \mitta{dblfloatsep} ja
\komento{dbltopfraction}. LisÃ¤tietoa leijuvien osien sijoittelusta on
luvussa \ref{luku/leijuosat-sijoittelu}.

\section{LÃ¤hdeluettelo ja lÃ¤hdeviitteet}
\label{luku/lÃ¤hteet}

LÃ¤hdeluettelossa mainittuihin teoksiin on tapana viitata muualta
tekstistÃ¤, ja Latex osaa auttaa viittausten hallinnassa. Ajatus on se,
ettÃ¤ lÃ¤hdeluettelo laaditaan tiettyjen komentojen avulla niin, ettÃ¤
jokainen lÃ¤hdeteos saa yksilÃ¶llisen tunnisteen. Muualta tekstistÃ¤
viitataan lÃ¤hdeteoksiin kÃ¤yttÃ¤mÃ¤llÃ¤ samoja tunnisteita, ja Latex osaa
automaattisesti poimia lÃ¤hdeluettelosta esimerkiksi teoksen tekijÃ¶iden
nimet ja vuosiluvun.

LÃ¤hdeviittauksiin ja lÃ¤hdemerkintÃ¶ihin on useita kÃ¤ytÃ¤ntÃ¶jÃ¤, jotka
vaihtelevat eri ammatti\-/\ ja tieteenaloilla, oppilaitoksilla tai
julkaisijoilla. TÃ¤ssÃ¤ yhteydessÃ¤ kÃ¤sitellÃ¤Ã¤n melko vakiintuneita
suomalaisia kÃ¤ytÃ¤ntÃ¶jÃ¤, jotka kuvataan \emph{Kielitoimiston
  oikeinkirjoitusoppaassa} \parencite{kt_oik}. Samalla kÃ¤sitellÃ¤Ã¤n
joitakin asetuksia, joilla kukin voi muokata viittausten ulkoasua omiin
tarpeisiin sopivaksi.

Latex sisÃ¤ltÃ¤Ã¤ lÃ¤hdeluetteloiden ja \=/viittausten perustoiminnot, mutta
niiden avulla ei saa yleisen suomalaisen kÃ¤ytÃ¤nnÃ¶n mukaisia
lÃ¤hdeviittauksia. Siksi usein tarvitaan avuksi paketti, jolla
viittausten ja lÃ¤hdeluettelon ulkoasuun voi vaikuttaa. Ensin kÃ¤siteltÃ¤vÃ¤
paketti \paketti{natbib} (luku \ref{luku/natbib}) soveltuu
perustarpeisiin ja lienee sopivin valinta useimmille kirjoittajille.
Laajoja tieteellisiÃ¤ teoksia kirjoittavan kannattanee opetella
kÃ¤yttÃ¤mÃ¤Ã¤n monipuolista \paketti{biblatex}\-/pakettia (luku
\ref{luku/biblatex}) ja yllÃ¤pitÃ¤Ã¤ yhteistÃ¤ lÃ¤hdeteosten tietokantaa,
josta tarvittavat teokset poimitaan kunkin dokumentin lÃ¤hdeluetteloon
automaattisesti.

\subsection{PeruskÃ¤yttÃ¶Ã¶n (natbib)}
\label{luku/natbib}

Paketti \pakettictan{natbib} laajentaa Latexin lÃ¤hdeviittausten
perustoimintoja sen verran, ettÃ¤ lÃ¤hteisiin voidaan viitata teoksen
tekijÃ¶iden nimen ja vuosiluvun avulla. Seuraava esimerkki
havainnollistaa paketin kÃ¤yttÃ¶Ã¶nottoa ja asetuksia.

\komentoi{usepackage}
\pakettii{natbib}
\komentoi{setcitestyle}
\begin{koodilohkosis}
\usepackage{natbib}
\setcitestyle{authoryear,aysep={},notesep={: }}
\end{koodilohkosis}

\noindent
EdellisessÃ¤ esimerkissÃ¤ viittaustyyli valitaan \komento{setcitestyle}\-/
komennon argumentissa valitsimella \koodi{author\-year}
(tekijÃ¤\--vuosi). Valitsimella \koodi{aysep} mÃ¤Ã¤ritetÃ¤Ã¤n, mikÃ¤
vÃ¤limerkki ladotaan tekijÃ¤n nimen ja vuosiluvun vÃ¤liin. TÃ¤ssÃ¤ se
jÃ¤tetÃ¤Ã¤n tyhjÃ¤ksi. \koodi{note\-sep}\-/ valitsimella asetetaan merkit,
jotka ladotaan vuosiluvun ja sitÃ¤ seuraavan huomautuksen kuten
sivunumeroiden vÃ¤liin; tÃ¤ssÃ¤ tapauksessa mÃ¤Ã¤ritettiin kaksoispiste ja
vÃ¤li \koodi{\{:~\}}, mutta pilkkukin on yleinen kÃ¤ytÃ¤ntÃ¶.

\komento{setcitestyle}\-/ komennon valitsimet erotetaan toisistaan
pilkulla, eikÃ¤ erotinpilkkujen ympÃ¤rillÃ¤ saa olla vÃ¤lilyÃ¶ntejÃ¤.
Lopputuloksena lÃ¤hdemerkinnÃ¤t nÃ¤yttÃ¤vÃ¤t esimerkiksi seuraavanlaisilta:

\komentoi{citet*}
\begin{koodilohkosis}
\citet*[27--29]{johdatus} % Viittaus teokseen â€johdatusâ€.
\end{koodilohkosis}

\begin{tulossis}
  MeikÃ¤lÃ¤inen \&amp; TeikÃ¤lÃ¤inen (2020: 27--29)
\end{tulossis}

\noindent
LÃ¤hdeluettelo kirjoitetaan \ymparisto{thebibliography}\-/ ympÃ¤ristÃ¶n ja
\komento{bibitem}\-/ komentojen avulla esimerkin
\ref{esim/thebibliography} tavoin. YmpÃ¤ristÃ¶n aloittavan komennon
(rivi~1) yhteydessÃ¤ on argumentti \koodi{00}, jolla ei ole tÃ¤ssÃ¤
yhteydessÃ¤ merkitystÃ¤. Jos lÃ¤hdeviittauksen tyylinÃ¤ olisi
\koodi{numbers} (eikÃ¤ \koodi{author\-year}), lÃ¤hdeluettelon teokset
numeroitaisiin, ja silloin \ymparisto{thebibliography}\-/ ympÃ¤ristÃ¶n
argumentti ilmaisee, kuinka leveÃ¤n sisennyksen numeroidut teokset
tarvitsevat. Argumentiksi voi kirjoittaa mitÃ¤ tahansa merkkejÃ¤, ja Latex
mittaa niiden leveyden. Kannattaa kirjoittaa leveitÃ¤ numeroita kuten
nollia (\koodi{0}) niin monta kappaletta kuin on numeroita suurimmassa
lÃ¤hdemerkinnÃ¤n luvussa. Yksi nolla riittÃ¤Ã¤, jos lÃ¤hteitÃ¤ on 1\==9
kappaletta, kaksi jos lÃ¤hteitÃ¤ on kaksinumeroinen mÃ¤Ã¤rÃ¤ eli 10\==99
kappaletta jne.

\begin{esimerkki*}
  \ymparistoi{thebibliography}
  \komentoi{bibitem}

\begin{koodilohko}
\begin{thebibliography}{00}

\bibitem[MeikÃ¤lÃ¤inen ym.(2020)MeikÃ¤lÃ¤inen \&amp; TeikÃ¤lÃ¤inen]{johdatus}
  MeikÃ¤lÃ¤inen, Matti \&amp; TeikÃ¤lÃ¤inen, Teija (2020): Johdatus alkeiden
  perusteisiin. Toinen painos. Kustantaja oy.

\bibitem[Itkonen(2019)]{typografia} Itkonen, Markus (2019): Typografian
  kÃ¤sikirja. Viides, tarkistettu painos. Typoteekki. Graafinen
  suunnittelu Markus Itkonen oy.

\end{thebibliography}
\end{koodilohko}
  \caption{LÃ¤hdeluettelon kirjoittaminen \ymparisto{thebibliography}\-/
    ympÃ¤ristÃ¶n ja \komento{bibitem}\-/ komentojen avulla.}
  \label{esim/thebibliography}
\end{esimerkki*}

Komennolla \komento{bibitem} tehdÃ¤Ã¤n varsinaiset teosmerkinnÃ¤t. Samalla
mÃ¤Ã¤ritetÃ¤Ã¤n teoksen yksilÃ¶llinen tunniste ja mitÃ¤ tietoja
lÃ¤hdeviittauksissa nÃ¤ytetÃ¤Ã¤n. Yleinen muoto on seuraavanlainen:

\komentoi{bibitem}
\begin{koodilohkosis}
\bibitem[lyhyt(vuosi)pitkÃ¤]{tunniste} LÃ¤hdeluettelon tekstit.
\end{koodilohkosis}

\noindent
Valinnaisen argumentin aluksi kirjoitetaan lÃ¤hdeviittauksen lyhyt
merkintÃ¤, joka tulisi nÃ¤kymÃ¤Ã¤n lÃ¤hdeviittauksissa esimerkiksi muodossa
''MeikÃ¤lÃ¤inen ym.''. Heti sen perÃ¤Ã¤n kirjoitetaan sulkeissa teoksen
vuosiluku ja sen perÃ¤Ã¤n vapaavalintainen lÃ¤hdeviittauksen pitkÃ¤
merkintÃ¤, joka nÃ¤kyisi esimerkiksi tekstinÃ¤ ''MeikÃ¤lÃ¤inen \&amp;
TeikÃ¤lÃ¤inen''. Vuosiluvun sulkeiden ympÃ¤rillÃ¤ ei saa olla vÃ¤lilyÃ¶ntejÃ¤.

\komento{bibitem}\-/ komennon pakollinen argumentti on kyseisen
lÃ¤hdeteoksen yksilÃ¶llinen tunniste, jonka avulla teokseen viitataan.
Komennon argumenttien jÃ¤lkeen kirjoitetaan samaan tekstikappaleeseen
teksti, joka tulee nÃ¤kymÃ¤Ã¤n lÃ¤hdeluettelossa.

LÃ¤hdeteoksiin viittaamiseen on useita eri komentoja, jotka eroavat
toisistaan siinÃ¤, mitÃ¤ tietoa lÃ¤hdeviittauksessa nÃ¤ytetÃ¤Ã¤n ja onko
lÃ¤hdeviittaus tai sen osa sulkeissa vai ei. Taulukossa
\ref{tlk/natbib-cite} on joitakin \paketti{natbib}\-/paketin
viittauskomentoja sekÃ¤ esimerkki viittauksen ulkoasusta. Kuviteltu
esimerkkiteos on perÃ¤isin esimerkistÃ¤ \ref{esim/thebibliography}.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\komento{#1} &amp; #2 \\}
  \begin{tabular}{ll}
    \toprule
    \ots{Komento} &amp; \ots{Esimerkki} \\
    \midrule
    \rivi{citet}{MeikÃ¤lÃ¤inen ym. (2020)}
    \rivi{citet*}{MeikÃ¤lÃ¤inen \&amp; TeikÃ¤lÃ¤inen (2020)}
    \rivi{citep}{(MeikÃ¤lÃ¤inen ym. 2020)}
    \rivi{citep*}{(MeikÃ¤lÃ¤inen \&amp; TeikÃ¤lÃ¤inen 2020)}
    \rivi{citealt}{MeikÃ¤lÃ¤inen ym. 2020}
    \rivi{citealt*}{MeikÃ¤lÃ¤inen \&amp; TeikÃ¤lÃ¤inen 2020}
    \rivi{citeauthor}{MeikÃ¤lÃ¤inen ym.}
    \rivi{citeauthor*}{MeikÃ¤lÃ¤inen \&amp; TeikÃ¤lÃ¤inen}
    \rivi{citeyear}{2020}
    \rivi{citeyearpar}{(2020)}
    \bottomrule
  \end{tabular}
}{
  \caption{\paketti{natbib}\-/paketin
    lÃ¤h\-de\-viit\-taus\-ko\-men\-toja}
  \label{tlk/natbib-cite}
}

LÃ¤hdeluettelon ulkoasuun voi vaikuttaa mittojen \mitta{bibhang} ja
\mitta{bibsep} avulla. Ensin mainittu on lÃ¤hdemerkinnÃ¤n vaakasuuntaisen
riippuvan sisennyksen suuruus, ja jÃ¤lkimmÃ¤inen on lÃ¤hdemerkintÃ¶jen
vÃ¤linen pystysuuntainen tila.

\komentoi{setlength}
\mittai{parindent}
\mittai{bibhang}
\mittai{bibsep}
\begin{koodilohkosis}
\setlength{\parindent}{1.1em} % tekstikappaleiden 1. rivin sisennys
\setlength{\bibhang}{\parindent}
\setlength{\bibsep}{.5ex plus .1ex minus .1ex}
\end{koodilohkosis}

\noindent
LÃ¤hdemerkintÃ¶jen fonttiin voi vaikuttaa mÃ¤Ã¤rittelemÃ¤llÃ¤ uudelleen
komennon \komento{bibfont} ja sijoittamalla halutut fontti- tai muut
komennot kyseisen komennon mÃ¤Ã¤ritelmÃ¤Ã¤n.

\komentoi{renewcommand}
\komentoi{bibfont}
\begin{koodilohkosis}
\renewcommand{\bibfont}{\sffamily\small}
\end{koodilohkosis}

\noindent
Oletuksena \ymparisto{thebibliography}\-/ ympÃ¤ristÃ¶ latoo
lÃ¤hdeluettelolle otsikon, ja otsikon teksti mÃ¤Ã¤rÃ¤ytyy kieliasetusten
(luku \ref{luku/kieliasetukset}) ja dokumenttiluokan perusteella (luku
\ref{luku/dokumenttiluokat}). Suomenkielisen lÃ¤hdeluettelon otsikon voi
mÃ¤Ã¤rittÃ¤Ã¤ dokumentin esittelyosassa seuraavan esimerkin tavoin.
EsimerkissÃ¤ hyÃ¶dynnetÃ¤Ã¤n \komento{addto}\-/ komentoa, joka sisÃ¤ltyy
\paketti{polyglossia}\-/{} ja \paketti{babel}\-/ paketteihin.

\komentoi{addto}
\komentoi{captionsfinnish}
\komentoi{renewcommand}
\komentoi{refname}
\komentoi{bibname}
\luokkai{article}
\luokkai{book}
\luokkai{report}
\begin{koodilohkosis}
\addto{\captionsfinnish}{%
  \renewcommand{\refname}{LÃ¤hteet} % article-dokumenttiluokka
  \renewcommand{\bibname}{LÃ¤hteet} % report- ja book-luokat
}
\end{koodilohkosis}

\noindent
On myÃ¶s mahdollista mÃ¤Ã¤ritellÃ¤ koko komentosarja, joka suoritetaan
lÃ¤hdeluettelon otsikoinnin yhteydessÃ¤. Se tehdÃ¤Ã¤n mÃ¤Ã¤rittelemÃ¤llÃ¤
uudelleen komento \komento{bibsection}.

\komentoi{renewcommand}
\komentoi{bibsection}
\komentoi{setcounter}
\laskurii{secnumdepth}
\komentoi{section}
\begin{koodilohkosis}
\renewcommand{\bibsection}{%
  \setcounter{secnumdepth}{-1}
  \section{LÃ¤hteet}
}
\end{koodilohkosis}

\noindent
EdellisessÃ¤ esimerkissÃ¤ komennolla \komento{setcounter} mÃ¤Ã¤ritetÃ¤Ã¤n,
mille otsikkotasolle dokumentin otsikoiden eli lukujen numerointi yltÃ¤Ã¤.
Pieni arvo \mbox{(\koodi{-1})} kÃ¤ytÃ¤nnÃ¶ssÃ¤ tarkoittaa, ettÃ¤ seuraaviin
otsikoihin ei tule numerointia. Komento \komento{section} tekee itse
otsikon.

Jos ei halua, ettÃ¤ \ymparisto{thebibliography}\-/ ympÃ¤ristÃ¶ tekee
otsikon automaattisesti, voi \komento{bibsection}\-/ komennon mÃ¤Ã¤rittÃ¤Ã¤
tyhjÃ¤ksi.

\komentoi{renewcommand}
\komentoi{bibsection}
\begin{koodilohkosis}
\renewcommand{\bibsection}{}
\end{koodilohkosis}

\noindent
Paketti \paketti{natbib} sisÃ¤ltÃ¤Ã¤ edellÃ¤ kuvattujen lisÃ¤ksi muitakin
ominaisuuksia, joihin voi tutustua paketin ohjekirjan avulla. On muun
muassa mahdollista tehdÃ¤ lÃ¤hdeteoksista tietokanta Bibtex\-/
jÃ¤rjestelmÃ¤n avulla. Jos kuitenkin siihen suuntaan haluaa edetÃ¤, ei ehkÃ¤
kannata kÃ¤yttÃ¤Ã¤ \paketti{natbib}\-/ pakettia eikÃ¤ vanhaa BibtexiÃ¤ vaan
monipuolisempaa pakettia \paketti{biblatex}, jota kÃ¤sitellÃ¤Ã¤n
seuraavassa alaluvussa.

\subsection{Vaativaan kÃ¤yttÃ¶Ã¶n (biblatex)}
\label{luku/biblatex}

Suurten lÃ¤hde- ja kirjallisuusluetteloiden yllÃ¤pito voi olla aika
tyÃ¶lÃ¤stÃ¤: pitÃ¤Ã¤ jatkuvasti varmistaa, ettÃ¤ kaikki viitatut teokset ovat
luettelossa ja ettÃ¤ luettelo on pilkulleen yhdenmukainen. Paketti
\pakettictan{biblatex} on vastaus sellaisiin tarpeisiin.

Ajatuksena on, ettÃ¤ kaikki tiedonlÃ¤hteet ja kirjallisuus kirjoitetaan
tietokantaan, josta \paketti{biblatex}\-/paketin komennot hakevat tiedot
automaattisesti. Kirjoittaja tai tyÃ¶ryhmÃ¤ voi yllÃ¤pitÃ¤Ã¤ yhtÃ¤
kirjallisuustietokantaa, joka voi olla saatavilla oman laitoksen
verkkopalvelimella tai julkisella verkkosivullakin. Dokumentin tekstissÃ¤
viitataan teoksiin yksilÃ¶llisen tunnisteen avulla, ja pelkÃ¤n viittauksen
perusteella oikeat teokset ilmestyvÃ¤t lÃ¤hdeluetteloon automaattisesti
aakkosjÃ¤rjestyksessÃ¤ ja yhdenmukaisessa muodossa. YhtÃ¤Ã¤n tiedonlÃ¤hdettÃ¤
ei tarvitse kirjoittaa lopulliseen lÃ¤hdeluetteloon kÃ¤sin.

\paketti{biblatex}\-/paketin kÃ¤yttÃ¶ vaatii hieman opettelua -- varsinkin
jos on tarve muokata lÃ¤hdeluettelon ja lÃ¤hdeviittausten ulkoasua.
Muutaman tiedonlÃ¤hteen yllÃ¤pito on todennÃ¤kÃ¶isesti paljon helpompaa ja
nopeampaa \paketti{natbib}\-/ paketin keinoilla (luku
\ref{luku/natbib}). Sen sijaan laajoja tieteellisiÃ¤ artikkeleita
kirjoittaville \paketti{biblatex} voi olla suuri apu, koska
artikkeleissa on yleensÃ¤ paljon lÃ¤hteitÃ¤ ja useissakin artikkeleissa
viitataan yleensÃ¤ samoihin lÃ¤hteisiin.

\subsubsection{Teostietokanta}

LÃ¤hdeteosten tietokanta on erillinen tekstitiedosto, joka tavallisesti
nimetÃ¤Ã¤n \koodi{bib}\-/pÃ¤Ã¤tteiseksi, esimerkiksi \koodi{teokset.bib}.
Tiedosto koostuu \koodi{@}\=/merkillÃ¤ ja teostyypin nimellÃ¤ alkavista
tietueista, joiden yleinen muoto on seuraavanlainen:

\begin{koodilohkosis}
@teostyyppi{tunniste,
  author = {...},
  title  = "..."
}
\end{koodilohkosis}

\noindent
Teostyypin nimen jÃ¤lkeen aaltosulkeiden sisÃ¤Ã¤n kirjoitetaan teoksen
kaikki tiedot. Ne alkavat teoksen yksilÃ¶llisellÃ¤ tunnisteella, jota
kÃ¤ytetÃ¤Ã¤n lÃ¤hdeviittauksissa. Tunnisteen jÃ¤lkeen tulevat muut kentÃ¤t.
Eri kentÃ¤t kuten \koodi{author} ja \koodi{title} erotetaan toisistaan
pilkulla. KentÃ¤n nimi ja sen sisÃ¤ltÃ¶ erotetaan toisistaan
yhtÃ¤suuruusmerkillÃ¤ (\koodi{=}), ja kentÃ¤n sisÃ¤ltÃ¶ kirjoitetaan
aaltosulkeiden tai lainausmerkkien sisÃ¤Ã¤n, kuten edellinen esimerkki
nÃ¤yttÃ¤Ã¤.

\begin{esimerkki*}
\begin{koodilohko}
@book{itkonen_typogr,
  author = {Itkonen, Markus},
  title = {Typografian kÃ¤sikirja},
  date = {2019},
  edition = {5},
  publisher = {Typoteekki. Graafinen suunnittelu Markus Itkonen Oy}
}

@incollection{likonen_teams,
  author = {Likonen, Teemu and RiskilÃ¤, Kaisa},
  title = {VerkkoyhteistyÃ¶ Teams-ympÃ¤ristÃ¶ssÃ¤},
  editor = {Tammi, Tuomo and Horila, Mikko},
  booktitle = {Oppimis- ja toimintaympÃ¤ristÃ¶jen kehittÃ¤minen
    harjoittelukouluissa II},
  booksubtitle = {Tilat ja tekniikka pedagogisen kehittÃ¤misen tukena},
  publisher = {E-norssi. Opettajankouluttajien yhteistyÃ¶verkosto},
  date = {2020},
  pages = {85-92},
  url = {http://www.enorssi.fi/oppimisymparistojulkaisu2020/}
}

@article{likonen_tietokanta,
  author = {Likonen, Teemu},
  title = {Tietoa kantaan ja takaisin},
  journaltitle = {Skrolli},
  journalsubtitle = {Tietokonekulttuurin erikoislehti},
  date = {2015},
  volume = {2015},
  number = {4},
  pages = {52-55},
  url = {https://skrolli.fi/numerot/2015-4/}
}

@online{ctan,
  title = {Comprehensive TeX Archive Network},
  shorttitle = {CTAN},
  date = {1992/},
  url = {https://www.ctan.org/},
  urldate = {2021-07-14}
}
\end{koodilohko}
  \caption{LÃ¤hdeteosten tietokantatiedosto}
  \label{esim/bib-tiedosto}
\end{esimerkki*}

Todellista kÃ¤yttÃ¶Ã¤ vastaava tietokanta tai sen osa on esimerkissÃ¤
\ref{esim/bib-tiedosto}, jossa on neljÃ¤ erityyppistÃ¤ teostietuetta:
\koodi{book}, \koodi{incollection}, \koodi{article} ja \koodi{online}.
Ensin mainittu teostyyppi \koodi{book} sopii tavallisille kirjoille,
joissa tietyt tekijÃ¤t (\koodi{author}) vastaavat suunnilleen koko
teoksen sisÃ¤llÃ¶stÃ¤ ja teoksella on jokin julkaisijataho
(\koodi{publisher}).

Teostyyppi \koodi{incollection} tarkoittaa esimerkiksi
artikkelikokoelmaa, jonka yksittÃ¤iseen artikkeliin (\koodi{title}) ja
sen kirjoittajaan (\koodi{author}) on tarkoitus viitata. Voidaan mainita
myÃ¶s artikkelin alku- ja loppusivut (\koodi{pages}). Kokoelmalla on
toimittaja (\koodi{editor}) ja yhteinen nimi (\koodi{book\-title}).

Tyyppi \koodi{article} sopii sÃ¤Ã¤nnÃ¶llisesti julkaistavan aikakaus- tai
muun lehden artikkeleihin. Viittauskohteena on yksittÃ¤inen artikkeli ja
sen kirjoittaja. Julkaisutiedoissa mainitaan lehden nimi
(\koodi{jour\-nal\-title}), julkaisukausi (\koodi{vol\-ume}), kauteen
kuuluvan julkaisun jÃ¤rjestysnumero (\koodi{num\-ber}) sekÃ¤ mahdollisesti
artikkelin sivut (\koodi{pages}).

VerkkolÃ¤hteiden merkitsemiseen sopii \koodi{online}\-/ teostyyppi,
joissa on tavanomaisten kenttien lisÃ¤ksi ainakin verkko\-/osoite eli
\koodi{url}\-/kenttÃ¤ ja mahdollisesti viittauspÃ¤ivÃ¤ (\koodi{url\-date})
osoittamassa, milloin viitatut tiedot olivat saatavilla.

TeostyyppejÃ¤ ja teoksiin liittyviÃ¤ tietokenttiÃ¤ on olemassa paljon
muitakin. Niiden merkitystÃ¤ ja kÃ¤yttÃ¶Ã¤ neuvotaan tarkemmin
\paketti{biblatex}\-/paketin ohjeissa. Seuraavassa on kuitenkin pari
huomiota tietokannan ja kenttien kieliopillisista asioista.

Tietueissa joidenkin kenttien sisÃ¤ltÃ¶ voi koostua useasta osasta kuten
saman teoksen eri tekijÃ¶istÃ¤. Eri tekijÃ¶iden nimet erotetaan
\koodi{author}- ja \koodi{editor}\-/kentissÃ¤ toisistaan
\koodi{and}\-/sanalla. Oletuksena \paketti{biblatex} katsoo, ettÃ¤
tekijÃ¤t ovat henkilÃ¶itÃ¤, ja kÃ¤sittelee esimerkiksi etu- ja sukunimet
tietyllÃ¤ tavalla: jos mukana on pilkku, sitÃ¤ ennen on sukunimi, ja
etunimet tulevat pilkun jÃ¤lkeen; jos pilkkua ei ole, etunimet ovat
ensin, ja sukunimi on lopussa.

Jos kuitenkin teoksen tekijÃ¤nÃ¤ on yritys tai yhteisÃ¶, tÃ¤ytyy sen nimi
kirjoittaa kokonaan aaltosulkeisiin, jottei sitÃ¤ tulkittaisi henkilÃ¶n
nimeksi. TÃ¤llaisten aaltosulkeiden sisÃ¤llÃ¤ voi kÃ¤yttÃ¤Ã¤ \koodi{and}\-/
sanaa normaalisti, eikÃ¤ sitÃ¤ tulkita eri tekijÃ¶iden erottimeksi.
Seuraavassa on nÃ¤istÃ¤ esimerkit:

\begin{koodilohkosis}
author = {MeikÃ¤lÃ¤inen, Matti and TeikÃ¤lÃ¤inen, Teija}
author = {{Org. of Latex and Typography} and MeikÃ¤lÃ¤inen, Matti}
\end{koodilohkosis}

\noindent
Muunkinlaisia useasta osasta koostuvia kenttiÃ¤ on olemassa.
AsiasanakentÃ¤n (\koodi{keywords}) eri sanat erotetaan toisistaan
pilkulla, ja sivunumeroissa (\koodi{pages}) voi olla myÃ¶s lukualueita,
jotka ilmaistaan yhdysmerkillÃ¤.

\begin{koodilohkosis}
keywords = {eri, sanoja, perÃ¤kkÃ¤in}
pages = {15-19}
\end{koodilohkosis}

\noindent
Teostietokantaan voi mÃ¤Ã¤rittÃ¤Ã¤ vakiosisÃ¤ltÃ¶isiÃ¤ muuttujia kÃ¤yttÃ¤mÃ¤llÃ¤
\koodi{@string}\-/ rakennetta. Vakioihin voi sitten viitata
teostietueiden kentistÃ¤ esimerkin \ref{esim/bib-muuttujat} tavoin.
Vakiot ovat hyÃ¶dyllisiÃ¤ silloin, kun sama kentÃ¤n sisÃ¤ltÃ¶ toistuu useissa
teoksissa, kuten tÃ¤ssÃ¤ esimerkissÃ¤ sama tekijÃ¤ (\koodi{author}) ja
aikakauslehden nimi (\koodi{jour\-nal\-title}). Vakioita voi yhdistÃ¤Ã¤
saman kentÃ¤n muuhun sisÃ¤ltÃ¶Ã¶n kÃ¤yttÃ¤mÃ¤llÃ¤ \koodi{\#}\=/merkkiÃ¤, kuten
esimerkin rivillÃ¤ 13 on tehty.

\begin{esimerkki*}
\begin{koodilohko}
@string{
  itse = {MeikÃ¤lÃ¤inen, Matti},
  lehti = {Hienon hieno aikakauslehti}
}

@article{hieno_artikkeli,
  author = itse,
  journaltitle = lehti,
  ...
}

@article{toinen_artikkeli,
  author = itse # { and TeikÃ¤lÃ¤inen, Teija},
  journaltitle = lehti,
  ...
}
\end{koodilohko}
  \caption{Muuttujien kÃ¤yttÃ¶ ja \koodi{@string}\-/rakenne}
  \label{esim/bib-muuttujat}
\end{esimerkki*}

\subsubsection{KÃ¤yttÃ¶Ã¶notto}

\paketti{biblatex}\-/paketti otetaan kÃ¤yttÃ¶Ã¶n esimerkin
\ref{esim/biblatex-kÃ¤yttÃ¶Ã¶notto} rivien avulla. Mukana on myÃ¶s
kielipaketti sekÃ¤ \paketti{csquotes}, joka sisÃ¤ltÃ¤Ã¤ lainausmerkkeihin
liittyvÃ¤Ã¤ logiikkaa (luku \ref{luku/lainausmerkit}). Ilman sitÃ¤
\paketti{biblatex} ei saa eri kielten erilaisia lainausmerkkejÃ¤ oikein
vaan kÃ¤yttÃ¤Ã¤ pelkÃ¤stÃ¤Ã¤n amerikkalaisia (``~'').

\begin{esimerkki*}
  \komentoi{usepackage}
  \pakettii{polyglossia}
  \pakettii{csquotes}
  \pakettii{biblatex}

\begin{koodilohko}
% Kielipaketti polyglossia tai babel on ladattava ennen biblatexia.
\usepackage{polyglossia} \setdefaultlanguage{finnish}
%\usepackage[main=finnish]{babel}

% Kielikohtaiset lainausmerkit oikein csquoten avulla.
\usepackage{csquotes}

\usepackage[style=authoryear]{biblatex}
\end{koodilohko}
  \caption{\paketti{biblatex}\-/ paketin kÃ¤yttÃ¶Ã¶notto ja asetuksia}
  \label{esim/biblatex-kÃ¤yttÃ¶Ã¶notto}
\end{esimerkki*}

Paketin asetuksissa kÃ¤ytetÃ¤Ã¤n valitsinta \koodi{style} ja sen asetusta
\koodi{author\-year}, joka asettaa lÃ¤hdeviittausten ja lÃ¤hdeluettelon
tyyliksi tekijÃ¤n ja vuosiluvun. Se on yleinen kÃ¤ytÃ¤ntÃ¶ suomenkielisissÃ¤
teksteissÃ¤. Vastaavia tyylejÃ¤ ovat myÃ¶s \koodi{author\-year-comp},
\koodi{author\-year-ibid} ja \koodi{author\-year-icomp}, jotka lisÃ¤ksi
tiivistÃ¤vÃ¤t perÃ¤kkÃ¤isiÃ¤ lÃ¤hdeviittauksia, jos teoksen tekijÃ¤ on sama.

Numerointiin tai kirjainlyhenteisiin perustuvat lÃ¤hdeluettelo\-/{} ja
viittaustyylit ovat nimeltÃ¤Ã¤n \koodi{nu\-mer\-ic} ja
\koodi{al\-pha\-bet\-ic}. Muitakin tyylejÃ¤ on olemassa, mutta tÃ¤mÃ¤n
oppaan esimerkeissÃ¤ kÃ¤sitellÃ¤Ã¤n tekijÃ¤--vuosi-tyyliÃ¤.

Paketin omien lÃ¤hdeluettelo\-/\ ja viittaustyylien lisÃ¤ksi Latex\-/
jakelupaketissa on todennÃ¤kÃ¶isesti mukana myÃ¶s ulkopuolisten tahojen
tekemiÃ¤ tyylejÃ¤. Tyylikokonaisuus nimeltÃ¤ \pakettictan{biblatex-ext}
laajentaa \paketti{biblatex}\-/ paketin tavallisten tyylien
ominaisuuksia. Laajennustyylien kÃ¤yttÃ¤minen ei vaadi erillisen paketin
lataamista, vaan tyylin saa kÃ¤yttÃ¶Ã¶n yksinkertaisesti vain
kirjoittamalla sen nimen \paketti{biblatex}\-/ paketin lataamisen
yhteydessÃ¤. Laajennetut tyylit alkavat kirjaimilla \mbox{\koodi{ext-},}
esimerkiksi \koodi{ext-author\-year} tai \koodi{ext-author\-year-comp}.

Kaikki kÃ¤yttÃ¶Ã¶n otettavat teostietokantatiedostot tÃ¤ytyy esitellÃ¤
komennolla \komento{addbibresource}. Tietokantatiedostoja voi olla
useampiakin, ja tietokanta voi olla myÃ¶s verkko\-/ osoitteen takana
oleva tiedosto. \komento{addbibresource}\-/ komennot tÃ¤ytyy kirjoittaa
Latex\-/ lÃ¤hdedokumentin esittelyosaan.

\komentoi{addbibresource}
\begin{koodilohkosis}
\addbibresource{teokset.bib}
\addbibresource{~/texmf/omat_kirjoitukset.bib}
\addbibresource[location=remote]{http://osoite.netissÃ¤/yhteiset.bib}
\end{koodilohkosis}

\noindent
LÃ¤hdeluettelo ladotaan dokumenttiin komennolla
\komento{printbibliography}. Komennolle voi antaa valinnaisen
argumentin, jonka valitsimilla vaikutetaan esimerkiksi lÃ¤hdeluettelon
otsikon tekstiin tai poistetaan automaattinen otsikointi kokonaan. On
myÃ¶s olemassa erilaisia lÃ¤hdeteosten rajaamisvalitsimia, joiden avulla
voi mÃ¤Ã¤rittÃ¤Ã¤, mitÃ¤ teoksia kyseiseen luetteloon halutaan. Sen avulla
voidaan esimerkiksi rajata painetut lÃ¤hteet yhteen luetteloon,
julkaisemattomat toiseen ja verkkolÃ¤hteet kolmanteen. Seuraavassa on
erilaisia esimerkkejÃ¤:

\komentoi{printbibliography}
\begin{koodilohkosis}
\printbibliography
\printbibliography[title={LÃ¤hteet}]
\printbibliography[heading=none,  % Ei automaattista otsikkoa,
  type=online]           % ja rajataan vain online-tyyppisiin.
\end{koodilohkosis}

\noindent
LÃ¤hdeluetteloon tulevat mukaan vain ne teokset, joihin on viitattu.
MitÃ¤Ã¤n ei siis nÃ¤y, jos ei ole lÃ¤hdeviittauksia. Seuraavassa alaluvussa
kÃ¤sitellÃ¤Ã¤n lÃ¤hdeviittauskomentoja ja myÃ¶s ''nÃ¤kymÃ¤tÃ¶ntÃ¤''
viittauskomentoa, jolla teoksia saadaan mukaan luetteloon ilman nÃ¤kyvÃ¤Ã¤
viittausta.

\subsubsection{LÃ¤hdeviittaukset}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\komento{#1} &amp; #2 \\}
  \begin{tabular}{ll}
    \toprule
    \ots{Komento} &amp; \ots{Esimerkki} \\
    \midrule
    \rivi{cite}{MeikÃ¤lÃ¤inen 2020}
    \rivi{textcite}{MeikÃ¤lÃ¤inen (2020)}
    \rivi{parencite}{(MeikÃ¤lÃ¤inen 2020)}
    \rivi{citeauthor}{MeikÃ¤lÃ¤inen}
    \rivi{citeyear}{2020}
    \rivi{citetitle}{[teoksen nimi]}
    \rivi{footcite}{MeikÃ¤lÃ¤inen 2020 [alaviitteessÃ¤]}
    \rivi{nocite}{[nÃ¤kymÃ¤tÃ¶n viittaus]}
    \bottomrule
  \end{tabular}
}{
  \caption{\paketti{biblatex}\-/paketin lÃ¤hdeviittauskomentoja}
  \label{tlk/biblatex-cite}
}

Taulukkoon \ref{tlk/biblatex-cite} on koottu tavallisimpia
\paketti{biblatex}\-/paketin viittauskomentoja. Komennon argumentiksi
annetaan teoksen yksilÃ¶llinen tunniste. Komennoille voi antaa myÃ¶s
valinnaisen argumentin, jolla kerrotaan tÃ¤smentÃ¤vÃ¤Ã¤ tietoa
lÃ¤hdeviittauksesta. YleensÃ¤ se on viitattavan teoksen sivunumero.
Viittaus nÃ¤kyy dokumentissa esimerkiksi seuraavalla tavalla:

\komentoi{textcite}
\begin{koodilohkosis}
\textcite[27--29]{johdatus} % Viittaus teokseen â€johdatusâ€.
\end{koodilohkosis}

\begin{tulossis}
  MeikÃ¤lÃ¤inen ja TeikÃ¤lÃ¤inen (2020, s. 27--29)
\end{tulossis}

\noindent
Jos halutaan sisÃ¤llyttÃ¤Ã¤ lÃ¤hdeluetteloon teoksia, joihin ei ole
vÃ¤lttÃ¤mÃ¤ttÃ¤ viitattu, kÃ¤ytetÃ¤Ã¤n dokumentissa kerran ''nÃ¤kymÃ¤tÃ¶ntÃ¤''
viittauskomentoa \komento{nocite}. Sille annetaan argumentiksi
tunnisteet niistÃ¤ teoksista, jotka halutaan mukaan luetteloon.
Argumentti~\koodi{*} (tÃ¤hti) valitsee kaikki teokset.

\komentoi{nocite}
\begin{koodilohkosis}
\nocite{meikÃ¤lÃ¤inen, teikÃ¤lÃ¤inen} % NÃ¤mÃ¤ teokset mukaan.
\nocite{*}                        % Kaikki mukaan.
\end{koodilohkosis}

\subsubsection{LÃ¤hdetiedostojen kÃ¤Ã¤ntÃ¤minen}

Latexin kÃ¤Ã¤ntÃ¤jÃ¤ohjelmat Lualatex tai Xelatex eivÃ¤t yksinÃ¤Ã¤n riitÃ¤,
sillÃ¤ teostietokanta ei ole tavallinen Latex\-/muotoinen tiedosto.
Tarvitaan myÃ¶s Latex\-/jakelun mukana tulevaa komentoa \koodi{biber},
joka kÃ¤sittelee teostietokantaan liittyviÃ¤ tiedostoja. Lopulta
Latex\-/kÃ¤Ã¤ntÃ¤jÃ¤Ã¤kin tÃ¤ytyy kutsua kaksi kolme kertaa, jotta kaikki
ristiviitteet saadaan kuntoon. Komentojen suoritusjÃ¤rjestys on
seuraavanlainen:

\begin{koodilohkosis}
lualatex teksti.tex
biber teksti.bcf
lualatex teksti.tex
lualatex teksti.tex
\end{koodilohkosis}

\noindent
Edellisen esimerkin komennoissa voi tiedoston nimistÃ¤ jÃ¤ttÃ¤Ã¤ pÃ¤Ã¤tteet
pois (\koodi{.tex}, \koodi{.bcf}). \koodi{lualatex}\-/ ohjelman paikalla
voi olla myÃ¶s \koodi{xelatex}. KÃ¤Ã¤ntÃ¤minen on vielÃ¤ helpompaa, kun
kÃ¤yttÃ¤Ã¤ \koodi{latexmk}\-/ ohjelmaa (luku \ref{luku/latexmk}), joka osaa
automaattisesti suorittaa myÃ¶s \koodi{biber}\-/ ohjelman ja tarvittavat
uudelleen kÃ¤Ã¤ntÃ¤miset. Yksi komento riittÃ¤Ã¤:

\begin{koodilohkosis}
latexmk -lualatex teksti.tex    % tai: -xelatex
\end{koodilohkosis}

\subsubsection{LÃ¤hdeluettelon mittoja}

LÃ¤hdeluettelon ulkoasuun voi vaikuttaa muutaman eri mitan avulla, joista
esitellÃ¤Ã¤n tÃ¤ssÃ¤ yhteydessÃ¤ vain osa. LÃ¤hdemerkinnÃ¤n riippuvan
sisennyksen suuruus mÃ¤Ã¤rÃ¤ytyy mitan \mitta{bibhang} avulla. YleensÃ¤
lienee sopivaa asettaa se samaksi kuin tekstikappaleiden ensimmÃ¤isen
rivin sisennys \mitta{parindent}.

\komentoi{setlength}
\mittai{parindent}
\mittai{bibhang}
\begin{koodilohkosis}
\setlength{\parindent}{1.1em} % tekstikappaleiden 1. rivin sisennys
\setlength{\bibhang}{\parindent}
\end{koodilohkosis}

\noindent
Mitta \mitta{bibitemsep} on lÃ¤hdemerkintÃ¶jen vÃ¤linen pystysuuntainen
tila. Sen avulla voi harventaa lÃ¤hdeluetteloa, jolloin lÃ¤hdemerkinnÃ¤t
erottuvat paremmin toisistaan. Mitan \mitta{bibnamesep} avulla voi tehdÃ¤
suuremman pystysuuntaisen vÃ¤lin lÃ¤hdemerkintÃ¶jen vÃ¤liin silloin, kun
teoksen tekijÃ¤ vaihtuu (\koodi{author} tai \koodi{editor}). Toisin
sanoen tÃ¤mÃ¤n mitan avulla voi ryhmitellÃ¤ saman tekijÃ¤n teokset
tiiviimmin yhteen ja jÃ¤ttÃ¤Ã¤ vÃ¤liÃ¤ seuraavan tekijÃ¤n teoksiin.
Vastaavanlainen mitta on \mitta{bibinitsep}, jota kÃ¤ytetÃ¤Ã¤n silloin, kun
lÃ¤hdemerkinnÃ¤n aloittava kirjain vaihtuu. TÃ¤mÃ¤n avulla voi ryhmitellÃ¤
lÃ¤hdemerkinnÃ¤t aakkosittain eli tehdÃ¤ suuremman vÃ¤lin aina
lÃ¤hdemerkinnÃ¤n alkukirjaimen vaihtuessa.

\komentoi{setlength}
\mittai{bibitemsep}
\mittai{bibnamesep}
\mittai{bibinitsep}
\begin{koodilohkosis}
\setlength{\bibitemsep}{.5ex plus .1ex minus .1ex}
\setlength{\bibnamesep}{1em  plus .2ex minus .1ex}
\setlength{\bibinitsep}{2em  plus .2ex minus .1ex}
\end{koodilohkosis}

\subsubsection{Muita asetuksia}

LÃ¤hdemerkintÃ¶jen fonttiin voi vaikuttaa mÃ¤Ã¤rittelemÃ¤llÃ¤ uudelleen
komennon \komento{bibfont} ja sijoittamalla halutut fontti- tai muut
komennot kyseisen komennon mÃ¤Ã¤ritelmÃ¤Ã¤n.

\komentoi{renewcommand}
\komentoi{bibfont}
\begin{koodilohkosis}
\renewcommand{\bibfont}{\sffamily\small}
\end{koodilohkosis}

\noindent
LÃ¤hdemerkinnÃ¤t itsessÃ¤Ã¤n muodostetaan automaattisesti tiettyjen
tyyliasetusten perusteella. Omiakin tyylejÃ¤ voi tehdÃ¤, mutta yleensÃ¤
riittÃ¤Ã¤ vain yksittÃ¤isen asetusten muuttaminen. NiistÃ¤ kÃ¤sitellÃ¤Ã¤n tÃ¤ssÃ¤
yhteydessÃ¤ muutama. Asetusten muuttamiseen tarvitaan yleensÃ¤
\paketti{biblatex}\-/ paketin omia asetuskomentoja.

LÃ¤hdeluettelon nimet nÃ¤kyvÃ¤t oletusasetuksilla siten, ettÃ¤ teoksen
ensimmÃ¤isen tekijÃ¤n sukunimi mainitaan ensin (luettelon
aakkosjÃ¤rjestyksen vuoksi) mutta saman teoksen muiden tekijÃ¶iden etunimi
mainitaan ensin. TekijÃ¶iden nimet nÃ¤kyvÃ¤t siis seuraavalla tavalla:
''MeikÃ¤lÃ¤inen, Matti ja Teija TeikÃ¤lÃ¤inen''. Suomessa on kuitenkin
tapana kirjoittaa kaikki nimet samalla tavalla ja mainita sukunimi aina
ensin. TÃ¤mÃ¤ saadaan toteutettua seuraavilla komennolla:

\komentoi{DeclareNameAlias}
\begin{koodilohkosis}
\DeclareNameAlias{default} {family-given}
\DeclareNameAlias{sortname}{family-given}
\end{koodilohkosis}

\begin{tulossis}
  MeikÃ¤lÃ¤inen, Matti ja TeikÃ¤lÃ¤inen, Teija (2020). --~--
\end{tulossis}

\noindent
Saman teoksen eri tekijÃ¶iden nimet erotetaan oletuksena toisistaan
pilkuilla paitsi kahden viimeisen nimen vÃ¤lissÃ¤ on \textit{ja}-sana.
Usein on kuitenkin tapana kÃ¤yttÃ¤Ã¤ \&amp;\=/merkkiÃ¤ ainakin lÃ¤hdeluettelossa.
Seuraavat esimerkkikomennot asettavat lÃ¤hdeluettelon kaikkien nimien
erottimeksi \&amp;\=/merkin.

\komentoi{DeclareDelimFormat}
\begin{koodilohkosis}
\DeclareDelimFormat[bib]{multinamedelim}{\space\&amp;\space}
\DeclareDelimFormat[bib]{finalnamedelim}{\space\&amp;\space}
\end{koodilohkosis}

\begin{tulossis}
  MeikÃ¤lÃ¤inen, Matti \&amp; TeikÃ¤lÃ¤inen, Teija \&amp; Tutkija, Tuija (2020).
  --~--
\end{tulossis}

\noindent
Erotinmerkkiasetuksen nimi \koodi{multi\-name\-delim} tarkoittaa muiden
kuin kahden viimeisen tekijÃ¤n nimen vÃ¤lissÃ¤ olevaa erotinta. Kahden
viimeisen nimen erotin mÃ¤Ã¤ritellÃ¤Ã¤n asetuksella
\koodi{final\-name\-delim}.

Edellisten esimerkkikomentojen valinnainen argumentti \koodi{bib}
tarkoittaa, ettÃ¤ vaikutetaan vain lÃ¤hdeluetteloon. Argumentti voi olla
myÃ¶s esimerkiksi \koodi{cite}, \koodi{textcite} tai \koodi{parencite},
jolloin vaikutetaan samannimisillÃ¤ komennoilla tehtyihin
lÃ¤hdeviittauksiin: \komento{cite}, \komento{textcite} ja
\komento{parencite}. Katso lÃ¤hdeviittauskomennot taulukosta
\ref{tlk/biblatex-cite}. Seuraava esimerkki vaihtaa
\komento{parencite}\-/ komentoon asetuksen, niin ettÃ¤ kahden viimeisen
henkilÃ¶n nimen vÃ¤liin ladotaan \&amp;\=/merkki. Oletuksena viittauksissa
kÃ¤ytetÃ¤Ã¤n \textit{ja}\-/sanaa.

\komentoi{DeclareDelimFormat}
\begin{koodilohkosis}
\DeclareDelimFormat[parencite]{finalnamedelim}{\space\&amp;\space}
\end{koodilohkosis}

\begin{tulossis}
  (MeikÃ¤lÃ¤inen, TeikÃ¤lÃ¤inen \&amp; Tutkija 2020)
\end{tulossis}

\noindent
Useiden saman teoksen tekijÃ¶iden luettelot lyhennetÃ¤Ã¤n automaattisesti
esimerkiksi muotoon ''MeikÃ¤lÃ¤inen et~al.'', ja lyhentÃ¤misen sÃ¤Ã¤nnÃ¶t
mÃ¤Ã¤ritellÃ¤Ã¤n tiettyjen \koodi{max}- ja \koodi{min}\-/ alkuisten paketin
valitsimien avulla. LÃ¤hdeluettelossa teoksen tekijÃ¤luetteloon
vaikutetaan valitsimilla \koodi{max\-bib\-names} ja
\koodi{min\-bib\-names}, kun taas lÃ¤hdeviittausten tekijÃ¤luetteloon
vaikutetaan valitsimilla \koodi{max\-cite\-names} ja
\koodi{min\-cite\-names}. Asetukset toimivat siten, ettÃ¤ jos
enimmÃ¤ismÃ¤Ã¤rÃ¤ (\englanti{max}) ylittyy, typistetÃ¤Ã¤n tekijÃ¤luettelo
vÃ¤himmÃ¤ismÃ¤Ã¤rÃ¤Ã¤n (\englanti{min}) ja lisÃ¤tÃ¤Ã¤n ilmaus ''et al.'' tms.

TekijÃ¤luetteloa ei kuitenkaan vÃ¤lttÃ¤mÃ¤ttÃ¤ lyhennetÃ¤, jos luettelosta
tulisi tÃ¤smÃ¤lleen samanlainen kuin jollakin toisella teoksella. TÃ¤hÃ¤n
asiaan puolestaan vaikutetaan valitsimella \koodi{unique\-list}, joka on
oletuksena pÃ¤Ã¤llÃ¤ viittaustyylissÃ¤ \koodi{author\-year}.

\komentoi{usepackage}
\pakettii{biblatex}
\begin{koodilohkosis}
\usepackage[style=authoryear, maxbibnames=99, minbibnames=3,
  maxcitenames=3, mincitenames=1, uniquelist=true]{biblatex}
\end{koodilohkosis}

\noindent
Kun halutaan nÃ¤yttÃ¤Ã¤ lÃ¤hdeluettelossa vain tekijÃ¤n etunimen alkukirjain
eikÃ¤ koko etunimeÃ¤, kÃ¤ytetÃ¤Ã¤n paketin valitsinta \koodi{given\-inits}.

\komentoi{usepackage}
\pakettii{biblatex}
\begin{koodilohkosis}
\usepackage[â€¦, giveninits]{biblatex}
\end{koodilohkosis}

\begin{tulossis}
  MeikÃ¤lÃ¤inen, M. (2020). -- --
\end{tulossis}

\noindent
LÃ¤hdeluettelossa nÃ¤ytetÃ¤Ã¤n teoksen tekijÃ¤n nimen kohdalla ajatusviiva,
jos tekijÃ¤ on sama kuin luettelon edellisellÃ¤kin teoksella. MikÃ¤li tÃ¤tÃ¤
(sinÃ¤nsÃ¤ yleistÃ¤) kÃ¤ytÃ¤ntÃ¶Ã¤ ei haluta, tÃ¤ytyy kÃ¤yttÃ¤Ã¤ paketin asetusta
\koodi{dash\-ed=\katk false}.

\komentoi{usepackage}
\pakettii{biblatex}
\begin{koodilohkosis}
\usepackage[â€¦, dashed=false]{biblatex}
\end{koodilohkosis}

\noindent
Joskus on tapana latoa lÃ¤hdeluettelossa tekijÃ¶iden nimet esimerkiksi
pienversaalilla, jotta ne erottuvat luettelosta paremmin. TÃ¤llainen
muutos vaatii, ettÃ¤ mÃ¤Ã¤ritellÃ¤Ã¤n uudelleen henkilÃ¶n nimiin liittyvÃ¤t
latomiskomennot \komento{mkbibnamefamily}, \komento{mkbibnamegiven},
\komento{mkbibnameprefix} ja \komento{mkbibnamesuffix}. Se saadaan
automaattiseksi seuraavilla komennoilla:

\komentoi{AtBeginBibliography}
\komentoi{mkbibnamefamily}
\komentoi{mkbibnamegiven}
\komentoi{mkbibnameprefix}
\komentoi{mkbibnamesuffix}
\begin{koodilohkosis}
\AtBeginBibliography{%
  \renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}
  \renewcommand{\mkbibnamegiven} [1]{\textsc{#1}}
  \renewcommand{\mkbibnameprefix}[1]{\textsc{#1}}
  \renewcommand{\mkbibnamesuffix}[1]{\textsc{#1}}
}
\end{koodilohkosis}

\begin{tulossis}
  \textsc{MeikÃ¤lÃ¤inen}, \textsc{Matti} \&amp; \textsc{TeikÃ¤lÃ¤inen},
  \textsc{Teija} (2020). -- --
\end{tulossis}

\noindent
LÃ¤hdeluettelossa yhden lÃ¤hdemerkinnÃ¤n eri osien erottimena on piste.
Joskus kuitenkin tekijÃ¶iden nimien ja vuosiluvun jÃ¤lkeen halutaan
kaksoispiste. Se saadaan toteutettua seuraavalla komennolla:

\komentoi{DeclareDelimFormat}
\begin{koodilohkosis}
\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}
\end{koodilohkosis}

\begin{tulossis}
  MeikÃ¤lÃ¤inen, Matti (2020): -- --
\end{tulossis}

\noindent
Oletuksena \paketti{biblatex} kursivoi \koodi{book}\-/ tyyppisten
teosten nimen (\koodi{title}). Sen sijaan artikkelikokoelmissa
(\koodi{incollection}) ja aikakauslehdissÃ¤ (\koodi{article})
kursivoidaan julkaistun kokoelman nimi (\koodi{book\-title}) ja
aikakauslehden nimi (\koodi{jour\-nal\-title}). NÃ¤issÃ¤ teostyypeissÃ¤
viitatun artikkelin nimi (\koodi{title}) kirjoitetaan lainausmerkkeihin.
KÃ¤ytÃ¤ntÃ¶ tuntuu jÃ¤rkevÃ¤ltÃ¤, sillÃ¤ kursivoituna on aina julkaistu
kokonainen teos eikÃ¤ sen osa. KÃ¤ytÃ¤nnÃ¶ssÃ¤hÃ¤n tiedonlÃ¤hde joudutaan
hakemaan teoksen nimen perusteella. Joku voi silti haluta muuttaa nÃ¤iden
ulkoasua ja esimerkiksi kursivoida aina viittauksen kohteena olevan
artikkelin. Seuraavassa on esimerkkikomennot edellÃ¤ mainittujen
lÃ¤hdeluettelon kenttien muuttamiseen.

\komentoi{DeclareFieldFormat}
\begin{koodilohkosis}
\DeclareFieldFormat[article,incollection]{title}{\emph{#1}}
\DeclareFieldFormat[article]{journaltitle}{#1}
\DeclareFieldFormat[incollection]{booktitle}{#1}
\end{koodilohkosis}

\noindent
EdellÃ¤ olevissa esimerkkikomennoissa on valinnaisena argumenttina ne
teostyypit, joihin halutaan vaikuttaa. Jos valinnaisen argumentin jÃ¤ttÃ¤Ã¤
pois, vaikutetaan kaikkiin teostyyppeihin, ellei tarkempaa
teostyyppikohtaista mÃ¤Ã¤ritelmÃ¤Ã¤ ole olemassa. EnsimmÃ¤inen pakollinen
argumentti on kentÃ¤n nimi teostietokannassa, ja toinen pakollinen
argumentti on sisÃ¤ltÃ¶, joka ladotaan lÃ¤hdemerkintÃ¤Ã¤n kyseisen tiedon
kohdalle. Teostietokannasta tulevan kentÃ¤n sisÃ¤ltÃ¶ on parametrissa
\koodi{\#1}.

MikÃ¤li haluaa jonkin teoksen tiedon lainausmerkkeihin tai sulkeisiin,
kannattaa kÃ¤yttÃ¤Ã¤ komentoa \komento{mkbibquote} tai
\komento{mkbibparens}. Ne ymmÃ¤rtÃ¤vÃ¤t ottaa huomioon eri kielten
lainausmerkkikÃ¤ytÃ¤nnÃ¶t ja mahdolliset sisÃ¤kkÃ¤iset sulkeet.

\komentoi{DeclareFieldFormat}
\komentoi{mkbibquote}
\begin{koodilohkosis}
\DeclareFieldFormat[incollection]{booktitle}{\mkbibquote{#1}}
\end{koodilohkosis}

\noindent
Oletuksena teoksen vuosiluku tai muu pÃ¤ivÃ¤ys ladotaan lÃ¤hdeluetteloon
sulkeissa. Joissakin lÃ¤hdeluettelokÃ¤ytÃ¤nnÃ¶issÃ¤ sulkeita ei kuitenkaan
ole, joten seuraavaksi kÃ¤sitellÃ¤Ã¤n keino sulkeiden poistamiseen.
Tavallisessa \paketti{biblatex}\-/paketin lÃ¤hdeluettelotyylissÃ¤
\koodi{author\-year} ei ole omaa asetusta teoksen pÃ¤ivÃ¤yksen ulkoasun
muuttamiseen, mutta jos kÃ¤yttÃ¤Ã¤ tyyliÃ¤ \koodi{ext-author\-year} (tms.),
sekin puute korjaantuu, ja voi kÃ¤yttÃ¤Ã¤ \koodi{bib\-label\-date}\-/
asetusta.

\komentoi{usepackage}
\pakettii{biblatex}
\komentoi{DeclareFieldFormat}
\begin{koodilohkosis}
\usepackage[style=ext-authoryear]{biblatex}

\DeclareFieldFormat{biblabeldate}{#1}
\end{koodilohkosis}

\begin{tulossis}
  MeikÃ¤lÃ¤inen, Matti 2020. -- --
\end{tulossis}

\noindent
Artikkelikokoelmissa (teostyyppi \koodi{incollection}) mainitaan
oletuksena kokoelman nimi ja toimittajat seuraavassa muodossa:
''Teoksessa: \textit{Hieno artikkelikokoelma.} Toim. Kirjailija,
Kaisa''. Ensin siis mainitaan julkaisun nimi ja sen jÃ¤lkeen toimittajien
nimet. Suomessa on tapana kirjoittaa nÃ¤mÃ¤ tiedot toisinpÃ¤in ja laittaa
toimittajarooli sulkeisiin. TÃ¤llaiset asetukset saa kÃ¤yttÃ¤mÃ¤llÃ¤ tyyliÃ¤
\koodi{ext-author\-year} (tms.), paketin asetusta
\koodi{in\-name\-before\-title=\katk true} ja seuraavia komentoja:

\komentoi{usepackage}
\pakettii{biblatex}
\komentoi{DeclareFieldFormat}
\komentoi{DeclareDelimFormat}
\komentoi{mkbibparens}
\begin{koodilohkosis}
\usepackage[style=ext-authoryear, innamebeforetitle=true]{biblatex}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\end{koodilohkosis}

\begin{tulossis}
  -- -- Teoksessa: Kirjailija, Kaisa (toim.). \textit{Hieno
    artikkelikokoelma}. -- --
\end{tulossis}

\noindent
LÃ¤hdeviittauksissa vuosiluvun ja sivunumeroiden vÃ¤lissÃ¤ kÃ¤ytetÃ¤Ã¤n
toisinaan pilkkua ja toisinaan kaksoispistettÃ¤. Sivunumeroiden
yhteydessÃ¤ voi olla lyhenne ''s.'' tai se voidaan jÃ¤ttÃ¤Ã¤ pois.
Seuraavilla komennoilla vaikutetaan nÃ¤ihin asetuksiin:

\komentoi{DeclareFieldFormat}
\komentoi{DeclareDelimFormat}
\komentoi{textcite}
\begin{koodilohkosis}
\DeclareFieldFormat{postnote}{#1} % Lyhenne â€s.â€ pois.
\DeclareDelimFormat{postnotedelim}{\addcolon\space} % Kaksoispiste.

\textcite[15--16]{tunniste} toteaa artikkelissaan -- --
\end{koodilohkosis}

\begin{tulossis}
  MeikÃ¤lÃ¤inen (2020: 15--16) toteaa artikkelissaan -- --
\end{tulossis}

\noindent
Kun saman teoksen usean tekijÃ¤n luettelo lyhennetÃ¤Ã¤n, kÃ¤ytetÃ¤Ã¤n
oletuksena latinankielistÃ¤ ilmausta pois jÃ¤Ã¤vien nimien tilalla:
''MeikÃ¤lÃ¤inen et al.''. Ilmauksen voi muuttaa suomenkieliseksi
seuraavalla komennolla:

\komentoi{DefineBibliographyStrings}
\begin{koodilohkosis}
\DefineBibliographyStrings{finnish}{
  andothers = {ym.},
}
\end{koodilohkosis}

\begin{tulossis}
  MeikÃ¤lÃ¤inen ym. (2020)
\end{tulossis}

\noindent
\paketti{biblatex}\-/ paketti sisÃ¤ltÃ¤Ã¤ valtavan paljon asetuksia ja
mahdollisuuksia lÃ¤hdeluettelon ja \=/viitteiden ulkoasun sÃ¤Ã¤tÃ¤miseen.
Esimerkiksi komennolla \komento{DeclareBibliographyDriver} voi ottaa
tÃ¤ysin haltuun, miten tietty teostyyppi ladotaan lÃ¤hdeluetteloon.
Komennolla \komento{DeclareSortingTemplate} voi mÃ¤Ã¤ritellÃ¤ omia
aakkostustapoja. LisÃ¤tietoa saa paketin ohjekirjasta.

\section{Asiahakemistot}
\label{luku/asiasanat}

Asiahakemistot ovat asiasanojen eli tÃ¤rkeiden kÃ¤sitteiden tai
henkilÃ¶iden luetteloita, ja ne ovat yleensÃ¤ tietokirjan viimeisillÃ¤
sivuilla. Kunkin hakemiston asiasanat ovat aakkosjÃ¤rjestyksessÃ¤, ja
jokaisen sanan perÃ¤ssÃ¤ luetellaan sivunumerot, joilla kyseistÃ¤ asiaa
kÃ¤sitellÃ¤Ã¤n. Asiahakemistojen tarkoituksena on helpottaa tiedon
lÃ¶ytÃ¤mistÃ¤. TÃ¤mÃ¤n oppaan luku \enquote{\nameref{luku/asiahakemisto}}
alkaa sivulta \pageref{luku/asiahakemisto}.

Latex tarvitsee asiahakemistojen tekemiseen paketin. NiitÃ¤ on tehty
useampia, mutta parhaita taitavat olla \pakettictan{indextools} ja
\pakettictan{imakeidx}, joihin tÃ¤mÃ¤ opas keskittyy. Paketit ovat
kÃ¤ytÃ¤nnÃ¶ssÃ¤ lÃ¤hes samanlaisia: \paketti{indextools} perustuu
\paketti{imakeidx}\-/ pakettiin ja korjaa joitakin sen puutteita.

\begin{esimerkki*}
  \komentoi{documentclass}
  \komentoi{index}
  \komentoi{makeindex}
  \komentoi{printindex}
  \komentoi{usepackage}
  \luokkai{article}
  \pakettii{indextools}
  \ymparistoi{document}

\begin{koodilohko}
\documentclass{article}
\usepackage{indextools}
\makeindex

\begin{document}

\index{erilaisia} \index{asiasanoja}

...

\printindex

\end{document}
\end{koodilohko}
  \caption{Asiahakemistojen toteutuksen perusteet}
  \label{esim/asiasanat-perus}
\end{esimerkki*}

Asiahakemiston toteutuksen perusajatus on yksinkertainen: LÃ¤hdetiedoston
alussa komennolla \komento{makeindex} mÃ¤Ã¤ritellÃ¤Ã¤n asiahakemistot.
Dokumentin sisÃ¤ltÃ¶sivuilla \komento{index}\-/ komennolla lisÃ¤tÃ¤Ã¤n
haluttuja asiasanoja hakemistoihin. Dokumentin lopussa komennolla
\komento{printindex} ladotaan varsinaiset hakemistot. NÃ¤itÃ¤ komentoja
kÃ¤sitellÃ¤Ã¤n tarkemmin erillisissÃ¤ alaluvuissa, mutta esimerkissÃ¤
\ref{esim/asiasanat-perus} ovat perusasiat tiiviisti.

\subsection{Asiahakemistojen mÃ¤Ã¤rittely}
\label{luku/asiasanat-mÃ¤Ã¤rittely}

Ennen asiasanojen ja \=/hakemistojen kÃ¤yttÃ¶Ã¤ tÃ¤ytyy hakemistot
mÃ¤Ã¤ritellÃ¤. Yksinkertaisimmillaan mÃ¤Ã¤rittelyksi riittÃ¤Ã¤ pelkkÃ¤ yksi
\komento{makeindex}\-/ komento lÃ¤hdedokumentin esittelyosassa, kuten
esimerkissÃ¤ \ref{esim/asiasanat-perus} on tehty. Jos dokumenttiin
tarvitaan useampia asiahakemistoja tai jos haluaa vaikuttaa yksittÃ¤isten
hakemistojen asetuksiin, tÃ¤ytyy tietÃ¤Ã¤ \komento{makeindex}\-/ komennosta
enemmÃ¤n. Sen sijaan yleisiÃ¤, kaikkien hakemistojen latomiseen liittyviÃ¤
asetuksia kÃ¤sitellÃ¤Ã¤n luvussa \ref{luku/asiasanat-asetukset}.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\koodi{#1} &amp; #2 \\}
  \begin{tabularx}{\textwidth}{lL}
    \toprule
    \ots{Valitsin} &amp; \ots{Merkitys} \\
    \midrule
    \rivi{name}{asiahakemiston tekninen nimi}
    \rivi{title}{asiahakemistolle ladottava otsikko}
    \rivi{intoc}{sisÃ¤llysluetteloon lisÃ¤Ã¤minen}
    \rivi{columns}{asiahakemiston palstojen lukumÃ¤Ã¤rÃ¤}
    \rivi{columnsep}{asiahakemiston palstojen vÃ¤li (mitta)}
    \rivi{columnseprule}{pystyviiva palstojen vÃ¤liin}
    \rivi{program}{asiahakemiston tekemisestÃ¤ vastaava ohjelma:
      \koodi{makeindex} (oletus), \koodi{xindy} ym.}
    \rivi{options}{ohjelman komentorivin valitsimia}
    \bottomrule
  \end{tabularx}
}{
  \caption{\komento{makeindex}\-/ komennon valitsimia}
  \label{tlk/makeindex-valitsimia}
}

\komento{makeindex}\-/ komennolle voi antaa yhden valinnaisen
argumentin, joka voi sisÃ¤ltÃ¤Ã¤ useita pilkulla toisistaan erotettuja
valitsimia ja niiden arvoja. Valitsimia on koottu taulukkoon
\ref{tlk/makeindex-valitsimia}.

Valitsin \koodi{name} on asiahakemiston tekninen nimi, jota kÃ¤ytetÃ¤Ã¤n
Latexissa sisÃ¤isesti. Valitsinta ei tarvitse kÃ¤yttÃ¤Ã¤, jos tarvitaan vain
yksi asiahakemisto. TÃ¤llÃ¶in nimeksi tulee sama kuin Latex\-/
lÃ¤hdedokumentin tiedoston nimi. Jos asiahakemistoja tarvitaan useita, on
jÃ¤rkevÃ¤Ã¤ nimetÃ¤ jokainen erikseen \koodi{name}\-/ valitsimen avulla.
Seuraavassa esimerkissÃ¤ mÃ¤Ã¤ritellÃ¤Ã¤n kolme eri hakemistoa, jotka
voisivat olla Latexin komennoille, mitoille ja laskureille:

\komentoi{makeindex}
\begin{koodilohkosis}
\makeindex[name=komennot, title=Komennot, columns=2, intoc]
\makeindex[name=mitat,    title=Mitat,    columns=2, intoc]
\makeindex[name=laskurit, title=Laskurit, columns=2, intoc]
\end{koodilohkosis}

\noindent
\komento{makeindex}\-/ komennon valitsin \koodi{title} nimeÃ¤Ã¤ otsikon
hakemistolle, joka ladotaan \komento{printindex}\-/ komennolla (luku
\ref{luku/asiasanat-asetukset}). Jos \koodi{title}\-/ valitsinta ei ole
annettu, otsikko tulee komennosta \komento{indexname}, joka puolestaan
mÃ¤Ã¤rÃ¤ytyy kieliasetusten perusteella (luku \ref{luku/kieliasetukset}).
Se on suomen kieliasetuksilla ''\indexname''.

Jos valitsin \koodi{intoc} on mukana, kyseisen asiahakemiston otsikko
lisÃ¤tÃ¤Ã¤n myÃ¶s sisÃ¤llysluetteloon. Valitsimella \koodi{columns} asetetaan
hakemiston palstojen lukumÃ¤Ã¤rÃ¤Ã¤ ja valitsimella \koodi{columnsep} mitta,
joka on palstojen vÃ¤linen tyhjÃ¤ tila. Palstojen vÃ¤liin saa pystyviivan
antamalla valitsimen \koodi{columnseprule}. Teknisesti palstat
toteutetaan \paketti{multicol}\-/ paketin avulla, joten sen paketin
mitat ovat kÃ¤ytettÃ¤vissÃ¤ myÃ¶s asiahakemistojen latomisessa. Katso
lisÃ¤tietoa palstoista ja \paketti{multicol}\-/ paketista luvusta
\ref{luku/multicol}.

Asiahakemiston jÃ¤rjestelystÃ¤ vastaa erillinen tietokoneohjelma, joka
suoritetaan automaattisesti lÃ¤hdedokumentin kÃ¤Ã¤ntÃ¤misen yhteydessÃ¤.
Ohjelmalle on olemassa pari vaihtoehtoa, ja sen voi valita valitsimella
\koodi{program}. TÃ¤rkeimmÃ¤t vaihtoehdot ovat
\koodi{makeindex}\footnote{\koodi{program=\katk makeindex} on
  oletusasetus, mutta yleisen oletusasetuksen voi vaihtaa paketin
  lataamisen yhteydessÃ¤. Katso luku \ref{luku/asiasanat-asetukset}.} ja
\koodi{xindy}, joka kÃ¤ytÃ¤nnÃ¶ssÃ¤ suorittaa \koodi{texindy}\-/ nimisen
ohjelman. NÃ¤illÃ¤ ohjelmilla on omat ohjekirjansa, joita pÃ¤Ã¤see lukemaan
Linux\-/ jÃ¤rjestelmissÃ¤ \koodi{man}\-/ komennolla. Jos kÃ¤yttÃ¤Ã¤
vaihtoehtoa \koodi{program=\katk xindy}, tÃ¤ytyy Latexin kÃ¤Ã¤ntÃ¤jÃ¤lle
(\koodi{lualatex} tai \koodi{xelatex}) antaa komentorivivalitsin
\koodi{\=/shell-escape}, joka kytkee pÃ¤Ã¤lle erÃ¤Ã¤n
lisÃ¤ominaisuuden.\footnote{LisÃ¤tietoa \koodi{tex}\-/ komennon
  ohjekirjasta, komennolla \koodi{man tex}.}

Valitsimella \koodi{options} annetaan edellÃ¤ mainitulle ohjelmalle
komentorivivalitsimet. TÃ¤tÃ¤ tarvitaan lÃ¤hinnÃ¤ silloin, kun kirjoittaja
on tehnyt oman tyylitiedoston tai muita erikoisempia asetuksia
asiahakemistolle. Varsinkin \koodi{xindy} on monipuolinen ohjelma, jonka
toimintaan voi vaikuttaa monella tavalla. LisÃ¤tietoa saa
\koodi{makeindex}\-/{} ja \koodi{xindy}\-/ ohjelmien ohjekirjoista.

\subsection{Asiasanojen lisÃ¤Ã¤minen}
\label{luku/asiasanat-lisÃ¤Ã¤minen}

Asiasanat lisÃ¤tÃ¤Ã¤n komennolla \komento{index}, joka sijoitetaan
lÃ¤hdedokumentissa juuri siihen kohtaan, jossa kyseistÃ¤ asiaa
kÃ¤sitellÃ¤Ã¤n. Komento itsessÃ¤Ã¤n ei lado mitÃ¤Ã¤n; se vain kirjaa asiasanan
ja sivunumeron muistiin. Komentoa kÃ¤ytetÃ¤Ã¤n esimerkiksi seuraavalla
tavalla:

\komentoi{index}
\begin{koodilohkosis}
Yhteen \index{kirjainperhe} kirjainperheeseen kuuluu tavallisesti
useita \index{kirjainleikkaus} leikkauksia.
\end{koodilohkosis}

\noindent
\komento{index}\-/ komennolle voi antaa yhden valinnaisen argumentin.
SitÃ¤ tarvitaan silloin, kun asiasana halutaan lisÃ¤tÃ¤ tiettyyn,
mÃ¤Ã¤rittelyn yhteydessÃ¤ \koodi{name}\-/ valitsimella nimettyyn
hakemistoon (luku \ref{luku/asiasanat-mÃ¤Ã¤rittely}). Jos esimerkiksi
dokumentissa on mÃ¤Ã¤ritelty asiahakemisto
\komento{makeindex}\komentoargv{name=\katk henkilÃ¶t}, lisÃ¤ttÃ¤isiin
asiasana kyseiseen hakemistoon seuraavasti:

\begin{koodilohkosis}
\index[henkilÃ¶t]{Waltari, Mika}
\end{koodilohkosis}

\noindent
TÃ¤mÃ¤n luvun muissa esimerkeissÃ¤ ei yleensÃ¤ kÃ¤ytetÃ¤ \komento{index}\-/
komennon valinnaista argumenttia. Argumentti on kuitenkin tarpeen aina,
kun halutaan lisÃ¤tÃ¤ asiasanoja tiettyyn, mÃ¤Ã¤rittelyn yhteydessÃ¤
nimettyyn hakemistoon.

Asiahakemistot aakkostetaan automaattisesti, mutta yksittÃ¤isten sanojen
aakkostustapaan voi vaikuttaa kÃ¤yttÃ¤mÃ¤llÃ¤ \koodi{@}\=/ merkkiÃ¤
\komento{index}\-/ komennon argumentissa. Ennen \koodi{@}\=/ merkkiÃ¤ on
asiasana siinÃ¤ muodossa kuin se aakkostetaan; \koodi{@}\=/ merkin
jÃ¤lkeen annetaan asiasana siinÃ¤ muodossa kuin se ladotaan
asiahakemistoon.

Seuraavassa esimerkissÃ¤ asiahakemistoon lisÃ¤tÃ¤Ã¤n kolme eri henkilÃ¶Ã¤,
joiden sukunimet ovat joko Vuori tai Wuori. Kaikki nimet aakkostetaan
nimen Vuori mukaisesti, eli \emph{v} ja \emph{w} katsotaan aakkostuksen
kannalta samaksi kirjaimeksi. TÃ¤mÃ¤ on tavallinen kÃ¤ytÃ¤ntÃ¶ suomalaisten
sanojen ja nimien aakkostuksessa.

\komentoi{index}
\begin{koodilohkosis}
\index{Vuori, Lauri}
\index{Vuori, Anita@Wuori, Anita}
\index{Vuori, YrjÃ¶@Wuori, YrjÃ¶}
\end{koodilohkosis}

\begin{tulossis}
  Wuori, Anita, \arabic{page} \\*
  Vuori, Lauri, \arabic{page} \\*
  Wuori, YrjÃ¶, \arabic{page}
\end{tulossis}

\noindent
EdellÃ¤ mainittua aakkostustoimintoa tarvitaan myÃ¶s silloin, kun
hakemiston sanojen latomisessa kÃ¤ytetÃ¤Ã¤n Latex\-/ komentoja eli asiasana
ei ole pelkkÃ¤Ã¤ tekstiÃ¤. Seuraavassa esimerkissÃ¤ asiahakemistoon lisÃ¤tÃ¤Ã¤n
Latex\-/ komento \komento{textbullet}. Se aakkostetaan sanan
\emph{\englanti{textbullet}} mukaan mutta hakemistoon se ladotaan
tasalevyisellÃ¤ fontilla (\komento{texttt}) ja alkuun lisÃ¤tÃ¤Ã¤n kenoviiva
(\komento{textbackslash}).

\komentoi{index}
\komentoi{texttt}
\komentoi{textbackslash}
\begin{koodilohkosis}
\index{textbullet@\texttt{\textbackslash textbullet}}
\end{koodilohkosis}

\noindent
KÃ¤ytÃ¤nnÃ¶ssÃ¤ \komento{index}\-/ komentoja ei kannata aina kirjoittaa
lÃ¤hdedokumenttiin sellaisenaan, vaan komennon voi sisÃ¤llyttÃ¤Ã¤ jonkin
toisen komennon mÃ¤Ã¤ritelmÃ¤Ã¤n. TÃ¤stÃ¤ on esimerkki luvussa
\ref{luku/komennot-abst}.

Asiasanat voi jÃ¤rjestÃ¤Ã¤ hakemistoon hierarkkisesti eli aihepiirien
mukaisesti. Se toteutetaan \komento{index}\-/ komennon argumentissa
\koodi{!}\=/ merkin avulla, jolla erotetaan ylemmÃ¤ntasoiset kÃ¤sitteet
alemmantasoisista. Seuraava esimerkki lisÃ¤Ã¤ asiahakemistoon sanan
\emph{fontit} ja sen alle kaksi asiasanaa sivunumeroineen:

\komentoi{index}
\begin{koodilohkosis}
\index{fontit!kirjainperhe}
\index{fontit!kirjainleikkaus}
\end{koodilohkosis}

\begin{tulossis}
  fontit \\*
  \makebox[\sisennys]{}kirjainleikkaus, \arabic{page} \\*
  \makebox[\sisennys]{}kirjainperhe, \arabic{page}
\end{tulossis}

\noindent
Asiasanahierarkiassa voi olla korkeintaan kolme tasoa, ja tasot
erotetaan toisistaan \koodi{!}\=/ merkillÃ¤. Jokainen \koodi{!}\=/
merkillÃ¤ erotettu osa voi sisÃ¤ltÃ¤Ã¤ \koodi{@}\=/ merkin, jolla voi
vaikuttaa sanan aakkostamiseen: ensin mainitaan hakusanasta
aakkostamisessa kÃ¤ytetty versio ja \koodi{@}\=/ merkin jÃ¤lkeen annetaan
hakemistoon ladottava versio.

Kirjoittaja voi vaikuttaa asiasanojen sivunumeroiden latomiseen
kÃ¤yttÃ¤mÃ¤llÃ¤ \komento{index}\-/ komennon argumentissa asiasanan perÃ¤ssÃ¤
\koodi{|}\=/ merkkiÃ¤ ja antamalla sen jÃ¤lkeen komennon nimen.
Seuraavassa esimerkissÃ¤ asiasanan sivunumero ladotaan kursiivilla:

\komentoi{index}
\begin{koodilohkosis}
\index{asiasana|textit}
\end{koodilohkosis}

\begin{tulossis}
  asiasana, \textit{\arabic{page}}
\end{tulossis}

\noindent
\komento{index}\-/ komennon argumenttiin ei kirjoiteta varsinaista
komentoa (\komento{textit}) vaan ainoastaan komennon nimi \koodi{|}\=/
merkin jÃ¤lkeen. Komento voi olla mikÃ¤ hyvÃ¤nsÃ¤ ja sen pitÃ¤isi hyvÃ¤ksyÃ¤
ainakin yksi argumentti: sivunumero. Asiahakemistoissa on joskus tapana
merkitÃ¤ asiasanan pÃ¤Ã¤asiallinen kÃ¤sittelysivu eri tavalla, esimerkiksi
kursiivilla tai lihavoinnilla, ja tÃ¤mÃ¤ \koodi{|}\=/ ominaisuus sopii
siihen.

Yksi hyÃ¶dyllinen kÃ¤yttÃ¶kohde \koodi{|}\=/ ominaisuudelle on viittaus
toiseen asiasanaan. On mÃ¤Ã¤ritelty jo valmiiksi komennot \komento{see} ja
\komento{seealso}, joita voi kÃ¤yttÃ¤Ã¤ \komento{index}\-/ komennossa
seuraavasti:

\komentoi{index}
\begin{koodilohkosis}
\index{fontit}
\index{kirjainleikkaus|see{fontit}}
\index{kirjainperhe|seealso{fontit}}
\end{koodilohkosis}

\begin{tulossis}
  fontit, \arabic{page} \\*
  kirjainleikkaus, \textit{\seename} fontit \\*
  kirjainperhe, \textit{\alsoname} fontit
\end{tulossis}

\noindent
Molemmat komennot hyvÃ¤ksyvÃ¤t kaksi argumenttia, mutta edellisessÃ¤
esimerkissÃ¤ annettiin vain yksi: \koodi{fontit}. Viimeiseksi
argumentiksi tulee automaattisesti aina sivunumero, mutta nÃ¤mÃ¤ komennot
jÃ¤ttÃ¤vÃ¤t sen huomioimatta. Sivunumeroa ei haluta nÃ¤kyviin, koska
tarkoitus on vain lisÃ¤tÃ¤ asiahakemistoon viittaus toiseen
asiasanaan.

Suomen kieliasetuksilla edellÃ¤ mainitut komennot latovat kursivoidun
ilmauksen \textit{\seename} tai \textit{\alsoname}. Kielikohtaisen
mÃ¤Ã¤ritelmÃ¤n voi muuttaa kielipaketteihin \paketti{polyglossia} ja
\paketti{babel} kuuluvan \komento{addto}\-/ komennon avulla. Seuraavassa
esimerkissÃ¤ vaikutetaan suomen kieliasetuksiin
(\komento{captionsfinnish}). Komennot tÃ¤ytyy sijoittaa dokumentin
esittelyosaan:

\komentoi{addto}
\komentoi{captionsfinnish}
\komentoi{renewcommand}
\komentoi{seename}
\komentoi{alsoname}
\begin{koodilohkosis}
\addto{\captionsfinnish}{
  \renewcommand{\seename}{katso}
  \renewcommand{\alsoname}{katso myÃ¶s}
}
\end{koodilohkosis}

\noindent
Toisaalta kirjoittaja voi mÃ¤Ã¤ritellÃ¤ ihan oman komentonsa
asiasanaviittausten tekemiseen. Oman komennon avulla lopputulokseen voi
vaikuttaa enemmÃ¤n. EsimerkissÃ¤ \ref{esim/see-katso-komento} mÃ¤Ã¤ritellÃ¤Ã¤n
komento \komentox{katso}, jolla voi toteuttaa viittauksia toisiin
asiasanoihin. Komento hyvÃ¤ksyy kaksi argumenttia mutta jÃ¤lkimmÃ¤inen eli
sivunumero jÃ¤tetÃ¤Ã¤n kÃ¤sittelemÃ¤ttÃ¤.

\begin{esimerkki*}
  \komentoi{newcommand}
  \komentoi{textrightarrow}
  \komentoi{index}

\begin{koodilohko}
\newcommand{\katso}[2]{\textrightarrow\ #1}

% Seuraavat komennot tarvitaan vain kerran dokumentissa, koska ne vain
% viittaavat toisiin asiasanoihin.
\index{kirjainleikkaus|katso{fontit}}
\index{kirjainperhe|katso{fontit}}

% Seuraavassa on esimerkki varsinaisista asiasanoista. Komennot
% sijoitetaan paikkoihin, joissa aihetta kÃ¤sitellÃ¤Ã¤n.
\index{fontit!kirjainleikkaus}
\index{fontit!kirjainperhe}
\end{koodilohko}

\begin{tulos}
  fontit \\*
  \makebox[\sisennys]{}kirjainleikkaus, \arabic{page} \\*
  \makebox[\sisennys]{}kirjainperhe, \arabic{page} \\*
  kirjainleikkaus, \textrightarrow\ fontit \\*
  kirjainperhe, \textrightarrow\ fontit
\end{tulos}

\caption{Oman \komentox{katso}\-/ komennon mÃ¤Ã¤rittely. Komennon nimeÃ¤
  kÃ¤ytetÃ¤Ã¤n \komento{index}\-/ komennon argumentissa ja sillÃ¤ viitataan
  toisiin asiasanoihin}
\label{esim/see-katso-komento}
\end{esimerkki*}

Tavallisesti \komento{index} kirjaa muistiin vain sen sivun, jolla
komento esiintyy. Jos komento esiintyy usealla perÃ¤kkÃ¤isellÃ¤ sivulla,
hakemistoon ladotaan automaattisesti sivualue, esimerkiksi 53--55.

Aina ei kuitenkaan ole mielekÃ¤stÃ¤ ilmaista aiheen kÃ¤sittelyÃ¤
yksittÃ¤isten \komento{index}\-/ komentojen avulla. Toisinaan voi olla
sopivampaa mÃ¤Ã¤rittÃ¤Ã¤ aiheen kÃ¤sittelyn alku- ja loppukohta. Alkukohta
ilmaistaan \komento{index}\-/ komennon argumentissa merkkien \koodi{|(}
avulla ja loppukohta merkkien \koodi{|)} avulla. Jos aloitus ja lopetus
sattuvat samalle sivulle, hakemistoon ladotaan vain yksi sivunumero.
Muussa tapauksessa ladotaan sivualue. Seuraavassa on esimerkki aiheen
kÃ¤sittelyn alun ja lopun merkitsemiseen:

\komentoi{index}
\begin{koodilohkosis}
\index{asiasana|(}  % aiheen kÃ¤sittely alkaa
...
\index{asiasana|)}  % aiheen kÃ¤sittely loppuu
\end{koodilohkosis}

\begin{tulossis}
  asiasana, 53--55
\end{tulossis}

\noindent
EdellÃ¤ mainittujen aloitusmerkkien \koodi{|(} perÃ¤Ã¤n voi kirjoittaa
komennon nimen, jos haluaa vaikuttaa sivunumeroiden latomiseen. TÃ¤tÃ¤
kÃ¤siteltiin jo edellÃ¤, mutta seuraavassa on kÃ¤ytÃ¤nnÃ¶n esimerkki:

\komentoi{index}
\begin{koodilohkosis}
\index{asiasana|(textit}  % aiheen kÃ¤sittely alkaa
...
\index{asiasana|)}        % aiheen kÃ¤sittely loppuu
\end{koodilohkosis}

\begin{tulossis}
  asiasana, \textit{53--55}
\end{tulossis}

\noindent
Jos itse asiasanaan tÃ¤ytyy sisÃ¤llyttÃ¤Ã¤ edellÃ¤ mainittuja
\komento{index}\-/ komennon erikoismerkkejÃ¤ (\koodi{@!|}), pitÃ¤Ã¤ niiden
eteen kirjoittaa yleislainausmerkki (\koodi{\textquotedbl}). Se estÃ¤Ã¤
seuraavan merkin tulkitsemisen \komento{index}\-/ komennon
erikoismerkiksi.

\subsection{Hakemiston latominen ja asetukset}
\label{luku/asiasanat-asetukset}

Hakemistot ladotaan komennolla \komento{printindex}. Tyypillisesti
komento sijaitsee dokumentin lopussa eli esimerkiksi artikkelin tai
tietokirjan viimeisillÃ¤ sivuilla. Jos komennon suorittaa ilman
argumentteja, se latoo oletushakemiston eli sen, jolle ei ole annettu
teknistÃ¤ nimeÃ¤ \komento{makeindex}\-/ komennon \koodi{name}\-/
valitsimella (luku \ref{luku/asiasanat-mÃ¤Ã¤rittely}). Komennolle voi
antaa hakasulkeissa yhden valinnaisen argumentin, joka ilmaisee
ladottavan hakemiston teknisen nimen, esimerkiksi:

\komentoi{printindex}
\begin{koodilohkosis}
\printindex            % Latoo nimeÃ¤mÃ¤ttÃ¶mÃ¤n hakemiston.
\printindex[henkilÃ¶t]  % Latoo hakemiston nimeltÃ¤ â€henkilÃ¶tâ€.
\end{koodilohkosis}

\noindent
Luvussa luku \ref{luku/asiasanat-mÃ¤Ã¤rittely} kÃ¤sitellÃ¤Ã¤n yksittÃ¤isten
hakemistojen asetuksia, mutta \komento{indexsetup}\-/ komennolla voi
mÃ¤Ã¤rittÃ¤Ã¤ kaikkia hakemistoja koskevia yleisempiÃ¤ asetuksia. Komennolle
annetaan yksi argumentti, joka voi sisÃ¤ltÃ¤Ã¤ useita pilkuilla erotettuja
valitsimia ja niiden arvoja. Valitsimia on koottu taulukkoon
\ref{tlk/indexsetup-valitsimia}, ja seuraavassa on kÃ¤ytÃ¤nnÃ¶n esimerkki:

\begin{koodilohkosis}
\indexsetup{level=\section*, noclearpage}
\end{koodilohkosis}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\koodi{#1} &amp; #2 \\}
  \begin{tabularx}{\textwidth}{lL}
    \toprule
    \ots{Valitsin} &amp; \ots{Merkitys ja vaihtoehtoja} \\
    \midrule
    \rivi{level}{Hakemistojen otsikkokomento: \komento{chapter*},
      \komento{chapter}, \komento{section*}, \komento{section} ym.}
    \rivi{toclevel}{Hakemiston taso sisÃ¤llysluettelossa:
      \koodi{chapter}, \koodi{section} ym.}
    \rivi{noclearpage}{Ei automaattista sivunvaihtoa hakemistojen
      alussa.}
    \rivi{firstpagestyle}{Hakemiston ensimmÃ¤isen sivun sivutyyli:
      \koodi{plain}, \koodi{empty} ym.}
    \bottomrule
  \end{tabularx}
}{
  \caption{\komento{indexsetup}\-/ komennon valitsimia, joilla
    vaikutetaan kaikkien asiahakemistojen latomiseen}
  \label{tlk/indexsetup-valitsimia}
}

\noindent
Valitsimen \koodi{level} arvoksi annetaan tyypillisesti otsikkokomento,
joka suoritetaan kunkin hakemiston alussa. Itse otsikon tekstin voi
mÃ¤Ã¤ritellÃ¤ \komento{makeindex}\-/ komennon \koodi{title}\-/ valitsimella
kullekin hakemistolle erikseen. \koodi{level}\-/ valitsimelle oletusarvo
on dokumenttiluokkakohtainen korkein otsikkotaso eli \komento{chapter*}
tai \komento{section*}. Jos arvoksi antaa tÃ¤hdettÃ¶mÃ¤n otsikkokomennon
kuten \komento{chapter}, se luo automaattisesti merkinnÃ¤n
sisÃ¤llysluetteloon. Silloin ei kannata kÃ¤yttÃ¤Ã¤ \komento{makeindex}\-/
komennon \koodi{intoc}\-/ valitsinta.

KÃ¤ytÃ¤nnÃ¶ssÃ¤ \koodi{level}\-/ valitsimen arvoksi voi antaa minkÃ¤ hyvÃ¤nsÃ¤
komennon, joka hyvÃ¤ksyy yhden argumentin eli kyseisen hakemiston
otsikkotekstin. Kirjoittaja voi siis asettaa tÃ¤hÃ¤n oman komentonsa,
jonka mÃ¤Ã¤ritelmÃ¤ssÃ¤ mahdollisesti suoritetaan muutakin kuin pelkkÃ¤
otsikkokomento. \koodi{toclevel}\-/ valitsimella ilmaistaan hakemistojen
taso sisÃ¤llysluettelossa. Valitsimen arvoksi annetaan otsikkokomentojen
nimi kuten \koodi{section} tai \koodi{subsection}.

Oletuksena jokaisen asiahakemiston alussa suoritetaan sivunvaihtokomento
\komento{clearpage}. KÃ¤yttÃ¤mÃ¤llÃ¤ valitsinta \koodi{noclearpage} estetÃ¤Ã¤n
automaattinen sivunvaihto. Valitsimella \koodi{firstpagestyle} asetetaan
kunkin asiahakemiston ensimmÃ¤isen sivun sivutyyli (luku
\ref{luku/ylÃ¤-ala-tunnisteet}). Oletusarvo on \koodi{plain} eli
tavallinen, oletuksena pelkÃ¤n sivunumeron sisÃ¤ltÃ¤vÃ¤ sivutyyli. TÃ¤mÃ¤
valitsin ei ole kÃ¤ytÃ¶ssÃ¤, jos ladattuna on paketti \paketti{fancyhdr}.

Ennen \komento{printindex}\-/ komentoa voi kÃ¤yttÃ¤Ã¤ komentoa
\komento{indexprologue}, jolla mÃ¤Ã¤ritetÃ¤Ã¤n johdantoteksti asiahakemiston
alkuun. Komento vaikuttaa seuraavaksi ladottavaan asiahakemistoon, eli
se kannattaa sijoittaa juuri ennen \komento{printindex}\-/ komentoa.
Komentoa kÃ¤ytetÃ¤Ã¤n seuraavasti:

\komentoi{indexprologue}
\begin{koodilohkosis}
\indexprologue[vÃ¤li]{teksti}
\end{koodilohkosis}

\noindent
Pakollinen argumentti \koodi{teksti} on hakemiston johdannoksi
tarkoitettu teksti. Valinnainen argumentti \koodi{vÃ¤li} on tarkoitettu
komennolle, joka latoo pystysuuntaisen vÃ¤lin johdantotekstin jÃ¤lkeen,
ennen asiasanojen luetteloa. Oletuksena vÃ¤liksi tulee komennon
\komento{bigskip} latoma vÃ¤li, mutta muunlaisen vÃ¤lin saa kirjoittamalla
valinnaiseen argumenttiin esimerkiksi \komento{vspace}\-/ komennon ja
sen argumentiksi halutun mitan.

Asiahakemistopaketin (\paketti{indextools} tai \paketti{imakeidx})
lataamisen yhteydessÃ¤ voi mÃ¤Ã¤rittÃ¤Ã¤ asetuksia tiettyjen valitsimien
avulla. Asetusvalitsimet kirjoitetaan \komento{usepackage}\-/ komennon
valinnaiseen argumenttiin ja ne erotetaan toisistaan pilkulla.

Esimerkiksi valitsin \koodi{xindy} aiheuttaa sen, ettÃ¤
\komento{makeindex}\-/ komennoilla mÃ¤Ã¤ritellyille asiahakemistoille
tulee oletuksena asetus \koodi{program=\katk xindy}. Muutoin oletus on
\koodi{program=\katk makeindex} (luku \ref{luku/asiasanat-mÃ¤Ã¤rittely}).

\komentoi{usepackage}
\pakettii{indextools}
\begin{koodilohkosis}
\usepackage[xindy]{indextools}
\end{koodilohkosis}

\noindent
Jos omassa dokumentissa tarvitaan useita asiahakemistoja, saatetaan
joskus tarvita valitsinta \koodi{splitindex}. Se kiertÃ¤Ã¤ erÃ¤stÃ¤ Latexin
tiedostojen kÃ¤sittelyn puutetta. NimittÃ¤in Latex ei voi kÃ¤Ã¤ntÃ¤misen
yhteydessÃ¤ kirjoittaa kovin moneen tiedostoon, ja jokainen asiahakemisto
tarvitsisi omansa. Rajoitukset saattavat tulla vastaan useiden
asiahakemistojen kÃ¤sittelyssÃ¤.

KÃ¤yttÃ¤mÃ¤llÃ¤ valitsinta \koodi{splitindex} kierretÃ¤Ã¤n edellÃ¤ mainittua
rajoitusta siten, ettÃ¤ ensin kaikki asiahakemistot kirjoitetaan yhteen
vÃ¤liaikaistiedostoon ja myÃ¶hemmin ne erotetaan automaattisesti
toisistaan suorittamalla \koodi{splitindex}\-/ niminen ohjelma. TÃ¤mÃ¤n
valitsimen kÃ¤yttÃ¶ vaatii, ettÃ¤ Latexin kÃ¤Ã¤ntÃ¤jÃ¤ohjelmalle
(\koodi{lualatex} tai \koodi{xelatex}) annetaan komentorivivalitsin
\koodi{\=/shell-escape}.

\section{Kuvat}
\label{luku/grafiikka}

Perus Latex ei pysty juuri minkÃ¤Ã¤nlaiseen kuvien eli tietokonegrafiikan
kÃ¤sittelyyn, mutta avuksi on tehty monipuolisia paketteja. Niiden avulla
voidaan esimerkiksi ladata ja latoa kuvatiedostoja sekÃ¤ piirtÃ¤Ã¤
vektorigrafiikkakuvia Latex\-/ komentojen avulla.

\subsection{Kuvatiedostot}

Paketti \pakettictan{graphicx} sisÃ¤ltÃ¤Ã¤ toiminnot kuvatiedostojen
kÃ¤sittelyyn sekÃ¤ tekstin tai muun sisÃ¤llÃ¶n kÃ¤Ã¤ntelyyn ja skaalaamisen.
Kuvatiedostojen peruskÃ¤yttÃ¶ sujuu komennolla \komento{includegraphics}
seuraavasti:

\komentoi{includegraphics}
\begin{koodilohkosis}
\includegraphics[width=6cm]{kuvatiedosto.jpg}
\end{koodilohkosis}

\noindent
TÃ¤llÃ¤ tavoin lisÃ¤tty kuvatiedosto kÃ¤yttÃ¤ytyy tekstikappaleessa kuin mikÃ¤
tahansa kirjain tai laatikko. Edellisen esimerkin pakollisessa
argumentissa oleva \koodi{kuvatiedosto.\katk jpg} on tiedoston nimi. Se
voi sisÃ¤ltÃ¤Ã¤ myÃ¶s hakemistopolun, jos tiedosto ei sijaitse samassa
hakemistossa Latex\-/ lÃ¤hdetiedostojen kanssa. Kaikki kÃ¤yttÃ¶jÃ¤rjestelmÃ¤n
hyvÃ¤ksymÃ¤t tiedostonnimet eivÃ¤t Latexissa toimi, vaan kannattaa jÃ¤ttÃ¤Ã¤
vÃ¤lilyÃ¶nnit pois ja pitÃ¤ytyÃ¤ suppeassa latinalaisessa
merkkivalikoimassa.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{\koodi{#1} &amp; #2 \\}
  \begin{tabularx}{\textwidth}{lL}
    \toprule
    \ots{Valitsin} &amp; \ots{Merkitys} \\
    \midrule
    \rivi{width}{leveysmitta}
    \rivi{height}{korkeusmitta}
    \rivi{angle}{kÃ¤Ã¤ntÃ¶kulma asteina}
    \rivi{origin}{kÃ¤Ã¤ntÃ¤misen keskipiste:
      \koodi{c} (keskikohta),
      \koodi{l} (vasen),
      \koodi{r} (oikea),
      \koodi{t} (ylÃ¤),
      \koodi{b} (ala),
      \koodi{B} (rivin peruslinja)
    }

    \rivi{trim}{reunojen siirto: vasen, ala, oikea, ylÃ¤}
    \rivi{clip}{leikkaminen reunojen ulkopuolelta}
    \bottomrule
  \end{tabularx}
}{
  \caption{\komento{includegraphics}\-/ komennon valinnaiseen
    argumenttiin sopivia valitsimia}
  \label{tlk/includegraphics-valitsimia}
}

\komento{includegraphics}\-/ komennon valinnaiseen argumenttiin voi
kirjoittaa monenlaisia pilkulla toisistaan erotettuja valitsimia ja
niiden arvoja. Joitakin valitsimia on koottu taulukkoon
\ref{tlk/includegraphics-valitsimia}. Tavallisimpia ovat varmaankin
\koodi{width} ja \koodi{height}, joilla mÃ¤Ã¤ritetÃ¤Ã¤n, minkÃ¤ levyisenÃ¤ tai
korkuisena kuva halutaan latoa. NÃ¤istÃ¤ voi asettaa vain jommankumman, ja
toinen mitta mÃ¤Ã¤rÃ¤ytyy alkuperÃ¤iskuvan mittasuhteiden perusteella.
Asettamalla sekÃ¤ leveyden ettÃ¤ korkeuden kuva skaalataan juuri kyseisiin
mittoihin.

Kuvan kÃ¤Ã¤ntÃ¤misessÃ¤ kÃ¤ytetÃ¤Ã¤n \koodi{angle}\-/ valitsinta ja astelukua.
Kuva kÃ¤Ã¤ntyy \koodi{origin}\-/ valitsimella mÃ¤Ã¤ritetyn pisteen kautta,
ja valitsimen arvoksi annetaan taulukossa
\ref{tlk/includegraphics-valitsimia} mainittuja kirjaimia tai niiden
yhdistelmiÃ¤. Esimerkiksi \koodi{origin=\katk lt} tarkoittaa vasenta
(\koodi{l}) ylÃ¤nurkkaa (\koodi{t}).

Kuvaa voi rajata kÃ¤yttÃ¤mÃ¤llÃ¤ yhdessÃ¤ valitsimia \koodi{trim} ja
\koodi{clip}. \koodi{trim}\-/ valitsimen arvoksi annetaan neljÃ¤
vÃ¤lilyÃ¶nnillÃ¤ erotettua mittaa, joiden jÃ¤rjestys on seuraava: vasen,
ala, oikea, ylÃ¤. TÃ¤mÃ¤ valitsin vain siirtÃ¤Ã¤ kuvan reunoja sisÃ¤Ã¤npÃ¤in,
mutta kun mukaan ottaa valitsimen \koodi{clip}, kuvasta myÃ¶s leikataan
reunojen ulkopuolinen alue pois. Seuraavassa esimerkissÃ¤ kuvaa leikataan
vasemmalta 1\,mm, alhaalta 2\,mm, oikealta 3\,mm ja ylhÃ¤Ã¤ltÃ¤ 4\,mm.
Kuvan lopulliseksi leveydeksi tulee 40\,mm.

\komentoi{includegraphics}
\begin{koodilohkosis}
\includegraphics[width=40mm,
  clip, trim={1mm 2mm 3mm 4mm}]{kuvatiedosto.jpg}
\end{koodilohkosis}

\subsection{Vektorigrafiikka}

Paketti \pakettictan{tikz} tuo Latexiin monipuolisen apukielen, jolla
kirjoittaja voi piirtÃ¤Ã¤ vektorigrafiikkaa. Paketin taustalla toimii
toinen paketti ja grafiikkajÃ¤rjestelmÃ¤ \paketti{pgf} eli
\englantik{portable graphics format}, mutta kirjoittajan ei yleensÃ¤
tarvitse vÃ¤littÃ¤Ã¤ taustalla olevasta matalan tason tekniikasta.

TÃ¤ssÃ¤ oppaassa kÃ¤sitellÃ¤Ã¤n vain joitakin \paketti{tikz}\-/ paketin
perustoimintoja. Paketin omassa ohjekirjassa on yli 1\,300 sivua, eli
valtavan paljon hienoja ominaisuuksia jÃ¤Ã¤ lukijan itse selvitettÃ¤vÃ¤ksi.
Runsasta sivumÃ¤Ã¤rÃ¤Ã¤ ei kannata sÃ¤ikÃ¤htÃ¤Ã¤: ei opasta tarvitse kokonaan
lukea, ja alkupuolella teksti johdattelee lukijaa eteenpÃ¤in helppojen ja
kÃ¤ytÃ¤nnÃ¶llisten esimerkkien avulla.

Vektorigrafiikka toteutetaan ympÃ¤ristÃ¶n \ymparisto{tikzpicture} sisÃ¤llÃ¤.
Se ei ole tavallinen Latexin ympÃ¤ristÃ¶, vaan se on tarkoitettu vain
piirtokomennoille, joilla on oma, muusta Latexista hieman poikkeava
kielioppinsa. Seuraavassa on pieni esimerkki:

\ymparistoi{tikzpicture}
\komentoi{draw}
\begin{koodilohkosis}
\begin{tikzpicture}[x=1mm, y=1mm]
  \draw (0,0) -- (25,5) -- (50,0) -- cycle;
  \draw (25,0) -- (25,5);
\end{tikzpicture}
\end{koodilohkosis}

\begin{tulossis}
  \begin{tikzpicture}[x=1mm, y=1mm]
    \draw (0,0) -- (25,5) -- (50,0) -- cycle;
    \draw (25,0) -- (25,5);
  \end{tikzpicture}
\end{tulossis}

\noindent
EdellisessÃ¤ esimerkissÃ¤ ympÃ¤ristÃ¶n alussa mÃ¤Ã¤ritellÃ¤Ã¤n hakasulkeissa
perusasetuksia. TÃ¤ssÃ¤ asetetaan x- ja y\=/ akselien suuntaiset
yksikkÃ¶mitat 1\,mm:n pituiseksi. Piirtokomentojen koordinaatit kÃ¤yttÃ¤vÃ¤t
sen jÃ¤lkeen nÃ¤itÃ¤ yksikÃ¶itÃ¤. Jos yksikÃ¶itÃ¤ ei mÃ¤Ã¤ritellÃ¤, kÃ¤ytetÃ¤Ã¤n
oletusyksikkÃ¶Ã¤, joka on 10\,mm. On myÃ¶s mahdollista antaa
piirtokomentojen koordinaateissa suoraan Latexin mittayksikÃ¶t,
esimerkiksi \koodi{(25mm,5mm)} tai \koodi{(10bp,20bp)}, jolloin
koordinaatit tulevat juuri nÃ¤iden mittojen mukaiseksi. Piirustusalustan
origo eli koordinaatti (0,~0) sijaitsee vasemmassa alanurkassa, ja
koordinaatisto kasvaa ylÃ¶s ja oikealle.

EdellÃ¤ olevassa esimerkissÃ¤ piirretÃ¤Ã¤n komennolla \komento{draw}
viivakuvio, jonka vÃ¤lipisteiden koordinaatit ilmaistaan sulkeissa.
Lopussa oleva \koodi{cycle} piirtÃ¤Ã¤ viivan takaisin saman
\komento{draw}\-/ komennon alkupisteeseen. TÃ¤tÃ¤ kokonaisuutta kutsutaan
poluksi, ja sen lopussa tÃ¤ytyy olla puolipiste
(\koodi{;}).\footnote{Polkujen luomisen peruskomento on \komento{path},
  joka ei piirrÃ¤ mitÃ¤Ã¤n, ellei sille anna valinnaista argumenttia
  \koodi{draw}. Komento \komento{draw} on itse asiassa sama kuin
  \komento{path}\komentoargv{draw}.} EsimerkissÃ¤ on toinenkin polku eli
toinen \komento{draw}\-/ komento, joka piirtÃ¤Ã¤ pystyviivan suuren
kolmion keskelle ja jakaa sen kahdeksi pienemmÃ¤ksi kolmioksi.

Koordinaatit voi ilmaista suhteessa polun edelliseen pisteeseen
lisÃ¤Ã¤mÃ¤llÃ¤ koordinaattisulkeiden eteen kaksi plusmerkkiÃ¤. Seuraavassa
esimerkissÃ¤ havainnollistetaan sitÃ¤. Kuvion (polun) neljÃ¤ ensimmÃ¤istÃ¤
pistettÃ¤ ilmaistaan x- ja y\=/ koordinaateilla mutta viimeinen piste
ilmaistaan kulman (25Â°) ja pituuden (8) avulla.

\ymparistoi{tikzpicture}
\komentoi{draw}
\begin{koodilohkosis}
\begin{tikzpicture}[x=1mm, y=1mm]
  \draw (0,0) -- ++(0,5) -- ++(10,0) -- ++(0,-5) -- ++(25:8);
\end{tikzpicture}
\end{koodilohkosis}

\begin{tulossis}
  \begin{tikzpicture}[x=1mm, y=1mm]
    \draw (0,0) -- ++(0,5) -- ++(10,0) -- ++(0,-5) -- ++(25:8);
  \end{tikzpicture}
\end{tulossis}

\noindent
Viivojen lisÃ¤ksi on olemassa komentoja muillekin geometrisille
peruskuvioille. EsimerkissÃ¤ \ref{esim/tikz-kuvioita} piirretÃ¤Ã¤n
suorakulmio, ympyrÃ¤, ellipsi, sektorin kaari (0--90Â°) ja taivutettu
viiva. Viimeksi mainittu (rivi~6) sisÃ¤ltÃ¤Ã¤ alkupisteen, kaksi
nÃ¤kymÃ¤tÃ¶ntÃ¤ ohjauspistettÃ¤ (\koodi{controls}, \koodi{and}), joiden
suuntaan viivaa taivutetaan, sekÃ¤ loppupisteen.

\begin{esimerkki*}
  \ymparistoi{tikzpicture}
  \komentoi{draw}

\begin{koodilohko}
\begin{tikzpicture}[x=1mm, y=1mm]
  \draw (0,0) rectangle (10,5);
  \draw (20,2.5) circle [radius=2.5];
  \draw (35,2.5) ellipse [x radius=4, y radius=2, rotate=30];
  \draw (55,0) arc [start angle=0, end angle=90, radius=5];
  \draw (65,0) .. controls (75,7) and (80,7) .. (80,0);
\end{tikzpicture}
\end{koodilohko}

  \begin{tulos}
    \begin{tikzpicture}[x=1mm, y=1mm]
      \draw (0,0) rectangle (10,5);
      \draw (20,2.5) circle [radius=2.5];
      \draw (35,2.5) ellipse [x radius=4, y radius=2, rotate=30];
      \draw (55,0) arc [start angle=0, end angle=90, radius=5];
      \draw (65,0) .. controls (75,7) and (80,7) .. (80,0);
    \end{tikzpicture}
  \end{tulos}

  \caption{Erilaisia geometrisia kuvioita: suorakulmio, ympyrÃ¤, ellipsi,
    ympyrÃ¤n kaari ja taivutettu viiva}
  \label{esim/tikz-kuvioita}
\end{esimerkki*}

Kuten esimerkki \ref{esim/tikz-kuvioita} osoittaa, piirtokomennoille voi
antaa hakasulkeissa lisÃ¤tietoja. Mahdollisuuksia on valtavan paljon:
esimerkiksi vÃ¤rit, viivojen paksuus, nuolenkÃ¤rjet ja kulmien pyÃ¶ristys
ilmaistaan tÃ¤llaisten lisÃ¤tietojen avulla. Esimerkki
\ref{esim/tikz-asetuksia} havainnollistaa tavallisimpia valinnaisia
argumentteja. VÃ¤rivalitsimien \koodi{draw} ja \koodi{fill} arvoksi voi
antaa mitÃ¤ hyvÃ¤nsÃ¤ nimettyjÃ¤ vÃ¤rejÃ¤, joita kÃ¤sitellÃ¤Ã¤n tarkemmin luvussa
\ref{luku/vÃ¤rit}.

\begin{esimerkki*}
  \ymparistoi{tikzpicture}
  \komentoi{draw}

\begin{koodilohko}
\begin{tikzpicture}[x=1mm, y=1mm,
  nuoli/.style={line width=1bp, draw=red}]

  % Nuolia
  \draw [nuoli, -&gt;] (0,0) -- (10,5);
  \draw [nuoli, &lt;&lt;-, draw=blue] (10,0) -- (20,5);
  \draw [nuoli, &lt;-&gt;] (20,0) -- (30,5);

  % TÃ¤ytetty nelikulmio, viivan paksuus ja kulmien pyÃ¶ristys
  \draw [draw=black, fill=yellow, line width=1.5bp, rounded
    corners=3bp] (40,0) -- ++(3,5) -- ++(20,0) -- ++(3,-5) -- cycle;
\end{tikzpicture}
\end{koodilohko}

  \begin{tulos}
    \begin{tikzpicture}[x=1mm, y=1mm,
      nuoli/.style={line width=1bp, draw=red}]

      % Nuolia
      \draw [nuoli, -&gt;] (0,0) -- (10,5);
      \draw [nuoli, &lt;&lt;-, draw=blue] (10,0) -- (20,5);
      \draw [nuoli, &lt;-&gt;] (20,0) -- (30,5);

      % TÃ¤ytetty nelikulmio, viivan paksuus ja kulmien pyÃ¶ristys
      \draw [draw=black, fill=yellow, line width=1.5bp, rounded
      corners=3bp] (40,0) -- ++(3,5) -- ++(20,0) -- ++(3,-5) -- cycle;
    \end{tikzpicture}
  \end{tulos}

\caption{Erilaisia piirtokomentojen argumentteja: nuolenkÃ¤rjet, vÃ¤rit,
  viivan paksuus ja kulmien pyÃ¶ristys}
\label{esim/tikz-asetuksia}
\end{esimerkki*}

EsimerkissÃ¤ \ref{esim/tikz-asetuksia} olevan \ymparisto{tikzpicture}\-/
ympÃ¤ristÃ¶n valinnaisessa argumentissa mÃ¤Ã¤ritellÃ¤Ã¤n rivillÃ¤~2 oma
tyyliasetus nimeltÃ¤ \koodi{nuoli}. Asetukseen kuuluu viivan leveys
(\koodi{line width}) ja vÃ¤ri (\koodi{draw}). NÃ¤in mÃ¤Ã¤riteltyÃ¤
\koodi{nuoli}\-/ tyyliÃ¤ kÃ¤ytetÃ¤Ã¤n rivien 5\==7 \komento{draw}\-/
komennoissa. TÃ¤llÃ¤ tavoin omia tyylejÃ¤ mÃ¤Ã¤rittelemÃ¤llÃ¤ sÃ¤Ã¤stÃ¤Ã¤
todennÃ¤kÃ¶isesti aikaa ja vaivaa, koska tyyliasetuksia voi sen jÃ¤lkeen
muuttaa yhdestÃ¤ paikasta.

Usein tarvittavat \komento{draw}\-/ polut ja komentosarjat kannattanee
piilottaa omien komentojen sisÃ¤Ã¤n. Kirjoittaja voi siis tehdÃ¤
\komento{newcommand}\-/komennolla (luku \ref{luku/komennot}) ja muilla
vastaavilla omia, mahdollisesti kokeamman tason piirtokomentoja, jotka
piirtÃ¤vÃ¤t usein tarvittavia kuvan osia.

\begin{esimerkki*}
  \ymparistoi{tikzpicture}
  \komentoi{node}

\begin{koodilohko}
\begin{tikzpicture}[x=1mm, y=1mm]
  \node at (0,0) [draw=red, rectangle, rounded corners=3bp] {vasen};
  \node [color=blue] at (20,0) {keski};
  \node at (40,0) [draw, circle, inner sep=0bp, fill=yellow] {oikea};
\end{tikzpicture}
\end{koodilohko}

  \begin{tulos}
    \begin{tikzpicture}[x=1mm, y=1mm]
      \node at (0,0) [draw=red, rectangle, rounded corners=3bp] {vasen};
      \node [color=blue] at (20,0) {keski};
      \node at (40,0) [draw, circle, inner sep=0bp, fill=yellow] {oikea};
    \end{tikzpicture}
  \end{tulos}

  \caption{Solmuja tehdÃ¤Ã¤n \komento{node}\-/ komennolla}
  \label{esim/tikz-solmut}
\end{esimerkki*}

Kuvaan voi sisÃ¤llyttÃ¤Ã¤ myÃ¶s tekstiÃ¤ tai muuta Latexin sisÃ¤ltÃ¶Ã¤. Se
tapahtuu helpoimmin komennolla \komento{node}, joka tekee niin sanottuja
solmuja. Komento tarvitsee ainakin solmun sijaintikoordinaatit ja
ladottavan sisÃ¤llÃ¶n. EsimerkissÃ¤ \ref{esim/tikz-solmut} on kolme
erityyppistÃ¤ solmua.

Kuten esimerkistÃ¤ nÃ¤kyy, solmulle voi mÃ¤Ã¤rittÃ¤Ã¤ kehykset ja niiden
vÃ¤rin, (\koodi{draw}), tÃ¤yttÃ¶vÃ¤rin (\koodi{fill}), sisÃ¤llÃ¶n vÃ¤rin
(\koodi{color}), kehyksen kulmien pyÃ¶ristyksen (\koodi{\englanti{rounded
    corners}}) ja sisÃ¤isen tyhjÃ¤n tilan suuruuden (\koodi{inner sep}).
Kaikenlaista muutakin voi tehdÃ¤ valinnaiseen argumenttiin
sisÃ¤llytettÃ¤vien valitsimien avulla, mutta niistÃ¤ tÃ¤ytyy lukea lisÃ¤Ã¤
paketin omasta ohjekirjasta.

\begin{esimerkki*}
  \ymparistoi{tikzpicture}
  \komentoi{node}
  \komentoi{draw}

\begin{koodilohko}
\begin{tikzpicture}[x=1mm, y=1mm]
  \node (ympyrÃ¤)      at  (0,0) [draw, circle]    {vasen};
  \node (suorakulmio) at (20,0) [draw, rectangle] {oikea};
  \draw [-&gt;, shorten &gt;=1mm] (ympyrÃ¤) to [out=45, in=135] (suorakulmio);
\end{tikzpicture}
\end{koodilohko}

  \begin{tulos}
    \begin{tikzpicture}[x=1mm, y=1mm]
      \node (ympyrÃ¤) at (0,0) [draw, circle] {vasen};
      \node (suorakulmio) at (20,0) [draw, rectangle] {oikea};
      \draw [-&gt;, shorten &gt;=1mm] (ympyrÃ¤) to [out=45, in=135] (suorakulmio);
    \end{tikzpicture}
  \end{tulos}

  \caption{Solmujen nimeÃ¤minen ja kytkeminen viivan avulla}
  \label{esim/tikz-solmujen-yhdistÃ¤minen}
\end{esimerkki*}

Solmulle voi mÃ¤Ã¤rittÃ¤Ã¤ yksilÃ¶llisen nimen, jota voi sitten kÃ¤yttÃ¤Ã¤
esimerkiksi viivojen piirtÃ¤miseen solmujen vÃ¤lille. Ei siis tarvitse
kÃ¤yttÃ¤Ã¤ tavallisia \komento{draw}\-/ komennon koordinaatteja vaan voi
kÃ¤yttÃ¤Ã¤ solmulle annettua nimeÃ¤. TÃ¤tÃ¤ havainnollistetaan esimerkissÃ¤
\ref{esim/tikz-solmujen-yhdistÃ¤minen}, jossa esitellÃ¤Ã¤n myÃ¶s
\komento{draw}\-/ komennon \koodi{to}\-/ operaatio. Se mahdollistaa
solmujen vÃ¤lisen viivan lÃ¤htÃ¶- ja tulokulman valinnan valitsimilla
\koodi{out} ja \koodi{in}. EsimerkissÃ¤ myÃ¶s lyhennetÃ¤Ã¤n nuolta
loppupÃ¤Ã¤stÃ¤ kÃ¤yttÃ¤mÃ¤llÃ¤ valitsinta \koodil{shorten~&gt;}.

TÃ¤mÃ¤n alaluvun ohjeiden avulla pÃ¤Ã¤see aika mukavasti alkuun
\paketti{tikz}\-/ paketin kÃ¤ytÃ¶ssÃ¤ ja saa toteutettua tavallisimmat
vektorigrafiikkakuviot. Paketin omaan ohjekirjaan kannattaa silti
tutustua, sillÃ¤ \ymparisto{tikzpicture}\-/ ympÃ¤ristÃ¶n mahdollisuudet
ovat valtavat.

\section{Matematiikka}
\label{luku/matematiikka}

Latexin matematiikkatila on suunniteltu matemaattisten kaavojen
latomiseen eli matematiikan syntaksia varten. Se on aivan oma
todellisuutensa, joka ei tunnu noudattavan samoja sÃ¤Ã¤ntÃ¶jÃ¤ kuin
tekstitila. Matematiikkatilassa ovat voimassa eri komennot, eri fontit,
erilainen merkkien kÃ¤yttÃ¤ytyminen ja erilaiset vÃ¤listykset. TÃ¤ssÃ¤
luvussa kÃ¤sitellÃ¤Ã¤n tilan kÃ¤yttÃ¶Ã¤ ja matemaattisen syntaksin
kirjoittamista. Fonttiasetuksia kÃ¤sitellÃ¤Ã¤n luvussa
\ref{luku/matematiikka-fontit}.

\subsection{Matematiikkatilan kÃ¤yttÃ¶}
\label{luku/matematiikka-kÃ¤yttÃ¶}

Matematiikkatila voidaan kytkeÃ¤ pÃ¤Ã¤lle joko tavallisen, tekstitilassa
toimivan rivin sisÃ¤llÃ¤ tai omassa tekstikappaleessaan. TekstirivillÃ¤
matemaattiset kaavat lisÃ¤tÃ¤Ã¤n komentojen \komento{(} ja \komento{)}
vÃ¤liin, kahden \koodi{\$}\-/ merkin vÃ¤liin tai ympÃ¤ristÃ¶n
\ymparisto{math} sisÃ¤lle. Seuraavassa on esimerkki kaikista kolmesta:

\begin{koodilohkosis}
Kaava \( y = 2x + 3 \) on suoran yhtÃ¤lÃ¶.
Kaava $y = 2x + 3$ on suoran yhtÃ¤lÃ¶.
Kaava \begin{math} y = 2x + 3 \end{math} on suoran yhtÃ¤lÃ¶.
\end{koodilohkosis}

\begin{tulossis}
Kaava \( y = 2x + 3 \) on suoran yhtÃ¤lÃ¶.
Kaava $y = 2x + 3$ on suoran yhtÃ¤lÃ¶.
Kaava \begin{math} y = 2x + 3 \end{math} on suoran yhtÃ¤lÃ¶.
\end{tulossis}

\noindent
Kuten edellÃ¤ olevasta esimerkistÃ¤ nÃ¤kyy, matematiikkatilassa kirjaimet
ladotaan kursiivilla. Tavalliset lÃ¤hdetiedostoon kirjoitetut kirjaimet
on tarkoitettu muuttujien nimiksi, kuten tÃ¤ssÃ¤ esimerkissÃ¤ $x$ ja~$y$.

Jos matemaattiset kaavat ovat pitkiÃ¤ tai vievÃ¤t pystysuuntaista tilaa
enemmÃ¤n kuin tavallisen rivikorkeuden verran, on parasta latoa ne omaksi
kappaleekseen. Se toteutetaan esimerkiksi kirjoittamalla kaavat
ympÃ¤ristÃ¶n \ymparisto{displaymath} sisÃ¤Ã¤n tai komentojen \komento{[} ja
\komento{]} vÃ¤liin. Molemmat toimivat samalla tavalla.

\komentoi{[}
\komentoi{]}
\mkomentoi{left}
\mkomentoi{right}
\mkomentoi{frac}
\begin{koodilohkosis}
\[ \left(\frac{1}{x}\right)^2 = \frac{1}{x^2} \]
\end{koodilohkosis}
\[ \left(\frac{1}{x}\right)^2 = \frac{1}{x^2} \]

\noindent
YmpÃ¤ristÃ¶ \ymparisto{equation} toimii muuten samalla tavalla, mutta se
latoo kaavan viereen myÃ¶s jÃ¤rjestysnumeron ristiviittauksia varten.
YmpÃ¤ristÃ¶n sisÃ¤lle voi kirjoittaa \komento{label}\-/ komennon, jonka
argumentissa annetaan kaavalle yksilÃ¶llinen tunniste. TekstistÃ¤ voi
viitata kaavaan \komento{ref}\-/ komennolla, jonka argumenttina on
kaavan tunniste. Ristiviittauksia kÃ¤sitellÃ¤Ã¤n tarkemmin luvussa
\ref{luku/ristiviitteet}.

Kaavojen numerot tulevat laskurista \laskuri{equation}, ja numeron
latomiseen voi vaikuttaa mÃ¤Ã¤rittelemÃ¤llÃ¤ uudelleen komennon
\komento{theequation}. Seuraavassa esimerkissÃ¤ kaavan numeroon asetetaan
ensiksi \komento{section}\-/ tasoisen otsikon numero, piste erottimeksi
ja lopuksi kyseisen kaavan numero.

\komentoi{renewcommand}
\komentoi{theequation}
\komentoi{thesection}
\komentoi{arabic}
\laskurii{equation}
\begin{koodilohkosis}
\renewcommand{\theequation}{\thesection.\arabic{equation}}
\end{koodilohkosis}

\noindent
Latexin lÃ¤hdedokumentissa matematiikkatilassa kaavojen tÃ¤ytyy sisÃ¤ltyÃ¤
yhteen kappaleeseen eli tyhjiÃ¤ rivejÃ¤ ei sallita. Matemaattiset kaavat
ladotaan oletuksena sivun keskelle vaakasuunnassa, mutta jos asettaa
Latexin dokumenttiluokalle (luku
\ref{luku/perusdokumenttiluokat-asetukset}) valitsimen \koodi{fleqn}, ne
ladotaan sivun vasempaan reunaan. Kaavojen numerot ladotaan oletuksena
sivun oikeaan reunaan, mutta vasemmalle ne saa kÃ¤yttÃ¤mÃ¤llÃ¤
dokumenttiluokan valitsinta \koodi{leqno}.

MatematiikkaympÃ¤ristÃ¶ssÃ¤ on kÃ¤ytettÃ¤vissÃ¤ taulukkoympÃ¤ristÃ¶
\mymparisto{array}, joka toimii pitkÃ¤lti samalla tavalla kuin
tekstitilan taulukotkin (luku \ref{luku/taulukot}). PelkÃ¤stÃ¤Ã¤n
matematiikkatilassa toimiva \mymparisto{array}\-/ ympÃ¤ristÃ¶ mahdollistaa
useiden kaavarivien latomisen ja kohdistamisen vaakasuunnassa tietylle
kohdalle. Esimerkiksi yhtÃ¤lÃ¶t on mielekÃ¤stÃ¤ sijoittaa samalle tasalle
yhtÃ¤suuruusmerkin kohdalta.

\mymparistoi{array}
\begin{koodilohkosis}
\[ \begin{array}{r@{~}l}
     4x - 2 &amp;= 6 \\
     x      &amp;= 2 \\
   \end{array} \]
\end{koodilohkosis}
\[ \begin{array}{r@{~}l}
     4x - 2 &amp;= 6 \\
     x      &amp;= 2 \\
   \end{array} \]

\noindent
PidemmÃ¤lle kehitettyjÃ¤ matematiikkaympÃ¤ristÃ¶jÃ¤ on paketissa
\pakettictan{amsmath}. Esimerkiksi \ymparisto{align}\-/\ ja
\ymparisto{align*}\-/ ympÃ¤ristÃ¶t pystyvÃ¤t tasaamaan allekkaiset kaavat
tietystÃ¤ kohdasta, eikÃ¤ taulukon sarakkeita tarvitse erikseen
mÃ¤Ã¤ritellÃ¤. Tasauskohta ilmaistaan lÃ¤hdedokumentissa \koodi{\&amp;}\=/
merkillÃ¤ normaalien taulukoiden tavoin. YmpÃ¤ristÃ¶n tÃ¤htiversio
\ymparisto{align*} ei lado kaavan numeroa mukaan. EdellÃ¤ olleen
yhtÃ¤lÃ¶esimerkin voi toteuttaa yksinkertaisemmin seuraavasti:

\ymparistoi{align*}
\begin{koodilohkosis}
\begin{align*}
  4x - 2 &amp;= 6 \\
  x      &amp;= 2
\end{align*}
\end{koodilohkosis}

\noindent
EdellÃ¤ mainittuja \ymparisto{align}\-/\ ja \ymparisto{align*}\-/
ympÃ¤ristÃ¶jÃ¤ ei kirjoiteta komentojen \komento{[} ja \komento{]} sisÃ¤Ã¤n,
eli nÃ¤mÃ¤ ympÃ¤ristÃ¶t on tarkoitettu tekstitilassa kÃ¤ytettÃ¤vÃ¤ksi.
YmpÃ¤ristÃ¶n sisÃ¤ltÃ¶ on matematiikkatilassa.

Paketti \paketti{amsmath} sisÃ¤ltÃ¤Ã¤ paljon muitakin hyÃ¶dyllisiÃ¤
ympÃ¤ristÃ¶jÃ¤ ja komentoja matematiikan latomiseen. Paketin ohjekirjaan on
erittÃ¤in suositeltavaa tutustua.

\subsection{Matematiikkatilan kielioppia}

Matematiikan kirjoittaminen Latexissa on tehty varsin luonnolliseksi.
Esimerkiksi tavalliset operaattorit ja kokonaisluvut kirjoitetaan
nÃ¤ppÃ¤imistÃ¶ltÃ¤ sellaisenaan, ja jos desimaalierottimena on piste, sekin
syÃ¶tetÃ¤Ã¤n nÃ¤ppÃ¤imistÃ¶ltÃ¤ suoraan. Suomessa kÃ¤ytetÃ¤Ã¤n desimaalierottimena
kuitenkin pilkkua, joka toimii Latexin matematiikkatilassa vÃ¤limerkkinÃ¤:
sen jÃ¤lkeen ladotaan pieni vÃ¤li. Suomalaisen desimaalierottimen saa
kirjoittamalla pilkun ympÃ¤rille aaltosulkeet.

\mkomentoi{pi}
\mkomentoi{approx}
\begin{koodilohkosis}
\[ \pi \approx 3{,}142 \]
\end{koodilohkosis}
\[ \pi \approx 3{,}142 \]

\noindent
Toinen vaihtoehto pilkun kÃ¤yttÃ¤miseen desimaalierottimana on ladata
paketti \pakettictan{icomma}. Paketti mÃ¤Ã¤rittelee matematiikkatilan
pilkun toimimaan jokseenkin Ã¤lykkÃ¤Ã¤sti: jos lÃ¤hdetiedostossa on pilkun
jÃ¤lkeen vÃ¤li, pilkku ladotaan vÃ¤limerkkinÃ¤; jos vÃ¤liÃ¤ ei ole, pilkku
katsotaan desimaalierottimeksi.

Plus-, jako- ja yhtÃ¤suuruusmerkki sekÃ¤ pienempi kuin ja suurempi kuin
\=/merkit ($+ : / = \; &lt; \; &gt;$) kirjoitetaan nÃ¤ppÃ¤imistÃ¶ltÃ¤
sellaisenaan. Miinusmerkki ($-$) kirjoitetaan yhdysmerkin (\koodi{-})
avulla, eli yhdysmerkki ladotaan dokumenttiin Unicode\-/ merkistÃ¶n
miinusmerkkinÃ¤ \uctunnus{u+2212 minus sign}. Kertomerkit voi kirjoittaa
lÃ¤hdedokumenttiin sellaisenaan mutta myÃ¶s komennoilla \mkomento{cdot}
($\cdot$) ja \mkomento{times} ($\times$).

Pienet sulkeetkin voi kirjoittaa nÃ¤ppÃ¤imistÃ¶ltÃ¤ suoraan, mutta
matematiikassa tarvitaan usein erikokoisia, tilanteeseen mukautuvia
sulkeita. Ne tehdÃ¤Ã¤n komentojen \mkomento{left} (vasen) ja
\mkomento{right} (oikea) avulla. Komentojen jÃ¤lkeen kirjoitetaan haluttu
suljemerkki, esimerkiksi \mkomento{left}\mkomentojatko{(} ja
\mkomento{right}\mkomentojatko{)}. Itseisarvoa merkitsevÃ¤t pystyviivat
tehdÃ¤Ã¤n samoilla komennoilla, mutta suljemerkkien tilalle kirjoitetaan
pystyviiva~(\koodi{|}).

\mkomentoi{left}
\mkomentoi{right}
\mkomentoi{frac}
\begin{koodilohkosis}
\[ \left| a + \left( \frac{b}{c \left( d-1 \right)} \right) \right| \]
\end{koodilohkosis}
\[ \left| a + \left( \frac{b}{c \left( d-1 \right)} \right) \right| \]

\noindent
Komentoja \mkomento{left} ja \mkomento{right} tÃ¤ytyy kÃ¤yttÃ¤Ã¤ pareittain,
jotta Latex osaa latoa oikeankokoiset sulkeet. Jos ei halua
suljemerkille paria, kirjoitetaan toisen suljekomennon ''sulkeeksi''
piste. Seuraavassa esimerkissÃ¤ ladotaan vasemmalle aaltosulje
(\mkomento{left}\mkomentojatko{\keno\{}) mutta oikealle ei mitÃ¤Ã¤n
(\mkomento{right}\mkomentojatko{.}).

\mkomentoi{left}
\mkomentoi{right}
\mymparistoi{array}
\begin{koodilohkosis}
\[ \left\{ \begin{array}{r@{~}l}
             x &amp;= 4 \\
             y &amp;= -2 \\
           \end{array} \right. \]
\end{koodilohkosis}
\[ \left\{ \begin{array}{l@{~}l}
             x &amp;= 4 \\
             y &amp;= -2 \\
           \end{array} \right. \]

\noindent
Matematiikkatilan ylÃ¤- ja alaindeksit toteutetaan sirkumfleksin
(\koodi{\^{}}) ja alaviivan (\koodi{\_}) avulla. VÃ¤littÃ¶mÃ¤stÃ¤ merkin
jÃ¤lkeen oleva merkki ladotaan ylÃ¤- tai alaindeksiksi, ja jos indeksi
sisÃ¤ltÃ¤Ã¤ enemmÃ¤n kuin yhden merkin, kirjoitetaan kokonaisuus
aaltosulkeisiin. Joidenkin matemaattisten operaattorikomentojen
yhteydessÃ¤ indeksit ladotaan poikkeuksellisella tavalla, esimerkiksi
kokonaan operaattorin ylÃ¤- tai alapuolelle.

\mkomentoi{sum}
\mkomentoi{int}
\mkomentoi{lim}
\mkomentoi{to}
\mkomentoi{infty}
\mkomentoi{qquad}
\begin{koodilohkosis}
\[ x^{n-1} \qquad x_i \qquad \sum_{i=1}^n \qquad
  \int_0^\infty \qquad \lim_{n \to \infty} \]
\end{koodilohkosis}
\[ x^{n-1} \qquad x_i \qquad \sum_{i=1}^n \qquad
  \int_0^\infty \qquad \lim_{n \to \infty} \]

\noindent
Lausekkeen osia voi ryhmitellÃ¤ ylÃ¤- tai alapuolisella aaltosulkeella,
jotka tehdÃ¤Ã¤n komennoilla \mkomento{overbrace} ja \mkomento{underbrace}.
Jos nÃ¤iden komentojen jÃ¤lkeen kÃ¤yttÃ¤Ã¤ ylÃ¤- tai alaindeksiÃ¤, se ladotaan
sulkeen keskelle. Seuraavassa on esimerkki:

\mkomentoi{overbrace}
\mkomentoi{underbrace}
\begin{koodilohkosis}
\[ \overbrace{3x + x}^{4x} - \underbrace{5y - 2y}_{3y} = 4x - 3y \]
\end{koodilohkosis}
\[ \overbrace{3x + x}^{4x} - \underbrace{5y - 2y}_{3y} = 4x - 3y \]

\noindent
Muuttujien, funktion nimien tai muiden symbolien jÃ¤ljessÃ¤ oleva
$'$\=/merkki tehdÃ¤Ã¤n yleisheittomerkin (\koodi{'}) avulla.
Matematiikassa se voi tarkoittaa esimerkiksi funktion
derivaattafunktiota, ja Unicode\-/ merkistÃ¶ssÃ¤ merkin tunnus
\uctunnus{u+2032 prime}.

\mkomentoi{quad}
\begin{koodilohkosis}
\[ f(x) = 3x^2 - 2x \quad f'(x) = 6x - 2 \]
\end{koodilohkosis}
\[ f(x) = 3x^2 - 2x \quad f'(x) = 6x - 2 \]

\noindent
Murtoluvuille ja jakoviivan latomiseen on komento \mkomento{frac}, jolle
annetaan kaksi argumenttia: osoittaja ja nimittÃ¤jÃ¤. NeliÃ¶- ja muut
juuret tehdÃ¤Ã¤n \mkomento{sqrt}\-/ komennolla, jolle annetaan ainakin
yksi argumentti. Komennolle voi antaa hakasulkeissa toisenkin
argumentin, joka ilmaisee juuriluvun. Seuraavassa on esimerkki
murtoluvun, neliÃ¶juuren ja kuutiojuuren toteuttamisesta:

\mkomentoi{frac}
\mkomentoi{sqrt}
\mkomentoi{quad}
\begin{koodilohkosis}
\[ \frac{1}{3x + 1} \quad \sqrt{9} = \sqrt[3]{27} \]
\end{koodilohkosis}
\[ \frac{1}{3x + 1} \quad \sqrt{9} = \sqrt[3]{27} \]

\noindent
Vektorien nimien latomiseen eli merkkien ylÃ¤puoliselle nuolelle on oma
komento \mkomento{vec}, joka toimii yhden kirjaimen kanssa. Kahden
merkin mittaiseen nuoleen tarvitaan komentoa \mkomento{overrightarrow}
(tai \mkomento{overleftarrow}).

\mkomentoi{vec}
\mkomentoi{overrightarrow}
\mkomentoi{quad}
\begin{koodilohkosis}
\[ \vec{a} \quad \overrightarrow{AB} \]
\end{koodilohkosis}
\[ \vec{a} \quad \overrightarrow{AB} \]

\noindent
Matriisit voi toteuttaa luvussa \ref{luku/matematiikka-kÃ¤yttÃ¶} esitellyn
\mymparisto{array}\-/ ympÃ¤ristÃ¶n avulla, mutta kÃ¤tevÃ¤mpÃ¤Ã¤ on kÃ¤yttÃ¤Ã¤
\paketti{amsmath}\-/ paketin ympÃ¤ristÃ¶jÃ¤. Kullekin erilaiselle
suljetyypille on oma ympÃ¤ristÃ¶nsÃ¤: \mymparisto{matrix},
\mymparisto{pmatrix}~$(\,)$, \mymparisto{bmatrix}~$[\,]$,
\mymparisto{Bmatrix}~$\{\,\}$, \mymparisto{vmatrix}~$|$ ja
\mymparisto{Vmatrix}~$\|$. YmpÃ¤ristÃ¶n sisÃ¤llÃ¤ matriisin rivin solut
erotetaan toisistaan samoin kuin taulukoissakin eli \koodi{\&amp;}\=/
merkillÃ¤ ja rivinvaihto tehdÃ¤Ã¤n \mkomento{\keno}\=/ komennolla.
Seuraavassa on esimerkki kahdesta eri ympÃ¤ristÃ¶stÃ¤:

\mymparistoi{matrix}
\mymparistoi{bmatrix}
\mkomentoi{qquad}
\begin{koodilohkosis}
\[ \begin{matrix} 1 &amp; 2 \\ 3 &amp; 4 \\ \end{matrix} \qquad
   \begin{bmatrix}
     1 &amp; 2 &amp; 3 \\ 4 &amp; 5 &amp; 6 \\ 7 &amp; 8 &amp; 9 \\
   \end{bmatrix} \]
\end{koodilohkosis}
\[ \begin{matrix} 1 &amp; 2 \\ 3 &amp; 4 \\ \end{matrix} \qquad
  \begin{bmatrix}
    1 &amp; 2 &amp; 3 \\ 4 &amp; 5 &amp; 6 \\ 7 &amp; 8 &amp; 9 \\
  \end{bmatrix} \]

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[3]{\mkomento{#1} &amp; $#2$ &amp; #3 \\}

  \begin{tabular}{lll}
    \toprule
    \ots{Komento}
    &amp; \ots{Esimerkki}
    &amp; \ots{Merkitys} \\
    \midrule
    \rivi{mathrm}{\mathrm{ABC~abc}}{antiikva, serif, roman}
    \rivi{mathsf}{\mathsf{ABC~abc}}{groteski, sans serif, gothic}
    \rivi{mathtt}{\mathtt{ABC~abc}}{tasalevyinen, typewriter}
    \rivi{mathcal}{\mathcal{ABC}}{kalligrafinen}
    \midrule
    \rivi{mathbf}{\mathbf{ABC~abc}}{lihavoitu, bold}
    \rivi{mathit}{\mathit{ABC~abc}}{kursiivi, italic}
    \bottomrule
  \end{tabular}
}{
  \caption{Tekstin latominen matematiikkatilassa vaatii erityisen
    komennon}
  \label{tlk/matem-teksti}
}

\noindent
Kuten on jo todettu, tavalliset kirjaimet on matematiikkatilassa
tarkoitettu muuttujien nimiksi. Kun tÃ¤ytyy latoa varsinaista tekstiÃ¤ --
tekstitilan tavoin -- tÃ¤ytyy kÃ¤yttÃ¤Ã¤ erityisiÃ¤ komentoja. Taulukkoon
\ref{tlk/matem-teksti} on koottu matematiikkatilan
tekstinlatomiskomentoja. Komentojen argumenttina oleva teksti ladotaan
kuin tekstitilassa.

Vaakasuuntaisten vÃ¤lien tekemiseen on matematiikkatilassa muutama
komento. Komento \mkomento{quad} latoo typografisen neliÃ¶n (1\,em)
levyisen vÃ¤lin. Se on sama kuin nykyisen fontin koko. Komento
\mkomento{qquad} latoo 2\,em:n levyisen vÃ¤lin. PienempiÃ¤ vÃ¤lejÃ¤ saa
komennoilla \mkomento{,} (\murtoluku{3}{18}\,em), \mkomento{:}
(\murtoluku{4}{18}\,em) ja \mkomento{;} (\murtoluku{5}{18}\,em). Komento
\mkomento{!} puolestaan tuottaa negatiivisen vÃ¤lin, jonka mitta on
âˆ’\murtoluku{3}{18}\,em. Negatiivista vÃ¤liÃ¤ voi kÃ¤yttÃ¤Ã¤ liian suuren
vÃ¤lin pienentÃ¤miseen.

\subsection{ErikoismerkkejÃ¤}

Matematiikkatilassa voi kÃ¤yttÃ¤Ã¤ Unicode\-/ merkistÃ¶Ã¤, eli monet
matemaattiset symbolit voi kirjoittaa lÃ¤hdedokumenttiin sellaisenaan.
Voi silti olla helpompaa kÃ¤yttÃ¤Ã¤ erityisiÃ¤ komentoja sellaisten
kirjainten ja symbolien kirjoittamiseen, joita ei ihan helposti pysty
tuottamaan nÃ¤ppÃ¤imistÃ¶ltÃ¤ tai tekstieditorin toimintojen avulla.
Matematiikkatilan erikoismerkkejÃ¤ on koottu oheisiin taulukoihin
(\ref{tlk/matem-kreikk}--). LisÃ¤Ã¤ symboleja on paketeissa
\pakettictan{latexsym} ja \pakettictan{amsmath}.

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{$#1$ &amp; \mkomento{#2}}

  \begin{tabular}{*{4}{cl}}
    \toprule

    \rivi{\alpha}{alpha}
    &amp; \rivi{\Alpha}{Alpha}
    &amp; \rivi{\beta}{beta}
    &amp; \rivi{\Beta}{Beta} \\

    \rivi{\gamma}{gamma}
    &amp; \rivi{\Gamma}{Gamma}
    &amp; \rivi{\delta}{delta}
    &amp; \rivi{\Delta}{Delta} \\

    \rivi{\epsilon}{epsilon}
    &amp; \rivi{\varepsilon}{varepsilon}
    &amp; \rivi{\Epsilon}{Epsilon}
    &amp; \rivi{\zeta}{zeta} \\

    \rivi{\Zeta}{Zeta}
    &amp; \rivi{\eta}{eta}
    &amp; \rivi{\Eta}{Eta}
    &amp; \rivi{\theta}{theta} \\

    \rivi{\vartheta}{vartheta}
    &amp; \rivi{\Theta}{Theta}
    &amp; \rivi{\iota}{iota}
    &amp; \rivi{\Iota}{Iota} \\

    \rivi{\kappa}{kappa}
    &amp; \rivi{\Kappa}{Kappa}
    &amp; \rivi{\lambda}{lambda}
    &amp; \rivi{\Lambda}{Lambda} \\

    \rivi{\mu}{mu}
    &amp; \rivi{\Mu}{Mu}
    &amp; \rivi{\nu}{nu}
    &amp; \rivi{\Nu}{Nu} \\

    \rivi{\xi}{xi}
    &amp; \rivi{\Xi}{Xi}
    &amp; \rivi{\pi}{pi}
    &amp; \rivi{\varpi}{varpi} \\

    \rivi{\Pi}{Pi}
    &amp; \rivi{\rho}{rho}
    &amp; \rivi{\varrho}{varrho}
    &amp; \rivi{\Rho}{Rho} \\

    \rivi{\sigma}{sigma}
    &amp; \rivi{\varsigma}{varsigma}
    &amp; \rivi{\Sigma}{Sigma}
    &amp; \rivi{\tau}{tau} \\

    \rivi{\Tau}{Tau}
    &amp; \rivi{\upsilon}{upsilon}
    &amp; \rivi{\Upsilon}{Upsilon}
    &amp; \rivi{\phi}{phi} \\

    \rivi{\varphi}{varphi}
    &amp; \rivi{\Phi}{Phi}
    &amp; \rivi{\chi}{chi}
    &amp; \rivi{\Chi}{Chi} \\

    \rivi{\psi}{psi}
    &amp; \rivi{\Psi}{Psi}
    &amp; \rivi{\omega}{omega}
    &amp; \rivi{\Omega}{Omega} \\

    \bottomrule
  \end{tabular}
}{
  \caption{Kreikkalaisten kirjainten latominen matematiikkatilassa}
  \label{tlk/matem-kreikk}
}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[3][a]{$#2{#1}$ &amp; \mkomento{#3}\mkomentoarg{#1}}

  \begin{tabular}{*{3}{cl}}
    \toprule

    \rivi{\grave}{grave}
    &amp; \rivi{\ddot}{ddot}
    &amp; \rivi{\hat}{hat} \\

    \rivi{\acute}{acute}
    &amp; \rivi{\check}{check}
    &amp; \rivi[aaa]{\widehat}{widehat} \\

    \rivi{\breve}{breve}
    &amp; \rivi{\dot}{dot}
    &amp; \rivi{\tilde}{tilde} \\

    \rivi{\bar}{bar}
    &amp; \rivi{\mathring}{mathring}
    &amp; \rivi[aaa]{\widetilde}{widetilde} \\

    \bottomrule
  \end{tabular}
}{
  \caption{Matematiikkatilan tarkekomentoja}
  \label{tlk/matem-tarkkeita}
}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[3][AB]{$#2{#1}$ &amp; \mkomento{#3}\mkomentoarg{#1}}
  \renewcommand{\arraystretch}{1.5}

  \begin{tabular}{*{2}{cl}}
    \toprule

    \rivi{\overrightarrow}{overrightarrow}
    &amp; \rivi{\overleftarrow}{overleftarrow} \\

    \rivi{\underrightarrow}{underrightarrow}
    &amp; \rivi{\underleftarrow}{underleftarrow} \\

    \rivi{\overleftrightarrow}{overleftrightarrow}
    &amp; \rivi{\underleftrightarrow}{underleftrightarrow} \\

    \rivi{\overline}{overline}
    &amp; \rivi{\underline}{underline} \\

    \rivi[abc]{\overbrace}{overbrace}
    &amp; \rivi[abc]{\underbrace}{underbrace} \\

    \bottomrule
  \end{tabular}
}{
  \caption{YlÃ¤- ja alamerkintÃ¶jÃ¤}
  \label{tlk/matem-yla-ala-merk}
}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{$#1$ &amp; \mkomento{#2}}

  \begin{tabular}{*{4}{cl}}
    \toprule

    $&lt;$
    &amp; \koodi{&lt;}
    &amp; $&gt;$
    &amp; \koodi{&gt;}
    &amp; $=$
    &amp; \koodi{=}
    &amp; $:$
    &amp; \koodi{:} \\

    $\leq$
    &amp; \mkomento{leq}, \mkomento{le}
    &amp; $\geq$
    &amp; \mkomento{geq}, \mkomento{ge}
    &amp; \rivi{\ll}{ll}
    &amp; \rivi{\gg}{gg} \\

    \rivi{\equiv}{equiv}
    &amp; \rivi{\doteq}{doteq}
    &amp; \rivi{\prec}{prec}
    &amp; \rivi{\preceq}{preceq} \\

    \rivi{\succ}{succ}
    &amp; \rivi{\succeq}{succeq}
    &amp; \rivi{\sim}{sim}
    &amp; \rivi{\simeq}{simeq} \\

    \rivi{\subset}{subset}
    &amp; \rivi{\subseteq}{subseteq}
    &amp; \rivi{\supset}{supset}
    &amp; \rivi{\supseteq}{supseteq} \\

    \rivi{\approx}{approx}
    &amp; \rivi{\cong}{cong}
    &amp; \rivi{\sqsubset}{sqsubset}
    &amp; \rivi{\sqsubseteq}{sqsubseteq} \\

    \rivi{\sqsupset}{sqsupset}
    &amp; \rivi{\sqsupseteq}{sqsupseteq}
    &amp; \rivi{\bowtie}{bowtie}
    &amp; \rivi{\in}{in} \\

    \rivi{\ni}{ni}
    &amp; \rivi{\propto}{propto}
    &amp; \rivi{\vdash}{vdash}
    &amp; \rivi{\dashv}{dashv} \\

    \rivi{\models}{models}
    &amp; \rivi{\mid}{mid}
    &amp; \rivi{\parallel}{parallel}
    &amp; \rivi{\perp}{perp} \\

    \rivi{\smile}{smile}
    &amp; \rivi{\frown}{frown}
    &amp; \rivi{\asymp}{asymp}
    &amp; \rivi{\notin}{notin} \\

    $\neq$
    &amp; \mkomento{neq}, \mkomento{ne} \\

    \bottomrule
  \end{tabular}
}{
  \caption{Relaatioita. Negaation saa kirjoittamalla komennon eteen
    \mkomento{not}}
  \label{tlk/matem-relaatioita}
}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{$#1$ &amp; \mkomento{#2}}
  \renewcommand{\arraystretch}{1.1}

  \begin{tabular}{*{4}{cl}}
    \toprule

    $+$
    &amp; \koodi{+}
    &amp; $-$
    &amp; \koodi{-}
    &amp; \rivi{\pm}{pm}
    &amp; \rivi{\mp}{mp} \\

    \rivi{\cdot}{cdot}
    &amp; \rivi{\div}{div}
    &amp; \rivi{\times}{times}
    &amp; \rivi{\setminus}{setminus} \\

    \rivi{\cup}{cup}
    &amp; \rivi{\cap}{cap}
    &amp; \rivi{\sqcup}{sqcup}
    &amp; \rivi{\sqcap}{sqcap} \\

    \rivi{\vee}{vee}
    &amp; \rivi{\wedge}{wedge}
    &amp; \rivi{\oplus}{oplus}
    &amp; \rivi{\ominus}{ominus} \\

    \rivi{\odot}{odot}
    &amp; \rivi{\oslash}{oslash}
    &amp; \rivi{\uplus}{uplus}
    &amp; \rivi{\otimes}{otimes} \\

    \rivi{\sum}{sum}
    &amp; \rivi{\prod}{prod}
    &amp; \rivi{\coprod}{coprod}
    &amp; \rivi{\int}{int} \\

    \rivi{\oint}{oint}
    &amp; \rivi{\lim}{lim}
    &amp; \rivi{\bigoplus}{bigoplus}
    &amp; \rivi{\bigotimes}{bigotimes} \\

    \rivi{\bigodot}{bigodot}
    &amp; \rivi{\bigvee}{bigvee}
    &amp; \rivi{\bigwedge}{bigwedge}
    &amp; \rivi{\bigcup}{bigcup} \\

    \rivi{\bigcap}{bigcap}
    &amp; \rivi{\biguplus}{biguplus}
    &amp; \rivi{\bigsqcup}{bigsqcup} \\

    \bottomrule
  \end{tabular}
}{
  \caption{Operaattoreita}
  \label{tlk/matem-operaattoreita}
}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{$#1$ &amp; \mkomento{#2}}

  \begin{tabular}{*{2}{cl}}
    \toprule

    $\leftarrow$
    &amp; \mkomento{leftarrow}, \mkomento{gets}
    &amp; $\rightarrow$
    &amp; \mkomento{rightarrow}, \mkomento{to} \\

    \rivi{\longleftarrow}{longleftarrow}
    &amp; \rivi{\longrightarrow}{longrightarrow} \\

    \rivi{\leftrightarrow}{leftrightarrow}
    &amp; \rivi{\longleftrightarrow}{longleftrightarrow} \\

    \rivi{\Leftarrow}{Leftarrow}
    &amp; \rivi{\Rightarrow}{Rightarrow} \\

    \rivi{\Longleftarrow}{Longleftarrow}
    &amp; \rivi{\Longrightarrow}{Longrightarrow} \\

    \rivi{\Leftrightarrow}{Leftrightarrow}
    &amp; \rivi{\Longleftrightarrow}{Longleftrightarrow} \\

    \rivi{\mapsto}{mapsto}
    &amp; \rivi{\longmapsto}{longmapsto} \\

    \rivi{\hookleftarrow}{hookleftarrow}
    &amp; \rivi{\hookrightarrow}{hookrightarrow} \\

    \rivi{\leftharpoonup}{leftharpoonup}
    &amp; \rivi{\rightharpoonup}{rightharpoonup} \\

    \rivi{\leftharpoondown}{leftharpoondown}
    &amp; \rivi{\rightharpoondown}{rightharpoondown} \\

    \rivi{\rightleftharpoons}{rightleftharpoons}
    &amp; \rivi{\iff}{iff} \\

    \rivi{\uparrow}{uparrow}
    &amp; \rivi{\downarrow}{downarrow} \\

    \rivi{\updownarrow}{updownarrow}
    &amp; \rivi{\Updownarrow}{Updownarrow} \\

    \rivi{\Uparrow}{Uparrow}
    &amp; \rivi{\Downarrow}{Downarrow} \\

    \rivi{\nearrow}{nearrow}
    &amp; \rivi{\searrow}{searrow} \\

    \rivi{\swarrow}{swarrow}
    &amp; \rivi{\nwarrow}{nwarrow} \\

    \bottomrule
  \end{tabular}
}{
  \caption{Nuolia}
  \label{tlk/matem-nuolia}
}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{$#1$ &amp; \mkomento{#2}}

  \begin{tabular}{*{4}{cl}}
    \toprule

    \rivi{\langle}{langle}
    &amp; \rivi{\rangle}{rangle}
    &amp; \rivi{\lfloor}{lfloor}
    &amp; \rivi{\rfloor}{rfloor} \\

    \rivi{\rceil}{rceil}
    &amp; \rivi{\lceil}{lceil}
    &amp; $|$
    &amp; \koodi{|}, \mkomento{vert}
    &amp; $\|$
    &amp; \mkomentox{|}, \mkomento{Vert} \\

    \rivi{\lgroup}{lgroup}
    &amp; \rivi{\rgroup}{rgroup}
    &amp; \rivi{\lmoustache}{lmoustache}
    &amp; \rivi{\rmoustache}{rmoustache} \\

    $/$
    &amp; \koodi{/}
    &amp; \rivi{\backslash}{backslash} \\

    \bottomrule
  \end{tabular}
}{
  \caption{Sulkeita ja erotinmerkkejÃ¤}
  \label{tlk/matem-erottimia}
}

\leijutlk{
  \providecommand{\rivi}{}
  \renewcommand{\rivi}[2]{$#1$ &amp; \mkomento{#2}}

  \begin{tabular}{*{3}{cl}}
    \toprule

    $\neg$
    &amp; \mkomento{neg}, \mkomento{lnot}
    &amp; \rivi{\angle}{angle}
    &amp; \rivi{\emptyset}{emptyset} \\

    \rivi{\infty}{infty}
    &amp; $'$
    &amp; \koodi{'}
    &amp; \rivi{\prime}{prime} \\

    \rivi{\forall}{forall}
    &amp; \rivi{\exists}{exists}
    &amp; \rivi{\wr}{wr} \\

    \rivi{\bot}{bot}
    &amp; \rivi{\top}{top}
    &amp; \rivi{\surd}{surd} \\

    \rivi{\dots}{dots}
    &amp; \rivi{\cdots}{cdots}
    &amp; \rivi{\vdots}{vdots} \\

    \rivi{\ddots}{ddots}
    &amp; \rivi{\triangle}{triangle}
    &amp; \rivi{\triangleleft}{triangleleft} \\

    \rivi{\triangleright}{triangleright}
    &amp; \rivi{\nabla}{nabla}
    &amp; \rivi{\star}{star} \\

    \rivi{\ast}{ast}
    &amp; \rivi{\circ}{circ}
    &amp; \rivi{\bigcirc}{bigcirc} \\

    \rivi{\bullet}{bullet}
    &amp; \begin{tikzpicture} % \diamond puuttuu fontista
      \draw [rotate=45] (0,0) rectangle (.5ex,.5ex);
    \end{tikzpicture}
    &amp; \mkomento{diamond}
    &amp; \rivi{\amalg}{amalg} \\

    \rivi{\bigtriangleup}{bigtriangleup}
    &amp; \rivi{\bigtriangledown}{bigtriangledown}
    &amp; \rivi{\dagger}{dagger} \\

    \rivi{\ddagger}{ddagger}
    &amp; \rivi{\diamondsuit}{diamondsuit}
    &amp; \rivi{\heartsuit}{heartsuit} \\

    \rivi{\clubsuit}{clubsuit}
    &amp; \rivi{\spadesuit}{spadesuit}
    &amp; \rivi{\flat}{flat} \\

    \rivi{\natural}{natural}
    &amp; \rivi{\sharp}{sharp}
    &amp; \rivi{\hbar}{hbar} \\

    \rivi{\imath}{imath}
    &amp; \rivi{\jmath}{jmath}
    &amp; \rivi{\ell}{ell} \\

    \rivi{\Re}{Re}
    &amp; \rivi{\Im}{Im}
    &amp; \rivi{\aleph}{aleph} \\

    \rivi{\wp}{wp} \\

    \bottomrule
  \end{tabular}
}{
  \caption{Sekalaisia symboleja}
  \label{tlk/matem-sekalaisia}
}
</pre></body></html>