texlive[61419] Master: kaytannollista-latexia (27dec21)

commits+karl at tug.org commits+karl at tug.org
Mon Dec 27 22:12:03 CET 2021


Revision: 61419
          http://tug.org/svn/texlive?view=revision&revision=61419
Author:   karl
Date:     2021-12-27 22:12:03 +0100 (Mon, 27 Dec 2021)
Log Message:
-----------
kaytannollista-latexia (27dec21)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-langeuropean.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/README.md
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kirjallisuutta.bib
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-esipuhe.tex
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex
    trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex
    trunk/Master/tlpkg/tlpsrc/kaytannollista-latexia.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/README.md	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,153 @@
+Käytännöllistä Latexia
+======================
+
+**Latex-ladontajärjestelmän opas**
+
+English summary: *Käytännöllistä Latexia* is a Finnish practical manual
+for [Latex](https://en.wikipedia.org/wiki/LaTeX) typesetting system. The
+manual covers most of the topics that a typical document author needs.
+So it can be useful guide for beginners as well as reference manual for
+advanced users.
+
+
+Esittely
+--------
+
+*Käytännöllistä Latexia* on nykyaikainen suomenkielinen opas
+[Latex](https://fi.wikipedia.org/wiki/LaTeX)-ladontajärjestelmän
+käyttäjälle. Se auttaa alkuun pääsyssä ja esittelee merkintäkielen
+perusasiat. Opas sisältää käytännönläheiset ohjeet esimerkiksi
+dokumentin sivu-, fontti- ja kieliasetusten tekemiseen. Se sisältää
+teknisiä ohjeita ja typografisia vinkkejä tavallisimpiin
+tekstidokumentin kirjoittamisen tarpeisiin. Oppaan avulla pitäisi
+pärjätä niin hyvin, että makropakettien ohjeita tarvitsee lukea vain
+harvoin.
+
+Edellisessä kappaleessa mainostettu nykyaikaisuus tarkoittaa esimerkiksi
+sitä, että tässä oppaassa keskitytään Open Type -fontteihin,
+Unicode-merkistöön ja PDF-tiedostoihin. Latexin vanha fonttitekniikka
+sivuutetaan, eikä merkistörajoitusten kanssa enää kamppailla. Oppaan
+ohjeet siis sopivat nykyaikaiselle tietokoneen käyttäjälle.
+
+
+Saatavuus
+---------
+
+Oppaasta on saatavilla valmiiksi ladottu PDF-tiedosto Githubissa
+[julkaisusivulla](https://github.com/tlikonen/latex-opas/releases). Myös
+Latex-lähdetiedostot ovat saatavilla Githubissa osoitteessa
+<<https://github.com/tlikonen/latex-opas>>.
+
+
+Versionumerointi
+----------------
+
+Oppaan versionumerot tulevat julkaisuajan vuosiluvusta sekä
+mahdollisesti kuukaudesta ja päivästä. Vuoden ensimmäinen tai ainoa
+julkaisu saa versionumeronsa pelkästä vuosiluvusta, esimerkiksi versio
+”2022”. Jos samana vuonna julkaistaan oppaasta uusi versio, lisätään
+versionumeroon kyseisen kuukauden numero, esimerkiksi versio ”2022.4”
+(huhtikuu 2022). Saman kuun aikana toinen julkaisu saa versionumeroonsa
+vielä päivänkin numeron, esimerkiksi ”2022.4.15” (15. huhtikuuta 2022).
+
+
+Tekijänoikeus ja lisenssi
+-------------------------
+
+Tekijä: Teemu Likonen <<tlikonen at iki.fi>>
+
+OpenPGP-avain: [6965F03973F0D4CA22B9410F0F2CAE0E07608462][PGP]
+
+[PGP]: http://www.iki.fi/tlikonen/pgp-key.asc
+
+Lisenssi: *Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen* (CC
+BY-SA 4.0). Lisenssi antaa sinulle luvan kopioida ja levittää tätä
+teosta tai sen osia missä tahansa välineessä ja muodossa. Sisältöä saa
+muokata, ja sen pohjalta saa luoda uusia teoksia mihin tahansa
+tarkoitukseen, myös kaupallisesti. Ehdot ovat seuraavat:
+
+  - Sinun on mainittava tekijä(t) asianmukaisesti, tarjottava linkki
+    [lisenssin koko tekstiin][CC] sekä mainittava, mikäli olet tehnyt
+    muutoksia.
+  - Jos muokkaat teosta tai luot sen pohjalta uuden teoksen, sinun on
+    jaettava muutoksiasi samalla lisenssillä kuin alkuperäistä teosta.
+  - Et saa asettaa sellaisia oikeudellisia ehtoja tai teknisiä estoja,
+    jotka estävät muita tekemästä asioita, jotka tämä lisenssi sallii.
+
+[CC]: https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+
+Kääntäminen ja asentaminen
+--------------------------
+
+Oppaan Latex-lähdetiedostojen kääntäminen eli latominen PDF-dokumentiksi
+vaatii useita Latexin makropaketteja ja pari fonttia. Latexin
+jakelukokonaisuus [Texlive](https://tug.org/texlive/) sisältää kaiken
+tarvittavan. Esimerkiksi [Debian](https://www.debian.org) Linux
+-käyttöjärjestelmässä asennuspaketti `texlive-full` asentaa koko
+Texliven.
+
+Oppaan voi latoa julkaisupaketin ja asennettujen tiedostojen avulla tai
+versionhallinnan tiedostojen pohjalta.
+
+
+### Julkaisupaketti
+
+Oppaan julkaisupaketin lähdetiedostot voi latoa PDF-tiedostoksi
+komennoilla `lualatex` ja `biber`. Komennot täytyy suorittaa seuraavassa
+järjestyksessä:
+
+    lualatex -shell-escape kaytannollista-latexia
+    biber kaytannollista-latexia
+    lualatex -shell-escape kaytannollista-latexia
+    lualatex -shell-escape kaytannollista-latexia
+
+
+### Versionhallinta (Git)
+
+Git-versionhallintajärjestelmässä säilytettävä opas sisältää tiedoston
+`Makefile`, joka puolestaan sisältää kääntämisohjeet `make`-komennolle.
+PDF-tiedoston saa ladottua yhdellä komennolla:
+
+    make
+
+Kääntämisessä syntyneen PDF-tiedoston voi siirtää haluamaansa paikkaan
+käyttöä varten. Oppaan voi myös asentaa Texin standardiin
+hakemistorakenteeseen, josta muut ohjelmat voivat sen löytää. Se tehdään
+seuraavalla komennolla:
+
+    make install
+
+Edellisen asennuskomennon voi suorittaa ilman erillistä
+kääntämisvaihettakin, koska ennen asentamista se varmistaa, että
+tarvittavat tiedostot on käännetty. Asennuskohde on käyttäjän
+kotihakemistossa eli polussa `$HOME/texmf`. Kohteeseen asentuu paitsi
+oppaan PDF-tiedosto myös Latexin lähdetiedostot ja tämä käsillä oleva
+`README.md`. Asentamisen jälkeen esimerkiksi Texliveen sisältyvä komento
+`texdoc` osaa löytää ja avata oppaan, kun komennolle antaa argumentiksi
+joitakin oppaan nimen kirjaimia, esimerkiksi `texdoc kaytannoll`.
+
+Asennus poistetaan komennolla `make uninstall`. Komento tosin säilyttää
+polun `$HOME/texmf`, koska siellä voi edelleen sijaita muita Texiin ja
+Latexiin liittyviä tiedostoja.
+
+Kääntämishakemiston voi siivota alla olevilla komennoilla. Ensin
+mainittu komento poistaa useimmat väliaikaistiedostot mutta säilyttää
+oppaan PDF:n ja muut julkaisuun vaadittavat tiedostot. Jälkimmäinen
+poistaa kaikki syntyneet tiedostot.
+
+    make clean
+    make distclean
+
+
+Puutteita ja suunnitelmia
+-------------------------
+
+  - Lisätään Muuta tekniikkaa -luku, jonka sisällöksi esimerkiksi:
+    päiväykset ja kellonajat (datetime2), textpos-paketti, omien
+    makropakettien ja dokumenttiluokkien tekeminen.
+  - Marginaalihuomautusluvussa voisi mainita `\marginpar`-komennon
+    puutteet ja vaihtoehdon `marginnote`.
+  - Mahdollisesti käsitellään wrapfig-paketti.
+  - Uusi `fi-x-school`-tavutuskaava.
+  - Mittojen käsittelyn yhteydessä voisi käsitellä calc-paketin.


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf	2021-12-27 21:11:12 UTC (rev 61418)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf	2021-12-27 21:12:03 UTC (rev 61419)

Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,504 @@
+% Tekijä:   Teemu Likonen <tlikonen at iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\documentclass[fleqn]{book}
+\usepackage{geometry}
+\usepackage{fontspec}
+\usepackage{polyglossia}
+\usepackage{amsmath}
+\usepackage[math-style=ISO]{unicode-math}
+\usepackage[finnish,showseconds=false]{datetime2}
+\usepackage{ragged2e}
+\usepackage[hang,bottom,norule]{footmisc}
+\usepackage[clearempty]{titlesec}
+\usepackage{titletoc}
+\usepackage{graphicx}
+\usepackage{xcolor}
+\usepackage{floatrow}
+\usepackage{caption}
+\usepackage{fancyvrb}
+\usepackage{tabularx}
+\usepackage{booktabs}
+\usepackage{multirow}
+\usepackage[normalem]{ulem}
+\usepackage[makeindex, splitindex]{indextools}
+% \usepackage{ifthen}
+\usepackage{chngcntr}
+\usepackage{realscripts}
+\usepackage{csquotes}
+\usepackage[style=authoryear, dashed=false, maxbibnames=99]{biblatex}
+\usepackage{tikz}
+\usepackage{totcount}
+\usepackage{nowidow} \setnowidow \setnoclub
+%\usepackage{showhyphens}
+\usepackage{hanging}
+\usepackage{lettrine}
+\usepackage{multicol}
+\usepackage{textpos}
+\usepackage[unicode,hyperfootnotes=false]{hyperref}
+\usepackage[shortcuts]{extdash}
+
+\geometry{ a5paper, twoside, hscale=.72, vscale=.77, hmarginratio=17:28,
+  vmarginratio=20:32, footskip=12mm, footnotesep=13bp,
+  marginparwidth=50bp, marginparsep=10bp }
+
+% \geometry{ papersize={158mm, 220mm}, layout=a5paper, layoutoffset={5mm,
+%     5mm}, showcrop }
+
+\urlstyle{sf}
+\newcommand{\kulmaurl}[1]
+{\href{#1}{\guilsinglleft\nolinkurl{#1}\guilsinglright}}
+\newcommand{\kulmasp}[1]
+{\href{mailto:#1}{\guilsinglleft\nolinkurl{#1}\guilsinglright}}
+
+\input{versio}
+
+\newcommand{\otsikko}{Käytännöllistä Latexia}
+\newcommand{\alaotsikko}{Latex-ladontajärjestelmän opas}
+\newcommand{\tekija}{Teemu Likonen}
+\newcommand{\tekijat}{Teemu Likonen \kulmasp{tlikonen at iki.fi}}
+
+\hypersetup{ hidelinks, bookmarksnumbered,
+  pdfinfo={
+    Title={\otsikko},
+    Subject={\alaotsikko, versio \versio},
+    Author={\tekija},
+    Keywords={Latex, tekstinvalmistus, ladonta, tekstinkäsittely,
+      oppaat, atk-ohjelmat, kirjoittaminen, typografia}
+  }
+}
+
+\setdefaultlanguage{finnish}
+\setotherlanguage{english}
+\newcommand{\englishfont}{}
+\newcommand{\englanti}[1]{\textenglish{#1}}
+\newcommand{\englantik}[1]{\textenglish{\emph{#1}}}
+
+\defaultfontfeatures[\ttfamily]{Ligatures={TeXReset, NoCommon}}
+\usepackage[oldstyle,semibold,ScaleSF=MatchLowercase,StretchTT=.8]
+{libertinus-otf}
+\newcommand{\erikoisfontti}{\rmfamily}
+\newcommand{\viivastofontti}{\rmfamily}
+
+\renewcommand{\scriptsize}{\fontsize{7bp}{7bp}\selectfont}
+\renewcommand{\footnotesize}{\fontsize{8bp}{9bp}\selectfont}
+\renewcommand{\small}{\fontsize{9bp}{10bp}\selectfont}
+\renewcommand{\normalsize}{\fontsize{10.5bp}{13bp}\selectfont}
+\renewcommand{\large}{\fontsize{13bp}{15bp}\selectfont}
+\renewcommand{\Large}{\fontsize{16bp}{18bp}\selectfont}
+\renewcommand{\LARGE}{\fontsize{20bp}{22bp}\selectfont}
+\renewcommand{\huge}{\fontsize{24bp}{26bp}\selectfont}
+\linespread{1}
+\normalsize
+
+\newcommand{\gemenanum}{\addfontfeatures{Numbers=Lowercase}}
+\newcommand{\versaalinum}{\addfontfeatures{Numbers=Uppercase}}
+\newcommand{\murtoluku}[2]{{\addfontfeatures{Fractions=On}#1/#2}}
+
+\setlength{\emergencystretch}{1em}
+
+\setlength{\parindent}{1em}
+\setlength{\bibhang}{\parindent}
+\setlength{\bibitemsep}{.5ex plus .1ex minus .1ex}
+\newlength{\sisennys}\setlength{\sisennys}{1.8em}
+\setlength{\parskip}{0em}
+\setlength{\footnotemargin}{.8em}
+\setlength{\floatsep}{2ex plus 1ex minus .5ex}
+\setlength{\textfloatsep}{4ex plus 1ex minus .5ex}
+\setlength{\multicolsep}{0bp}
+
+\renewcommand{\topfraction}{.75}
+\renewcommand{\floatpagefraction}{.7}
+
+\addbibresource{kirjallisuutta.bib}
+\nocite{*}
+\renewcommand{\bibfont}{\RaggedRight}
+
+\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}
+\DeclareDelimFormat[bib]{multinamedelim}{\space--\space}
+\DeclareDelimFormat[bib]{finalnamedelim}{\space--\space}
+\DeclareDelimFormat[textcite,parencite]{finalnamedelim}{\space\&\space}
+\DeclareFieldFormat{url}{Saatavissa: \kulmaurl{#1}}
+\DeclareNameAlias{sortname}{family-given}
+\DeclareNameAlias{default}{family-given}
+\DefineBibliographyStrings{finnish}{andothers = {ym.}}
+
+\DeclareNewFloatType{esimerkki}{name=Esimerkki, within=chapter}
+
+\indexsetup{level=\section*, toclevel=section, noclearpage}
+
+\makeindex[name=paketit, title={Paketit}, columns=2, columnsep=1em]
+\makeindex[name=komennot, title={Komennot}, columns=2, columnsep=1em]
+\makeindex[name=ymparistot, title={Ympäristöt}, columns=2, columnsep=1em]
+\makeindex[name=mitat, title={Mitat}, columns=2, columnsep=1em]
+\makeindex[name=laskurit, title={Laskurit}, columns=2, columnsep=1em]
+\makeindex[name=dokumenttiluokat, title={Dokumenttiluokat}, columns=2,
+columnsep=1em]
+
+\renewcommand{\theFancyVerbLine}
+{\sffamily\versaalinum\fontsize{6bp}{7bp}\selectfont\arabic{FancyVerbLine}}
+
+\DefineVerbatimEnvironment{koodilohko}{Verbatim}{ fontsize=\small,
+  gobble=0, frame=single, framesep=.4em, numbers=left, numbersep=.3em,
+  xleftmargin=0em, xrightmargin=0mm, baselinestretch=1 }
+
+\DefineVerbatimEnvironment{koodilohkosis}{Verbatim}{
+  fontsize=\small, gobble=0, frame=none, numbers=none,
+  numbersep=0em, xleftmargin=\sisennys, xrightmargin=0mm,
+  baselinestretch=1, samepage=true }
+
+\newcommand{\seurausnuoli}{\textcolor[gray]{.5}{⇒}}
+
+\newenvironment{tulos}{%
+  \begin{textblock*}{1cm}(-2em,3bp)
+    \small\seurausnuoli
+  \end{textblock*}
+  \begin{minipage}{\linewidth}
+    \linespread{1}\erikoisfontti\small
+  }{%
+  \end{minipage}
+  \par\addvspace{\baselineskip}
+}
+
+\newenvironment{tulossis}{%
+  \begin{list}{}{
+      \setlength{\leftmargin}{\sisennys}
+      \erikoisfontti\small
+    }\item[\seurausnuoli]}{%
+  \end{list}}
+
+\floatsetup{ style=plain, font={small}, justification=raggedright,
+  margins=raggedright, captionskip=0ex, capposition=bottom }
+
+\floatsetup[table]{ style=plain, captionskip=2ex }
+\floatsetup[figure]{ style=plain, captionskip=2ex }
+
+\captionsetup{ font={small, sf}, labelfont={bf}, textfont={},
+  textformat=period, margin=.5em, justification=RaggedRight,
+  singlelinecheck=off }
+
+\newcommand{\leijutlk}[2]{%
+  \begin{table*}
+    \floatbox{table}{\versaalinum #1}{#2}
+  \end{table*}}
+
+\newcommand{\leijukuva}[2]{%
+  \begin{figure*}
+    \floatbox{figure}{#1}{#2}
+  \end{figure*}}
+
+\newenvironment{nluetelma}{%
+  \begin{list}{\arabic{enumi}.}{
+      \usecounter{enumi}
+      \setlength{\leftmargin}{1.3em}
+      \setlength{\labelsep}{.3em}
+      \setlength{\itemsep}{.2ex plus .2ex}
+      \setlength{\parsep}{0em}
+      \setlength{\topsep}{.2ex plus .2ex}
+      \RaggedRight
+    }}{\end{list}}
+
+\newenvironment{maaritelma}[1]{%
+  \begin{list}{}{
+    \setlength{\leftmargin}{\parindent}
+    \setlength{\labelwidth}{\parindent}
+    \setlength{\listparindent}{\parindent}
+    \setlength{\labelsep}{1em}
+    \setlength{\itemindent}{1em}
+    \setlength{\itemsep}{.2ex plus .2ex}
+    \setlength{\parsep}{0em}
+    \setlength{\topsep}{.2ex plus .2ex}
+    \renewcommand{\makelabel}[1]{#1}
+  }}{\end{list}}
+
+\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}
+
+\definecolor{tavu}{rgb}{1,0,0}
+\definecolor{apuviiva}{gray}{.4}
+\definecolor{mittanuoli}{rgb}{1,0,0}
+
+\definecolor{luokka}{rgb}{0,.3,.3}
+\definecolor{komento}{rgb}{0,0,.5}
+\definecolor{mkomento}{rgb}{.4,0,.4}
+\definecolor{ymparisto}{rgb}{0,.3,0}
+\definecolor{mymparisto}{rgb}{.4,0,.4}
+\definecolor{mitta}{rgb}{.4,0,0}
+\definecolor{laskuri}{rgb}{.4,0,.4}
+\definecolor{paketti}{rgb}{.35,.35,0}
+
+\newcommand{\keno}{\textbackslash}
+\newcommand{\marginaali}[1]{\marginpar{\RaggedRight\footnotesize #1}}
+
+\newcommand{\koodi}[1]{\texttt{#1}}
+% \newcommand{\koodimargin}[1]{\marginaali{\koodi{#1}}}
+\newcommand{\koodimargin}[1]{}
+\newcommand{\koodim}[1]{\koodi{#1}\koodimargin{#1}}
+\newcommand{\koodil}[1]{\enquote{\texttt{#1}}}
+
+\newcommand{\luokkax}[1]{\textcolor{luokka}{\textsf{#1}}}
+\newcommand{\luokkai}[1]{\index[dokumenttiluokat]{#1@\luokkax{#1}}}
+\newcommand{\luokka}[1]{\luokkax{#1}\luokkai{#1}}
+% \newcommand{\luokkamargin}[1]{\marginaali{\luokkax{#1}}}
+\newcommand{\luokkamargin}[1]{}
+\newcommand{\luokkam}[1]{\luokka{#1}\luokkamargin{#1}}
+\newcommand{\luokkactan}[1]{\luokka{#1}\avctan{#1}}
+
+\newcommand{\komentox}[1]{\textcolor{komento}{\koodi{\keno #1}}}
+\newcommand{\komentoi}[1]{\index[komennot]{#1@\komentox{#1}}}
+\newcommand{\komento}[1]{\komentox{#1}\komentoi{#1}}
+\newcommand{\komentojatko}[1]{\katk\textcolor{komento}{\koodi{#1}}}
+\newcommand{\komentoarg}[1]{\komentojatko{\{#1\}}}
+\newcommand{\komentoargv}[1]{\komentojatko{[#1]}}
+% \newcommand{\komentomargin}[1]{\marginaali{\komentox{#1}}}
+\newcommand{\komentomargin}[1]{}
+\newcommand{\komentom}[1]{\komento{#1}\komentomargin{#1}}
+
+\newcommand{\mkomentox}[1]{\textcolor{mkomento}{\koodi{\keno #1}}}
+\newcommand{\mkomentoi}[1]{\index[komennot]{#1@\mkomentox{#1}}}
+\newcommand{\mkomento}[1]{\mkomentox{#1}\mkomentoi{#1}}
+\newcommand{\mkomentojatko}[1]{\katk\textcolor{mkomento}{\koodi{#1}}}
+\newcommand{\mkomentoarg}[1]{\mkomentojatko{\{#1\}}}
+\newcommand{\mkomentoargv}[1]{\mkomentojatko{[#1]}}
+
+\newcommand{\ymparistox}[1]{\textcolor{ymparisto}{\koodi{#1}}}
+\newcommand{\ymparistoi}[1]{\index[ymparistot]{#1@\ymparistox{#1}}}
+\newcommand{\ymparisto}[1]{\ymparistox{#1}\ymparistoi{#1}}
+% \newcommand{\ymparistomargin}[1]{\marginaali{\ymparistox{#1}}}
+\newcommand{\ymparistomargin}[1]{}
+\newcommand{\ymparistom}[1]{\ymparisto{#1}\ymparistomargin{#1}}
+
+\newcommand{\mymparistox}[1]{\textcolor{mymparisto}{\koodi{#1}}}
+\newcommand{\mymparistoi}[1]{\index[ymparistot]{#1@\mymparistox{#1}}}
+\newcommand{\mymparisto}[1]{\mymparistox{#1}\mymparistoi{#1}}
+
+\newcommand{\mittax}[1]{\textcolor{mitta}{\koodi{\keno #1}}}
+\newcommand{\mittai}[1]{\index[mitat]{#1@\mittax{#1}}}
+\newcommand{\mitta}[1]{\mittax{#1}\mittai{#1}}
+% \newcommand{\mittamargin}[1]{\marginaali{\mittax{#1}}}
+\newcommand{\mittamargin}[1]{}
+\newcommand{\mittam}[1]{\mitta{#1}\mittamargin{#1}}
+
+\newcommand{\laskurix}[1]{\textcolor{laskuri}{\koodi{#1}}}
+\newcommand{\laskurii}[1]{\index[laskurit]{#1@\laskurix{#1}}}
+\newcommand{\laskuri}[1]{\laskurix{#1}\laskurii{#1}}
+% \newcommand{\laskurimargin}[1]{\marginaali{\laskurix{#1}}}
+\newcommand{\laskurimargin}[1]{}
+\newcommand{\laskurim}[1]{\laskuri{#1}\laskurimargin{#1}}
+
+\newcommand{\pakettix}[1]{\textcolor{paketti}{\textsf{#1}}}
+\newcommand{\pakettii}[1]{\index[paketit]{#1@\pakettix{#1}}}
+\newcommand{\paketti}[1]{\pakettix{#1}\pakettii{#1}}
+% \newcommand{\pakettimargin}[1]{\marginaali{\pakettix{#1}}}
+\newcommand{\pakettimargin}[1]{}
+\newcommand{\pakettim}[1]{\paketti{#1}\pakettimargin{#1}}
+\newcommand{\pakettictan}[1]{\paketti{#1}\avctan{#1}}
+
+\newcommand{\tavukohta}{\textcolor{tavu}{\raisebox{-.2ex}{\rule{.6bp}{2ex}}}}
+\newcommand{\uctunnus}[1]{\textsc{\englanti{#1}}}
+\newcommand{\avctan}[1]{\footnote{\url{https://www.ctan.org/pkg/#1}}}
+
+\newcommand{\ots}[1]{{\sffamily\bfseries #1}}
+\newcommand{\otsrivi}[1]{{\sffamily #1}}
+\newcommand{\katk}{\discretionary{}{}{}}
+
+\addto{\captionsfinnish}{
+  \renewcommand{\contentsname}{Sisällys}
+}
+
+\newcommand{\otsikkotyyli}{ \raggedright \sffamily \bfseries }
+
+\titleformat{\chapter}
+[display]
+{\Large\bfseries}
+{\chaptertitlename\hspace{.3em}\thechapter}
+{1.5ex}
+{\otsikkotyyli\huge}[]
+\titlespacing*{\chapter}{0em}{*13}{*8}
+
+\titleformat{\section}
+{\otsikkotyyli\large}
+{\thesection}
+{.8em}
+{}[]
+\titlespacing*{\section}{0pt}{*4}{*2}
+
+\titleformat{\subsection}
+{\otsikkotyyli\normalsize}
+{\thesubsection}
+{.8em}
+{}[]
+\titlespacing*{\subsection}{0bp}{*2}{*1}
+
+\titleformat{\subsubsection}
+{\otsikkotyyli\mdseries\scshape\normalsize}
+{\thesubsubsection}
+{.8em}
+{}[]
+\titlespacing*{\subsubsection}{0bp}{*2}{*1}
+
+\titlecontents{chapter}
+[8mm]
+{\addvspace{1.5ex}\rmfamily\bfseries\large}
+{\contentslabel{8mm}}
+{\hspace{-8mm}}
+{\small\titlerule[0bp]\contentspage}
+[\addvspace{.5ex}]
+
+\titlecontents{section}
+[8mm]
+{\addvspace{.5ex}\rmfamily\normalsize}
+{\contentslabel{8mm}}
+{}
+{~\small\titlerule*[3mm]{.}\contentspage}
+[\addvspace{.2ex}]
+
+\titlecontents{subsection}
+[18mm]
+{\rmfamily\small}
+{\contentslabel{10mm}}
+{}
+{~\small\titlerule*[3mm]{.}\contentspage}
+[]
+
+\titlecontents*{subsubsection}
+[18mm]
+{\rmfamily\footnotesize}
+{\thecontentslabel. }
+{}
+{ (\thecontentspage)}
+[ -- ][.]
+
+\regtotcounter{chapter}
+
+\begin{document}
+\rmfamily % Pienversaali ei toimi leipätekstissä ilman tätä.
+
+\input{tavutusvihjeet}
+
+\pagestyle{empty}
+
+\newgeometry{top=1cm, bottom=1.8cm, hmargin=1.3cm}
+
+% \newgeometry{ top=1cm, bottom=1.8cm, hmargin=1.3cm, papersize={158mm,
+%     220mm}, layout=a5paper, layoutoffset={5mm, 5mm}, showcrop }
+
+\pdfbookmark[0]{Nimiö}{sivu/nimiö}
+\DTMsetstyle{finnish-numeric}
+
+\vspace*{.2\textheight}
+
+{
+
+  \setlength{\parindent}{0pt}
+
+  \fontsize{16bp}{16bp}\rmfamily \tekija
+
+  \fontsize{52bp}{52bp}\sffamily\bfseries%
+  \hspace{-3bp}%
+  {\addfontfeatures{LetterSpace=-4} Käytännöllistä}
+
+  \fontsize{65bp}{65bp}\selectfont%
+  \hspace{-5bp}%
+  \LaTeX{}ia
+
+}
+
+\vfill
+
+{
+
+  \raggedleft
+  \alaotsikko \\
+  Versio \versio
+
+}
+
+\clearpage
+\restoregeometry
+\pdfbookmark[0]{Tekijänoikeus}{sivu/tekijänoikeus}
+
+\null\vfill
+
+{
+  \setlength{\parindent}{0em}
+  \setlength{\parskip}{1.2ex plus .1ex}
+
+  \section*{\otsikko}
+
+  \textsc{Tekijä:} \tekijat
+
+  \textsc{Versio:} \versio
+
+  \textsc{Päiväys:} \DTMtoday{} kello \DTMcurrenttime{} (ensijulkaisu:
+  26.12.2021)
+
+  \textsc{Saatavissa:} \url{https://github.com/tlikonen/latex-opas}
+
+  \textsc{Lisenssi:} \emph{Creative Commons Nimeä-Jaa\-Samoin 4.0
+    Kansainvälinen} (\textsc{cc by-sa} 4.0). Lisenssi antaa sinulle
+  luvan kopioida ja levittää tätä teosta tai sen osia missä tahansa
+  välineessä ja muodossa. Sisältöä saa muokata, ja sen pohjalta saa
+  luoda uusia teoksia mihin tahansa tarkoitukseen, myös kaupallisesti.
+  Ehdot ovat seuraavat:
+
+  \begin{list}{\textbullet}{
+      \setlength{\leftmargin}{1em}
+      \setlength{\topsep}{0ex}
+      \setlength{\partopsep}{0ex}
+      \setlength{\itemsep}{0ex}
+    }
+  \item Sinun on mainittava tekijä(t) asianmukaisesti, tarjottava linkki
+    lisenssin koko tekstiin (ks. alla) sekä mainittava, mikäli olet
+    tehnyt muutoksia.
+  \item Jos muokkaat teosta tai luot sen pohjalta uuden teoksen, sinun on
+    jaettava muutoksiasi samalla lisenssillä kuin alkuperäistä teosta.
+  \item Et saa asettaa sellaisia oikeudellisia ehtoja tai teknisiä
+    estoja, jotka estävät muita tekemästä asioita, jotka tämä lisenssi
+    sallii.
+  \end{list}
+
+  Lisenssin koko teksti: \\
+  \url{https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi}
+
+}
+
+\cleardoublepage
+
+\pagestyle{plain}
+\pdfbookmark[0]{Sisällys}{sivu/sisällys}
+\setcounter{tocdepth}{3}
+\tableofcontents
+
+\setcounter{secnumdepth}{-1}
+\input{luku-esipuhe}
+\setcounter{secnumdepth}{2}
+\input{luku-valmistautuminen}
+\input{luku-merkintakieli}
+\input{luku-asetukset}
+\input{luku-rakenne}
+\input{luku-erikoiset}
+\setcounter{secnumdepth}{-1}
+
+\chapter{Kirjallisuutta}
+\label{luku/kirjallisuutta}
+
+\printbibliography[heading=none]
+
+\chapter{Asiahakemistot}
+\label{luku/asiahakemisto}
+
+\printindex[dokumenttiluokat]
+\indexprologue{\noindent Tekstitilan ja matematiikkatilan komennot on
+  ladottu eri väreillä: \komentox{teksti} ja \mkomentox{matematiikka}.}
+\printindex[komennot]
+\printindex[laskurit]
+\printindex[mitat]
+\printindex[paketit]
+\newpage
+\indexprologue{\noindent Tekstitilan ja matematiikkatilan ympäristöt on
+  ladottu eri väreillä: \ymparistox{teksti} ja
+  \mymparistox{matematiikka}.}
+\printindex[ymparistot]
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kirjallisuutta.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kirjallisuutta.bib	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kirjallisuutta.bib	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,78 @@
+ at book{unoffref,
+  author =       {Berry, Karl and Gilmore, Stephen and Martinsen, Torsten},
+  title =        {Latex 2e: An unofficial reference manual},
+  note =         {October 2018},
+  date =         2018,
+  url =          {https://latexref.xyz/},
+  langid =       {british}
+}
+
+ at book{kirjtyypit,
+  author =       {Itkonen, Markus},
+  title =        {Kirjaintyypit ja tyyli},
+  date =         2015,
+  publisher =    {\textsc{rps}-yhtiöt}
+}
+
+ at book{typokk,
+  author =       {Itkonen, Markus},
+  title =        {Typo\-grafian käsikirja},
+  edition =      5,
+  date =         2019,
+  origdate =     2003,
+  publisher =    {Typoteekki. Graafinen suunnittelu Markus Itkonen Oy}
+}
+
+ at book{lyhyt2e,
+  author =       {Oetiker, Tobias and Partl, Hubert and Hyna, Irene and
+                  Schlegl, Elisabeth and Hell\-gren, Timo},
+  title =        {Pitkänpuoleinen johdanto Latex 2ε:n käyttöön},
+  subtitle =     {Eli opi Latex 2ε 133 minuutissa},
+  note =         {Versio 4.17fi},
+  date =         2005,
+  url =          {https://www.ctan.org/pkg/lshort-finnish},
+  langid =       {finnish}
+}
+
+ at book{lshort,
+  author =       {Oetiker, Tobias and Partl, Hubert and Hyna, Irene and
+                  Schlegl, Elisabeth},
+  title =        {The Not So Short Introduction to Latex 2ε},
+  subtitle =     {Or Latex 2ε in 139 minutes},
+  note =         {Version 6.2},
+  date =         2018,
+  url =          {https://www.ctan.org/pkg/lshort-english},
+  langid =       {british}
+}
+
+ at book{kt_oik,
+  author =       {Kankaanpää, Salli and Heikkilä, Elina and Korhonen, Riitta
+                  and Maamies, Sari and Piehl, Aino and Eronen, Riitta and
+                  Hyvärinen, Riitta and Kolehmainen, Taru and Mikkonen, Pirjo
+                  and Moilanen, Raija and Pyhälahti, Minna and Räsänen, Matti
+                  and Vaula, Sari and Vihonen, Inkaliisa and Wihuri, Elina},
+  title =        {Kielitoimiston oikein\-kir\-joi\-tus\-opas},
+  edition =      13,
+  date =         2017,
+  series =       {Kotimaisten kielten keskuksen julkaisuja 177},
+  publisher =    {Kotimaisten kielten keskus}
+}
+
+ at online{ctan,
+  title =        {Comprehensive TeX Archive Network},
+  shorttitle =   {\textsc{ctan}},
+  url =          {https://www.ctan.org/},
+  date =         {1992/},
+}
+
+ at article{tuhoajana,
+  author =       {Korpela, Jukka K.},
+  title =        {Tietokone typografian tuhoajana},
+  journaltitle = {Skrolli},
+  journalsubtitle ={Tietokonekulttuurin erikoislehti},
+  date =         2015,
+  volume =       2015,
+  number =       3,
+  pages =        {10-14},
+  url =          {https://www.skrolli.fi/numerot/2015-3/}
+}


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/kirjallisuutta.bib
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,2952 @@
+% Tekijä:   Teemu Likonen <tlikonen at iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{Asetukset}
+
+Dokumentin yleiset asetukset koostuvat Latexissa dokumenttiluokan
+valinnasta, sivun koon ja marginaalien määrittelystä, fonttien
+määrittelystä sekä kieliasetuksista. Näitä kaikkia käsitellään tässä
+luvussa.
+
+Kirjoittajan ei tarvitse tehdä kaikkia dokumentin asetuksia kerralla. On
+ehkä jopa suotavaakin keskittyä aluksi lähinnä dokumentin sisällön ja
+rakenteen suunnitteluun ja tuottamiseen. Ulkoasuun kyllä ehtii tulla
+kirjoittamisen aikana monenlaisia ajatuksia, joita ei olisi välttämättä
+alussa osannut huomioida. Kirjoittamaan pääsee hyvinkin yksinkertaisen
+dokumenttirungon avulla (esimerkki \ref{esim/ensimmäinen},
+s.~\pageref{esim/ensimmäinen}), mutta tässä luvussa käsitellään
+asetusten määrittelyä ja mahdollisuuksia melko perusteellisesti.
+
+\section{Dokumenttiluokat}
+\label{luku/dokumenttiluokat}
+
+Latexin lähdedokumenttien alussa on aina samankaltainen rivi, joka
+määrittelee käytettävän dokumenttiluokan ja mahdollisesti dokumentin
+perusasetuksia. Dokumenttiluokka määritellään komennolla
+\komento{documentclass} ja sen argumentiksi annetaan dokumenttiluokan
+nimi. Valinnaisilla argumenteilla vaikutetaan asetuksiin.
+
+\komentoi{documentclass}
+\luokkai{article}
+\begin{koodilohkosis}
+\documentclass[a4paper, 12pt]{article}
+\end{koodilohkosis}
+
+\noindent
+Dokumenttiluokka on eräänlainen pohjadokumentti eli ominaisuuksien ja
+asetusten kokoelma, jonka varaan oma dokumentti kirjoitetaan. Eri
+dokumenttiluokat sisältävät erilaisia ominaisuuksia ja erilaiset
+oletusasetukset. Edellä olevassa esimerkissä käytettiin
+\luokka{article}\-/ luokkaa, joka on yleiskäyttöinen luokka monenlaisten
+dokumenttien kirjoittamiseen. Seuraavissa alaluvuissa käsitellään
+tavallisimpia dokumenttiluokkia ja niiden asetuksia.
+
+% Dokumenttiluokkia voi tehdä itsekin, ja sitä aihetta käsitellään
+% luvussa X.Y.
+
+\subsection{Perusdokumenttiluokat}
+\label{luku/perusdokumenttiluokat}
+
+Muutama dokumenttiluokka kuuluu Latexin perusvalikoimaan, eli ne ovat
+aina saatavilla ja asennettuna, kun itse Latexkin on. Niitä kutsutaan
+välillä standardeiksi dokumenttiluokiksi, ja ne ovat ikään kuin
+muuttumattomia perusluokkia, joiden varaan on turvallista rakentaa omia
+dokumentteja tai muita dokumenttiluokkia. Muita dokumenttiluokkia
+kehitetään Latexin perusosien ulkopuolella, ja niiden ominaisuudet
+voivat muuttua ja kehittyä nopeammin ajan myötä.
+
+Normaalit paperisivuihin perustuvat dokumentit tehdään luokkien
+\luokkam{article}, \luokkam{report} tai \luokkam{book} avulla. Ne ovat
+keskenään hyvin samanlaisia, mutta niiden oletusasetukset poikkeavat
+toisistaan. Karkeasti jaoteltuna \luokka{article}\-/ luokka on
+tarkoitettu lyhyehköille artikkeleille ja yleiseksi perustaksi
+monenlaisille dokumenteille. Sen sijaan \luokka{report} ja \luokka{book}
+on tarkoitettu laajoihin dokumentteihin, ja niissä on kirjatypografian
+piirteitä.
+
+Suurin edellä mainittujen perusluokkien ero on otsikoinnissa ja
+dokumentin jäsentämisessä: \luokka{report} ja \luokka{book} sisältävät
+suuret pääluvut (\komento{chapter}) eli otsikot, jotka alkavat tyhjältä
+sivulta; \luokka{article} ei sisällä samanlaisia päälukuja vaan
+ainoastaan tavalliset leipätekstin mukana kulkevat väliotsikot
+(\komento{section}, \komento{subsection} jne.). Tekstin jäsentämistä
+käsitellään luvussa \ref{luku/jäsennys} ja otsikointia tarkemmin luvussa
+\ref{luku/otsikot}.
+
+Toinen ero perusluokkien välillä on se, että vain \luokka{book}\-/
+luokka sisältää komennot \komento{frontmatter}, \komento{mainmatter} ja
+\komento{backmatter}, joita voi käyttää ilmaisemaan tietokirjan
+erityyppiset osat: esittely\-/, sisältö\-/{} ja liitesivut. Näitä
+käsitellään luvussa \ref{luku/frontmainbackmatter}. Lisäksi
+\luokka{report}\-/ luokka sisältää ympäristön \ymparisto{abstract}, joka
+on tarkoitettu tekstin tiivistelmäosan tekemiseen; \luokka{book}\-/
+luokassa sitä ei ole.
+
+Muut erot koskevat lähinnä oletusasetuksia, mutta asetukset ovat
+tietenkin muutettavissa, eivätkä ne siten ole määräävä tekijä
+valittaessa luokkien \luokka{article}, \luokka{report} ja \luokka{book}
+välillä. Dokumenttiluokkien asetuksia käsitellään seuraavassa
+alaluvussa.
+
+Muita perusdokumenttiluokkia ovat \luokkam{letter} ja \luokka{slides}.
+Nimensä mukaisesti \luokka{letter} on kirjeiden kirjoittamista varten.
+Se sisältää kirjeen tyypilliseen rakenteeseen liittyviä komentoja ja
+soveltuu varsinkin tarpeisiin, joissa täytyy automaattisesti tuottaa
+samanmuotoisia kirjeitä usealle vastaanottajalle. Sama
+Latex\-/dokumentti voi sisältää useita kirjeitä, ja sivunumerointi ja
+alaviitteiden numerointi alkaa joka kirjeessä alusta -- kuten on
+tietysti toivottavaa. \luokka{letter}\-/ luokkaa käsitellään tarkemmin
+luvussa \ref{luku/kirjeet}.
+
+Piirtoheittimien läpinäkyvien kalvojen ja sen kaltaisten dokumenttien
+tekemiseen on dokumenttiluokka \luokkam{slides}. Piirtoheittimet ovat
+jääneet menneisyyteen, ja nykyään jokseenkin vastaavanlainen rooli on
+esitysgrafiikkaohjelmilla, joilla tehdään diaesityksiä esimerkiksi
+esitelmien havaintomateriaaliksi. \luokka{slides}\-/ luokkaa ei varmaan
+tarvita enää mihinkään, mutta esitysgrafiikkaan on olemassa erittäin
+monipuolinen luokka \luokka{beamer}, jonka perusasioita käsitellään
+luvussa \ref{luku/esitysgrafiikka}.
+
+\subsection{Perusdokumenttiluokkien asetukset}
+\label{luku/perusdokumenttiluokat-asetukset}
+
+Taulukkoon \ref{tlk/luokkavalitsimet} on koottu perusdokumenttiluokkien
+valitsimet. Sivun koko asetetaan valitsimilla \koodi{a4\-paper} (210 ×
+297 mm), \koodimargin{*paper} \koodi{a5\-paper} (148 × 210 mm),
+\koodi{b5\-paper} (176 × 250 mm), \koodi{execu\-tive\-paper} (7,25 ×
+10,5 tuumaa), \koodi{legal\-paper} (8,5 × 14 tuumaa) tai
+\koodi{letter\-paper} (8,5 × 11 tuumaa). Latexin oletuksena on
+\koodi{letterpaper}, mutta oletusta voi olla muutettu Latexin
+jakelupaketissa. Varminta on aina itse kirjoittaa haluttu sivukoko
+dokumentin asetuksiin.
+
+\leijutlk{
+  \ttfamily
+  \begin{tabular}{llll}
+    \toprule
+    a4paper & landscape & openright & 10pt \\
+    a5paper & final & openany & 11pt \\
+    b5paper & draft & onecolumn & 12pt \\
+    executivepaper & oneside & twocolumn & titlepage \\
+    legalpaper & twoside & fleqn & notitlepage \\
+    letterpaper & openbib & leqno & clock \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Perusdokumenttiluokkien valitsimet}
+  \label{tlk/luokkavalitsimet}
+}
+
+Sivu on oletuksena pystyasennossa, mutta valitsin \koodim{landscape}
+asettaa sen vaaka\-/asentoon. Tämä asetus koskee dokumentin kaikkia
+sivuja, mutta jos haluaa asettaa vain yksittäisiä sivuja
+vaaka\-/asentoon, täytyy käyttää \pakettictan{pdflscape}\-/ pakettia ja
+sen tarjoamaa ympäristöä.
+
+Sivun koon ja muitakin mittoja voi määritellä monipuolisemmin
+\paketti{geometry}\-/paketin toimintojen avulla (luku
+\ref{luku/sivuasetukset}). Jos sitä pakettia käyttää, ei näitä
+dokumenttiluokan sivukokoasetuksia tarvita välttämättä lainkaan.
+
+Leipätekstin fontin koon voi määrittää valitsimilla \koodim{10pt},
+\koodim{11pt} ja \koodim{12pt}, joista ensin mainittu on oletus. Lyhenne
+pt tarkoittaa typografista pistemittaa, joita käsitellään luvussa
+\ref{luku/mitat}. Nämä asetukset vaikuttavat myös sivun marginaaleihin,
+koska fontin koko vaikuttaa tekstiriville mahtuvien merkkien määrään ja
+Latex pyrkii pitämään rivit sopivan mittaisina lukemisen kannalta.
+
+Vain kolme eri fonttikokoa leipätekstille on kovin vähän ja peräisin
+ajalta, jolloin Latexin fontit olivat pikseligrafiikkaa eli muodostuivat
+erillisistä kuvapisteistä. Nykyaikana fontit ovat vektorigrafiikkaa eli
+matemaattisten kaavojen avulla muodostettavia kuvia, ja ne voi venyttää
+mihin kokoon tahansa. Sen vuoksi nämä dokumenttiluokkien
+fonttikokovalitsimet eivät ole kovin tarpeellisia eivätkä riitä kaikkiin
+tarpeisiin nykyaikana. Voi niitä silti käyttää, jos niiden avulla saa
+halutun lopputuloksen. Fontteja käsitellään tarkemmin luvussa
+\ref{luku/kirjaintyypit}.
+
+Dokumentista voi latoa luonnosversion käyttämällä dokumenttiluokan
+valitsinta \koodim{draft}. Luonnoksena ladottuun dokumenttiin tulevat
+merkityksi (musta suorakulmio) ainakin tekstipalstan yli pursuavat
+rivit, mikä voi auttaa tekstikappaleiden ulkoasun korjailussa (luku
+\ref{luku/kappale}). Eri paketit voivat hyödyntää \koodi{draft}\-/
+valitsinta omalla tavallaan eli muuttaa toimintaansa sen perusteella.
+Esimerkiksi grafiikkaan liittyvä paketti \paketti{graphicx} (luku
+\ref{luku/grafiikka}) jättää luonnosversiosta kuvat pois, ja niiden
+paikalla on vain suorakulmio. Pdf\-/tiedoston ristiviitteistä huolehtiva
+\paketti{hyperref}\-/paketti jättää pdf:n sisäiset ristiviitteet ja
+sisällysluettelon tekemättä (luku \ref{luku/ristiviitteet}). Latominen
+voi nopeutua huomattavasti.
+
+Lopullinen ladontatila on \koodim{final}, joka tarkoittaa, että
+dokumenttiin ladotaan kaikki sisältö ja ominaisuudet niin kuin se on
+tarkoitettu julkaistavaksi. Tätä valitsinta ei tarvitse käyttää, koska
+se on oletustila.
+
+Sivujen yksipuolisuus (\koodim{oneside}) ja kaksipuolisuus
+(\koodim{twoside}) ovat asetuksia, jotka vaikuttavat sivun marginaalien
+asetuksiin ja mahdollisesti uuden pääluvun (\komento{chapter})
+aloitukseen. Oletus on yksipuolinen dokumentti kaikissa muissa
+perusdokumenttiluokissa paitsi \luokka{book}\-/ luokassa, jonka oletus
+on kaksipuolinen.
+
+Yksipuolisessa dokumentissa kaikkien sivujen marginaalit ovat
+lähtökohtaisesti samanlaisia ja asetuksissa puhutaan esimerkiksi
+vasemmasta (\englanti{left}) ja oikeasta (\englanti{right})
+marginaalista. Kaksipuolisessa dokumentissa sivut ajatellaan pareittain:
+kaksi sivua muodostaa kirjan aukeaman, jonka vasemmalla puolella on
+parillinen sivunumero ja oikealla pariton. Marginaalien asetuksissa
+puhutaan sisämarginaaleista (\englanti{inner}) ja ulkomarginaaleista
+(\englanti{outer}). Sisämarginaalit ovat oletuksena pienemmät, koska
+niitä on aukeamalla aina kaksi vierekkäin. Ulkomarginaaleissa on tilaa
+marginaalihuomautuksille (luku \ref{luku/marginaalihuomautukset}).
+Marginaaleja ja muita sivun asetuksia käsitellään tarkemmin luvussa
+\ref{luku/sivuasetukset}.
+
+Jos dokumentti on määritetty kaksipuoliseksi (\koodi{twoside}), voidaan
+\koodim{open\-right}\-/ valitsimella määrittää pääluvut
+(\komento{chapter}) alkamaan aina oikeanpuoleiselta sivulta. Se onkin
+oletus dokumenttiluokassa \luokka{book}. Valitsin \koodim{open\-any}
+asettaa pääluvut alkamaan miltä tahansa seuraavalta sivulta.
+
+Valitsin \koodim{open\-bib} liittyy automaattiseen lähdeluettelon
+muotoiluun. Jos tämä valitsin on mukana, automaattisessa lähdeluettelon
+muotoilussa lisätään rivinvaihtoja lähdemerkinnän eri osien kuten
+teoksen tekijöiden ja teoksen nimen jälkeen. Lähdemerkintöjä ja
+lähdeluettelon laatimista käsitellään luvussa \ref{luku/lähteet}.
+
+Matemaattisten kaavojen ladontaan liittyvässä \ymparisto{equation}\-/
+ympäristössä kaavat ladotaan normaalisti vaakasuunnassa sivun keskelle.
+Dokumenttiluokan valitsinta \koodim{fleqn} käyttämällä kaavat ladotaan
+kuitenkin sivun vasempaan reunaan. Kaavojen numerot sijoitetaan
+oletuksena sivun oikeaan reunaan, mutta valitsimella \koodim{leqno} ne
+saa ladottua sivun vasempaan reunaan. Matematiikkatilaa käsitellään
+luvussa \ref{luku/matematiikka}.
+
+Kansisivun tai dokumentin perustietojen esitystapaan vaikutetaan
+valitsimilla \koodim{title\-page} ja \koodim{no\-title\-page}. Latexissa
+on yksinkertaiset komennot dokumentin perustietojen eli pääotsikon,
+tekijöiden nimien ja päiväyksen latomiseen (luku
+\ref{luku/dokumentin-perustiedot}), ja näillä valitsimilla vaikutetaan
+siihen, ladotaanko perustiedot omalle sivulleen (\koodi{title\-page})
+vaiko ensimmäisen sisältösivun alkuun (\koodi{no\-title\-page}).
+Oletus\-asetus vaihtelee eri dokumenttiluokissa.
+
+Oletuksena sivun tekstit ladotaan yhdelle palstalle
+(\koodim{onecolumn}), mutta valitsimella \koodim{twocolumn} teksti
+ladotaan kahdelle palstalle. Nämä valitsimet vaikuttavat myös sivun
+marginaaleihin. Latexin perusosat eivät hallitse useampaa kuin kaksi
+palstaa, mutta \paketti{multicol}\-/paketin avulla saa enemmänkin.
+Palstoja käsitellään luvussa \ref{luku/palstat}.
+
+Dokumenttiluokassa \luokka{slides} toimii \koodim{clock}\-/ valitsin,
+joka latoo kellonajan piirtoheitinkalvon loppuun \komento{note}\-/
+komennon yhteydessä. Tämä valitsin kuulunee samaan paikkaan kuin
+piirtoheittimet ja \luokka{slides}\-/luokkakin: kierrätykseen tai
+kaatopaikalle.
+
+\subsection{Muita dokumenttiluokkia}
+
+Kuka tahansa voi tehdä ja julkaista omia dokumenttiluokkia, ja niinpä
+perusdokumenttiluokkien lisäksi onkin saatavilla monenlaisia luokkia.
+Tässä käsitellään vain joitakin.
+
+Luokka \luokka{memoir} on Latexin \luokka{book}\-/luokkaan perustuva,
+ominaisuuksiltaan laajennettu luokka, joka sopii yleiskäyttöön. Tähän
+luokkaan on sisällytetty monia dokumentin rakenteeseen ja ulkoasuun
+liittyviä toimintoja, joihin yleensä tarvitaan erillisiä paketteja
+tai muuten lisäkoodia. Sen sijaan, että ratkoisi dokumentin rakenteen ja
+asettelun kysymyksiä erillisten pakettien avulla, saattaisi olla
+helpompaa lukea (lähes) pelkästään vain \luokka{memoir}\-/ luokan
+ohjekirjaa ja toteuttaa asiat yhtenäisen järjestelmän avulla.
+
+\luokka{beamer}\-/luokka on monipuolinen ja huippuunsa viritetty luokka
+esitysgrafiikan eli diaesitysten tekemiseen. Se on eräänlainen Latexin
+vastine esimerkiksi \englanti{Libreoffice Impress}\-/{} ja
+\englanti{Microsoft Powerpoint} \=/ohjelmille.
+
+Pienempiin, rajattuihin erityistarpeisiin on olemassa useita luokkia.
+Esimerkiksi yksisivuisten taitettavien lehtisten kuten tapahtuman
+käsiohjelmien tekemiseen soveltuu \luokka{leaflet}\-/luokka.
+\textsc{cd}\-/levyjen kansia voi tehdä \luokka{cd}\-/luokan avulla.
+Kuvitettuja seinäkalentereita vartenkin on tehty oma luokkansa,
+\luokka{wallcalendar}. Kitaran tablatuureja eli otelautakuvaan
+perustuvia nuotteja voi tehdä \luokka{guitartabs}\-/ luokan avulla.
+
+Kaikenlaista on siis olemassa. Saatavilla oleviin dokumenttiluokkiin voi
+tutustua esimerkiksi \englanti{Comprehensive Tex Archive Network}
+(\textsc{ctan}) \=/verkkosivun avulla.%
+\footnote{\url{https://www.ctan.org/topic/class}}
+
+\section{Sivu}
+\label{luku/sivuasetukset}
+
+Latex\-/dokumentit muodostuvat aina peräkkäisistä sivuista, eli
+taustalla kummittelee paperiarkkeihin perustuva julkaisumuoto, vaikka
+dokumenttia ei varsinaisesti tulostettaisi tai painettaisi paperille.
+Tämän vuoksi melkein aina täytyy määrittää sivun asetukset kuten
+paperikoko ja marginaalit. Ne tehdään \pakettim{geometry}\-/ paketin
+avulla, jota käsitellään luvussa \ref{luku/sivun-mitat}. Joskus halutaan
+muokata sivun ylä- tai alatunnistetta eli verrattain pysyviä
+tunnistetietoja, jotka toistuvat joka sivulla ylä- tai alareunassa.
+Niiden muokkaamiseen käytetään \paketti{fancyhdr}\-/ pakettia, jonka
+ohjeita on luvussa \ref{luku/ylä-ala-tunnisteet}.
+
+\subsection{Sivun koko ja marginaalit}
+\label{luku/sivun-mitat}
+
+Paperin eli sivun kokoon ja marginaaleihin pääsee vaikuttamaan
+\pakettictan{geometry}\-/ paketin avulla. Halutut asetukset voi kertoa
+paketin lataamisen yhteydessä. Seuraavassa esimerkissä asetetaan
+paperikoko (\koodi{a4\-paper} eli \textsc{a4}-koko), ylä- ja
+alamarginaalin pituus (\koodi{top}, \koodi{bottom}) sekä vasemman ja
+oikean marginaalin pituus (\koodi{left}, \koodi{right}).
+
+\komentoi{usepackage}
+\begin{koodilohkosis}
+\usepackage[a4paper, top=20mm, bottom=30mm,
+  left=20mm, right=20mm]{geometry}
+\end{koodilohkosis}
+
+\noindent
+Vaihtoehtoisesti asetukset voi ilmaista erikseen \komentom{geometry}\-/
+komennon avulla seuraavalla tavalla:
+
+\komentoi{usepackage}
+\komentoi{geometry}
+\begin{koodilohkosis}
+\usepackage{geometry}
+\geometry{a4paper, top=20mm, bottom=30mm, left=20mm, right=20mm}
+\end{koodilohkosis}
+
+\noindent
+Mikäli myöhemmin dokumentissa täytyy vaihtaa sivun asettelua, käytetään
+komentoa \komentom{newgeometry}. Alkuperäiset asetukset palautetaan
+komennolla \komentom{restoregeometry}.
+
+\komentoi{newgeometry}
+\komentoi{restoregeometry}
+\begin{koodilohkosis}
+\newgeometry{top=…, bottom=…, …} % Uudet asetukset.
+\restoregeometry     % Palautetaan alkuperäiset asetukset.
+\end{koodilohkosis}
+
+\noindent
+Valmiiksi määriteltyjä standardipaperikokoja on useita.
+\textsc{iso}\-/standardin mukaiset koot \textsc{a0}--\textsc{a6}
+valitaan valitsimilla kuten \koodimargin{*paper} \koodi{a3paper},
+\koodi{a4paper} tai \koodi{a5paper}. Samoin käytetään myös kokoja
+\textsc{b0}--\textsc{b6} ja \textsc{c0}--\textsc{c6}, esimerkiksi
+\koodi{b2paper} tai \koodi{c6paper}. Lisäksi on valittavissa useita
+japanilaisia ja yhdysvaltalaisia standardeja käyttämällä valitsimia
+kuten \koodi{b0j}--\koodi{b6j}, \koodi{ansi\-a\-paper} tai
+\koodi{letter\-paper}.
+
+Mikäli standardit koot eivät riitä, voi sivun mitat määrittää vapaasti
+\koodim{paper\-size}\-/ valitsimella, jolle annetaan arvoksi leveys- ja
+korkeusmitta.
+
+\komentoi{geometry}
+\begin{koodilohkosis}
+\geometry{papersize={10cm, 16cm}}
+\end{koodilohkosis}
+
+\noindent
+Sivu on oletuksena pystyasennossa (\koodim{portrait}), mutta sen voi
+asettaa vaaka\-/asentoon valitsimella \koodim{landscape}. Tämä asetus on
+voimassa koko dokumentin ajan. Jos haluaa asettaa vain yksittäisiä
+sivuja vaaka\-/asentoon, täytyy käyttää \pakettictan{pdflscape}\-/
+pakettia ja sen tarjoamaa ympäristöä.
+
+Sivun asetusten suunnittelussa voi olla avuksi valitsin
+\koodim{show\-frame}, joka piirtää viivat marginaalien kohdalle ja
+merkitsee myös ylä- ja alatunnisteiden sekä marginaalihuomautusten
+rajoja.
+
+Taulukkoon \ref{tlk/sivun-marginaalit} on koottu tärkeimpiä valitsimia
+marginaalien mittojen asettamiseksi. Valitsimille annetaan arvoksi Texin
+mittayksikkö, jotka ovat taulukossa \ref{tlk/mittayksiköt}
+(s.~\pageref{tlk/mittayksiköt}). Kaksipuolisessa
+\koodimargin{twoside=\katk true} \koodimargin{twoside=\katk false}
+asettelussa (\koodi{twoside=\katk true}) sivut muodostavat aukeaman eli
+on erikseen vasemmanpuoleinen ja oikeanpuoleinen sivu. Tällöin vasen ja
+oikea marginaali vuorottelevat, ja niitä on havainnollisempaa kutsua
+sisä- ja ulkomarginaaliksi. Marginaalien määrittelyssä voi käyttää
+valitsimen \koodi{left} sijasta valitsinta \koodi{inner}, ja vastaavasti
+\koodi{right}\-/ valitsin voidaan korvata \koodi{outer}\-/ valitsimella.
+Teknisesti näillä ei ole mitään eroa, mutta nimet ovat ihmisille
+havainnollisempia.
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[3]{\koodi{#1} & \koodi{#2} & #3 \\}
+  \begin{tabular}{lll}
+    \toprule
+    \multicolumn{2}{l}{\ots{Valitsin}} & \ots{Merkitys} \\
+    \midrule
+    \rivi{left}{inner}{vasen marginaali tai sisämarginaali}
+    \rivi{right}{outer}{oikea marginaali tai ulkomarginaali}
+    \rivi{top}{}{ylämarginaali}
+    \rivi{bottom}{}{alamarginaali}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{\paketti{geometry}\-/paketin valitsimia sivun marginaalien
+    määrittelemiseen}
+  \label{tlk/sivun-marginaalit}
+}
+
+Sivun tekstialueen koon ja marginaalit voi määrittää myös
+suhteellisesti. Voisi esimerkiksi määrittää, että leveyssuunnassa
+tekstialue täyttää 0,7\=/kertaisesti (70\,\%) sivun leveyden ja loput
+jää marginaaleille. Marginaalien keskinäiset suhteetkin voi ilmaista
+suhdelukuna: esimerkiksi vasemman (sisä) ja oikean (ulko) marginaalin
+suhde voisi olla 2:3. Suhteellisessa tavassa ei tarvitse ottaa kantaa
+sivun kokoon eikä muihinkaan varsinaisiin mittoihin, vaan samat
+tekstialueen ja marginaalien suhteet säilyvät, vaikka sivukokoa
+muuttaisikin. Suhteellisia mittoja koskevia valitsimia on koottu
+taulukkoon \ref{tlk/sivun-marginaalit-suhd}.
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Valitsin} & \ots{Merkitys} \\
+    \midrule
+    \rivi{hscale}{tekstialueen osuus sivun leveydestä}
+    \rivi{vscale}{tekstialueen osuus sivun korkeudesta}
+    \rivi{hmarginratio}{vasemman (sisä) ja oikean (ulko) marginaalin suhde}
+    \rivi{vmarginratio}{ylä- ja alamarginaalin suhde}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{\paketti{geometry}\-/paketin valitsimia sivun tekstitilan ja
+    marginaalien suhteiden määrittämiseen. Osuudet (\koodi{*scale})
+    ilmaistaan prosenttikertoimella (esim. \koodi{0.7}). Suhteet
+    (\koodi{*marginratio}) ilmaistaan suhdelukuna (esim. \koodi{2:3})}
+  \label{tlk/sivun-marginaalit-suhd}
+}
+
+Klassisessa kirjatypografiassa, jossa teksti ladotaan yhdelle palstalle,
+marginaalien suuruusjärjestys on suurimmasta pienimpään seuraavanlainen:
+ala-, ulko-, ylä- ja sisämarginaali. Suhdeluvut samassa järjestyksessä:
+32, 28, 20, 17. \paketti{geometry}\-/paketin valitsimilla tämä
+ilmaistaan seuraavasti:
+
+\komentoi{geometry}
+\begin{koodilohkosis}
+\geometry{hmarginratio=17:28, vmarginratio=20:32}
+\end{koodilohkosis}
+
+\noindent
+Klassisia suhteita ei nykyaikana yleensä noudateta kovin tarkasti, mutta
+niistä kannattaa ymmärtää yleinen ajatus. Alamarginaalin pitäisi olla
+hieman suurempi kuin ylämarginaali, koska muuten tekstialue tuntuu
+pudonneen sivulla alas. Alamarginaalissa (alatunnisteessa) on yleensä
+sivunumero. Kirjan sivuja katsotaan pareittain eli aukeamina, joten
+sisämarginaaleja on kaksi vierekkäin. Siksi sisämarginaalit yksittäin
+ajateltuna ovat pienemmät kuin ulkomarginaalit. Lisäksi ulkomarginaaleja
+voidaan käyttää huomautusten kirjoittamiseen, mikä on melko yleinen
+käytäntö tietokirjoissa.
+
+Marginaalihuomautukset (luku \ref{luku/marginaalihuomautukset})
+sijaitsevat oletuksena sivujen ulkomarginaalissa tai oikeanpuoleisessa
+marginaalissa. Huomautuspalstan leveys asetetaan valitsimella
+\koodim{marginparwidth}, ja palstan etäisyys sivun varsinaisesta
+tekstialueesta määritellään valitsimella \koodim{marginparsep}. Kumpikin
+valitsin tarvitsee argumentiksi mitan. Jos haluaa vaihtaa huomautukset
+sivun vastakkaiseen marginaaliin, lisätään mukaan valitsin
+\koodi{reversemarginpar}.
+
+Perus Latex osaa latoa tekstin yhdelle tai kahdelle palstalle, ja
+\paketti{geometry}\-/ paketin valitsimella \koodim{onecolumn} tai
+\koodim{twocolumn} asetetaan, kumpi tila on oletuksena päällä.
+Useampikin palsta on mahdollista paketin avulla. Valitsimen
+\koodim{columnsep} avulla asetetaan palstojen välinen etäisyys.
+Käytännössä tämä valitsin on asettaa mitan \mitta{columnsep}, jota voi
+muokata myös komennolla \komento{setlength}, kuten muitakin mittoja
+(luku \ref{luku/mitat}). Tarkempaa tietoa palstoista on luvussa
+\ref{luku/palstat}.
+
+\subsection{Sivun mittoja}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{\mitta{#1} & #2 \\}
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Mitta} & \ots {Merkitys} \\
+    \midrule
+    \rivi{paperwidth}{paperin eli sivun leveys}
+    \rivi{paperheight}{paperin eli sivun korkeus}
+    \rivi{textwidth}{tekstialueen leveys}
+    \rivi{columnwidth}{nykyisen palstan leveys}
+    \rivi{linewidth}{nykyisen rivin leveys}
+    \rivi{textheight}{tekstialueen korkeus}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Sivun mittoja}
+  \label{tlk/sivun-mittoja}
+}
+
+Sivun kokoasetusten määrittämisen jälkeenkin voi olla tarpeen viitata
+joihinkin sivun mittoihin. Usein esimerkiksi halutaan piirtää sivun
+tekstialueen levyinen tai siihen suhteutettu taulukko tai kuva. Silloin
+on kätevää käyttää mittaa, jonka arvona on juuri tekstialueen leveys.
+Tärkeimmät sivun mitat on koottu taulukkoon \ref{tlk/sivun-mittoja},
+mutta perusteellisemmin niitä käsitellään \pakettictan{geometry}\-/
+paketin ohjekirjassa.
+
+Taulukossa \ref{tlk/sivun-mittoja} mainittu mitta \mitta{linewidth}
+eroaa tekstialueen (\mitta{textwidth}) tai palstan (\mitta{columnwidth})
+leveysmitasta esimerkiksi silloin, kun tekstikappaletta on sisennetty.
+Kappaleiden ensimmäinen rivi voi olla sisennetty, ja sen vuoksi rivi ei
+ole täysilevyinen. Muutkin sisennykset kuten lohkolainaukset tai
+luetelmat vaikuttavat rivin leveysmittaan. Sisennysasiat liittyvät
+tekstikappaleiden muotoiluun, jota käsitellään
+luvussa~\ref{luku/kappale}. Luetelmia puolestaan käsitellään
+luvussa~\ref{luku/luetelmat}.
+
+\subsection{Leikkuuvarat}
+
+Sivu voi olla ulkoisesti erikokoinen kuin sisäisesti. On siis
+mahdollista asettaa sivu esimerkiksi \textsc{a4}\-/kokoiseksi ja
+käsitellä marginaalit ja muut sivun mitat \textsc{a4}-koon mukaan, mutta
+ulkoisesti tai fyysisesti sivu onkin osana suurempaa sivua tai
+paperiarkkia. Tällaista tarvitaan ainakin silloin, kun halutaan
+merkitä leikkuuvarat dokumentin painamista varten.
+
+Painokoneen paperiarkkien leikkauskohta ei välttämättä osu täsmälleen
+samaan kohtaan pdf\-/tiedoston sivun reunan kanssa, ja siksi
+dokumentissa reunaan saakka yltävät kuvat asetetaan varmuuden vuoksi
+hieman ylikokoiseksi. Sivun reunaan saakka aiotut kuvat siis yltävät
+lähde-pdf:ssä pari millimetriä varsinaisen sivualueen ulkopuolelle eli
+leikkuuvaran puolelle. Tällä varmistetaan, että painamisen jälkeen
+leikatuissa paperiarkeissa kuva varmasti yltää reunaan saakka.
+
+Jos dokumenttiin tarvitaan sivun ulkopuoliset leikkuuvarat, määritellään
+dokumentin ulommaiset mitat edelleen samalla tavalla kuin
+tavallisestikin eli esimerkiksi valitsimella \koodi{paper\-size} (luku
+\ref{luku/sivun-mitat}). \koodimargin{layout} \koodimargin{layout\-size}
+Sen sijaan sivun sisäiset mitat täytyy määritellä toisella tavalla,
+käyttämällä valitsinta \koodi{lay\-out} tai \koodi{layout\-size}.
+
+\begin{esimerkki*}
+  \komentoi{geometry}
+\begin{koodilohko}
+\geometry{
+  papersize={220mm, 307mm},
+  layout=a4paper,           % tai: layoutsize={210mm, 297mm}
+  layoutoffset={5mm, 5mm},
+  showcrop
+}
+\end{koodilohko}
+  \caption{Sivun ulkoisten ja sisäisten mittojen sekä leikkuvaarojen
+    määrittäminen}
+  \label{esim/leikkuuvarat}
+\end{esimerkki*}
+
+Esimerkissä \ref{esim/leikkuuvarat} käytetään sisäisesti \textsc{a4}\-/
+kokoista (210 × 297~mm) sivua, mutta sivulle on määritetty joka puolelle
+5\,mm:n leikkuuvarat. Niinpä ulkoisesti sivu on 10\,mm leveämpi ja
+korkeampi, eli ulkoiset mitat ovat 220 × 307~mm. Valitsimella
+\koodi{layout\-offset} asetetaan sisäisen sivun etäisyys ulkoisen sivun
+vasemmasta ylänurkasta. Esimerkissä on mukana myös valitsin
+\koodi{show\-crop}, joka merkitsee sisäisen ja ulkoisen sivun rajakohdan
+eli leikkuuvaran rajan. Merkinnät näkyvät vain sivun nurkissa
+leikkuuvaran puolella, joten ne eivät päädy lopulliseen
+painotuotteeseen.
+
+\subsection{Ylä- ja alatunnisteet}
+\label{luku/ylä-ala-tunnisteet}
+
+\paketti{geometry}\-/paketin asetuksiin kuuluu pari valitsinta, joilla
+vaikutetaan ylä- ja alatunnisteiden mittoihin. Valitsimella \koodi{head}
+ilmaistaan ylätunnisteen korkeus ja valitsimella \koodi{headsep} sen
+etäisyys sivun tekstipalstasta. Alatunnisteen peruslinjan etäisyys
+tekstipalstasta säädetään valitsimella \koodi{footskip}. Taulukkoon
+\ref{tlk/ylä-ala-tunnistemitat} on koottu näiden valitsimien merkitys,
+ja seuraavassa on niiden käyttämisestä esimerkki. Mukana on myös
+valitsin \koodi{show\-frame}, joka piirtää sivulle apuviivoja. Se auttaa
+sivun mittojen suunnittelussa.
+
+\komentoi{geometry}
+\begin{koodilohkosis}
+\geometry{head=24bp, headsep=8bp, footskip=12mm, showframe}
+\end{koodilohkosis}
+
+\leijutlk{
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Valitsin} & \ots{Merkitys} \\
+    \midrule
+    \koodi{head} & ylätunnisteen korkeusmitta \\
+    \koodi{headsep} & ylätunnisteen etäisyys tekstipalstasta \\
+    \koodi{footskip} & alatunnisteen peruslinjan etäisyys tekstipalstasta \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{\paketti{geometry}\-/paketin valitsimet ylä- ja
+    alatunnisteiden mittojen asettamiseen}
+  \label{tlk/ylä-ala-tunnistemitat}
+}
+
+\noindent
+Latexin perusosat eivät sisällä kovin kummoista keinovalikoimaa ylä- ja
+alatunnisteiden muokkaamiseen, mutta pari hyödyllistä sivutyyliä on
+kuitenkin mukana. Ylä- ja alatunnisteet määräytyvät sivutyylin
+perusteella, ja haluttu tyyli asetetaan voimaan komennolla
+\komentom{pagestyle}:
+
+\komentoi{pagestyle}
+\begin{koodilohkosis}
+\pagestyle{plain}
+\end{koodilohkosis}
+
+\noindent
+Edellä mainittu sivutyyli \koodim{plain} latoo alatunnisteeseen
+sivunumeron. Se on yleensä oletustyyli. Sivunumero on peräisin
+laskurista \laskuri{page} ja sen arvon tulostavasta komennosta
+\komento{thepage} (luku \ref{luku/laskurit}). Toinen hyödyllinen tyyli
+on \koodim{empty}, joka nimensä mukaisesti tarkoittaa tyhjää, eli ylä-
+eikä alatunnisteeseen ei ladota mitään.
+
+Yksittäiselle sivulle voi asettaa muusta dokumentista poikkeavan
+sivutyylin komennolla \komentom{thispagestyle}. Komento siis vaikuttaa
+vain sillä hetkellä ladottavan sivun tyyliin, ja sen jälkeen palataan
+taas voimassa olevaan tyyliin, joka on aiemmin määritelty komennolla
+\komento{pagestyle}.
+
+\komentoi{thispagestyle}
+\begin{koodilohkosis}
+\thispagestyle{empty}
+\end{koodilohkosis}
+
+\noindent
+Sivutyyli \koodim{headings} latoo ylätunnisteeseen aukeaman
+vasemmanpuoleisille sivuille esimerkiksi kirjan pääluvun nimen ja
+oikeanpuoleisille sivuille meneillään olevan alaluvun nimen. Mainitut
+lukujen nimet tulevat sivun sisäreunaan; ulkoreunaan ladotaan
+sivunumero.
+
+Teknisesti ja sisäisesti tämä on toteutettu siten, että pääluvun
+aloittava otsikkokomento (esim. \komento{chapter}) automaattisesti
+määrittelee joka kerta uudelleen komennon \komento{leftmark}, niin että
+se sisältää pääluvun nimen. Sivuja ladottaessa Latex sitten latoo
+ylätunnisteeseen sen, mitä \komento{leftmark}\-/komento sattuu
+tulostamaan. Vastaavasti alaluvun otsikkokomento (esim.
+\komento{section}) määrittelee uudelleen komennon \komento{rightmark},
+niin että se sisältää alaluvun nimen. Tämän komennon tulostama teksti
+ladotaan aukeaman oikeanpuoleisille sivuille.
+
+Jos haluaa itse vaikuttaa ylätunnisteen tekstiin, voi käyttää sivutyyliä
+\koodim{myheadings} sekä komentoa \komento{markboth}, jolla määritellään
+aukeaman vasemmanpuoleisen ja oikeanpuoleisen sivun ylätunnisteen
+teksti. Tämä komento on tarkoitettu suoritettavaksi päälukujen
+yhteydessä. Komennolla \komento{markright} määritellään pelkästään
+oikeanpuoleisen sivun teksti, ja komento on tarkoitettu suoritettavaksi
+aina alalukujen yhteydessä.
+
+\komentoi{markboth}
+\komentoi{markright}
+\begin{koodilohkosis}
+\markboth{vasen}{oikea}  % määrittelee: \leftmark ja \rightmark
+\markright{oikea}        % määrittelee: \rightmark
+\end{koodilohkosis}
+
+\noindent
+Sivunumeroinnin tyyliin voi vaikuttaa esimerkiksi komennolla
+\komento{pagenumbering}, jonka argumentiksi annetaan numerointityylin
+nimi. Ne on koottu taulukkoon \ref{tlk/sivu-numerointityylit}.
+
+\komentoi{pagenumbering}
+\begin{koodilohkosis}
+\pagenumbering{roman}
+\end{koodilohkosis}
+
+\noindent
+Edellä mainittu komento määrittelee käytännössä uudelleen komennon
+\komento{thepage}, joka on tarkoitettu juuri sivunumerolaskurin
+latomiseen. Lisätietoa sivunumeroista ja muista laskureista on luvussa
+\ref{luku/laskurit}.
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Tyyli} & \ots{Merkitys} \\
+    \midrule
+    \rivi{arabic}{arabialaiset luvut: 1, 2, 3\dots}
+    \rivi{roman}{roomalaiset luvut: i, ii, iii\dots}
+    \rivi{Roman}{roomalaiset luvut: I, II, III\dots}
+    \rivi{alph}{kirjaimet: a, b, c\dots\ (vain 1--26)}
+    \rivi{Alph}{kirjaimet: A, B, C\dots\ (vain 1--26)}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Sivunumerointityylit \komento{pagenumbering}\-/ komennon
+    argumentiksi}
+  \label{tlk/sivu-numerointityylit}
+}
+
+Monipuolisemmin ylä- ja alatunnisteita voi muokata paketin
+\pakettictan{fancyhdr} toimintojen avulla. Silloin sivutyylinä voi olla
+myös \koodim{fancy}:
+
+\komentoi{usepackage}
+\komentoi{pagestyle}
+\begin{koodilohkosis}
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+\end{koodilohkosis}
+
+\noindent
+Kun käytössä on sivutyyli \koodi{fancy}, voi ylä- ja alatunnisteiden
+sisällön asettaa vapaasti komennolla \komentom{fancyhf}. Komennon
+argumenttien merkitys on seuraavanlainen:
+
+\komentoi{fancyhf}
+\begin{koodilohkosis}
+\fancyhf[paikka]{sisältö}
+\end{koodilohkosis}
+
+\noindent
+Valinnainen argumentti \koodi{paikka} kertoo, mihin paikkaan tai
+paikkoihin \koodi{sisältö} sijoitetaan. Vaihtoehtoina on ylä- tai
+alatunniste, pariton tai parillinen sivu, sivun vasen reuna, keskiosa
+tai oikea reuna. Nämä vaihtoehdot ja niitä vastaavat valitsimet on
+koottu taulukkoon \ref{tlk/fancyhf-paikat}. Saman komennon avulla voi
+määrittää useitakin paikkoja, kun ne erottaa pilkulla, esimerkiksi
+seuraavalla tavalla:
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
+  \begin{tabular}{cl}
+    \toprule
+    \ots{Valitsin} & \ots{Merkitys} \\
+    \midrule
+    \rivi{H}{ylätunniste (header)}
+    \rivi{F}{alatunniste (footer)}
+    \rivi{E}{parillinen sivu, vasen (even)}
+    \rivi{O}{pariton sivu, oikea (odd)}
+    \rivi{L}{sivun vasen reuna (left)}
+    \rivi{C}{sivun keskelle (center)}
+    \rivi{R}{sivun oikea reuna (right)}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{\komento{fancyhf}\-/ komennon valitsimia ylä- tai
+    alatunnisteen paikan määrittämiseen}
+  \label{tlk/fancyhf-paikat}
+}
+
+\komentoi{fancyhf}
+\begin{koodilohkosis}
+\fancyhf{}  % Tyhjennetään ylä- ja alatunnisteet.
+\fancyhf[HEL,HOR]{\thepage}
+\end{koodilohkosis}
+
+\noindent
+Edellä mainittu komento sijoittaa sivunumeron (\komento{thepage})
+ylätunnisteeseen (\koodi{H}) parillisten sivujen (\koodi{E}) vasempaan
+reunaan (\koodi{L}) ja parittomien sivujen (\koodi{O}) oikeaan reunaan
+(\koodi{R}). Käytännössä siis aukeaman ulkoreunoihin ladotaan
+sivunumerot. Seuraava esimerkki sijoittaa ajatusviivoilla (\==)
+reunustetun sivunumeron kaikille sivuille alatunnisteeseen (\koodi{F})
+sivun keskelle (\koodi{C}):
+
+\komentoi{fancyhf}
+\komentoi{thepage}
+\begin{koodilohkosis}
+\fancyhf[FC]{-- \thepage\ --}
+\end{koodilohkosis}
+
+\noindent
+Paketin \paketti{fancyhdr} avulla voi myös määritellä Latexin
+sivutyylejä toisenlaiseksi tai luoda kokonaan omia sivutyylejä. Nämä
+tehdään komennolla \komentom{fancypagestyle}, jonka ensimmäinen
+argumentti on sivutyylin nimi ja toinen argumentti on sivutyylin
+määritelmä. Määritelmä sisältää tarvittavat \komento{fancyhf}\-/
+komennot, joilla ylä- ja alatunnisteet määritellään.
+
+Seuraava esimerkki tekee Latexin \koodi{plain}\-/ sivutyylistä saman
+kuin \koodi{fancy}\-/tyylin, eli sekin noudattaa \komento{fancyhf}\-/
+komennolla määriteltyjä ylä- ja alatunnisteita:
+
+\komentoi{fancypagestyle}
+\begin{koodilohkosis}
+\fancypagestyle{plain}{}
+\end{koodilohkosis}
+
+\noindent
+Seuraava esimerkki määrittelee kokonaan oman sivutyylin:
+
+\komentoi{fancypagestyle}
+\komentoi{fancyhf}
+\begin{koodilohkosis}
+\fancypagestyle{omatyyli}{
+  \fancyhf{}
+  \fancyhf[FEL,FOR]{\thepage}
+}
+\end{koodilohkosis}
+
+\noindent
+Ylä- ja alatunniste voidaan erottaa tekstipalstasta vaakasuuntaisella
+viivalla, jonka leveyttä on mahdollista muuttaa määrittelemällä
+uudelleen komennot \komentom{headrulewidth} ja \komentom{footrulewidth}.
+Komennon määritelmäksi kirjoitetaan Texin mitta. Seuraavassa esimerkissä
+asetetaan yhden typografisen pisteen (1\,bp) levyiset viivat. Mitan
+voisi asettaa myös nollaksi (0\,bp), jolloin erotinviiva katoaa kokonaan
+näkyvistä.
+
+\komentoi{renewcommand}
+\komentoi{headrulewidth}
+\komentoi{footrulewidth}
+\begin{koodilohkosis}
+\renewcommand{\headrulewidth}{1bp} % ylätunnisteen erotinviiva
+\renewcommand{\footrulewidth}{1bp} % alatunnisteen erotinviiva
+\end{koodilohkosis}
+
+\noindent
+Mikäli haluaa omiin ylätunnisteisiin esimerkiksi päälukujen ja
+alalukujen nimiä, täytyy tunnisteisiin sisällyttää aiemmin kuvatut
+\komentom{leftmark}- ja \komentom{rightmark}\-/komennot. Ensin mainittu
+sisältää pääluvun nimen ja jälkimmäinen alaluvun nimen.
+
+\komentoi{fancyhf}
+\komentoi{leftmark}
+\komentoi{rightmark}
+\begin{koodilohkosis}
+\fancyhf[HEL]{\leftmark}
+\fancyhf[HOR]{\rightmark}
+\end{koodilohkosis}
+
+\noindent
+Latex latoo pää- ja alalukujen nimet oletuksena versaalikirjaimilla eli
+isoilla kirjaimilla. Jos ne haluaa johonkin toiseen muotoon, täytyy itse
+määritellä uudelleen komennot \komentom{chaptermark},
+\komentom{sectionmark} tai \komentom{subsectionmark} (vain kaksi näistä)
+ja käyttää määritelmässä komentoja \komento{markboth} ja
+\komento{markright}. Esimerkkiin \ref{esim/fancyhdr-koko} on koottu
+varsin kokonaisvaltainen koodi omien ylä- ja alatunnisteiden
+toteutukseen.
+
+\begin{esimerkki*}
+  \komentoi{documentclass}
+  \luokkai{book}
+  \komentoi{usepackage}
+  \pakettii{fancyhdr}
+  \komentoi{fancypagestyle}
+  \komentoi{fancyhf}
+  \komentoi{renewcommand}
+  \komentoi{headrulewidth}
+  \komentoi{footrulewidth}
+  \komentoi{leftmark}
+  \komentoi{rightmark}
+  \komentoi{thepage}
+  \komentoi{pagestyle}
+  \komentoi{chaptermark}
+  \komentoi{markboth}
+  \komentoi{chaptername}
+  \komentoi{thechapter}
+  \komentoi{sectionmark}
+  \komentoi{thesection}
+
+\begin{koodilohko}
+\documentclass{book}
+\usepackage{fancyhdr}
+
+% Päälukujen (\chapter) aloitussivu käyttää plain-sivutyyliä.
+% Tässä määritellään se uudestaan.
+\fancypagestyle{plain}{
+  \fancyhf{}
+  \fancyhf[FC]{-- \thepage\ --}
+  \renewcommand{\headrulewidth}{0bp}
+  \renewcommand{\footrulewidth}{0bp}
+}
+
+% fancy-sivutyylin asetukset:
+\fancyhf{}
+\fancyhf[HEL]{\leftmark}
+\fancyhf[HOR]{\rightmark}
+\fancyhf[FC]{-- \thepage\ --}
+\renewcommand{\headrulewidth}{1bp}
+\renewcommand{\footrulewidth}{0bp}
+
+\begin{document}
+
+\pagestyle{fancy}
+
+% Päälukujen (\chapter) yhteydessä komento \markboth{…}{…} määrittää
+% sekä \leftmark- että \rightmark-komennot. Tässä jälkimmäinen
+% määritellään tyhjäksi.
+\renewcommand{\chaptermark}[1]{%
+  \markboth{\chaptername\ \thechapter: #1}{}}
+
+% Alalukujen (\section) yhteydessä komento \markright{…} määrittää
+% vain \rightmark-komennon.
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+\end{koodilohko}
+  \caption{Omien ylä- ja alatunnisteiden toteuttaminen}
+  \label{esim/fancyhdr-koko}
+\end{esimerkki*}
+
+\section{Pdf-tiedosto}
+\label{luku/pdf-asetukset}
+
+Pdf-tiedostot voivat sisältää metatietoja kuten dokumentin nimen,
+aiheen, tekijän ja päiväyksen. Tiedostoille voi määrittää myös erilaisia
+asetuksia kuten ristiviitteiden ja linkkien ulkoasun tai sisäisen
+sisällysluettelon ominaisuuksia. Pdf\-/tiedoston asetukset toteutetaan
+\pakettictan{hyperref}\-/ paketin avulla. Paketti neuvotaan lataamaan
+muiden pakettien jälkeen, koska se lisää ominaisuuksia muihin
+komentoihin. Paketin voisi ladata esimerkiksi seuraavalla tavalla:
+
+\komentoi{usepackage}
+\pakettii{hyperref}
+\begin{koodilohkosis}
+% Muiden \usepackage-komentojen jälkeen.
+\usepackage[unicode]{hyperref}
+\end{koodilohkosis}
+
+\noindent
+Esimerkissä käytetty valitsin \koodi{unicode} aiheuttaa sen, että pdf\-/
+tiedoston sisäisissä merkkijonoissa käytetään Unicode\-/ merkistöä ja
+sen \textsc{utf\=/8}\-/ koodausta. Ilman tätä valitsinta Lualatex\-/
+kääntäjän kanssa pdf\-/ tiedoston sisäinen sisällysluettelon merkistö ei
+näy välttämättä oikein.
+
+\paketti{hyperref}\-/ paketin asetuksia voi määritellä valitsimien
+avulla \komento{usepackage}\-/ komennon yhteydessä mutta myös
+erillisellä \komentom{hypersetup}\-/ komennolla. Komennolle annetaan
+yksi argumentti, joka sisältää pilkuilla erotettuna erilaisia valitsimia
+ja niiden arvoja.
+
+\begin{esimerkki*}
+\begin{koodilohko}
+\hypersetup{
+  hidelinks, bookmarksopen, bookmarksnumbered,
+  pdfinfo={
+    Title={Laatikollinen lateksia},
+    Subject={Opas lateksiin ja liisteriin},
+    Author={Lauri Liisteri}
+  }
+}
+\end{koodilohko}
+  \caption{\komento{hypersetup}\-/ komennolla asetetaan
+    \paketti{hyperref}\-/ paketin asetuksia, esimerkiksi pdf:n
+    metatietoja}
+  \label{esim/hypersetup}
+\end{esimerkki*}
+
+Esimerkissä \ref{esim/hypersetup} valitsin \koodi{hidelinks} saa aikaan
+sen, että pdf:ssä olevia linkkejä ja ristiviitteitä ei merkitä millään
+tavalla. Oletuksena linkit kehystetään eri väreillä riippuen linkin
+tyypistä. Valitsin \koodi{bookmarksopen} näyttää pdf:n sisällysluettelon
+kokonaan avattuna. Oletuksena alaluvut on piilotettuna, ja ne joutuu
+avaamaan napsauttamalla hiirellä ylemmäntasoisen otsikon
+avauspainiketta. Valitsin \koodi{bookmarksnumbered} näyttää pdf:n
+sisällysluettelossa lukujen numeroinnin (kuten 1.1, 1.2, 2.1 tms.).
+Valitsimella \koodi{pdfinfo} määritellään pdf:n metatietoja kuten
+otsikko, aihe ja tekijä mutta omiakin metatietoja voi lisätä. Paljon
+muitakin asetuksia on olemassa, ja niistä voi lukea lisää
+\paketti{hyperref}\-/ paketin ohjekirjasta.
+
+Pdf\-/ tiedoston sisäiseen sisällysluetteloon tulevat automaattisesti
+mukaan samat otsikot (luku \ref{luku/otsikot}) kuin ladottavaan
+sisällysluetteloonkin (luku \ref{luku/sisällysluettelo}). Pdf\-/
+tiedoston luetteloon voi kuitenkin itse lisäillä omia otsikoita, jotka
+eivät näy missään muualla. Se tehdään \paketti{hyperref}\-/ paketin
+komennolla \komentom{pdfbookmark}:
+
+\komentoi{pdfbookmark}
+\begin{koodilohkosis}
+\pdfbookmark[taso]{Teksti}{tunniste}
+\end{koodilohkosis}
+
+\noindent
+Komennon valinnainen argumentti \koodi{taso} on kokonaisluku, joka
+tarkoittaa otsikon tasoa. Se on samankaltainen tasonumero kuin
+otsikkotasojen taulukossa \ref{tlk/otsikkotasot}
+(s.~\pageref{tlk/otsikkotasot}). Argumentti \koodi{Teksti} on pdf:n
+sisällysluettelomerkinnän teksti, ja \koodi{tunniste} on mikä tahansa
+yksilöllinen tekstimuotoinen tunniste kyseiselle luettelomerkinnälle.
+Tunniste ei näy missään, mutta pdf tarvitsee sisäiseen toimintaansa
+jonkin yksilöllisen tunnisteen.
+
+\section{Fontit}
+\label{luku/kirjaintyypit}
+
+Fontit ja niiden asettaminen on Latexissa melko monimutkainen
+kokonaisuus, koska fonteilla on paljon ominaisuuksia ja niihin
+vaikutetaan monilla eri asetuksilla ja abstraktiotasoilla. Aika monta
+asiaa pitää ymmärtää, jotta voi tehokkaasti työskennellä Latexin
+fonttien kanssa.
+
+Fontti jo itsessään on moniselitteinen käsite, joka vaatii typografiassa
+usein täsmentäviä ilmauksia. Sana \emph{fontti} voi tarkoittaa
+kokonaista kirjainperhettä eli yhteensopivien kirjainleikkausten
+muodostamaa kokonaisuutta. Samaan kirjainperheeseen kuuluu yleensä
+ainakin neljä eri leikkausta: tavallinen, \textit{kursiivi},
+\textbf{lihavoitu} ja \textbf{\textit{lihavoitu kursiivi}}. Joihinkin
+perheisiin kuuluu leikkauksia paljon enemmänkin, kuten useita eri
+vahvuuksia. Joissakin puheissa sana \emph{fontti} tarkoittaa vain yhtä
+kirjainleikkausta, ja silloin koko perheeseen viitataan ehkä sanalla
+fonttiperhe.
+
+Tässä oppaassa käytetään \emph{fontti}\-/sanaa yleisnimityksenä Latexin
+kirjaintyyppeihin liittyville asetuksille. Se tarkoittaa kirjainperhettä
+tai siihen kuuluvaa yksittäistä leikkausta sekä asetuksia, jotka
+liittyvät niihin. Silloin kun merkitystä pitää täsmentää, käytetään
+suomenkielisiä nimiä kirjainperhe ja kirjainleikkaus. Sen sijaan sana
+\emph{kirjasin} on jätetty kokonaan pois. Se tarkoittaa vanhassa
+metalliladonnassa ja mekaanisissa kirjoituskoneissa metallisen
+ladontakappaleen eli kirjakkeen päähän valettua kirjaimen tai muun
+merkin kohokuviota, joka painaa mustejäljen paperille.
+
+Kuten Latexissa yleensäkin myös fonttien kanssa kannattaa käyttää
+korkean abstraktiotason komentoja, jotka piilottavat yksityiskohdat ja
+teknisen toteutuksen. Latexin fonttitoiminnot on suunniteltu juuri
+siihen: matalan tason fonttiasetukset määritellään mieluiten vain kerran
+dokumentin esittelyosassa, ja sen jälkeen käytetään pelkästään korkean
+tason komentoja.
+
+Latexin fonttitekniikka rakentuu eri\-/ikäisistä kerroksista ja
+tekniikoista. Fontteja on aikoinaan tehty
+\englanti{Metafont}\avctan{metafont}\-/ nimisellä kielellä, jolla
+kuvataan merkkien muodot. \englanti{Metafont} on myös tietokoneohjelma,
+joka tuottaa kuvauskielen perusteella bittikarttafontteja eli
+pikseleistä koostuvia fontteja. On käytetty myös kehittyneempää
+\englanti{Metapost}\avctan{metapost}\-/ kuvauskieltä ja \=/ohjelmaa,
+joilla on tuotettu vektorigrafiikkafontteja \textsc{eps}- eli
+\englanti{Encapsulated Post Script} \=/muodossa ja muutettu niitä
+edelleen \englanti{Post Script Type~1} \=/fonteiksi. Myöhemmin mukaan
+ovat tulleet nykyaikaiset \englanti{True Type}- ja \englanti{Open Type}
+\=/fontit, ja niihin tämä opas keskittyy.
+
+\subsection{Fonttien määrittäminen}
+\label{luku/fontin-valinta}
+
+Latexin fonttien perustoiminnot rakentuvat kolmen erityyppisen
+kirjainperheen varaan:
+
+\begin{nluetelma}
+\item peruskirjainperhe eli dokumentin pääasiallinen kirjainperhe, joka
+  on kirjatypografiassa usein antiikva eli pääteviivallinen
+  (\englanti{serif, roman})%
+  \footnote{Antiikva (lat. \emph{antiquus} 'vanha') perustuu antiikin
+    Roomassa käytettyihin kirjainmuotoihin. Niissä on pääteviivat, ja
+    viivojen vahvuus vaihtelee.}
+\item groteski eli pääteviivaton (\englanti{sans serif, gothic})%
+  \footnote{Groteskiin (ransk. \emph{grotesque} 'kummallinen') kuuluu
+    pääteviivojen puuttumisen lisäksi lähes tasavahvuiset kirjainten
+    viivat. Tämän oppaan groteskifontissa on kuitenkin selvästi
+    antiikvamaiset kaksivahvuiset viivat, joten se on eräänlainen
+    antiikvan ja groteskin välimuoto.}
+\item tasalevyinen kirjoituskoneen kaltainen perhe
+  (\englanti{type\-writer, mono\-spaced, tele\-type}).
+\end{nluetelma}
+
+\noindent
+Kuvassa \ref{kuva/kirjainperhetyypit} ovat tässä oppaassa käytetyt kolme
+eri kirjainperhettä. Leipätekstissä käytetään antiikvaa, otsikoissa ja
+kuvateksteissä groteskia ja koodiesimerkeissä tasalevyistä.
+Kirjoituskoneen kaltainen tasalevyinen kirjainperhe on tässä tapauksessa
+tyypiltään antiikva eli pääteviivallinen, mutta se voisi olla muutakin.
+Tasalevyisyys on sen kirjainperheen tärkein määrittävä tekijä Latexin
+asetusten näkökulmasta.
+
+\leijukuva{
+  {\rmfamily\addfontfeatures{ScaleAgain=5}Amf}
+  \hfill
+  {\sffamily\addfontfeatures{Scale=5}Amf}
+  \hfill
+  {\ttfamily\addfontfeatures{FakeStretch=1, Scale=4.5}Amf}
+}{
+  \caption{Vasemmalla pääteviivallinen, keskellä pääteviivaton ja
+    oikealla tasalevyinen pääteviivallinen kirjainperhe}
+  \label{kuva/kirjainperhetyypit}
+}
+
+Joidenkin fonttien käyttöönottoon on tehty oma pakettinsa, joten
+sellaiset fontit voi ladata dokumentin esittelyosassa komennolla
+\komento{usepackage}. Fonttikohtaisia paketteja on olemassa
+varsinkin vanhalle fonttitekniikalle (\englanti{Metafont, Post Script
+  Type~1}) mutta myös matematiikkatilan fonttiasetuksille (luku
+\ref{luku/matematiikka-fontit}) ja joillekin
+kir\-jain\-perhe\-koko\-nai\-suuk\-sille.
+
+Latexissa pisimmälle ''tuotteistettu'' kokonaisuus taitaa olla
+Libertinus\-/ kirjainperhe, joka sisältää antiikvan, groteskin ja
+tasalevyisen kirjainperheen sekä matematiikkatilan symboleita.
+Libertinus\-/ kirjainperheet saa käyttöön lataamalla paketti
+\pakettictan{libertinus}:
+
+\komentoi{usepackage}
+\pakettii{libertinus}
+\begin{koodilohkosis}
+\usepackage{libertinus}
+\end{koodilohkosis}
+
+\noindent
+Valmiita paketteja on kuitenkin vain harvoille fonteille, ja
+käytännössä lähes aina \englanti{True Type}- ja \englanti{Open Type}
+\=/muodossa olevat fontit otetaan käyttöön \paketti{fontspec}\-/paketin
+komennoilla seuraavan esimerkin mukaisesti:
+
+\komentoi{setmainfont}
+\komentoi{setsansfont}
+\komentoi{setmonofont}
+\begin{koodilohkosis}
+\setmainfont{TeX Gyre Termes}[Scale=1]
+\setsansfont{TeX Gyre Heros} [Scale=MatchLowercase]
+\setmonofont{TeX Gyre Cursor}[Scale=MatchLowercase]
+\end{koodilohkosis}
+
+\noindent
+Edellisessä esimerkissä \englanti{TeX Gyre Termes, Heros} ja
+\englanti{Cursor} ovat kirjainperheiden nimiä. Fonttitiedostojen
+tulee olla asennettuna käyttöjärjestelmän normaalien käytäntöjen
+mukaisesti tai Latex\-/jakelun käytäntöjen mukaisesti.
+
+Kirjainperheiden käyttöönoton yhteydessä voi määritellä lukuisia
+asetuksia kuten ligatuureja, gemenanumeroita, optisia kokoja ja muita
+fontin ominaisuuksia. Edellisessä esimerkissä käytetään vain
+\koodi{Scale}\-/ valitsinta, jolla fontin voi skaalata haluttuun kokoon.
+
+Peruskirjainperheen (\komentom{setmainfont}) skaalaukseksi asetetaan
+\koodi{Scale=1}, eli sille ei tehdä mitään, ja koko valitsimen voisi
+jättää pois. Sen sijaan kahdella muulla kirjainperheellä
+(\komentom{setsansfont}, \komentom{setmonofont}) käytetään
+kerroinasetusta \koodi{MatchLowercase}, joka skaalaa fontin siten, että
+gemenakirjaimet eli pienet kirjaimet ovat yhtä korkeita kuin
+peruskirjainperheessä. Mikäli skaalausasetus \koodi{MatchLowercase} ei
+tuota ihan toivottua tulosta, voi kirjainperheen skaalausta hienosäätää
+vielä \koodi{Scale\-Again}\-/ valitsimella seuraavalla tavalla:
+
+\komentoi{setmonofont}
+\begin{koodilohkosis}
+\setmonofont{TeX Gyre Cursor}
+[Scale=MatchLowercase, ScaleAgain=.97]
+\end{koodilohkosis}
+
+\noindent
+Kirjainperheen määrittelyn yhteydessä ei yleensä tarvitse antaa kuin
+kirjainperheen nimi, sillä \paketti{fontspec}\-/paketti ja kääntäjät
+osaavat automaattisesti ladata perheeseen sisältyviä eri
+fonttitiedostoja kuten pystyasentoisen leikkauksen, kursiivin ja
+lihavoinnin. On kuitenkin mahdollista määritellä kirjainperheeseen
+kuuluvia leikkausten nimiä tai fonttitiedostoja erikseen. Tällainen on
+tarpeen esimerkiksi silloin, kun kirjainperhe sisältää useita eri
+vahvuuksia ja halutaan itse määritellä, mikä niistä tulee
+perusvahvuudeksi ja mikä lihavoiduksi.
+
+Esimerkki \ref{esim/fontit-leik-omin} selventää, kuinka kirjainperheen
+eri leikkausten nimet tai fonttitiedostot määritellään. Kullekin
+leikkaukselle voi määrittää myös omat asetuksensa \koodi{Fea\-tures}\-/
+loppuisella valitsimella. Samaa asiaa havainnollistetaan myös
+konkreettisemmin esimerkissä \ref{esim/fontit-leik-omin-käyt}.
+Leikkauksen nimessä voi käyttää tähteä (\koodi{*}), joka korvautuu
+kirjainperheen nimellä (\englanti{Macklin Text}).
+
+\begin{esimerkki*}
+  \komentoi{setmainfont}
+\begin{koodilohko}
+\setmainfont{…}[
+  UprightFont={…},     UprightFeatures={…},
+  ItalicFont={…},      ItalicFeatures={…},
+  BoldFont={…},        BoldFeatures={…},
+  BoldItalicFont={…},  BoldItalicFeatures={…},
+  SlantedFont={…},     SlantedFeatures={…},
+  BoldSlantedFont={…}, BoldSlantedFeatures={…},
+  SmallCapsFont={…},   SmallCapsFeatures={…}]
+\end{koodilohko}
+  \caption{Kirjainperheeseen sisältyvien leikkausten nimien ja
+    kirjainleikkauskohtaisten ominaisuuksien määrittely}
+  \label{esim/fontit-leik-omin}
+\end{esimerkki*}
+
+\begin{esimerkki*}
+  \komentoi{setmainfont}
+\begin{koodilohko}
+\setmainfont{Macklin Text}[
+  UprightFont    = {* Light},
+  ItalicFont     = {* Light Italic},
+  BoldFont       = {* Medium},
+  BoldItalicFont = {* Medium Italic}]
+\end{koodilohko}
+  \caption{Eri leikkausten nimien määrittely \englanti{Macklin Text}
+    \=/kirjainperheelle. Leikkauksen nimessä tähti (\koodi{*}) korvautuu
+    automaattisesti koko perheen nimellä}
+  \label{esim/fontit-leik-omin-käyt}
+\end{esimerkki*}
+
+Jos edellä kuvatut kolme kirjainperhettä (\komento{setmainfont},
+\komento{setsansfont} ja \komento{setmonofont}) eivät riitä, on
+\paketti{fontspec}\-/paketissa komennot lisäperheiden ja \=/leikkausten
+määrittämiseen. Uusi perhe määritellään seu\-raa\-vasti:
+
+\komentoi{newfontfamily}
+\begin{koodilohkosis}
+\newfontfamily{\hienoperhe}{TeX Gyre Schola}[…]
+\end{koodilohkosis}
+
+\noindent
+Komento \komento{newfontfamily} toimii samalla tavalla kuin aiemmin
+esitellyt \komento{setmainfont} ym. komennot, mutta lisäksi
+ensimmäisellä argumentilla nimetään komento, jolla kirjainperhe otetaan
+käyttöön. Edellisessä esimerkissä luodaan komento
+\komentox{hieno\-perhe}, joka kytkee päälle \englanti{TeX Gyre Schola}
+\=/nimisen kirjainperheen.
+
+Jos ei tarvita kokonaista perhettä vaan yksi leikkaus riittää, käytetään
+komentoa \komento{newfontface}. Seuraavassa esimerkissä määriteltävä
+komento \komentox{hieno\-leikkaus} ottaa käyttöön lihavoidun (bold)
+kirjainleikkauksen perheestä \englanti{TeX Gyre Schola}.
+
+\komentoi{newfontface}
+\begin{koodilohkosis}
+\newfontface{\hienoleikkaus}{TeX Gyre Schola Bold}[…]
+\end{koodilohkosis}
+
+\subsection{Fontin koko ja rivikorkeus}
+
+Fonttien koot on tapana valita ja ilmaista typografisen pistemitan
+avulla. Esimerkiksi 10--12 pistettä on tyypillinen leipätekstin
+oletuskoko tekstinkäsittelyohjelmissa. Piste on typografiassa
+mittayksikkö, jonka pituus on määritelty eri tavoin eri aikoina ja eri
+kulttuureissa.
+
+Myös Latexissa fonttien koot voi määritellä pistemittojen avulla. Niitä
+ja muitakin Latexin mittayksiköitä käsitellään tarkemmin luvussa
+\ref{luku/mitat}. Fonteissa oletusmittayksikkönä on vanha
+pica\-/järjestelmän piste, jonka pituus on noin 0,3515 millimetriä. Sen
+lyhenne Latexissa on~\emph{pt}. Tämän oppaan esimerkeissä käytetään
+kuitenkin Post Script \=/standardin mukaista, julkaisuohjelmiin
+vakiintunutta uudempaa pica\-/pistettä, joka on hieman edellistä
+pidempi: noin 0,3528 millimetriä. Latexissa sen lyhenne on~\emph{bp}.
+Ero näiden kahden pistemitan välillä on hyvin pieni, tavallisilla
+fonttiko'oilla käytännössä merkityksetön.
+
+Kirjainleikkauksen koko mitataan merkistön ylimmän ja alimman kohdan
+välillä, esimerkiksi k\=/kirjaimen ylimmän pisteen ja y\=/kirjaimen
+alimman pisteen välillä. Lisäksi mittaan luetaan mukaan merkistön ylä-
+ja alapuolella oleva pieni tyhjä tila, jonka fontin suunnittelija on
+määritellyt.
+
+Matalalla tasolla fonttien kokoon vaikuttaa Latexissa eräs yllättävä
+asia. Nimittäin dokumenttiluokalle (luku \ref{luku/dokumenttiluokat})
+voi antaa valitsimen, jolla fontin koko asetetaan. Vaihtoehtoja on
+Latexin normaaleissa dokumenttiluokissa vain kolme: \koodi{10pt}
+(oletus), \koodi{11pt} ja \koodi{12pt}. Dokumenttiluokan kokoasetus
+vaikuttaa myös sivun marginaaleihin, koska Latex pyrkii pitämään rivin
+merkkimäärän lukijalle sopivana: yhdelle riville ei kannata latoa ihan
+mahdottomasti merkkejä, koska rivin seuraaminen vaatii enemmän
+keskittymistä.
+
+Fontin koon määrittäminen dokumenttiluokan valitsimella ehkä kuuluu jo
+vähän menneisyyteen, mutta voi sitä edelleen käyttää, jos se riittää ja
+sillä saa halutun lopputuloksen. Yleensä lienee järkevää jättää
+dokumenttiluokan fonttiasetus oletukseksi (\koodi{10pt}) ja käyttää koon
+asettamiseen luvuissa \ref{luku/fontti-suhteellinen} ja
+\ref{luku/fontti-absoluuttinen} kerrottuja tapoja. Sivun marginaalien ja
+muiden mittojen määrittämiseen on ohjeita luvussa
+\ref{luku/sivuasetukset}.
+
+Fonttiasetuksiin kuuluu fontin koon lisäksi toinenkin mitta: rivikorkeus
+(\mitta{baselineskip}). Se on peräkkäisten rivien peruslinjojen välinen
+etäisyys. Fontin koko ja rivikorkeus määritellään samanaikaisesti, koska
+ne ovat saman \komentom{fontsize}\-/ komennon argumentteja. Esimerkki:
+
+\komentoi{fontsize}
+\komentoi{selectfont}
+\begin{koodilohkosis}
+\fontsize{10bp}{12bp} \selectfont
+\end{koodilohkosis}
+
+\noindent
+Ensimmäinen argumentti on fontin kokomitta ja toinen on rivikorkeus.
+Mittayksiköt voivat olla mitä tahansa Texin mittoja, ja oletuksena
+käytetään pt\-/pistemittaa, jos yksikköä ei ole mainittu. Komento
+\komentom{selectfont} on mukana, koska vasta sen myötä matalan tason
+fonttikomennot tulevat voimaan. Korkean tason fonttikomennot (luku
+\ref{luku/fontit-korkea}) suorittavat sen automaattisesti.
+
+Rivikorkeus on vähintään sama kuin fontin koko, mutta yleensä se
+asetetaan pari pistettä suuremmaksi, jotta rivit eivät olisi liian
+lähellä toisiaan. Esimerkissä \ref{esim/rivikorkeus} on kaksi erilaista
+\komento{fontsize}\-/komentoa ja ladottu lopputulos.
+
+\begin{esimerkki*}
+  \komentoi{fontsize}
+  \komentoi{selectfont}
+
+\begin{koodilohko}
+\fontsize{8bp}{11bp}\selectfont Tässä on pienehkö leipätekstin
+fonttikoko ja suhteellisen suuri rivikorkeus. Pitkät rivit vaativat
+suuremman rivikorkeuden kuin lyhyet rivit.
+
+\fontsize{16bp}{17bp}\selectfont Tässä on melko suuri fontti ja
+suhteellisen pieni rivikorkeus. Suuri fontti ja lyhyet rivit eivät
+tarvitse kovin suurta rivikorkeutta.
+\end{koodilohko}
+  \begin{tulos}
+    \fontsize{8bp}{11bp}\selectfont Tässä on pienehkö leipätekstin
+    fonttikoko ja suhteellisen suuri rivikorkeus. Pitkät rivit vaativat
+    suuremman rivikorkeuden kuin lyhyet rivit.
+
+    \fontsize{16bp}{17bp}\selectfont Tässä on melko suuri fontti ja
+    suhteellisen pieni rivikorkeus. Suuri fontti ja lyhyet rivit eivät
+    tarvitse kovin suurta rivikorkeutta.
+  \end{tulos}
+  \caption{Fontin koon ja rivikorkeuden asettaminen ja vaikutus}
+  \label{esim/rivikorkeus}
+\end{esimerkki*}
+
+Toinen tekstirivien peruslinjojen väliseen etäisyyteen vaikuttava asetus
+on \komento{baselinestretch}. Se on desimaalilukukerroin, jolla nykyinen
+rivikorkeus kerrotaan. Kerroin asetetaan helpoimmin komennolla
+\komento{linespread}.\footnote{Toinen tapa: \koodi{\keno
+    renewcommand\{\keno baselinestretch\}\{kerroin\}}}
+
+\komentoi{fontsize}
+\komentoi{linespread}
+\komentoi{selectfont}
+\begin{koodilohkosis}
+\fontsize{10bp}{12bp} \linespread{1.3} \selectfont
+\end{koodilohkosis}
+
+\noindent
+Edellä oleva esimerkki asettaa fontin kooksi 10 pistettä ja
+rivikorkeudeksi 12 pistettä. \komento{linespread}\-/ komennolla asetetun
+kertoimen vuoksi rivien peruslinjojen väliseksi etäisyydeksi tulee
+lopulta 1,3 kertaa 12 pistettä eli 15,6 pistettä. Ei ole väliä, kummassa
+järjestyksessä \komento{fontsize}- ja \komento{linespread}\-/ komennot
+annetaan. Asetukset tulevat voimaan vasta \komento{selectfont}\-/
+komennon jälkeen.
+
+Käytännössä \komento{linespread} sopii rivikorkeuden yleistason
+hienosäätöön esimerkiksi dokumentin esittelyosassa. Tilannekohtainen
+rivikorkeus on parasta asettaa \komento{fontsize}\-/komennolla.
+
+\subsection{Kirjainperheen ja -leikkauksen valitseminen}
+\label{luku/fontit-korkea}
+
+Latexissa on joukko korkean tason fonttikomentoja, jotka on tarkoitettu
+käytettäväksi sen jälkeen, kun matalan tason asetukset on kerran
+määritetty. Taulukossa \ref{tlk/fonttimallikomennot} on komennot
+kirjainperheen ja kirjainleikkauksen valintaan. Joka rivillä ensin
+mainittu komento (esim. \komento{rmfamily}) vaikuttaa tekstiin, joka
+tulee komennon jälkeen. Vaikutusalue rajoittuu nykyisen ympäristön (luku
+\ref{luku/ympäristöt}) sisään tai aaltosulkeilla (luku
+\ref{luku/aaltosulkeet}) rajatun alueen sisään. Rivillä toisena olevalle
+komennolle (esim. \komentox{textrm}) annetaan yksi argumentti, ja
+komennon vaikutus koskee vain argumenttina olevaa tekstiä.
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[4]{%
+    \komento{#1} & \komento{#2}\komentoarg{\dots} & #3 & #4 \\}
+  \begin{tabular}{llll}
+    \toprule
+    \multicolumn{2}{l}{\ots{Komento}}
+    & \multicolumn{2}{l}{\ots{Merkitys}} \\
+
+    \midrule
+    \rivi {rmfamily} {textrm} {\rmfamily perhe}
+    {perus, yl. antiikva, serif, roman}
+    \rivi {sffamily} {textsf} {\sffamily perhe}
+    {groteski, sans serif, gothic}
+    \rivi {ttfamily} {texttt} {\ttfamily perhe}
+    {tasalevyinen, typewriter}
+
+    \midrule
+    \rivi {mdseries} {textmd} {\mdseries leikkaus}
+    {tavallinen vahvuus, medium}
+    \rivi {bfseries} {textbf} {\bfseries leikkaus}
+    {lihavoitu, bold}
+
+    \midrule
+    \rivi {upshape} {textup} {\upshape leikkaus}
+    {pystyasento, tavallinen}
+    \rivi {itshape} {textit} {\itshape leikkaus}
+    {kursiivi, italic}
+    \rivi {slshape} {textsl} {\slshape leikkaus}
+    {kalteva, slanted, oblique}
+    \rivi {scshape} {textsc} {\scshape leikkaus}
+    {pienversaali, kapiteeli, small caps}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Komennot kirjainperheen ja kirjainleikkauksen valintaan.
+    Perustila on \komento{rmfamily}, \komento{mdseries} ja
+    \komento{upshape}}
+  \label{tlk/fonttimallikomennot}
+}
+
+Taulukossa on ensimmäisillä riveillä kirjainperhekomennot (3\,kpl),
+jotka vaihtavat koko perheen kaikkine leikkauksineen. Niiden jälkeen
+tulevat kirjainleikkauskomennot, jotka valitsevat toisen leikkauksen
+samasta perheestä. Kirjainleikkauksen asetukset jaetaan kahteen ryhmään:
+\englantik{series} 'sarja' ja \englantik{shape} 'muoto'. Kummastakin
+ryhmästä on valittuna aina yksi ominaisuus, eli samanaikaisesti voi olla
+voimassa esimerkiksi \komento{bfseries} (\textbf{lihavoitu}) ja
+\komento{itshape} (\textit{kursiivi}), ja tuloksena on \textbf{\itshape
+  lihavoitua kursiivia}.
+
+Useimmissa fonteissa kursiivileikkaus (\komento{itshape}) ja kalteva
+leikkaus (\komento{slshape}) tuottavat saman lopputuloksen, mutta
+käsitteellisesti ne ovat eri asia. Kursiivi on aina muodoltaan erilainen
+leikkaus, joka hieman mukailee käsialakirjoitusta, joskaan kirjaimia ei
+ole sidottu toisiinsa. Sen sijaan kalteva leikkaus on tavallisen eli
+pystyasentoisen leikkauksen kallistettu versio. Kallistus voi olla
+kirjainmuotoilijan piirtämä leikkaus, tai kallistus on voitu toteuttaa
+mekaanisesti. Kallistuksen voi tehdä myös Latexissa (luku
+\ref{luku/fontit-venytys}).
+
+Komennot fontin koon valintaan ovat taulukossa
+\ref{tlk/fonttikokokomennot}. Taulukko kertoo myös, mitä fontin
+pistekokoa (pt) mikäkin komento tarkoittaa oletuksena. Oletus riippuu
+Latexin dokumenttiluokkien (luku \ref{luku/perusdokumenttiluokat})
+fonttikokovalitsimista \koodi{10pt}, \koodi{11pt} ja \koodi{12pt}.
+
+\leijutlk{
+  \begin{tabular}{lr@{}lr@{}lr@{}l}
+    \toprule
+    \ots{Komento}
+    & \multicolumn{2}{c}{\ots{10pt}}
+    & \multicolumn{2}{c}{\ots{11pt}}
+    & \multicolumn{2}{c}{\ots{12pt}} \\
+    \midrule
+    \komento{tiny} & 5 && 6 && 6 \\
+    \komento{scriptsize} & 7 && 8 && 8 \\
+    \komento{footnotesize} & 8 && 9 && 10 \\
+    \komento{small} & 9 && 10 && 10&,95 \\
+    \komento{normalsize} & 10 && 10&,95 & 12 \\
+    \komento{large} & 12 && 12 && 14&,4 \\
+    \komento{Large} & 14&,4 & 14&,4 & 17&,28 \\
+    \komento{LARGE} & 17&,28 & 17&,28 & 20&,74 \\
+    \komento{huge} & 20&,74 & 20&,74 & 24&,88 \\
+    \komento{Huge} & 24&,88 & 24&,88 & 24&,88 \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Fonttien oletuspistekoot dokumenttiluokkien valitsimilla
+    \koodi{10pt}, \koodi{11pt} ja \koodi{12pt}}
+  \label{tlk/fonttikokokomennot}
+}
+
+\ymparistoi{rmfamily}
+\ymparistoi{sffamily}
+\ymparistoi{ttfamily}
+\ymparistoi{mdseries}
+\ymparistoi{bfseries}
+\ymparistoi{upshape}
+\ymparistoi{itshape}
+\ymparistoi{slshape}
+\ymparistoi{scshape}
+\ymparistoi{tiny}
+\ymparistoi{scriptsize}
+\ymparistoi{footnotesize}
+\ymparistoi{small}
+\ymparistoi{normalsize}
+\ymparistoi{large}
+\ymparistoi{Large}
+\ymparistoi{LARGE}
+\ymparistoi{huge}
+\ymparistoi{Huge}%
+
+Kaikille korkean tason fonttikomennoille on olemassa myös samanniminen
+ympäristönsä, esimerkiksi \ymparisto{rmfamily}, \ymparisto{bfseries},
+\ymparisto{itshape} tai \ymparisto{small}. Seuraavassa esimerkissä on
+kaksi fontteihin vaikuttavaa ympäristöä sisäkkäin.
+
+\ymparistoi{footnotesize}
+\ymparistoi{scshape}
+\begin{koodilohkosis}
+\begin{footnotesize}
+  \begin{scshape}
+    Tämä teksti on pientä pienversaalia.
+  \end{scshape}
+\end{footnotesize}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \begin{footnotesize}
+    \begin{scshape}
+      Tämä teksti on pientä pienversaalia.
+    \end{scshape}
+  \end{footnotesize}
+\end{tulossis}
+
+\subsection{Fonttikoon määrittely suhteellisesti}
+\label{luku/fontti-suhteellinen}
+
+Dokumentin fonttien koot on helpointa määrittää siten, että asettaa
+ensin peruskirjainperheen koon ja antaa muiden fonttien määräytyä
+suhteessa siihen. Esimerkki \ref{esim/fontti-suhteellinen} selventää,
+kuinka se tapahtuu. Alussa otetaan käyttöön dokumenttiluokka
+\luokka{article} ja annetaan sille valitsin \koodi{10pt}, joka määrittää
+fonttikooksi 10 pistettä. Se on dokumenttiluokan oletusasetus, jota ei
+tarvitsisi edes kirjoittaa näkyviin. Esimerkin toisella rivillä otetaan
+\paketti{fontspec}\-/paketti käyttöön.
+
+Peruskirjainperheen (rivi~4) koko skaalataan 1,4\-/kertaiseksi, eli
+pistekooksi tulee 1,4 kertaa 10 pistettä eli 14 pistettä (pt).
+Normaalikokoinen peruskirjainperhe on ainoa, jonka pistekoko tiedetään.
+Kaikkien muiden koot täytyisi selvittää laskemalla.
+
+Groteski eli pääteviivaton kirjainperhe (rivi~5) ja tasalevyinen perhe
+(rivi~6) skaalataan samankorkuiseksi kuin perusperhe. Vertailukohtana
+ovat gemenat eli pienaakkoset (\koodi{MatchLowercase}). Näiden kahden
+kirjainperheen pistekokoa ei tiedetä. Se ei välttämättä ole sama kuin
+perusfontissa, koska fonttien pistekoko mitataan ylimmän ja alimman
+kohdan välillä ja koska fonttien mittasuhteet ovat erilaisia.
+
+\begin{esimerkki*}
+  \komentoi{documentclass}
+  \komentoi{usepackage}
+  \pakettii{fontspec}
+  \komentoi{setmainfont}
+  \komentoi{setsansfont}
+  \komentoi{setmonofont}
+  \komentoi{linespread}
+  \luokkai{article}
+
+\begin{koodilohko}
+\documentclass[10pt]{article} % 10pt on oletus
+\usepackage{fontspec}
+
+\setmainfont{TeX Gyre Termes}[Scale=1.4]
+\setsansfont{TeX Gyre Heros} [Scale=MatchLowercase]
+\setmonofont{TeX Gyre Cursor}[Scale=MatchLowercase]
+\linespread{1.45}
+\end{koodilohko}
+  \caption{Fonttikokojen määrittäminen suhteessa peruskirjainperheeseen}
+  \label{esim/fontti-suhteellinen}
+\end{esimerkki*}
+
+Viimeisellä rivillä oleva \komento{linespread}\-/ komento on tärkeä. Se
+asettaa rivikorkeuden kertoimeksi 1,45. Kertoimen täytyy olla vähintään
+yhtä suuri kuin peruskirjainperheen skaalauskerroin (1,4), jotta
+rivivälit ovat riittävän suuret. Näiden asetusten jälkeen dokumentissa
+käytetään korkeamman tason komentoja fonttien valintaan, esimerkiksi
+fonttikoon valintakomentoja \komento{small}, \komento{normalsize},
+\komento{large} (taulukko \ref{tlk/fonttikokokomennot}).
+
+Edellä kuvatussa suhteellisessa kirjainperheiden koon määrittelyssä on
+sellainen ongelma tai kummallisuus, että Latex koko ajan luulee, että
+peruskirjainperhe on normaalikokoisena 10 pistettä (pt). Latexin matalan
+tason fonttikomennot eivät tiedä kirjainperheen skaalauskertoimesta, ja
+siksi esimerkiksi komentojen
+
+\komentoi{fontsize}
+\komentoi{selectfont}
+\begin{koodilohkosis}
+\fontsize{10bp}{12bp} \selectfont
+\end{koodilohkosis}
+
+\noindent
+tuloksena ei todellisuudessa ole 10 pisteen (bp) fontti, vaan mukaan
+lasketaan myös kirjainperheen skaalauskerroin. Tämän vuoksi
+\komento{fontsize}\-/ komennon käyttö menee aika oudoksi. Argumenttina
+annettu kokomitta ei pidä paikkaansa.
+
+Jos korkean tason fonttikokokomentojen (taulukko
+\ref{tlk/fonttikokokomennot}) lisäksi tarvitaan jotakin muuta kokoa,
+voisi mahdollisesti \komento{fontsize}\-/ komennon sijasta käyttää
+\paketti{fontspec}\-/paketin tarjoamaa komentoa ja tilanteeseen sopivaa
+skaalauskerrointa esimerkiksi seuraavalla tavalla:
+
+\komentomargin{addfontfeatures}
+\komentoi{addfontfeatures}
+\begin{koodilohkosis}
+{\addfontfeatures{Scale=3.2} Poikkeuksellisen isoa tekstiä}
+\end{koodilohkosis}
+
+\noindent
+Jos edellä mainitut kummallisuudet eivät häiritse eikä ole tarvetta
+määritellä fontteja tarkasti tietyn pistekoon mukaiseksi, on
+suhteellinen määrittelytapa todella helppo. Kaikki dokumentin fontit
+määräytyvät perusfontin skaalauskertoimen kautta. Tämä tapa sopii hyvin
+varsinkin dokumentin sisällön kirjoittamisvaiheeseen, jossa ehkä
+halutaan vain nopeasti asettaa dokumentti suurin piirtein järkevän
+näköiseksi. Myöhemmin voi määrittää koot tarkemmin niin sanotun
+absoluuttisen menetelmän avulla, jota käsitellään seuraavassa
+alaluvussa.
+
+\subsection{Fonttikoon määrittely absoluuttisesti}
+\label{luku/fontti-absoluuttinen}
+
+Absoluuttinen fonttien koonmääritystapa tarkoittaa sitä, että koot
+asetetaan tietyn kokoiseksi käyttämällä esimerkiksi pistemittoja ja että
+kirjaimet myös päätyvät lopulliseen dokumenttiin juuri sen kokoisena.
+Tämä tapa on myös teknisesti eheä, eli Latexin eri osat ovat samaa
+mieltä siitä, minkäkokoisesta fontista on kyse. Näin ei ollut
+suhteellisen tavan kanssa (luku \ref{luku/fontti-suhteellinen}).
+
+Joskus oppilaitoksen, yhtiön tai muun julkaisijan ohjeissa määritellään
+tarkasti, mitä fontteja käytetään ja mikä on leipätekstin ja otsikoiden
+fonttikoko. Silloin tarvitaan tässä luvussa kuvattua tapaa fonttien
+asettamiseen.
+
+\begin{esimerkki*}
+  \komentoi{documentclass}
+  \komentoi{usepackage}
+  \pakettii{fontspec}
+  \komentoi{setmainfont}
+  \komentoi{setsansfont}
+  \komentoi{setmonofont}
+  \komentoi{newfontfamily}
+  \komentoi{linespread}
+  \komentoi{renewcommand}
+  \komentoi{footnotesize}
+  \komentoi{small}
+  \komentoi{normalsize}
+  \komentoi{large}
+  \komentoi{Large}
+
+\begin{koodilohko}
+\documentclass{article}
+\usepackage{fontspec}
+
+% Leipätekstiin samankokoiset fontit
+\setmainfont{TeX Gyre Termes}
+\setsansfont{TeX Gyre Heros} [Scale=MatchLowercase]
+\setmonofont{TeX Gyre Cursor}[Scale=MatchLowercase]
+
+% Muualle sans ja mono ilman skaalausta
+\newfontfamily{\sffamilyabs}{TeX Gyre Heros}
+\newfontfamily{\ttfamilyabs}{TeX Gyre Cursor}
+
+\linespread{1} % ei välttämättä tarvita
+
+% Kaikki tarvittavat fonttikoot ja komennot
+\renewcommand{\footnotesize}{\fontsize{10bp}{12bp}\selectfont}
+\renewcommand{\small}       {\fontsize{12bp}{14bp}\selectfont}
+\renewcommand{\normalsize}  {\fontsize{14bp}{17bp}\selectfont}
+\renewcommand{\large}       {\fontsize{17bp}{19bp}\selectfont}
+\renewcommand{\Large}       {\fontsize{20bp}{22bp}\selectfont}
+
+\normalsize % jotta tulee heti voimaan eikä vasta tekstiosassa
+\end{koodilohko}
+  \caption{Fonttikokojen määrittäminen pistekoon avulla}
+  \label{esim/fontti-absoluuttinen}
+\end{esimerkki*}
+
+Esimerkistä \ref{esim/fontti-absoluuttinen} selviää perusajatus.
+Peruskirjainperhe (rivi~5) otetaan käyttöön ilman skaalausta
+(\koodi{Scale=1}), minkä vuoksi koon voi jatkossa asettaa täsmälleen
+kohdalleen \komento{fontsize}\-/komennolla. Samaa ei tehdä groteskin
+eikä tasalevyisen fontin kanssa (rivit 6--7), vaan käytetään skaalausta
+\koodi{MatchLowercase}, jotta tekstikappaleessa kaikki kirjainperheet
+näyttävät samankokoisilta. Tässä menetetään mahdollisuus määrittää
+näiden kirjainperheiden koko täsmällisesti pistemitan avulla. Jos siihen
+on tarvetta esimerkiksi otsikoissa, voidaan käyttää rivien 10--11
+komentoja. Niillä luodaan uudet kirjainperheet, jotka ovat käytännössä
+samoja mutta ilman skaalausta.
+
+Uusien skaalaamattomien kirjainperheiden komentojen nimiksi on valittu
+\komentox{sf\-fam\-i\-ly\-abs} ja \komentox{tt\-fam\-i\-ly\-abs} (vrt.
+\komento{sffamily} ja \komento{ttfamily}, taulukko
+\ref{tlk/fonttimallikomennot}), ja näillä komennoilla kirjainperheet
+kytketään päälle. Jos esimerkiksi jonkin julkaisun vaatimuksiin kuuluu,
+että otsikossa täytyy olla 20 pisteen lihavoitu TeX Gyre Heros
+\=/kirjainleikkaus, voi esimerkissä \ref{esim/fontti-absoluuttinen}
+olevien asetusten pohjalta antaa otsikon ulkoasun (luku
+\ref{luku/otsikot-ulkoasu}) määrittelyn yhteydessä seuraavat komennot:
+
+\komentoi{Large}
+\komentoi{bfseries}
+\begin{koodilohkosis}
+\sffamilyabs\Large\bfseries
+\end{koodilohkosis}
+
+\noindent
+Esimerkin \ref{esim/fontti-absoluuttinen} riveillä 16--20 määritellään
+uudelleen Latexin korkean tason komennot, joilla fonttikoot asetetaan.
+Oletusarvot tulevat dokumenttiluokasta (luku
+\ref{luku/dokumenttiluokat}), mutta jos ne eivät ole sopivia, täytyy
+vähintäänkin määritellä komento \komento{normalsize} mutta sen lisäksi
+kaikki ne koot, joita omassa dokumentissa tarvitaan. Tässä esimerkissä
+normaali koko asetetaan 14 pisteen kokoiseksi.
+
+Jokaiselle fonttikoolle määritetään riveillä 16--20 myös oma
+rivikorkeus, ja se on tarkoitus asettaa sopivaksi juuri kyseiselle
+koolle. Rivikorkeuteen vaikuttaa myös kerroin \komento{baselinestretch},
+joka asetetaan komennolla \komento{linespread}. Sitä ei välttämättä
+tarvitse käyttää, koska kirjainperheitä ei ole skaalattu ja koska
+rivikorkeus asetetaan aina \komento{fontsize}\-/komennolla.
+\komento{linespread} on kuitenkin kätevä komento rivikorkeuden
+säätämiseen yleisesti kaikkialla.
+
+Fonttikokojen määrittelyn lopuksi rivillä 22 suoritetaan komento
+\komento{normalsize}, jotta se tulee heti voimaan. Dokumentin
+esittelyosassa voidaan käyttää fonttikokoon viittaavia mittayksiköitä
+\emph{em} ja \emph{ex}, ja ne viittaavat nyt tähän kokoon.
+\komento{normalsize}\-/ komento suoritetaan kyllä myöhemmin
+automaattisesti dokumentin tekstiosan eli \ymparistox{document}\-/
+ympäristön alussa.
+
+Edellä kuvatun absoluuttisen koonmääritystavan etuna on se, että
+kirjoittaja hallitsee fonttien kokoa ja rivikorkeuksia tarkasti ja että
+julkaisuun saadaan juuri ne mitat, jotka halutaan tai vaaditaan. Tapa on
+myös teknisesti eheä eli toimii Latexin sisäisen logiikan näkökulmasta
+oikein. Haittana voi pitää sitä, että kaikki koot täytyy määritellä
+erikseen.
+
+\subsection{Fonttien oletusasetuksia}
+\label{luku/fontit-oletusasetukset}
+
+Oletuksena Latex\-/dokumentin peruskirjainperheessä
+(\komentom{setmainfont}) ja pääteviivattomassa kirjainperheessä
+(\komentom{setsansfont}) ovat päällä muun muassa seuraavat asetukset:%
+
+\begin{koodilohkosis}
+Ligatures={TeX, Common}
+HyphenChar=-
+\end{koodilohkosis}
+
+\noindent
+\koodi{TeX}\-/ligatuurit tarkoittavat lainausmerkkien ja ajatusviivojen
+tuottamiseen tarkoitettuja Texin merkintätapoja kuten \koodi{''} ja
+\koodi{\==}, joita käsitellään luvuissa \ref{luku/lainausmerkit} ja
+\ref{luku/yhdys-ajatus-miinus}. Ne eivät ole varsinaisia luonnollisen
+kielen eivätkä typografisia ligatuureja vaan kuuluvat ainoastaan
+Tex\-/kielen merkintätapoihin. \koodi{Common}\-/ ligatuurit sen sijaan
+ovat oikeita typografisia ligatuureja kuten fi, ff ja fl, ja niitä
+käsitellään tarkemmin luvussa \ref{luku/typo-liga}. Molemmat edellä
+mainitut ligatuurityypit saa pois päältä seuraavalla asetuksella:
+
+\begin{koodilohkosis}
+Ligatures={TeXReset, NoCommon}
+\end{koodilohkosis}
+
+\noindent
+Valitsin \koodi{Hyphen\-Char} asettaa tavutusmerkin kyseiselle
+kirjainperheelle. Oletuksena se on yhdysmerkki (\=/), mutta merkin
+vaihtaminen toimii vain Xelatex\-/kääntäjän kanssa, ei esimerkiksi
+Lualatexilla. Sen sijaan kaikilla kääntäjillä tavutuksen voi kytkeä
+kirjainperheeltä pois, kun antaa arvoksi \koodi{None}. Tavutusta
+käsitellään perusteellisemmin luvussa \ref{luku/tavutus}.
+
+Tasalevyinen kirjainperhe (\komentom{setmonofont}) toimii oletuksena
+hieman eri tavalla. Niissä muun muassa ei ole lainausmerkkien ja
+ajatusviivojen kirjoittamiseen tarkoitetut Tex\-/ligatuurit päällä.
+Oletusasetuksia ovat muun muassa seuraavat:
+
+\begin{koodilohkosis}
+Ligatures=Common
+HyphenChar=None
+\end{koodilohkosis}
+
+\noindent
+Yleensä tasalevyisestä kirjainperheestä kannattaa kytkeä typografiset
+ligatuurit pois päältä asetuksella \koodi{Liga\-tures=\katk No\-Common}.
+Tasalevyisen fontin ajatukseen nimenomaan kuuluu, että merkit ovat
+samanlevyisiä eikä yhden merkin tilaan sovi sulloa useampaa kirjainta.
+
+Oletuksena tavutus on kytketty pois päältä tasalevyiseltä
+kirjainperheeltä, koska sitä käytetään tavallisesti tietokoneisiin
+liittyvien koodien tai vastaavien ilmausten latomiseen, eikä niitä
+haluta yleensä tavuttaa. Tavutuksen saa kuitenkin päälle Xelatexissa
+määrittämällä tavutusmerkiksi esimerkiksi yhdysmerkin
+(\koodi{Hyphen\-Char=-}) tai kaikilla kääntäjillä poistamalla
+tasalevyisen kirjainperheen oletusasetukset ennen sen määrittelyä
+seuraavasti:
+
+\komentoi{defaultfontfeatures}
+\komentoi{ttfamily}
+\komentoi{setmonofont}
+\begin{koodilohkosis}
+\defaultfontfeatures[\ttfamily]{}
+\setmonofont{…}[…]
+\end{koodilohkosis}
+
+\noindent
+Komennolla \komentom{defaultfontfeatures} voi asettaa (joidenkin)
+kirjainperheiden oletusasetukset, kun komennon suorittaa ennen
+kirjainperheiden määrittelyä.
+
+\komentoi{defaultfontfeatures}
+\komentoi{rmfamily}
+\komentoi{sffamily}
+\begin{koodilohkosis}
+\defaultfontfeatures[\rmfamily,\sffamily]{Ligatures={TeX, Common},
+  Numbers=Lowercase}
+\end{koodilohkosis}
+
+\noindent
+Komennon valinnaisella argumentilla voi rajata, mitä kirjainperheitä
+oletusasetukset koskevat. Valinnaiseen argumenttiin kirjoitetaan yksi
+tai useampia pilkulla erotettuja komentoja, joilla kirjainperheet
+kytketään päälle: \komento{rmfamily}, \komento{sffamily},
+\komento{ttfamily} (taulukko \ref{tlk/fonttimallikomennot},
+s.~\pageref{tlk/fonttimallikomennot}) tai komennolla
+\komento{newfontfamily} määritelty fonttikomento (luku
+\ref{luku/fontin-valinta}).
+
+\subsection{Typografiset ligatuurit}
+\label{luku/typo-liga}
+
+Typografiset ligatuurit ovat fontissa olevia yhdistelmämerkkejä, joissa
+on typografisista syistä yhdistetty kaksi tai useampia kirjaimia yhteen
+merkkiin.%
+\footnote{Typografisten ligatuurien lisäksi on olemassa myös
+  luonnollisten kielten ligatuureja, jotka muodostavat kieleen kuuluvan
+  kirjaimen, kuten æ norjan kielessä. Niillä on jokin luonnolliseen
+  kieleen liittyvä merkitys, eikä eri merkkejä ei ole yhdistetty
+  typografisista syistä.} Tällaisia ligatuureja käytettiin jo
+metalliladonnassa, eli samassa metallikirjakkeessa saattoi olla enemmän
+kuin yksi kirjain.
+
+Typografisten ligatuurien tarkoituksena on tuottaa tyylikkäämpi
+lopputulos kuin saataisiin erillisten kirjainten avulla. Syynä on
+esimerkiksi se, että erilliset peräkkäiset kirjaimet eivät ole aina
+keskenään yhteensopivia. Kirjainten välistys voi olla ongelmallista:
+sopivalle etäisyydelle asetettaessa kirjainten osat voivat mennä
+rumannäköisesti päällekkäin. Riippuu fontista, mitkä ligatuurit ovat
+tarpeellisia ja mitkä ligatuurimerkit on ylipäätään toteutettu fontin
+merkistöön. Tavallisia antiikvojen ligatuureja ovat fi, ff, ffi, fl,
+ffl, fj ja ffj, mutta jotkin fontit sisältävät muitakin. Kuvaan
+\ref{kuva/ligatuurit} on koottu esimerkkejä.
+
+\leijukuva{
+  \erikoisfontti
+  \addfontfeatures{Scale=3.4, Ligatures={Common, Historic,
+      Discretionary}}
+  fi ff ffi fl ffl fj ffj Th st ct
+}{
+  \caption{Tavalliset f\=/alkuiset typografiset ligatuurit, vähän
+    harvinaisempi Th sekä historialliset ligatuurit st ja ct}
+  \label{kuva/ligatuurit}
+}
+
+Latex hoitaa tavallisten typografisten ligatuurien latomisen
+automaattisesti, eli lähdedokumenttiin ei kannata kirjoittaa
+Unicode\-/merkistön typografisia ligatuurimerkkejä (esimerkiksi
+\uctunnus{u+fb01 latin small ligature fi}) vaan ihan tavallisia
+erillisiä kirjaimia. \englanti{Open Type} \=/fontin suunnittelija on
+päättänyt meidän puolestamme, mitkä kirjainyhdistelmät on parasta latoa
+ligatuurin avulla, ja oletusasetuksilla Latex noudattaa niitä ohjeita.
+
+Jos kuitenkin yksittäisen ligatuurin muodostumisen haluaa estää, voi
+kirjainten väliin kirjoittaa komennon \komentom{textcompwordmark}, joka
+tekee näkymättömän, juuri tähän tarkoitukseen olevan merkin
+\uctunnus{u+200c zero width non-joiner}.
+
+\komentoi{textcompwordmark}
+\begin{koodilohkosis}
+fi f\textcompwordmark i
+\end{koodilohkosis}
+
+\begin{tulossis}
+  fi f\textcompwordmark i
+\end{tulossis}
+
+\noindent
+Mikäli tavallisia ligatuureja ei halua käyttöön lainkaan, on parasta
+valita jo kirjainperheen tai \=/leikkauksen käyttöönotossa asetus
+\koodi{Liga\-tures=\katk No\-Com\-mon}. Väliaikaisesti fontin asetuksiin
+voi vaikuttaa komennolla \komentom{addfontfeatures}, joka sekin on
+\paketti{fontspec}\-/pakettiin sisältyvä komento.
+
+\komentoi{addfontfeatures}
+\begin{koodilohkosis}
+{\addfontfeatures{Ligatures=NoCommon} fi fl}
+\end{koodilohkosis}
+
+\noindent
+Tavallisten ligatuurien lisäksi \englanti{Open Type} \=/fontit voivat
+sisältää myös harvinaisempia ligatuureja, jotka täytyy erikseen kytkeä
+päälle. Niiden tarkoituksena on esimerkiksi erityinen koristeellisuus
+tai historiallisen kirjoitustavan jäljittely. Harvinaisia ligatuureja ei
+ole tarkoitus käyttää joka tilanteessa vaan ainoastaan erityisestä
+syystä. Kuvassa \ref{kuva/ligatuurit} ja tässäkin tekstikappaleessa
+olevat {%
+  \newcommand{\hlig}[1]{{\erikoisfontti
+      \addfontfeatures{Ligatures=Historic}#1}}%
+  \hlig{st}- ja \hlig{ct}\-/ligatuurit%
+} on saatu fontin asetuksella \koodi{Liga\-tures=\katk His\-toric}.
+Joissakin fonteissa sama tehdään asetuksella \koodi{Liga\-tures=\katk
+  Discretionary}. Useitakin ligatuurityyppejä voi kytkeä päälle
+samanaikaisesti:
+
+\begin{koodilohkosis}
+Ligatures={TeX, Required, Common, Historic, Discretionary,
+  Contextual}
+\end{koodilohkosis}
+
+\noindent
+Tuskin mikään fontti sisältää kaikkia ligatuurityyppejä, eikä se ole
+tarkoituskaan. Jotkin ligatuurit kuuluvat vain tiettyyn typografian
+aikakauteen tai kirjaintyyliin. Open Type \=/fontin ominaisuuksia voi
+selvittää käyttöjärjestelmän komentotulkissa komennolla \koodi{otfinfo}.
+Komennon argumentiksi annetaan muun muassa fonttitiedoston nimi.
+
+\subsection{Numeroiden muoto}
+\label{luku/fontit-numerot}
+
+Varsinkin kirjatypografiassa on tavallista käyttää pääasiassa
+gemenanumeroita ({\gemenanum 1967}) eikä versaalinumeroita
+({\versaalinum 1967}), koska gemenanumerot sopivat leipätekstin
+gemenakirjainten kanssa paremmin yhteen. Versaalinumerot puolestaan
+erottuvat paremmin ja sopivat esimerkiksi taulukoihin, joissa on paljon
+lukuja. Näihin asetuksiin vaikutetaan fontin asetuksella
+\koodi{Numbers}. Tosin kaikissa fonteissa ei gemenanumeroita edes ole.
+
+\begin{koodilohkosis}
+Numbers=Lowercase % gemenanumerot
+Numbers=Uppercase % versaalinumerot (oletus)
+\end{koodilohkosis}
+
+\noindent
+Jotkin koodi\-/ilmaukset sisältävät versaalikirjaimia ja numeroita
+sekaisin. Gemenanumerot eivät kuitenkaan sovi yhteen versaalikirjainten
+kanssa, koska merkkien kokoero on häiritsevän suuri. Ei siis näin:
+RJ45, R2D2. Gemenanumeroiden kanssa täytyy käyttää pienversaalia eli
+kapiteelia: \textsc{rj45}, \textsc{r2d2}. Toinen vaihtoehto on käyttää
+pelkästään versaaleja: {\versaalinum RJ45, R2D2}.
+
+Silloin kun käytetään numeroita teknisten koodien ilmaisemiseen, voi
+olla tarpeen merkitä numero nolla poikkiviivalla
+({\addfontfeatures{Numbers={Uppercase, SlashedZero}} 0}), jottei se
+sekoitu O\=/kirjaimeen. Nollaan saadaan poikkiviiva seuraavalla
+asetuksella, jos vain fontissa on tämä ominaisuus:
+
+\begin{koodilohkosis}
+Numbers=SlashedZero
+\end{koodilohkosis}
+
+\noindent
+Kun numeroita ladotaan taulukkoon, voidaan haluta käyttää tasalevyisiä
+numeroita, jotta ne sijoittuvat allekkain samalle linjalle. Joissakin
+fonteissa on tarjolla tavallisten vaihtelevan levyisten numeroiden
+lisäksi myös tasalevyiset. Numeroiden leveyteen vaikutetaan seuraavilla
+asetuksilla:
+
+\begin{koodilohkosis}
+Numbers=Monospaced   % tasalevyiset numerot
+Numbers=Proportional % vaihtelevan levyiset numerot (oletus)
+\end{koodilohkosis}
+
+\subsection{Välistykset: harvennus ja tiivistys}
+\label{luku/fontit-välistys}
+
+Fontin kanssa käytettäviä sanavälejä voi säätää \koodim{Word\-Space}\-/
+valitsimella, jonka arvoksi annetaan desimaalilukukerroin eli suhdeluku
+normaaliin verrattuna. Arvona voi olla myös kolme eri kerrointa, jolloin
+mukana on lisäksi sanavälin venymisen rajat. Tämä asetus on tehtävä
+kirjainperheen tai \=/leikkauksen määrittelyn yhteydessä, eli se ei
+toimi esimerkiksi \komento{addfontfeatures}\-/ komennon kanssa. Katso
+tietoa sanaväleistä myös luvusta \ref{luku/sanaväli} tai
+tekstikappaleiden latomista käsittelevästä luvusta \ref{luku/kappale}.
+\noclub[2]
+
+Fonttiasetusten valitsimella \koodim{Letter\-Space} säädetään merkkien
+välistystä eli niiden välistä tyhjää tilaa. Arvoksi annetaan
+positiivinen tai negatiivinen prosenttiluku, joka ilmaisee alkuperäiseen
+lisättävän osuuden. Asetus \koodi{Letter\-Space=\katk 6} tuottaa siis
+kuusi prosenttia leveämmät merkkien välit. Välistyksen tiivistäminen ja
+harvennuksen typografiaa käsitellään luvussa
+\ref{luku/korostus-harvennus}, mutta seuraavassa on esimerkki, kuinka ne
+teknisesti toteutetaan:
+
+\komentoi{scshape}
+\komentoi{addfontfeatures}
+\begin{koodilohkosis}
+\scshape {\addfontfeatures{LetterSpace=-2} tiivistys} \\
+normaali \\ {\addfontfeatures{LetterSpace=6} harvennus}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \scshape {\addfontfeatures{LetterSpace=-2} tiivistys} \\
+  normaali \\ {\addfontfeatures{LetterSpace=6} harvennus}
+\end{tulossis}
+
+\noindent
+Jos esimerkiksi harvennuksen haluaa automaattisesti mukaan
+kirjainperheeseen kuuluvaan pienversaaliin, käytetään valitsinta
+\koodi{Small\-Caps\-Features}:
+
+\komentoi{setmainfont}
+\begin{koodilohkosis}
+\setmainfont{…}[SmallCapsFeatures={LetterSpace=6}]
+\end{koodilohkosis}
+
+\subsection{Keinotekoinen venytys, lihavointi ja kallistus}
+\label{luku/fontit-venytys}
+
+Valitsimella \koodim{Fake\-Stretch} voi venyttää tai kutistaa merkkejä
+leveyssuunnassa. Arvoksi annetaan desimaalilukukerroin, joka on
+suhdeluku alkuperäiseen leveyteen nähden. Seuraavassa havainnollistava
+esimerkki:
+
+\komentoi{addfontfeatures}
+\begin{koodilohkosis}
+esimerkki \\
+{\addfontfeatures{FakeStretch=1.3} esimerkki}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  esimerkki \\
+  {\addfontfeatures{FakeStretch=1.3} esimerkki}
+\end{tulossis}
+
+\noindent
+Kirjainleikkauksen leventäminen tekee tekstistä samalla lihavampaa,
+koska kirjainten viivat tulevat vahvemmiksi leveyssuunnassa.
+Korkeussuunnassa vahvuus säilyy ennallaan, joten kirjainten
+viivakontrasti muuttuu. Kirjainleikkauksen kutistaminen vaikuttaa
+lihavuuteen päinvastaisesti. Tällainen mekaaninen fontin
+''korjaileminen'' ei välttämättä tuota typografisesti kovin hyvää jälkeä
+mutta voi sopia lievästi käytettynä esimerkiksi otsikoihin. Tämän oppaan
+tasalevyistä kirjainperhettä on hieman kutistettu, koska alkuperäinen on
+kohtuuttoman leveä ({\ttfamily\addfontfeatures{FakeStretch=1}
+  esimerkki}) verrattuna muiden kirjainperheiden leveyteen.
+
+Jos kirjainperheeseen ei sisälly sopivaa lihavoitua tai kaltevaa
+leikkausta, voi sellaiset koettaa tehdä myös keinotekoisesti
+\koodim{Fake\-Bold}- ja \koodim{Fake\-Slant}\-/ valitsimien avulla.
+Niille annetaan arvoksi desimaalilukukerroin. Valitettavasti
+\koodi{Fake\-Bold} toimii vain Xelatex\-/kääntäjän kanssa.
+
+\komentoi{addfontfeatures}
+\begin{koodilohkosis}
+pysty {\addfontfeatures{FakeSlant=.2} kalteva}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  pysty {\addfontfeatures{FakeSlant=.2} kalteva}
+\end{tulossis}
+
+\noindent
+Mekaanisen lihavoinnin tai kallistuksen saa osaksi kirjainperhettä, kun
+asettaa kirjainperheen määrittelyn yhteydessä halutun kirjainleikkauksen
+valitsimella \koodi{Bold\-Font} tai \koodi{Slanted\-Font} ja määrittää
+niille erityisiä ominaisuuksia valitsimella \koodi{Bold\-Fea\-tures} tai
+\koodi{Slanted\-Fea\-tures}. Seuraava esimerkki asettaa dokumentin
+perusfontille kaltevan leikkauksen. Tämän jälkeen komento
+\komento{slshape} valitsee \textsl{kaltevan} leikkauksen, joka on siis
+eri asia kuin \textit{kursiivi} (\komento{itshape}).
+
+\komentoi{setmainfont}
+\begin{koodilohkosis}
+\setmainfont{…}[
+  SlantedFont={…}, % tähän pystyasentoinen leikkaus
+  SlantedFeatures={FakeSlant=.2}]
+\end{koodilohkosis}
+
+\subsection{Keinotekoinen pienversaali}
+\label{luku/fontit-keinopienversaali}
+
+Moniin fontteihin ei sisälly lainkaan pienversaalia. Jos sellaisen silti
+haluaa omaan korostusvalikoimaan, voi yrittää pienentää
+versaalikirjaimet sopivaan kokoon. Seuraavassa esimerkissä versaaleja
+ensin pienennetään ja sitten venytetään hieman leveyssuunnassa. Lisäksi
+merkkivälejä harvennetaan lievästi. Käytännössä versaaleja pienentämällä
+ei saada tyylikästä pienversaalia aikaan, koska merkkien viivoista tulee
+liian ohuita.
+
+\komentoi{textsc}
+\komentoi{addfontfeatures}
+\begin{koodilohkosis}
+\textsc{pienversaali} oikea \\
+{\addfontfeatures{ScaleAgain=.68, FakeStretch=1.17, LetterSpace=4}
+  PIENVERSAALI} keinotekoinen
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \textsc{pienversaali} oikea \\
+  {\addfontfeatures{ScaleAgain=.68, FakeStretch=1.17, LetterSpace=4}
+    PIENVERSAALI} keinotekoinen
+\end{tulossis}
+
+\subsection{Matematiikkatilan fontti}
+\label{luku/matematiikka-fontit}
+
+Latexin matematiikkatilan (luku \ref{luku/matematiikka}) fontti
+asetetaan eri tavalla kuin normaalin tilan eli tekstitilan fontit.
+Matematiikkatilaa varten tarvitaan paketti \pakettictan{unicode-math},
+joka täytyy ladata muiden matematiikkaan tai fontteihin liittyvien
+pakettien jälkeen. Paketti tuo komennon \komento{setmathfont}, joka on
+matematiikkatilan vastine luvussa \ref{luku/fontin-valinta} esitellyille
+fontinmäärittelykomennoille \komento{setmainfont}, \komento{setsansfont}
+ja \komento{setmonofont}.
+
+\pakettii{fontspec}
+\pakettii{unicode-math}
+\komentoi{setmainfont}
+\komentoi{setmathfont}
+\begin{koodilohkosis}
+\usepackage{fontspec}
+\usepackage{unicode-math}
+\setmainfont{TeX Gyre Pagella}       % tekstitilan perusfontti
+\setmathfont{TeX Gyre Pagella Math}  % matematiikkatilan fontti
+\end{koodilohkosis}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[3]{\koodi{#1} & \koodi{#2} & \koodi{#3} \\}
+
+  \begin{tabular}{lll}
+    \toprule
+    \ots{Yleistyyli} & \ots{Lihavointi} & \ots{Pääteviivaton} \\
+    \midrule
+    \rivi{math-style=ISO}    {bold-style=ISO}    {sans-style=upright}
+    \rivi{math-style=TeX}    {bold-style=TeX}    {sans-style=italic}
+    \rivi{math-style=french} {bold-style=upright}{sans-style=literal}
+    \rivi{math-style=upright}{}{}
+    \rivi{math-style=literal}{}{}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Matematiikkatilan tyyliasetuksia (\paketti{unicode-math}\-/
+    paketti)}
+  \label{tlk/unicode-math-style}
+}
+
+\noindent
+Paketin \paketti{unicode-math} lataamisen yhteydessä voi
+\komento{usepackage}\-/ komennon valinnaisen argumentin avulla vaikuttaa
+matematiikkatilassa käytettyihin kirjainleikkauksiin. Argumenttiin
+sopivia valitsimia ovat \koodi{math-style}, \koodi{bold-style} ja
+\koodi{sans-style}, ja niille sopivia arvoja on koottu taulukkoon
+\ref{tlk/unicode-math-style}. Asetukset vaikuttavat esimerkiksi siihen,
+mitä kirjainleikkausta käytetään, kun ladotaan matematiikkatilan
+latinalaisia tai kreikkalaisia kirjaimia.
+
+\begin{koodilohkosis}
+\usepackage[math-style=ISO]{unicode-math}
+\end{koodilohkosis}
+
+\noindent
+Matematiikkatilan fontiksi ei kelpaa mikä tahansa, koska tarvittavien
+matemaattisten symbolien täytyy sisältyä \englanti{Open Type} \=/fontin
+merkkivalikoimaan. Tukea ei ehkä ole, jos sitä ei fontille erikseen
+mainosteta. Fonttitiedoston ominaisuuksia voi tutkia esimerkiksi
+käyttöjärjestelmän komentotulkissa \koodi{otfinfo}\-/ komennolla:
+
+\begin{koodilohkosis}
+otfinfo -s texgyrepagella-math.otf
+\end{koodilohkosis}
+
+\noindent
+Tex Live \=/jakelun mukana tulee muutama \englanti{Open Type}
+\=/kirjainperhe, joihin kuuluvat myös matematiikan symbolit. Tällaisia
+kirjainperheitä ovat ainakin Libertinus sekä eri TeX Gyre \-/perheet.
+Koko Libertinus\-/ perheen voi ottaa käyttöön hyvin yksinkertaisesti:
+ladataan vain paketti \paketti{libertinus}, joka määrittää kerralla
+antiikvan, groteskin, tasalevyisen ja matematiikkafontin. Myös
+tavallisten fontinmäärityskomentojen käyttö on mahdollista.
+
+\begin{esimerkki*}
+  \komentoi{setmathfont}
+
+\begin{koodilohko}
+\setmathfont{Libertinus Math Regular}
+\setmathfont{TeX Gyre Bonum Math}
+\setmathfont{TeX Gyre Dejavu Math}
+\setmathfont{TeX Gyre Pagella Math}
+\setmathfont{TeX Gyre Schola Math}
+\setmathfont{TeX Gyre Termes Math}
+\end{koodilohko}
+
+  \caption{Matematiikan symboleja sisältäviä vapaita fontteja. Komento
+    \komento{setmathfont} sisältyy pakettiin \paketti{unicode-math}}
+  \label{esim/matematiikka-fontteja}
+\end{esimerkki*}
+
+Esimerkissä \ref{esim/matematiikka-fontteja} on komentoja joidenkin
+matematiikkafonttien lataamiseen. Lähes aina on järkevää käyttää
+asetusta \koodi{Scale=\katk MatchLowercase}, joka asettaa fontin
+samankokoiseksi kuin vastaava peruskirjainperhe.
+
+\begin{koodilohkosis}
+\setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase]
+\end{koodilohkosis}
+
+\section{Kieli}
+\label{luku/kieliasetukset}
+
+Melkein aina Latex\-/dokumenttiin täytyy ladata kielipaketti ja sen
+mukana asetukset tiettyjä kieliä varten. Kieliasetukset sisältävät
+ainakin tavutussäännöt (luku \ref{luku/tavutus}) sekä kielelle
+mukautettuja nimiä dokumentin eri osille. Esimerkiksi sisällysluettelon
+ja kirjallisuusluettelon otsikot tulevat kieliasetuksista, samoin
+leijuvien taulukoiden ja kuvien nimet ''\tablename'' ja ''\figurename''.
+Myös muita asetuksia tai komentoja saattaa tulla kieliasetusten mukana,
+mutta ne vaihtelevat eri kielissä.
+
+Kielipaketteja on kaksi -- \pakettictan{babel} ja
+\pakettictan{polyglossia} \==, ja kirjoittajan täytyy valita niistä
+jompikumpi. Pakettien historia ja kehitys on suunnilleen
+seuraavanlainen: \paketti{babel} on paljon vanhempi, ja monet vanhat
+oppaat ja esimerkit käsittelevät pelkästään sitä. Kun Latex siirtyi
+Unicode\-/aikaan Xelatex\-/kääntäjän ja \paketti{fontspec}\-/paketin
+myötä, \paketti{babel} ei pysynyt kehityksessä mukana. Syntyi
+\paketti{polyglossia}, joka hallitsee Unicoden sekä muitakin kuin
+latinalaiseen kirjaimistoon perustuvia kieliä ja kirjoitusjärjestelmiä.
+\paketti{babel}\-/paketin kehitys ei kuitenkaan pysähtynyt, ja nykyään
+myös se toimii Unicode\-/merkistön kanssa ainakin latinalaiseen
+kirjaimistoon perustuvien kielten osalta.
+
+Suomen kielen kannalta on aika lailla sama, kumpaa kielipakettia
+käyttää. Meidän näkökulmastamme ''erikoisemmat'' kielet ja
+kirjoitusjärjestelmät voivat vaatia \paketti{polyglossia}\-/paketin sekä
+Lualatex\-/{} tai Xelatex\-/kääntäjän käyttöä. \paketti{babel} sisältää
+enemmän ominaisuuksia, esimerkiksi omien komentojen ja muiden viritysten
+tekemiseen; \paketti{polyglossia} on yksinkertaisempi paketti, jonka
+kehitys tuntuisi keskittyvän vain ydintehtävään.
+
+Seuraavissa alaluvuissa käsitellään kummankin kielipaketin tärkeimmät
+toiminnot eli kielen valintaan liittyvät asiat. Yleinen ajatus on se,
+että Latex\-/dokumentin esittelyosassa ladataan kielipaketti ja
+määritellään dokumentin pääasiallinen kieli ja mahdolliset muut kielet.
+Jos dokumentin tekstiosa sisältää muita kuin pääasiallista kieltä,
+täytyy käyttää erityisiä komentoja tai ympäristöjä, joilla kerrotaan
+Latexille, mistä kielestä on kyse.
+
+\subsection{Polyglossia}
+
+Kielipaketti \paketti{polyglossia} on tyypillinen valinta, jos halutaan
+varmistaa, että Unicode\-/merkistöä (\textsc{utf\=/8}\-/merkistökoodaus)
+voi käyttää vapaasti. Samalla se tarkoittaa, että kääntäjän on oltava
+Lualatex tai Xelatex. Kielipaketin käyttöönotto dokumentin
+esittelyosassa näyttää seuraavanlaiselta:
+
+\komentoi{usepackage}
+\komentoi{setdefaultlanguage}
+\komentoi{setotherlanguage}
+\pakettii{polyglossia}
+\begin{koodilohkosis}
+\usepackage{polyglossia}
+\setdefaultlanguage{finnish}
+\setotherlanguage{english}
+\setotherlanguage{greek}
+\end{koodilohkosis}
+
+\noindent
+Eri kielillä on erilaisia valinnaisia asetuksia, jotka täytyy selvittää
+\paketti{polyglossia}\-/paketin ohjekirjasta. Asetukset liittyvät
+esimerkiksi kielen kirjoitusjärjestelmän alueelliseen tai
+historialliseen vaihteluun. Yleinen moniin kieliin sopiva valitsin on
+\koodi{babel\-short\-hands}, joka lisää erilaisia, lähinnä tavutukseen
+liittyviä komentoja (luku \ref{luku/tavutus}). Suomen kielen voisi siis
+ottaa käyttöön myös seuraavalla tavalla:
+
+\komentoi{setdefaultlanguage}
+\begin{koodilohkosis}
+\setdefaultlanguage[babelshorthands]{finnish}
+\end{koodilohkosis}
+
+\noindent
+Dokumentin tekstiosa käyttää kieltä, joka määriteltiin komennolla
+\komento{setdefaultlanguage}. Muita dokumentin esittelyosassa
+määriteltyjä kieliä voi käyttää väliaikaisesti komennolla, joka alkaa
+kirjaimilla \komentox{text} ja jatkuu kielen nimellä, esimerkiksi
+\komento{textenglish} tai \komento{textgreek}.
+
+\komentoi{textenglish}
+\begin{koodilohkosis}
+Englannin sana \textenglish{shorthand} tarkoittaa 'pikakirjoitusta'.
+\end{koodilohkosis}
+
+\noindent
+Toinen vaihtoehto on käyttää kielen nimen mukaista ympäristöä:
+
+\begin{koodilohkosis}
+\begin{greek}
+  ...
+\end{greek}
+\end{koodilohkosis}
+
+\noindent
+Tietynkieliseksi merkitty teksti voi näyttää ladotussa dokumentissa ihan
+samalta kuin muukin teksti. Tavutuksessa kuitenkin käytetään eri
+kielissä eri asetuksia, ja joissakin kielissä voi olla myös pieniä
+typografisia yksityiskohtia eri tavalla.
+
+Kirjoittaja voi määritellä eri kielille eri fontin. Oletuksena käytetään
+peruskirjainperhettä, mikä samalla tarkoittaa, että kielen vaihtuessa
+pois oletuskielestä suoritetaan \komento{rmfamily}\-/komento (taulukko
+\ref{tlk/fonttimallikomennot}, s.~\pageref{tlk/fonttimallikomennot}).
+Tätä havainnollistaa seuraava esimerkki, jossa \komento{textenglish}\-/
+komennon vaikutuksen ajaksi tulee käyttöön perusfontti
+\komento{rmfamily} eikä ympärillä oleva pääteviivaton
+\komento{sffamily}.
+
+\komentoi{sffamily}
+\komentoi{textenglish}
+\begin{koodilohkosis}
+\sffamily
+pääteviivaton \textenglish{main font} pääteviivaton
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \sffamily pääteviivaton {\rmfamily main font} pääteviivaton
+\end{tulossis}
+
+\noindent
+Erikielisten tekstikatkelmien fonttiin voi vaikuttaa määrittelemällä
+komennon, jonka nimessä on ensin kielen nimi ja lopuksi sana
+\koodi{font}, esimerkiksi \komento{englishfont} tai \komento{greekfont}.
+Komennon määritelmään kirjoitetaan yleensä kirjainperheeseen tai
+\=/leikkaukseen vaikuttavia komentoja.
+
+Seuraavassa esimerkissä \komento{englishfont}\-/ komento määritellään
+tyhjäksi, mikä saa aikaan sen, että englanninkieliseksi merkitty teksti
+ei muuta fonttia millään tavalla vaan käytetään samaa kirjainperhettä
+kuin muutenkin siinä kohdassa dokumenttia.
+
+\begin{koodilohkosis}
+\newcommand{\englishfont}{}
+\end{koodilohkosis}
+
+\noindent
+Mikäli haluaa jollekin kielelle kokonaan eri kirjainperheen, kannattaa
+käyttää \paketti{fontspec}\-/paketin komentoa \komento{newfontfamily}
+(luku \ref{luku/fontin-valinta}) ja määritellä kielen fonttikomennot
+sillä. Tällainen on tarpeen ainakin silloin, kun dokumentin
+peruskirjainperhe ei sisällä kyseisen kielen kirjaimia.
+
+\komentoi{newfontfamily}
+\begin{koodilohkosis}
+\newfontfamily{\greekfont}{GFS Artemisia}[Scale=MatchLowercase]
+\end{koodilohkosis}
+
+% Seuraat eivät tunnu toimivan:
+
+% \newfontfamily{\greekfontsf}{GFS Neohellenic} [Scale=MatchLowercase]
+% \newfontfamily{\greekfonttt}{DejaVu Sans Mono}[Scale=MatchLowercase]
+%
+% Edellisen esimerkin \koodi{fontsf}\-/loppuinen komento tarkoittaa
+% pääteviivatonta kirjainperhettä ja \koodi{fonttt}\-/loppuinen
+% tasalevyistä perhettä.
+
+% \textenglish{englantia \textsf{englantia} englantia}
+
+\subsection{Babel}
+
+Vanha kunnon \paketti{babel} toimii useiden eri Latex\-/kääntäjien
+kanssa. Dokumentit kirjoitettiin ennen kahdeksanbittisillä merkistöillä
+(kuten \textsc{iso-8859\=/1}), jotka sisältävät vain reilut kaksisataa
+merkkiä%
+\footnote{Teknisesti kahdeksanbittiset merkistöt sisältävät
+  2\textsuperscript8 eli 256 merkkipaikkaa, mutta osa merkeistä on
+  teknisiä ohjauskoodeja, jotka eivät liity ihmiskieliin.} %
+ja soveltuvat rajallisen kielijoukon kirjoittamiseen. Nykyään
+\paketti{babel} toimii myös Unicode\-/merkistön ja \textsc{utf\=/8}\-/
+merkistökoodauksen kanssa ainakin latinalaiseen kirjaimistoon
+perustuvien kielten osalta.
+
+Kieliasetukset otetaan käyttöön \paketti{babel}\-/paketissa seuraavan
+esimerkin tavoin. Paketin valinnaiseen argumenttiin kirjoitetaan
+ladattavien kielten nimet ja viimeisenä mainitaan se kieli, joka
+halutaan pääasialliseksi kieleksi.
+
+\komentoi{usepackage}
+\pakettii{babel}
+\begin{koodilohkosis}
+\usepackage[english,greek,finnish]{babel}
+\end{koodilohkosis}
+
+\noindent
+Pääasiallisen kielen voi valita myös \koodi{main}\-/valitsimella:
+
+\komentoi{usepackage}
+\pakettii{babel}
+\begin{koodilohkosis}
+\usepackage[main=finnish,english,greek]{babel}
+\end{koodilohkosis}
+
+\noindent
+Dokumentin tekstissä yksittäiset vieraskieliset sanat tai ilmaukset
+merkitään komennolla \komento{foreignlanguage}. Komennon ensimmäinen
+argumentti on kielen nimi ja toinen on sillä kielellä ladottava teksti.
+
+\komentoi{foreignlanguage}
+\begin{koodilohkosis}
+Englannin sana \foreignlanguage{english}{shorthand} tarkoittaa
+'pikakirjoitusta'.
+\end{koodilohkosis}
+
+\noindent
+Komennon sijasta voi käyttää ympäristöä \ymparisto{otherlanguage}, joka
+vaihtaa kieltä ympäristön ajaksi.
+
+\ymparistoi{otherlanguage}
+\begin{koodilohkosis}
+\begin{otherlanguage}{greek}
+  ...
+\end{otherlanguage}
+\end{koodilohkosis}
+
+\noindent
+Kielen vaihtamista voi helpottaa \komento{babeltags}\-/ komennolla, joka
+määrittelee lyhempiä komentoja ja ympäristöjä kielen vaihtamiseen.
+Komentoa käytetään seuraavan esimerkin tavoin. Sen jälkeen voi käyttää
+englanninkielisen tekstin merkitsemiseen komentoa \komentox{text\-eng}
+tai ympäristöä \ymparistox{eng}.
+
+\komentoi{babeltags}
+\begin{koodilohkosis}
+\babeltags{eng = english}
+\end{koodilohkosis}
+
+\noindent
+Oletuskieli voidaan vaihtaa kesken dokumentin komennolla
+\komento{selectlanguage}. Komennon argumentiksi annetaan kielen nimi,
+esimerkiksi seuraavalla tavalla:
+
+\komentoi{selectlanguage}
+\begin{koodilohkosis}
+\selectlanguage{english}
+\end{koodilohkosis}
+
+\noindent
+Eri kielille on mahdollista asettaa eri kirjainperheet
+\komento{babelfont}\-/ komennolla. Tämä komento korvaa
+\paketti{fontspec}\-/ paketin fontinvalintakomennot (luku
+\ref{luku/fontin-valinta}) ja muodostaa uuden korkeamman tason komennon,
+joka sisältää myös kielen. Jos siis käyttää komentoa
+\komento{babelfont}, ei saa samanaikaisesti käyttää komentoja
+\komento{setmainfont}, \komento{setsansfont} eikä \komento{setmonofont}.
+
+Oman dokumentin kirjainperheet voitaisiin määrittää
+\komento{babelfont}\-/ komennolla esimerkin \ref{esim/babelfont} tavoin.
+Ensin esimerkissä määritellään peruskirjainperhe (\koodi{rm}),
+pääteviivaton perhe (\koodi{sf}) ja tasalevyinen perhe (\koodi{tt}). Sen
+jälkeen määritellään kreikan kielessä (\koodi{greek}) käytettävä
+peruskirjainperhe ja pääteviivaton perhe.
+
+\begin{esimerkki*}
+  \komentoi{babelfont}
+
+\begin{koodilohko}
+\babelfont{rm}{TeX Gyre Termes}
+\babelfont{sf}[Scale=MatchLowercase]{TeX Gyre Heros}
+\babelfont{tt}[Scale=MatchLowercase]{TeX Gyre Cursor}
+
+\babelfont[greek]{rm}[Scale=MatchLowercase]{GFS Artemisia}
+\babelfont[greek]{sf}[Scale=MatchLowercase]{GFS Neohellenic}
+\end{koodilohko}
+  \caption{\komento{babelfont}\-/komennon käyttö dokumentin
+    kirjainperheiden valintaan ja kielikohtaisten kirjainperheiden
+    valintaan}
+  \label{esim/babelfont}
+\end{esimerkki*}
+
+Esimerkissä ennen fontin nimeä (esim. TeX Gyre Heros) oleva valinnainen
+argumentti on sama kuin \paketti{fontspec}\-/paketin
+fontinvalintakomennoissa. Sen avulla määritellään kyseisen
+kirjainperheen asetuksia. Lisätietoa voi lukea fontteja käsittelevästä
+luvusta \ref{luku/kirjaintyypit} ja \pakettictan{fontspec}\-/ paketin
+ohjekirjasta.
+
+\section{Tavutus}
+\label{luku/tavutus}
+
+Tex tavuttaa eli katkaisee sanoja automaattisesti rivien lopussa, jotta
+se saa tekstikappaleet näyttämään tasapainoisilta. Lähtökohtaisesti
+tavutus määräytyy kielikohtaisten tavutussääntöjen ja \=/asetusten
+perusteella, mutta kirjoittaja voi tehdä poikkeuksia kirjoittamalla
+tavutusvihjeitä. Käytännössä tavutusvihjeitä tarvitaan välillä.
+
+Kielen valintaa ja yleisiä kieliasetuksia käsitellään tarkemmin luvussa
+\ref{luku/kieliasetukset}, mutta mainitaan tässäkin, että suomen kieli
+ja sen mukainen tavutus saadaan päälle, kun dokumentin esittelyosaan
+kirjoittaa seuraavat komennot:
+
+\komentoi{usepackage}
+\komentoi{setdefaultlanguage}
+\pakettii{polyglossia}
+\begin{koodilohkosis}
+\usepackage{polyglossia}
+\setdefaultlanguage{finnish}
+\end{koodilohkosis}
+
+\noindent
+Tavutusta käsitellään tässä yhteydessä lähinnä
+\paketti{polyglossia}\-/kielipaketin näkökulmasta. Toinen kielipaketti
+\paketti{babel} toimii joissakin tavutukseen liittyvissä asioissa eri
+tavalla, ja pakettien eroja mainitaan tekstin lomassa.
+
+\subsection{Yleiset tavutussäännöt}
+
+Texin automaattinen tavutus ei perustu varsinaiseen sanojen eikä
+taivutusmuotojen tunnistamiseen vaan yksinkertaisiin kirjainpohjaisiin
+sääntöihin. Säännöt pyrkivät kuvaamaan kielen tavujen rakenteen ja
+huomioimaan myös typografiaan liittyviä suosituksia.
+
+Automaattinen tavutus auttaa paljon, mutta se ei yksinään riitä, koska
+se tekee välillä virheitä tai tuottaa muuten suositusten vastaista
+jälkeä. Kirjoittajan täytyy auttaa välillä eli kirjoittaa
+tavutusvihjeitä. Yksi tapa tavutusvihjeiden kirjoittamiseen on
+\komento{hyphenation}\-/ komento, jolla määritellään yksittäisten
+sanojen tavutuskohdat kaikkialla dokumentissa. Seuraava esimerkki
+selventää komennon käyttöä:
+
+\komentoi{hyphenation}
+\begin{koodilohkosis}
+\hyphenation{
+  ala-indek-si alku-osa
+  nimen-omaan
+  typo-gra-fi-nen
+}
+\end{koodilohkosis}
+
+\noindent
+Komennon perään aaltosulkeiden sisään kirjoitetaan sanoja, jotka
+erotetaan toisistaan sanaväleillä. Sanoihin kirjoitetaan yhdysmerkki
+niihin kohtiin, joista sanan katkaiseminen on sallittua. Jos sanassa
+itsessään on yhdysmerkki, sen tavutusta ei voi käsitellä tällä
+komennolla. Luvussa \ref{luku/tavutuksen-merkit} kerrotaan muita tapoja.
+
+\komento{hyphenation}\-/komennon voi sijoittaa dokumentin esittelyosaan
+tai tekstiosaan, mutta sijainti vaikuttaa sen toimintaan. Jos komennon
+sijoittaa dokumentin esittelyosaan ennen kuin mitään kieltä on ladattu
+tai valittu, se vaikuttaa kaikkien sanojen tavutukseen kielestä
+riippumatta. Jos komennon sijoittaa dokumentin tekstiosaan eli kielen
+valitsemisen jälkeen, se vaikuttaa vain kyseisen kielen eli yleensä
+dokumentin pääasiallisen kielen tavutukseen.
+
+\subsection{Yksittäisten sanojen tavutus}
+\label{luku/tavutuksen-merkit}
+
+Tietyt sanassa mukana olevat merkit kytkevät muut tavutussäännöt pois
+päältä ja muuttavat sanan tavutuksen yksilölliseksi. Jos sanassa on
+mukana yksikin tavutusvihje (\komento{-}), yhdysmerkki (\koodi{\=/}),
+lyhyt ajatusviiva (\mbox{\koodi{--}}) tai pitkä ajatusviiva
+(\mbox{\koodi{---}}), sana katkaistaan vain näiden kohdalta
+(\koodi{\keno\=/}) tai jälkeen.%
+\footnote{\paketti{polyglossia}\-/kielipaketti ja Tex toimivat tekstissä
+  kuvatulla tavalla. Sen sijaan \paketti{babel}\-/paketti määrittelee
+  ainakin suomen kielelle tavutusvihjeen (\komento{-}) siten, että se
+  sallii sanan tavutuksen muistakin kohdista kuin tavutusvihjeen
+  kohdalta. Tavutusvihjeen molemmin puolin sanan osat tavutetaan
+  yleisten sääntöjen mukaisesti, ellei tavutuksen estäviä merkkejä kuten
+  yhdysmerkkejä tai ajatusviivoja ole. \paketti{babel}\-/paketissa on
+  myös tavutusvihje \koodi{\textquotedbl\textbar}, joka estää tavutuksen
+  muualta.}
+
+Myös Unicoden ajatusviivamerkit \uctunnus{u+2013 en dash} ja
+\uctunnus{u+2014 em dash} toimivat, mutta ne käyttäytyvät tavutuksen
+kannalta eri tavalla Lualatex\-/{} ja Xelatex\-/kääntäjillä.
+Yhteensopivuussyistä kannattanee välttää Unicoden ajatusviivoja
+Latex\-/lähdetiedostossa.
+
+\leijutlk{
+  \begin{tabular}{lll}
+    \toprule
+    \ots{Lähde}
+    & \ots{Tavutus}
+    & \ots{Merkitys} \\
+    \midrule
+    \koodi{matkustaa}
+    & mat\tavukohta kus\tavukohta taa
+    & tavutus kaikista kohdista \\
+    \koodi{matkus\komento{-}taa}
+    & matkus\tavukohta taa
+    & vain tavutusvihjeen kohdalta \\
+    \koodi{matka-aika}
+    & matka-\tavukohta aika
+    & vain yhdysmerkin jälkeen \\
+    \koodi{matka-ai\komento{-}ka}
+    & matka-\tavukohta ai\tavukohta ka
+    & vain yhdysmerkki ja tavutusvihje \\
+    \koodi{Oulu--Rovaniemi}
+    & Oulu--\tavukohta Rovaniemi
+    & vain ajatusviivan jälkeen \\
+    \koodi{Oulu--Rova\komento{-}niemi}
+    & Oulu--\tavukohta Rova\tavukohta niemi
+    & vain ajatusviiva ja tavutusvihje \\
+    \koodi{matka-}
+    & matka-
+    & ei tavutuskohtia \\
+    \koodi{-aika}
+    & -\tavukohta aika
+    & vain yhdysmerkin jälkeen \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Tavutusvihjeen, yhdysmerkin ja ajatusviivan vaikutus
+    tavutukseen}
+  \label{tlk/tex-tavutus}
+}
+
+Taulukossa \ref{tlk/tex-tavutus} on esimerkkejä tavutusvihjeiden,
+yhdysmerkin ja ajatusviivan vaikutuksesta. Ensimmäisessä sarakkeessa on
+esimerkkisana siinä muodossa kuin se kirjoitetaan lähdetiedostoon.
+Toisessa sarakkeessa on ladottu sana, johon on pystyviivalla merkittynä
+mahdolliset tavutuskohdat.
+
+Taulukon viimeinen rivi paljastaa suomen kielen kannalta ongelmallisen
+tilanteen. Esimerkiksi ilmauksessa \emph{matkasuunnitelma ja
+  \mbox{-aika}} ei riviä saa katkaista sanassa \emph{\mbox{-aika}}
+olevan yhdysmerkin jälkeen, koska rivin loppuun jäisi yksinäinen
+yhdysmerkki. Latexin peruskeinoilla sana täytyy laittaa näkymättömään
+laatikkoon, joka pitää merkit yhdessä: \komento{mbox}\komentoarg{-aika}.
+Toinen vaihtoehto on sitovan yhdysmerkin käyttö, jota käsitellään
+seuraavassa alaluvussa.
+
+\subsection{Tavutuksen sallivia ja sitovia merkkejä}
+\label{luku/tavutus-sallivat-sitovat}
+
+Unicode\-/merkistön sitova yhdysmerkki \uctunnus{u+2011 non\-/breaking
+  hyphen} näkyy tavallisena yhdysmerkkinä, mutta se estää sanan
+katkaisemisen yhdysmerkin vierestä. \uctunnus{u+2011}\-/merkkiä voi siis
+käyttää, mutta se ei ole aina toiminut luotettavasti ja yhdenmukaisesti
+eri kääntäjissä. Yhteensopivuussyistä voi olla järkevää käyttää muita
+vaihtoehtoja sitovalle yhdysmerkille.
+
+Paketti \pakettictan{extdash} tuo uusia komentoja ja mahdollisuuksia
+tavutuksen hallintaan. Komennot ovat sellaisia kuin \komento{Hyphdash}
+ja \komento{Endash}, mutta niille on saatavilla myös lyhemmät muodot,
+jos paketin lataa käyttämällä \koodi{short\-cuts}\-/ valitsinta.
+
+\komentoi{usepackage}
+\pakettii{extdash}
+\begin{koodilohkosis}
+\usepackage[shortcuts]{extdash}
+\end{koodilohkosis}
+
+\noindent
+Paketti sisältää kaksi lisävaihtoehtoa kolmelle viivavälimerkille
+eli yhdysmerkille, lyhyelle ajatusviivalle ja pitkälle ajatusviivalle.
+Kun Texin viivavälimerkit (luku \ref{luku/tavutuksen-merkit}) aina
+estävät tavutuksen muualta kuin välimerkin jälkeen,
+\paketti{extdash}\-/paketin perusvaihtoehdot sallivat tavutuksen
+muualtakin. Lisäksi kaikille kolmelle viivavälimerkille on sitova
+versio, joka estää tavutuksen välimerkin jälkeen (mutta sallii muualta).
+
+Taulukossa \ref{tlk/extdash} ovat \paketti{extdash}\-/paketin tärkeimmät
+komennot ja niiden merkitykset. Taulukossa \ref{tlk/extdash-vertailu}
+vertaillaan \paketti{extdash}\-/paketin komentoja Texin vastaaviin.
+
+\leijutlk{
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Komento} & \ots{Merkitys} \\
+    \midrule
+    \komento{-/} & tavutuksen salliva yhdysmerkki \\
+    \komento{=/} & sitova, tavutuksen salliva yhdysmerkki \\
+    \komento{--} & tavutuksen salliva lyhyt ajatusviiva \\
+    \komento{==} & sitova, tavutuksen salliva lyhyt ajatusviiva \\
+    \komento{---} & tavutuksen salliva pitkä ajatusviiva \\
+    \komento{===} & sitova, tavutuksen salliva pitkä ajatusviiva \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{\paketti{extdash}-paketin komentoja}
+  \label{tlk/extdash}
+}
+
+\leijutlk{
+  \begin{tabular}{llll}
+    \toprule
+    \ots{Lähde} & \ots{Tavutus}
+    & \ots{Lähde} & \ots{Tavutus} \\
+    \cmidrule(r){1-2}
+    \cmidrule(l){3-4}
+    \koodi{matka-aika}
+                & matka-\tavukohta aika
+    & \koodi{Oulu--Rovaniemi}
+                  & Oulu--\tavukohta Rovaniemi \\
+    \koodi{matka\komento{-/}aika}
+                & mat\tavukohta ka-\tavukohta ai\tavukohta ka
+    & \koodi{Oulu\komento{--}Rovaniemi}
+                  & Ou\tavukohta lu--\tavukohta Ro\tavukohta va\tavukohta
+                    nie\tavukohta mi \\
+    \koodi{matka\komento{=/}aika}
+                & mat\tavukohta ka-ai\tavukohta ka
+    & \koodi{Oulu\komento{==}Rovaniemi}
+                  & Ou\tavukohta lu--Ro\tavukohta va\tavukohta
+                    nie\tavukohta mi \\
+    \koodi{matka-}
+                & matka-
+    & \koodi{-aika}
+                  & -\tavukohta aika \\
+    \koodi{matka\komento{-/}}
+                & mat\tavukohta ka-
+    & \koodi{\komento{=/}aika}
+                  & -ai\tavukohta ka \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Texin ja \paketti{extdash}-paketin komentojen vertailua}
+  \label{tlk/extdash-vertailu}
+}
+
+On tärkeää huomioida, että \paketti{extdash}\-/paketin komennot ovat
+todellakin normaaleja komentoja. Se tarkoittaa, että komennon jälkeiset
+sanavälit syödään pois. Tämä asia saattaa unohtua seuraavanlaisessa
+tilanteessa, jossa käytetään tavutuksen sallivaa yhdysmerkkikomentoa:
+
+\komentoi{-/}
+\begin{koodilohkosis}
+matka\-/ ja aika\-/arvio
+\end{koodilohkosis}
+
+\begin{tulossis}
+  matka\-/ ja aika\-/arvio
+\end{tulossis}
+
+\noindent
+Ensimmäisen yhdysmerkkikomennon jälkeinen sanaväli hävisi, ja syntyi
+virheellinen sana \emph{matka-ja}. Sanavälin saa säilymään, kun
+kirjoittaa komennon perään aaltosuljeparin tai kenoviivan ja sanavälin.
+
+\komentoi{-/}
+\begin{koodilohkosis}
+matka\-/{} ja aika\-/arvio \\
+matka\-/\ ja aika\-/arvio
+\end{koodilohkosis}
+
+\begin{tulossis}
+  matka\-/{} ja aika\-/arvio \\
+  matka\-/\ ja aika\-/arvio
+\end{tulossis}
+
+\subsection{Tavutus sanan reunasta}
+
+Asetukset \komento{lefthyphenmin}\komentojatko{~N} ja
+\komento{righthyphenmin}\komentojatko{~N} vaikuttavat tavutukseen sanan
+reunoissa. Argumentti \koodi{N} on positiivinen kokonaisluku, ja se
+määrittelee, kuinka monta merkkiä vähintään sanan vasemmasta tai
+oikeasta reunasta pidetään yhdessä. Oletusarvot ovat kielikohtaisia ja
+määritellään \paketti{polyglossia}\-/{} ja \paketti{babel}\-/paketeissa.
+Suomen kielessä kumpikin asetus on kaksi (2) merkkiä.
+
+Nämä asetukset alustetaan kielikohtaisiin oletusarvoihin aina, kun
+kieliasetukset tulevat voimaan. Näin on esimerkiksi dokumentin
+aloittavan \ymparistox{document}\-/ ympäristön alussa ja aina kielen
+vaihtuessa. Jos asetuksia haluaa muuttaa, täytyy omat muutokset tehdä
+aina edellä mainittujen asioiden jälkeen. Toisaalta vielä kätevämpää on
+sisällyttää omat asetukset kielikohtaisiin alustuskomentoihin. Sillä
+tavoin omat asetukset tulevat voimaan automaattisesti kielen vaihtuessa.
+
+\komentoi{addto}
+\komentoi{captionsfinnish}
+\komentoi{lefthyphenmin}
+\komentoi{righthyphenmin}
+\begin{koodilohkosis}
+\addto{\captionsfinnish}{
+  \lefthyphenmin  3
+  \righthyphenmin 3
+}
+\end{koodilohkosis}
+
+\noindent
+Edellisessä esimerkissä oleva komento \komento{addto} on
+\paketti{polyglossia}\-/{} ja \paketti{babel}\-/ paketin ominaisuus,
+jolla lisätään omia komentoja kielikohtaisiin asetuksiin. Tässä
+esimerkissä käsitellään suomen kielen asetuksia
+(\komento{captionsfinnish}). Komento täytyy suorittaa lähdedokumentin
+esittelyosassa.
+
+\subsection{Muita tavutusasetuksia ja -vinkkejä}
+\label{luku/tavutus-muut}
+
+Aiemmin mainittu \paketti{extdash}\-/paketti sisältää tavutuksen
+hallintaan liittyviä välimerkkejä, mutta sellaisia on myös
+kielipaketeissa \paketti{polyglossia} ja \paketti{babel}. Kielipakettien
+englanninkielisissä ohjekirjoissa niitä kutsutaan nimellä
+\englantik{short\-hands}.
+
+\paketti{babel}\-/paketti tuo suomen kieleen sitovan, tavutuksen
+sallivan yhdysmerkin \koodi{\textquotedbl\=/}, joka toimii samoin kuin
+\paketti{extdash}\-/paketin komento \komento{=/}. Lisäksi on
+tavutusvihje (\koodi{\textquotedbl\textquotedbl}), joka ei tee
+yhdysmerkkiä tavutuskohtaan. Sitä voi käyttää joidenkin teknisten
+ilmausten tavutusvihjeenä, jotta ilmaus säilyy täsmälleen samanlaisena
+myös rivien katkaisemisessa. \paketti{babel}\-/paketin toiminnot
+vaihtelevat eri kielten välillä.
+
+\paketti{polyglossia}\-/pakettiin saa samat lisätoiminnot ja eräitä
+muitakin, kun paketin lataa käyttämällä valitsinta
+\koodi{babel\-short\-hands}. Edellä mainittujen ''Baabelin lyhenteiden''
+lisäksi tulee yhdysmerkki \koodi{\textquotedbl\textasciitilde}, joka on
+sitova ja samalla kaiken tavutuksen estävä yhdysmerkki. Tälle merkille
+ei ole vastinetta \paketti{extdash}\-/paketissa. Pari muutakin
+lainausmerkillä alkavaa, tavutukseen liittyvää merkkiä on mukana.
+
+Varsinainen tavutuksen peruskomento on \komentom{discretionary}, joka
+mahdollistaa omanlaisten tavutuskohtien määrittelyn. Komento
+kirjoitetaan sanassa juuri siihen kohtaan, johon tavutuskohta halutaan.
+Komennolle annetaan kolme argumenttia järjestyksessä seuraavasti:
+
+\begin{nluetelma}
+\item katkaisutilanteessa rivin loppuun ladottavat merkit
+\item katkaisutilanteessa seuraavan rivin alkuun ladottavat merkit
+\item katkaisemattomaan sanaan ladottavat merkit.
+\end{nluetelma}
+
+\noindent
+Normaali tavutuskohta sanaan \emph{tavu} määriteltäisiin alla olevan
+esimerkin tavoin:
+
+\komentoi{discretionary}
+\begin{koodilohkosis}
+ta\discretionary{-}{}{}vu
+\end{koodilohkosis}
+
+\noindent
+Edellisessä esimerkissä komennon ensimmäinen argumentti on yhdysmerkki,
+koska rivin loppuun tietenkin halutaan yhdysmerkki silloin, kun sana
+katkaistaan tästä kohdasta. Toinen argumentti on tyhjä, koska seuraavan
+rivin alkuun ei kirjoiteta suomen kielessä mitään ylimääräistä. Myös
+kolmas argumentti on tyhjä, koska katkaisemattomaan sanaan ei haluta
+mitään merkkiä tavujen väliin.
+
+\komento{discretionary}\-/komennolla voi luoda myös tavutuskohtia,
+joihin ei ilmesty yhdysmerkkiä eikä mitään muutakaan merkkiä
+katkaisutilanteessa. Se saadaan aikaan jättämällä kaikki argumentit
+tyhjäksi. Tällainen sopii tavutusvihjeeksi teknisiin ilmauksiin, joihin
+ei selvyyden vuoksi haluta mitään ylimääräisiä merkkejä edes sanan
+katkaisutilanteessa.
+
+\komentoi{discretionary}
+\begin{koodilohkosis}
+\discretionary{}{}{}
+\end{koodilohkosis}
+
+\noindent
+Joissakin kielissä sanan katkaiseminen yhdysmerkin kohdalta vaatii, että
+rivin loppuun kirjoitetaan yksi yhdysmerkki ja seuraavan rivin alkuun
+toinen. Näin ilmaistaan, että sanassa on pysyvä yhdysmerkki eikä vain
+väliaikaisesti katkaisun merkkinä. Tällaisia kieliä varten saattaa
+kielipaketissa (tai muualla) olla omat yhdysmerkkitoiminnot, mutta
+edellä kuvatun tavutuskohdan saa myös seuraavalla tavalla:
+
+\komentoi{discretionary}
+\begin{koodilohkosis}
+\discretionary{-}{-}{-}
+\end{koodilohkosis}
+
+\noindent
+Tavutuksen suunnittelussa ja tutkimisessa voi auttaa
+\pakettictan{showhyphens}\-/ paketti, jonka lataamalla kaikki
+tavutuskohdat tulevat näkyviin. Dokumentin kaikkien sanojen
+tavutuskohtiin piirretään ohut punainen pystyviiva. Tämä paketti
+hyödyntää Lualatex\-/kääntäjän ominaisuuksia, eikä se siis toimi muiden
+kääntäjien kanssa.
+
+\subsection{Suomen kielen tavutus}
+
+Texin kirjainyhdistelmiin perustuvat säännöt eivät yksinään riitä suomen
+kieleen, ja esimerkiksi yhdyssanojen rajakohdat tuottavat usein
+ongelmia. Sana \emph{alku\-osa} katkaistaan sääntöjen mukaan kohdista
+\emph{al-kuo-sa}. Se on kyllä oikein tavurakenteen kannalta mutta
+käytännössä ongelmallinen. Tässä ei ole kyse \emph{uo}\-/diftongista,
+vaan yhdyssanan rajalla on myös tavutuskohta (\emph{al-ku-o-sa}).
+Lisäksi sanaa ei saa katkaista siten, että siitä jää yksittäinen kirjain
+eri riville (\emph{o-sa}).
+
+Parasta olisi katkaista suomen kielen yhdyssanat vain yhdysosien välistä
+(\emph{alku-osa}). Muualtakin voi katkaista (\emph{al-ku-osa}), kunhan
+sanasta eikä sen yhdysosasta ei jää yksittäinen kirjain eri riville.
+Mielellään ei katkaista myöskään kahden vokaalin välistä, jos ne
+kuuluvat samaan sanaan (\emph{kau-emmin}). Joskus halutaan välttää myös
+niin sanottuja orpotavuja eli sitä, että tekstikappaleen viimeiselle
+riville jää vain yksi tavu.
+
+Käytännössä siis suomenkielinen teksti ja hyvä typografia vaativat
+välillä tavutusvihjeiden kirjoittamista. Yhdyssanojen osien väliin
+tarvitaan tavutusvihje silloin, kun jälkimmäinen osa alkaa vokaalilla
+tai useammalla kuin yhdellä konsonantilla. Joitakin tällaisia tapauksia
+Tex osaa tavuttaa oikein ilman tavutusvihjeitäkin, mutta etukäteen sitä
+ei tiedä, ellei ole kokemusta.
+
+\komentoi{-}
+\begin{koodilohkosis}
+alku\-osa pusku\-traktori
+\end{koodilohkosis}
+
+\noindent
+Yhdysmerkin tai ajatusviivan sisältävät pitkät yhdyssanat voivat vaatia
+tavutuskohtien lisäämistä, koska Texin yhdysmerkki ja ajatusviivat
+estävät tavutuksen muualta kuin näiden merkkien jälkeen. Ilman
+tavutuskohtien lisäämistä Texillä ei ehkä ole riittävästi vaihtoehtoja
+tekstikappaleen rivittämiseen. Voi syntyä liian suuria sanavälejä, tai
+joistakin riveistä tulee ylipitkiä, eli ne yltävät marginaalin puolelle.
+
+Tavutuskohtia voi lisätä sopiviin kohtiin omilla tavutusvihjeillä
+(\komento{-}). Vaihtoehtoisesti kaikki yleisten tavutussääntöjen
+mukaiset tavutuskohdat saa käyttöön \paketti{extdash}\-/paketin
+komennoilla (taulukko \ref{tlk/extdash}). Seuraavassa esimerkissä on
+tavutuksen hallintaa sanalle \emph{Molo\-tov--Ribben\-trop-sopi\-mus}:
+
+\komentoi{-}
+\komentoi{--}
+\komentoi{-/}
+\begin{koodilohkosis}
+Molo\-tov--Ribben\-trop-sopi\-mus % tavutusvihjeet
+Molotov\--Ribben\-trop\-/sopimus  % tavutuksen sallivat välimerkit
+\end{koodilohkosis}
+
+\noindent
+\komento{discretionary}\-/komentoa (luku \ref{luku/tavutus-muut}) voi
+hyödyntää suomen kielen sanoissa silloin, kun niissä on heittomerkki
+erottamassa kahta tavurajan molemmin puolin olevaa samaa vokaalia,
+esimerkiksi sanoissa \emph{vaa'an} ja \emph{liu'uttaa}. Normaalisti Tex
+ei katkaise heittomerkin kohdalta lainkaan, eikä se olisi suomen
+kielessä suositeltavaakaan, koska vokaalien välistä ei mielellään
+katkaista sanaa. Jos tavutuksen kuitenkin haluaa myös heittomerkin
+kohdalle, täytyy huolehtia, että tavutustilanteessa heittomerkki poistuu
+ja sen paikalle tulee yhdysmerkki rivin loppuun. Sanan \emph{vaa'an}
+voisi siis kirjoittaa seuraavalla tavalla:
+
+\komentoi{discretionary}
+\begin{koodilohkosis}
+vaa\discretionary{-}{}{'}an
+\end{koodilohkosis}
+
+\noindent
+Komennon kolmas argumentti on heittomerkki, koska se pitää latoa
+tavurajalle silloin, kun sanaa ei katkaista tästä kohdasta. Mikäli
+tällaisia tarvitsee paljon, on järkevää määritellä sitä varten
+yksinkertaisempi komento, jota sitten käytetään sanoissa heittomerkin
+sijasta.
+
+\komentoi{discretionary}
+\begin{koodilohkosis}
+\newcommand{\hm}{\discretionary{-}{}{'}}
+vaa\hm an
+\end{koodilohkosis}
+
+\noindent
+Suomen kielessä käytetään heittomerkkiä myös taivutuspäätteen, liitteen
+tai johtimen edellä silloin, kun sanavartalon kirjoitusasu päättyy
+konsonanttiin mutta ääntöasu vokaaliin, esimerkiksi \emph{show'ssa}.
+Näissä tilanteissa ei ole kyse tavurajasta vaan morfeemirajasta eli
+merkityksellisten osien rajakohdasta. Tavurajakin voi sattua samaan
+paikkaan, mutta tavutettaessa heittomerkki säilyy: \emph{show'-hun}.%
+\footnote{Asiaa ei yleensä mainita kielenhuolto\-/oppaissa. Tieto
+  perustuu Kielikello\-/lehden 2/2006 artikkeliin:
+  \kulmaurl{https://www.kielikello.fi/-/lainausmerkit-}. Viittauspäivä
+  6.7.2020.} Mikäli tällainen tavutuskohta halutaan mukaan, käytetään
+sanassa tavallista tavutusvihjettä: \koodi{show'}\komento{-}\koodi{hun}.
+Mieluummin ei kuitenkaan katkaista sanoja heittomerkin kohdalta.
+
+\subsection{Tavutus pois päältä}
+
+Tavutuksen voi kytkeä kokonaan pois päältä \paketti{polyglossia}\-/
+kielipaketin komennolla \komentom{disablehyphenation}. Tavutuksen saa
+takaisin päälle komennolla \komento{enablehyphenation}.
+
+Toinen vaihtoehto on käyttää fontin asetusta \koodi{Hyphen\-Char=\katk
+  None} kirjainperheen määrittelyn yhteydessä. Oletuksena tavutus on
+pois päältä tasalevyisestä fontista, eli esimerkiksi \komento{texttt}\-/
+komennon argumenttina olevaa tekstiä ei tavuteta. Fontteja ja niiden
+asetuksia käsitellään luvussa \ref{luku/kirjaintyypit}.
+
+Käytännössä tavutus menee pois päältä myös silloin, kun tekstikappaleet
+tasaa vain vasempaan reunaan eli tekee oikealle liehureunan komennolla
+\komento{raggedright}. Tekstikappaleiden tasaamista ja palstan muotoa
+käsitellään luvussa \ref{luku/kappaleen-tasaus}.


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,589 @@
+% Tekijä:   Teemu Likonen <tlikonen at iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{Erikoisdokumentit}
+
+Kaikki dokumentit ja painotuotteet eivät ole samanlaista tekstivirtaa,
+joka koostuu jäsennellystä rakenteesta, väliotsikoista ynnä muusta
+sellaisesta. Tässä luvussa käsitellään dokumentteja, jotka vaativat
+osittain toisenlaista tekniikkaa kuin luvussa \ref{luku/rakenne} on
+käsitelty.
+
+\section{Esitysgrafiikka}
+\label{luku/esitysgrafiikka}
+
+Esitelmien ja muiden puhe\-/ esitysten tukena käytetään usein
+esitysgrafiikkaohjelmia kuten \englanti{Microsoft Powerpointia} tai
+\englanti{Libreoffice Impressiä}. Myös Latex sopii esitysgrafiikan
+tekemiseen, ja se voi olla osaavissa käsissä jopa kaikkein nopein ja
+typografisesti tyylikkäin työkalu esitysdiojen tuottamiseen.
+
+Latexin tunnetuin ja monipuolisin esitysgrafiikkajärjestelmä on
+\luokkactan{beamer}, joka on oma dokumenttiluokkansa. Sen ohjekirjassa
+on reilu kaksisataa sivua, joten tässä oppaassa voidaan esitellä vain
+perusasioita, joilla pääsee alkuun.
+
+\begin{esimerkki*}
+  \komentoi{author}
+  \komentoi{date}
+  \komentoi{documentclass}
+  \komentoi{institute}
+  \komentoi{item}
+  \komentoi{maketitle}
+  \komentoi{pause}
+  \komentoi{section}
+  \komentoi{setdefaultlanguage}
+  \komentoi{title}
+  \komentoi{usepackage}
+  \luokkai{beamer}
+  \pakettii{hyperref}
+  \pakettii{polyglossia}
+  \ymparistoi{enumerate}
+  \ymparistoi{frame}
+
+\begin{koodilohko}
+\documentclass[aspectratio=169,t]{beamer}
+\usepackage{polyglossia} \setdefaultlanguage{finnish}
+\usepackage{hyperref}
+
+\title{Esitysgrafiikkaa Latexilla}
+\author{Teppo Tekijä}
+\institute{Ladontatieteiden tiedekunta}
+\date{13.9.2021}
+
+\begin{document}
+
+\section{Otsikkodia}
+
+\begin{frame}
+  \maketitle
+\end{frame}
+
+\section{Ensimmäinen väliotsikko}
+
+\begin{frame}{Pääotsikko}{Alaotsikko}
+
+  \pause Seuraavassa luetellaan jotakin: \pause
+
+  \begin{enumerate}
+  \item ensimmäinen \pause
+  \item toinen \pause
+  \item kolmas
+  \end{enumerate}
+
+\end{frame}
+
+\section{Toinen väliotsikko}
+
+\begin{frame}[c]
+
+  Sisältö on keskitetty pystysuunnassa.
+
+\end{frame}
+
+\end{document}
+\end{koodilohko}
+
+  \caption{\luokka{beamer}\-/ dokumenttiluokan avulla tehdyn
+    diaesityksen runko}
+  \label{esim/beamer-runko}
+\end{esimerkki*}
+
+\subsection{Diaesityksen rakentaminen}
+
+Esimerkissä \ref{esim/beamer-runko} on kokonainen Latexin lähdetiedosto
+ja diaesityksen runko. Dokumenttiluokan \luokka{beamer} lataamisen
+yhteydessä (rivi~1) määritellään valitsimella \koodi{aspectratio}, mitkä
+ovat diojen mittasuhteet. Tässä esimerkissä arvoksi annetaan
+\koodi{169}, joka tarkoittaa leveyden ja korkeuden suhdetta 16:9.
+Oletusarvo on \koodi{43} eli kuvasuhde 4:3. Muita mahdollisia arvoja
+ovat esimerkiksi \koodi{1610} (16:10) ja \koodi{54} (5:4).
+
+Esimerkin ensimmäisellä rivillä oleva toinen valitsin \koodi{t} tulee
+englannin kielen sanasta \englantik{top}, ja tässä se tarkoittaa, että
+diojen sisältö sijoitetaan dian yläreunaan. Oletusasetus on \koodi{c}
+(\englanti{center}), joka keskittää dian sisällön pystysuunnassa. Tämän
+asetuksen voi muuttaa kuhunkin diaan käyttämällä \ymparisto{frame}\-/
+ympäristön valinnaista argumenttia, kuten esimerkin rivillä 34 on tehty.
+
+Riveillä 5--8 määritellään dokumentin perustiedot normaaliin tapaan
+(\ref{luku/dokumentin-perustiedot}), mutta lisänä perus Latexiin on
+\komento{institute}\-/ komento, jolla voi määritellä tekijän edustaman
+laitoksen. Nämä perustiedot ladotaan näkyviin vasta
+\komento{maketitle}\-/ komennolla, joka on esimerkin rivillä~15.
+
+Jokainen yksittäinen sivu eli dia täytyy kirjoittaa \ymparisto{frame}\-/
+ympäristön sisään. Ympäristö siis aloittaa aina puhtaan sivun.
+Ympäristön alussa voi olla aaltosulkeissa sivun pääotsikko ja toisissa
+aaltosulkeissa alaotsikko. Esimerkin rivillä 20 on tehty juuri näin.
+Toisen tai molemmat otsikot voi jättää poiskin.
+
+Sivun eli \ymparisto{frame}\-/ ympäristön sisällä voi olla tavallista
+tekstiä ja käyttää suunnilleen normaaleja Latexin komentoja. Esimerkissä
+\ref{esim/beamer-runko} on käytetty muutaman kerran \komento{pause}\-/
+komentoa, joka tekee esitykseen tauon. Käytännössä se jakaa sivun
+sisällön erillisiksi pdf\-/ sivuiksi, ja siten sisällön voi paljastaa
+yleisölle vaihe vaiheelta. Esimerkin riveillä 24--28 käytetään luetelmaa
+eli \ymparisto{enumerate}. Se toimii suunnilleen samoin kuin perus
+Latexin vastaava ympäristö (luku \ref{luku/luetelma-perus}), mutta
+\luokka{beamer}\-/ versiossa on hieman enemmän ominaisuuksia.
+
+Tästä esimerkistä puuttuu hyödyllinen \ymparisto{block}\-/ ympäristö,
+jolla saa dian sisälle pienen väliotsikon ja siihen kuuluvan
+tekstikokonaisuuden. Otsikon teksti annetaan ympäristön argumentissa:
+
+\ymparistoi{block}
+\begin{koodilohkosis}
+\begin{block}{Väliotsikko}
+  ...
+\end{block}
+\end{koodilohkosis}
+
+\noindent
+Otsikkokomennot \komento{chapter}, \komento{section},
+\komento{subsection} ym. täytyy kirjoittaa \ymparisto{frame}\-/
+ympäristöjen ulkopuolelle. \luokka{beamer}\-/ luokassa otsikkokomennot
+eivät lado mitään itse dokumenttiin, vaan ne ainoastaan muodostavat
+pdf\-/ tiedoston sisällysluettelon. Tosin sisällysluettelon kaltaista
+rakennetietoa on mahdollista saada näkyviin itse diojen reunoillekin.
+Niiden tarkoituksena on helpottaa esimerkiksi pitkän diaesityksen
+seuraamista ja jäsentämistä. Näistä ominaisuuksista voi lukea lisää
+\luokka{beamer}\-/ luokan ohjekirjasta.
+
+Tämän luvun ohjeilla saa rakennettua selkeitä perussisältöisiä
+diaesityksiä. Dioihin voi lisätä kuvatiedostoja tai vektorigrafiikkaa
+normaalin Latexin tavoin eli luvun \ref{luku/grafiikka} ohjeilla.
+Palstoja ei kuitenkaan kannata toteuttaa luvun \ref{luku/palstat}
+keinoilla vaan \luokka{beamer}\-/ luokan oman \ymparisto{columns}\-/
+ympäristön avulla. Siihen ja kaikkeen muuhunkin saa apua
+dokumenttiluokan omasta ohjekirjasta.
+
+\subsection{Ulkoasuteemat}
+
+\luokka{beamer}\-/ dokumenttiluokka sisältää valmiita ulkoasuteemoja eli
+ulkoasuun vaikuttavia asetusten kokonaisuuksia. Käyttämällä valmista
+teemaa saa helposti käyttöönsä jonkun henkilön suunnitteleman tyylikkään
+kokonaisuuden.
+
+Korkeimman tason teemojen valintakomento on \komento{usetheme}. Sillä
+valitaan teema, joka voi määritellä vähän kaikkea diaesityksen ulkoasuun
+liittyvää: fontit, värit, sisällön asettelua ja dian reunoille
+ladottavaa lisätietoa. Alemmantasoisilla teemakomennoilla valitaan vain
+vain jonkin pienemmän osa\-/alueen teema. Esimerkiksi komennoilla
+\komento{usecolortheme} ja \komento{usefonttheme} valitaan vain väri-
+tai fonttiteema.
+
+Fontit tai kirjainperheet sinänsä määritellään ja otetaan käyttöön
+samalla tavalla kuin Latexissa muutenkin (luku
+\ref{luku/kirjaintyypit}), mutta teema voi määritellä, mitä
+kirjainperhettä tai \=/leikkausta käytetään esimerkiksi diojen
+otsikoissa tai muissa tilanteisssa. Näiden asetusten muuttaminen voi
+vaatia \luokka{beamer}\-/ luokan omia komentoja, joista annetaan tietoa
+luvussa \ref{luku/beamer-asetuksia}.
+
+Alemmantasoisia teemakomentoja ovat myös \komento{useinnertheme} ja
+\komento{useoutertheme}. Niillä vaikutetaan erilaisiin diojen
+sisältöelementtien (\englanti{inner}) ulkoasuun ja dian reunoille
+(\englanti{outer}) ladottavaan lisätietoon.
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{\midrule \komento{#1} & #2 \\}
+  \providecommand{\teema}{}
+  \renewcommand{\teema}[2][,]{\mbox{\koodi{#2}#1}}
+
+  \begin{tabularx}{\linewidth}{lL}
+    \toprule
+    \ots{Komento} & \ots{Valmiita teemoja} \\
+    \rivi{usetheme}{
+      \teema{default}
+      \teema{boxes}
+      \teema{Bergen}
+      \teema{Boadilla}
+      \teema{Madrid}
+      \teema{AnnArbor}
+      \teema{CambridgeUS}
+      \teema{EastLansing}
+      \teema{Pittsburgh}
+      \teema{Rochester}
+      \teema{Antibes}
+      \teema{JuanLesPins}
+      \teema{Montpellier}
+      \teema{Berkeley}
+      \teema{PaloAlto}
+      \teema{Goettingen}
+      \teema{Marburg}
+      \teema{Hannover}
+      \teema{Berlin}
+      \teema{Ilmenau}
+      \teema{Dresden}
+      \teema{Darmstadt}
+      \teema{Frankfurt}
+      \teema{Singapore}
+      \teema{Szeged}
+      \teema{Copenhagen}
+      \teema{Luebeck}
+      \teema{Malmoe}
+      \teema[]{Warsaw}
+    }
+
+    \rivi{usecolortheme}{
+      \teema{default}
+      \teema{structure}
+      \teema{sidebartab}
+      \teema{albatross}
+      \teema{beetle}
+      \teema{crane}
+      \teema{dove}
+      \teema{fly}
+      \teema{monarca}
+      \teema{seagull}
+      \teema{wolverine}
+      \teema{beaver}
+      \teema{spruce}
+      \teema{lily}
+      \teema{orchid}
+      \teema{rose}
+      \teema{whale}
+      \teema{seahorse}
+      \teema{dolphin}
+      \teema[]{seahorse}
+    }
+
+    \rivi{usefonttheme}{
+      \teema{default}
+      \teema{serif}
+      \teema{structurebold}
+      \teema{structureitalicserif}
+      \teema[]{structuresmallcapsserif}
+    }
+
+    \rivi{useinnertheme}{
+      \teema{default}
+      \teema{circles}
+      \teema{rectangles}
+      \teema{rounded}
+      \teema[]{inmargin}
+    }
+
+    \rivi{useoutertheme}{
+      \teema{default}
+      \teema{infolines}
+      \teema{miniframes}
+      \teema{smoothbars}
+      \teema{sidebar}
+      \teema{split}
+      \teema{shadow}
+      \teema{tree}
+      \teema[]{smoothtree}
+    }
+    \bottomrule
+  \end{tabularx}
+}{
+  \caption{\luokka{beamer}\-/ luokan teemanvalintakomennot ja valmiita
+    teemoja}
+  \label{tlk/usetheme}
+}
+
+Taulukkoon \ref{tlk/usetheme} on koottu \luokka{beamer}\-/ luokan
+teemakomennot ja valmiita teemoja. Taulukon ensimmäisessä sarakkeessa
+ovat teeman valintakomennot ja toisessa sarakkeessa teemojen nimiä,
+joita voi antaa komennolle argumentiksi. Ensimmäisenä mainittu
+\koodi{default}\-/ teema on käytössä oletuksena. Teemat otetaan käyttöön
+kirjoittamalla lähdedokumentin esittelyosaan teemakomentoja, esimerkiksi
+seuraavalla tavalla:
+
+\komentoi{usetheme}
+\komentoi{usecolortheme}
+\komentoi{usefonttheme}
+\begin{koodilohkosis}
+\usetheme{Bergen}
+\usecolortheme{albatross}
+\usefonttheme{serif}
+\end{koodilohkosis}
+
+\noindent
+Teemanvalintakomennoille voi antaa hakasulkeissa valinnaisen argumentin,
+joka sijoitetaan ensimmäiseksi eli ennen pakollista teeman nimeä.
+Valinnaisen argumentin avulla määritetään kyseisen teeman asetuksia, jos
+teema sellaisia tukee. Asetukset ovat täysin teemakohtaisia, ja niistä
+voi lukea lisää dokumenttiluokan ohjekirjasta. Seuraavassa on
+yleisluontoinen esimerkki:
+
+\komentoi{usetheme}
+\komentoi{useoutertheme}
+\begin{koodilohkosis}
+\usetheme[valitsin]{teeman nimi}
+\useoutertheme[valitsin=arvo]{teeman nimi}
+\end{koodilohkosis}
+
+\noindent
+Fonttiteema \koodi{serif} vaihtaa koko diaesityksen kirjainperheeksi
+antiikvan. Oletuksena olevaa groteskia (\englanti{sans serif}) ei siis
+käytetä enää missään. \koodi{serif}\-/ teema sisältää kuitenkin muutaman
+valitsimen, jolla tähän voi tehdä pieniä hyödyllisiä poikkeuksia.
+Valitsimia on koottu taulukkoon \ref{tlk/beamer-serif-teema}, ja niitä
+voi antaa useampia kerralla. Seuraava esimerkki asettaa groteskin
+suuriin elementteihin eli otsikoihin ja pieniin elementteihin eli dian
+reunojen mahdollisiin lisätietoihin. Muualla käytetään antiikvaa.
+
+\komentoi{usefonttheme}
+\begin{koodilohkosis}
+\usefonttheme[stillsansseriflarge, stillsansserifsmall]{serif}
+\end{koodilohkosis}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
+
+  \begin{tabularx}{\linewidth}{lL}
+    \toprule
+    \ots{Valitsin} & \ots{Merkitys} \\
+    \midrule
+    \rivi{stillsansseriflarge}{suuret elementit eli otsikot käyttävät
+    groteskifonttia}
+    \rivi{stillsansserifsmall}{pienet elementit kuten dian reuna\-/
+    alueiden lisätiedot käyttävät groteskia}
+    \rivi{stillsansseriftext}{normaali teksti groteskilla}
+    \rivi{stillsansserifmath}{matematiikkatilassa groteski}
+    \bottomrule
+  \end{tabularx}
+}{
+  \caption{\luokka{beamer}\-/ luokan \koodi{serif}\-/ fonttiteeman
+    asetusvalitsimia}
+  \label{tlk/beamer-serif-teema}
+}
+
+\subsection{Muita asetuksia}
+\label{luku/beamer-asetuksia}
+
+Jos haluaa vaikuttaa \luokka{beamer}\-/ dokumenttien otsikoiden tai
+muiden rakenteellisten osien fontteihin ja väreihin, täytyy käyttää
+dokumenttiluokan omia komentoja. Niiden käyttöä neuvotaan tässä
+alaluvussa. Sen sijaan diojen sisällä väliaikaiset kirjaintyypin tai
+\=/leikkauksen muutokset tehdään samalla tavalla kuin Latexissa
+muutenkin. Fonttien tekniikkaa käsitellään luvussa
+\ref{luku/kirjaintyypit} ja tekstin korostamisen typografiaa luvussa
+\ref{luku/korostus}.
+
+\luokka{beamer}\-/ luokan erityisten tekstielementtien kuten otsikoiden
+fonttiin voi vaikuttaa komennolla \komento{setbeamerfont}. Sen
+ensimmäinen argumentti on tekstielementin nimi ja toinen argumentti
+sisältää fonttiasetukset. Esimerkiksi seuraava komento muuttaa
+aloitusdian (\komento{maketitle}) otsikon kirjainperheen ja
+\=/leikkauksen:
+
+\komentoi{setbeamerfont}
+\begin{koodilohkosis}
+\setbeamerfont{title}{family=\rmfamily, series=\bfseries,
+  shape=\itshape, size=\Huge}
+\end{koodilohkosis}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
+
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Tekstielementti} & \ots{Merkitys} \\
+    \midrule
+    \rivi{title}{aloitusdian otsikko (\komento{maketitle})}
+    \rivi{frametitle}{diojen otsikot}
+    \rivi{framesubtitle}{diojen alaotsikot}
+    \rivi{blocktitle}{\ymparisto{block}\-/ ympäristön otsikot}
+    \rivi{normal text}{normaali teksti diojen sisällä}
+    \rivi{footnote}{alaviitteet}
+    \rivi{item}{luetelmien luetelmamerkit}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{\luokka{beamer}\-/ luokan tekstielementtejä. Elementtien
+    nimiä käytetään esimerkiksi komentojen \komento{setbeamerfont} ja
+    \komento{setbeamercolor} kanssa}
+  \label{tlk/beamer-tekstielementtejä}
+}
+
+\noindent
+Aloitusdian otsikko on tekstielementti nimeltä \koodi{title}, ja siksi
+se oli edellisen komennon ensimmäisenä argumenttina. Muita oleellisia
+tekstielementtejä on koottu taulukkoon
+\ref{tlk/beamer-tekstielementtejä}.
+
+Tekstielementtien väreihin vaikutetaan komennolla
+\komento{setbeamerfont}, joka toimii lähes samalla tavalla kuin edellä
+esitelty \komento{setbeamerfont}. Värin asettamisessa käytetään
+valitsimia \koodi{fg} ja \koodi{bg}, joista ensin mainittu vaihtaa
+varsinaisen värin (\englanti{foreground}) ja jälkimmäinen taustavärin
+(\englanti{background}). Seuraavassa esimerkissä vaihdetaan diojen
+otsikon teksti valkeaksi ja tausta siniseksi:
+
+\komentoi{setbeamercolor}
+\begin{koodilohkosis}
+\setbeamercolor{frametitle}{fg=white, bg=blue}
+\end{koodilohkosis}
+
+\noindent
+Värien nimien täytyy olla ennalta määriteltyjä. Perusvärit on määritelty
+valmiiksi, mutta lisää värejä voi määritellä ohjeilla, joita kerrotaan
+luvussa \ref{luku/korostus-värit}.
+
+Oletuksena luetelmaympäristöt \ymparisto{itemize} ja
+\ymparisto{enumerate} latovat luetelmamerkit eri värillä kuin normaalin
+tekstin. Väri riippuu käytetystä väriteemasta (\komento{usecolortheme}).
+Jos haluaa, että luetelmamerkit ovat samalla värillä kuin normaali
+teksti, kannattaa käyttää seuraavan esimerkin komentoa:
+
+\komentoi{setbeamercolor}
+\begin{koodilohkosis}
+\setbeamercolor{item}{parent={normal text}}
+\end{koodilohkosis}
+
+\noindent
+Edellisessä esimerkissä viitataan \koodi{item}\-/ nimiseen
+tekstielementtiin, joka tarkoittaa luetelmamerkkejä. Valitsin
+\koodi{parent} tarkoittaa, että väri peritään toiselta
+tekstielementiltä, tässä tapauksessa normaalilta tekstiltä
+(\koodi{\englanti{normal text}}). Toki tässäkin voi käyttää valitsimia
+\koodi{fg} ja~\koodi{bg}.
+
+Normaalin tekstin (\koodi{normal text}) taustaväri tarkoittaa koko dian
+tekstialueen taustaväriä. Seuraavassa on käytännön esimerkki, joka
+muuttaa diojen otsikon taustan kirkkaan vihreäksi (70\,\%) ja
+tekstialueen taustan vaalean vihreäksi (30\,\%).
+
+\komentoi{setbeamercolor}
+\begin{koodilohkosis}
+\setbeamercolor{frametitle} {fg=black, bg=green!90}
+\setbeamercolor{normal text}{fg=black, bg=green!30}
+\end{koodilohkosis}
+
+\noindent
+Numeroimattomien luetelmien eli \ymparisto{itemize}\-/ ympäristön
+luetelmamerkki on \luokka{beamer}\-/ dokumenttiluokassa oletuksena
+kolmionmuotoinen, mutta asetusta voi muuttaa komennolla
+\komento{setbeamertemplate}. Tällä komennolla tehdään sekalaisia diojen
+asetuksia, joista annetaan tässä yhteydessä vain pari esimerkkiä.
+Luetelmamerkki vaihdetaan seuraavan esimerkin komennoilla.
+
+\komentoi{setbeamertemplate}
+\begin{koodilohkosis}
+\setbeamertemplate{itemize item}[circle]          % perustaso
+\setbeamertemplate{itemize subitem}[square]       % toinen taso
+\setbeamertemplate{itemize subsubitem}[triangle]  % kolmas taso
+\end{koodilohkosis}
+
+\noindent
+Vielä monipuolisemmin voi luetelmamerkkeihin vaikuttaa, kun vaihtaa
+hakasulkeissa olevan argumentin tilalle aaltosulkeet. Tällaiseen
+argumenttiin voi kirjoittaa suunnilleen mitä hyvänsä Latex\-/ komentoja,
+joilla luetelmamerkki tuotetaan. Seuraavassa esimerkissä tätä voimakasta
+komentomuotoa käytetään maltillisesti pelkästään ajatusviivan
+tuottamiseen.
+
+\komentoi{setbeamertemplate}
+\begin{koodilohkosis}
+\setbeamertemplate{itemize item}{--}
+\end{koodilohkosis}
+
+\noindent
+Samalla \komento{setbeamertemplate}\-/ komennolla voi asettaa myös
+diojen oikeaan alareunaan ladottaviin navigointisymboleihin. Tässä
+yhteydessä ei käsitellä niitä sen syvällisemmin, mutta
+navigointisymbolien poistaminen onnistuu helposti seuraavalla
+komennolla:
+
+\komentoi{setbeamertemplate}
+\begin{koodilohkosis}
+\setbeamertemplate{navigation symbols}{}
+\end{koodilohkosis}
+
+\section{Kirjeet}
+\label{luku/kirjeet}
+
+Latexin \luokka{letter}\-/ dokumenttiluokka on tarkoitettu kirjeiden
+latomiseen. Tyylillisesti se soveltuu ehkä paremmin virallisiin
+kirjeisiin kuin henkilökohtaisiin. Myös joukkojakelukirjeiden tekemiseen
+se voi olla käytännöllinen, koska tietokoneohjelman avulla voi helposti
+tuottaa Latex\-/ koodia eli lähes samanlaisia kirjeitä eri
+vastaanottajille.
+
+\begin{esimerkki*}
+  \komentoi{address}
+  \komentoi{cc}
+  \komentoi{closing}
+  \komentoi{documentclass}
+  \komentoi{encl}
+  \komentoi{makelabels}
+  \komentoi{opening}
+  \komentoi{ps}
+  \komentoi{signature}
+  \komentoi{usepackage}
+  \luokkai{letter}
+  \ymparistoi{letter}
+
+\begin{koodilohko}
+\documentclass{letter}
+\usepackage[a4paper]{geometry}
+\usepackage{polyglossia}
+\setdefaultlanguage{finnish}
+
+\address{Liisa Lähettäjä \\ Katuosoite 1 \\ 00000 Kaupunki}
+\signature{Liisa Lähettäjä}
+
+\makelabels
+
+\begin{document}
+
+\begin{letter}{Virpi Vastaanottaja \\ Tiennimi 3 \\ 99999 Kunta}
+
+  \opening{Hei!}
+
+  Tässä kirjeessä ei ole kovin mielenkiintoista sisältöä, mutta tähän
+  kohtaan se kirjoitettaisiin.
+
+  \closing{Terveisin}
+
+  \ps{Jk. Tässä on kirjeen jälkikirjoitus.}
+
+  \cc{Mauno Muuhenkilö}
+  \encl{lippu, lappu, paperi}
+
+\end{letter}
+
+\end{document}
+\end{koodilohko}
+
+  \caption{Latexin \luokka{letter}\-/ dokumenttiluokka on tarkoitettu
+    kirjeiden latomiseen}
+  \label{esim/letter}
+\end{esimerkki*}
+
+Esimerkissä \ref{esim/letter} on yhden kirjeen runko ja oleelliset
+komennot. Dokumentin esittelyosassa olevalla \komento{address}\-/
+komennolla määritellään lähettäjän nimi ja osoitetiedot. Ne ladotaan
+jokaisen kirjeen alkuun. Myös komennolla \komento{signature} ilmaistaan
+lähettäjän nimi, tarkemmin allekirjoitus, joka ladotaan kirjeen loppuun.
+Komento \komento{makelabels} aiheuttaa sen, että kaikkien kirjeiden
+jälkeen ladotaan sivu (tai useampia), jossa ovat kaikkien
+vastaanottajien osoitetiedot. Tämä on tarkoitettu osoitetarrojen
+tulostamiseen.
+
+Varsinainen kirjeen sisältö toteutetaan \ymparisto{letter}\-/ ympäristön
+avulla. Ympäristölle annetaan yksi argumentti, jossa on kyseisen kirjeen
+vastaanottajan nimi ja osoitetiedot. Itse kirje alkaa
+\komento{opening}\-/ komennolla, jolla ilmaistaan tervehdys tai muu
+kirjeen aloitussanat.
+
+Kirjeen lopussa \komento{closing}\-/ komennolla on sopivaa ilmaista
+lopputoivotus tai muu vastaava. Lähettäjän nimi ladotaan sen jälkeen
+automaattisesti, jos lähettäjä on ilmaistu aiemmin
+\komento{signature}\-/ komennolla. Mahdollisen jälkikirjoituksen voi
+ilmaista komennolla \komento{ps}, kirjeen jakelutietoja komennolla
+\komento{cc} ja liitteet komennolla \komento{encl}.
+
+Yksi Latex\-/ lähdedokumentti voi sisältää useita \ymparisto{letter}\-/
+ympäristöjä, ja jokainen niistä muodostaa erillisen, uudelta sivulta
+alkavan kirjeen. Kaikkiin kirjeisiin ladotaan sama lähettäjä, ellei
+lähettäjätietoja välillä vaihda \komento{address}\-/\ ja
+\komento{signature}\-/ komennoilla.


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-esipuhe.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-esipuhe.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-esipuhe.tex	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,47 @@
+% Tekijä:   Teemu Likonen <tlikonen at iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{Esipuhe}
+
+Tex ja Latex kehitettiin alun perin parantamaan tietokoneavusteista
+tekstin latomista. Ohjelmat syntyivät 1970\-/ luvun lopulla ja 1980\-/
+luvun alkupuolella eli ajalla, jolloin tietokoneilla ei vielä kovin
+hyvin osattu tuottaa laadukasta typografiaa ja painotuotteita. Texin
+alkuperäinen luoja on Donald Knuth, ja Latexin kehitti Leslie Lamport.
+
+Texin ja Latexin myötä tietokonetypografia parani: tekstieditorin ja
+merkintäkielen avulla kirjoittaja pystyi varsin helposti tuottamaan
+hyvää jälkeä niin kuin typografian ja ladonnan ammattilaiset aikoinaan.
+Varsinkin akateemisten tekstien tuottamisessa Latex sai vankan
+jalansijan. Kirjoittaja keskittyy lähinnä sisältöön, ja
+tietokoneohjelmat hoitavat taittamisen eli ulkoasun suunnittelun (Latex)
+ja lopullisen dokumentin latomisen (Tex). Typografinen ammattitaito on
+ohjelmoitu sisään näihin tietokoneohjelmiin.
+
+Sitten tulivat tekstinkäsittelyohjelmat, taitto\-/ ohjelmat ja uusi
+käsite \textsc{wy\-si\-wyg} eli \englantik{what you see is what you
+  get}. Suoraan tietokoneen ruudulta eli graafisesta tietokoneohjelmasta
+näki lopullisen painotuotteen sellaisenaan. Mikä sen helpompaa? Jokainen
+kirjoittaja oli nyt samassa hetkessä myös latoja, joka heittelee
+kirjakkeita tietokoneen ruudulle peräkkäin: sanoiksi, riveiksi,
+palstoiksi ja lopulta valmiiksi dokumentiksi. Tekstien parissa
+työskentely helpottui, mutta typografiaa tämä kehitys ei parantanut,
+koska yhä useammat kirjoittajat saivat vastuulleen myös ulkoasun
+suunnittelun ja lopullisten dokumenttien valmistuksen. Vuosisatojen
+aikana kehittynyt typografinen osaaminen ei enää sisältynyt
+tietokoneohjelmaan.
+
+Tässä tilanteessa olemme edelleenkin: lähes jokainen kirjoittaja vastaa
+itse niin sisällöstä kuin typografiastakin eli lopullisesta ulkoasusta.
+Jokainen voi olla tekstinsä julkaisija. Visuaalisten
+tekstinkäsittely\-/\ ja taitto\-/ ohjelmien yleistyminen ei kuitenkaan
+lopettanut Latexin tarinaa. Latexin kehitys ei jäänyt 1980\-/ luvulle,
+vaan sen ympärillä tapahtuu jatkuvasti edelleenkin. Esimerkiksi
+nykyaikainen fonttitekniikka ja tietokoneiden laajat merkistöt ovat myös
+Latexin käyttäjän arkipäivää.
+
+Jos siis typografia, laadukkaat julkaisut ja niihin liittyvä tekniikka
+kiinnostavat, on Latexilla varmasti paljon annettavaa nykyajan
+kirjoittajalle. Toivottavasti tästä oppaasta on apua tutustumismatkassa
+-- ja sen jälkeenkin. Tervetuloa mukaan!


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-esipuhe.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,2235 @@
+% Tekijä:   Teemu Likonen <tlikonen at iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{Merkintäkieli ja perustekniikka}
+
+Latex on merkintäkieli, mikä tarkoittaa, että se sisältää omat tapansa
+dokumentin rakenteen ja sisällön kuvaamiseen. Kaikkea ei kirjoiteta
+lähdedokumenttiin sellaisenaan, vaan täytyy käyttää tiettyjä kielen
+sääntöjen mukaisia merkintätapoja tai komentoja. Tässä luvussa
+käsitellään merkintäkielen perusasioita, joita on tarpeen ymmärtää ennen
+kuin tehokkaasti toimia Latexin parissa. Kaikkea ei tarvitse päntätä
+kerralla muistiin, mutta tänne on hyvä palata välillä kertaamaan
+perustekniikkaa.
+
+\section{Merkistö}
+
+Latex\-/dokumenttiin voi kirjoittaa tekstiä Unicode\-/merkistöllä ja sen
+\textsc{utf}\=/8\-/koodauksella, jos kääntäjänä on Unicoden osaava
+ohjelma kuten Lualatex tai Xelatex. Pääasiassa siis merkit kirjoitetaan
+sellaisenaan lähdedokumenttiin, mutta on kuitenkin kaikenlaisia
+poikkeuksia, ja niitä käsitellään tässä alaluvussa.
+
+\subsection{Varatut erikoismerkit}
+
+Muutamalla merkillä on perus Latexissa erikoismerkitys, eikä niitä voi
+käyttää normaalilla tavalla. Merkit ovat seuraavat:
+
+\begin{koodilohkosis}
+% $ ^ _ # & { } ~ \
+\end{koodilohkosis}
+
+\noindent
+Useimmat näistä merkeistä voi suojata erikoismerkitykseltään
+kirjoittamalla niiden eteen kenoviivan (\koodi{\keno}). Tildeä
+(\textasciitilde), sirkumfleksia (\textasciicircum) eikä kenoviivaa
+itseään ei voi suojata pelkän kenoviivan avulla, koska kenoviivan kanssa
+ne muodostavat eräitä muita komentoja. Taulukossa
+\ref{tlk/merkkien-suojaus} on koottuna, kuinka edellä mainitut
+erikoismerkit suojataan eli saadaan ladottua dokumenttiin sellaisenaan.
+
+\leijutlk{
+  \begin{tabular}{cll}
+    \toprule
+    \ots{Merkki} & \multicolumn{2}{l}{\ots{Kirjoittaminen}} \\
+    \midrule
+    \koodi{\%} & \komento{\%} \\
+    \koodi{\$} & \komento{\$} & \komento{textdollar} \\
+    \koodi{\^{}} & \komento{\^{}}\komentoarg{} & \komento{textasciicircum} \\
+    \koodi{\_} & \komento{\_} & \komento{textunderscore} \\
+    \koodi{\#} & \komento{\#} \\
+    \koodi{\&} & \komento{\&} \\
+    \koodi{\{} & \komento{\{} & \komento{textbraceleft} \\
+    \koodi{\}} & \komento{\}} & \komento{textbraceright} \\
+    \koodi{\~{}} & \komento{\~{}}\komentoarg{} & \komento{textasciitilde} \\
+    \koodi{\keno} && \komento{textbackslash} \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Varattujen erikoismerkkien kirjoittaminen}
+  \label{tlk/merkkien-suojaus}
+}
+
+Jotkin paketit määrittelevät muitakin erikoismerkkejä. Esimerkiksi
+kieliasetuksiin (luku \ref{luku/kieliasetukset}) liittyvät
+\paketti{polyglossia}\-/{} ja \paketti{babel}\-/paketit voivat
+määritellä pari lainausmerkillä (\koodi{\textquotedbl}) alkavaa,
+tavutuksen hallintaan liittyvää komentoa tai erikoismerkkiä.
+
+\subsection{Sanaväli}
+\label{luku/sanaväli}
+
+Välilyönti, sarkainmerkki ja yksi rivinvaihto ovat kaikki tavallisia
+sanavälejä Latex\-/dokumentissa, ja näillä kolmella on sama merkitys.
+Esimerkiksi rivin lopussa oleva rivinvaihto tarkoittaa samaa kuin
+sanojen välissä oleva välilyönti. Välilyöntejä ja sarkainmerkkejä voi
+kirjoittaa useita peräkkäin, mutta ne ovat sama asia kuin yksi väli.
+
+\begin{koodilohkosis}
+Nämä      kaikki
+     ovat            vain
+sanoja  peräkkäin  ja               kuuluvat
+    samaan kappaleeseen.
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Nämä kaikki ovat vain sanoja peräkkäin ja kuuluvat samaan
+  kappaleeseen.
+\end{tulossis}
+
+\noindent
+Sanavälien leveys ei ole vakio. Silloin kun tekstipalsta tasataan
+molemmista reunoista -- kuten tämänkin oppaan leipätekstissä \==,
+rivillä olevia sanavälejä venytetään sopivasti, jotta tekstipalstan
+molemmat reunat saadaan tasaiseksi.
+
+Sanavälit eivät kuitenkaan veny loputtomasti, ainakaan
+oletusasetuksilla, koska kovin suuret sanavälit olisivat
+tekstikappaleessa rumia. Jos sanaväleille haluaa antaa
+''hätätilanteissa'' lisää venymisvaraa, täytyy käyttää mittaa
+\mittam{emergencystretch}, jota käsitellään tarkemmin tekstikappaleiden
+yhteydessä luvussa \ref{luku/kappale}. Mittoihin liittyvää tekniikkaa
+käsitellään puolestaan luvussa \ref{luku/mitat}.
+
+Matalatasoinen sanavälejä ja niiden venymistä säätelevä mitta on
+\mittam{spaceskip}, johon voi asettaa haluamansa leveyden ja mahdolliset
+venymisen rajat. Tätä mittaa ei ole suositeltavaa käyttää tavallisen
+tekstin kanssa, mutta se sopii tilanteisiin, joihin tarvitaan hyvin
+poikkeukselliset sanavälit.
+
+\komentoi{setlength}
+\mittai{spaceskip}
+\begin{koodilohkosis}
+\setlength{\spaceskip}{0.8em plus 0.3em minus 0.2em}
+\end{koodilohkosis}
+
+\noindent
+Myös kirjainperheelle voi asettaa oman sanavälikertoimensa fontin
+asetusten \koodi{Word\-Space}\-/valitsimella. Tätä asetusta käsitellään
+fonttien yhteydessä luvussa \ref{luku/fontit-välistys}.
+
+\subsection{Rivinvaihto lähdedokumentissa}
+\label{luku/rivinvaihtomerkit}
+
+Kuten edellä todettiin, lähdedokumentissa olevat rivinvaihdot tulkitaan
+vain sanaväleiksi eivätkä ne vaihda riviä lopullisessa dokumentissa. Jos
+ladottuun dokumenttiin tarvitaan rivinvaihto, kirjoitetaan
+lähdedokumenttiin kaksi kenoviivaa (\komentom{\keno}). Tätä komentoa
+käsitellään tarkemmin tekstikappaleiden yhteydessä luvussa
+\ref{luku/rivinvaihtokomennot}.
+
+On kuitenkin mahdollista saada myös lähdedokumentin rivinvaihdot
+toteutumaan automaattisesti ladotussa tekstissä. Sellainen tila
+kytketään päälle komennolla \komentom{obeycr}; normaaliin tilaan
+palataan taas komennolla \komentom{restorecr}. Näistä komennoista voi
+olla hyötyä väliaikaisesti ja erityistilanteissa, mutta pysyväksi koko
+dokumentin tilaksi \komento{obeycr} ei yleensä sovi.
+
+\subsection{Kappaleen vaihtuminen}
+\label{luku/kappaleen-vaihtuminen}
+
+Tyhjä rivi tarkoittaa kappaleen vaihtumista. Rivi on tyhjä silloin, kun
+se ei sisällä mitään muuta kuin rivinvaihdon tai kun se sisältää vain
+välilyöntejä tai sarkainmerkkejä ja lopuksi rivinvaihdon. Tyhjiä rivejä
+voi olla useita peräkkäin, mutta ne tarkoittavat samaa kuin yksi tyhjä
+rivi. Uuden tekstikappaleen voi aloittaa myös komennolla \komento{par}.
+
+\begin{koodilohkosis}
+Nämä rivit kuuluvat
+samaan kappaleeseen.
+
+Tässä on toinen tekstikappale.
+Nyt ei oteta kantaa siihen, miten
+rivit ja kappaleet muotoillaan.
+\end{koodilohkosis}
+
+\noindent
+Ladotuissa teksteissä uuden tekstikappaleen alkaminen ilmaistaan usein
+sisennetyllä rivillä, mutta sisennyksiä eikä muitakaan muotoiluja ei
+tehdä tekstieditorissa välien avulla. Kappaleiden muotoiluun on omat
+keinonsa, ja niistä käsitellään luvussa \ref{luku/kappale}.
+
+\subsection{Kommentit ja muistiinpanot}
+
+Latex\-/dokumentissa prosentin merkki (\koodi{\%}) on kommenttimerkki,
+jonka jälkeisen rivinosan kääntäjä jättää huomioimatta. Merkki on
+tarkoitettu kirjoittajan omien kommenttien ja muistiinpanojen
+kirjoittamiseen.
+
+\begin{koodilohkosis}
+% Nyt ei tosin ole
+% mitään kommentoitavaa.
+\end{koodilohkosis}
+
+\noindent
+Kommenttimerkki vaikuttaa kääntäjään myös siten, että se syö kaikki
+välilyönnit ja sarkainmerkit, jotka tulevat kyseisen kommentin jälkeen.
+Tämän vuoksi kommenttimerkin avulla voi yhdistää eri riveillä olevan
+tekstin. Seuraava esimerkki tuottaa ladottuna ehjän sanan \emph{Latex}:
+
+\begin{koodilohkosis}
+La% Nämä rivit
+  t% yhdistyvät.
+    ex
+\end{koodilohkosis}
+
+\begin{tulossis}
+  La% Nämä rivit
+    t% yhdistyvät.
+      ex
+\end{tulossis}
+
+\subsection{Aaltosulkeet}
+\label{luku/aaltosulkeet}
+
+Aaltosulkeet \mbox{\koodi{\{\}}} muodostavat eräänlaisen näkymättömän
+ympäristön, jonka sisällä voi olla väliaikaisesti voimassa erilaiset
+asetukset kuin ulkopuolella. Aaltosulkeiden sisällä suoritetut komennot,
+uusien komentojen määrittelyt (luku \ref{luku/komennot}) tai asetetut
+mittojen arvot (luku \ref{luku/mitat}) ovat voimassa vain kyseisen
+ympäristön sisäpuolella. Seuraavassa esimerkissä aaltosulkeilla rajataan
+kursivointikomennon \komento{itshape} vaikutusaluetta.
+
+\begin{koodilohkosis}
+tavallinen {\itshape kursiivi} tavallinen
+\end{koodilohkosis}
+
+\begin{tulossis}
+  tavallinen {\itshape kursiivi} tavallinen
+\end{tulossis}
+
+\subsection{Sitova välilyönti}
+
+Sitova välilyönti on samanlainen tyhjä merkki kuin tavallinenkin
+välilyönti, mutta rivinvaihtoa ei sallita sen kohdalta. Sitovalla
+välilyönnillä kannattaa estää esimerkiksi pienistä osista koostuvan
+ilmauksen hajoaminen eri riveille (esimerkki: \emph{osa~5}). Latexissa
+sitova välilyönti saadaan joko tildemerkillä (\koodi{\textasciitilde})
+tai nimenomaan siihen tarkoitetulla merkillä, jonka Unicode\-/tunnus on
+\uctunnus{u+00a0 no-break space}.
+
+Nämä kaksi eri merkkiä, tilde ja \uctunnus{u+00a0}, toimivat hieman eri
+tavoin. Molemmat estävät rivinvaihdon, mutta tildemerkki sallii välin
+venymisen samalla tavalla kuin tavallinenkin sanaväli sallii (luku
+\ref{luku/sanaväli}). Sen sijaan merkki \uctunnus{u+00a0} on
+vakiolevyinen eikä siis veny muiden sanavälien tapaan. Merkkiä
+\uctunnus{u+00a0} täytyy käyttää ainakin vuorosanaviivan (\==) ja sitä
+seuraavan sanan välissä, koska se väli ei saa venyä.
+
+\subsection{Ohuke}
+\label{luku/ohuke}
+
+Ohuke on tavallista sanaväliä kapeampi väli, ja se tehdään
+komennolla~\komentom{,} (kenoviiva ja pilkku). Ohukkeen leveys Latexissa
+on \murtoluku{1}{6} typografisen neliön leveydestä eli em-mitasta (luku
+\ref{luku/mitat}). Ohuke on tasalevyinen ja sitova, eli se ei veny
+muiden sanavälien tapaan, ja se estää rivinvaihdon. Siksi ohuke sopii
+esimerkiksi pitkien lukujen ja puhelinnumeroiden ryhmittelyyn paremmin
+kun sanaväli.
+
+\komentoi{,}
+\begin{koodilohkosis}
+12\,750\,000
+J.\,R.\,R. Tolkien
+\end{koodilohkosis}
+
+\noindent
+Myös henkilön etunimen alkukirjainten välissä voi käyttää ohuketta, jos
+tavallinen sanaväli vie kirjaimet turhan kauas toisistaan. Sukunimi
+erotetaan kuitenkin aina sanavälillä. Joskus myös päiväyksissä käytetään
+ohuketta järjestysluvun pisteiden jälkeen. Taulukossa \ref{tlk/ohuke}
+vertaillaan sanaväliä, ohuketta ja yhteen kirjoittamista.
+
+\leijutlk{
+  \komentoi{,}
+  \begin{tabular}{lrll}
+    \toprule
+    & \ots{Luku} & \ots{Päiväys} & \ots{Nimi} \\
+    \midrule
+    \otsrivi{Sanaväli} & 12 750 000 & \sout{9. 5. 2020} & J. R. R. Tolkien \\
+    \otsrivi{Ohuke} & 12\,750\,000 & 9.\,5.\,2020 & J.\,R.\,R. Tolkien \\
+    \otsrivi{Yhteen} & 12750000 & 9.5.2020 & \sout{J.R.R. Tolkien} \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Sanavälin, ohukkeen ja yhteen kirjoittamisen vertailu. Suomen
+    kielen vastaiset kirjoitusasut on viivattu yli}
+  \label{tlk/ohuke}
+}
+
+\subsection{Lainausmerkit ja heittomerkki}
+\label{luku/lainausmerkit}
+
+Suomalaisessa näppäinasettelussa \textsc{shift} eli vaihtonäppäin ja 2
+tuottaa yleislainausmerkin eli niin sanotun \textsc{ascii}\-/
+lainausmerkin (\textquotedbl), mutta se ei taida olla minkään kielen
+varsinainen lainausmerkki. On siis syytä käyttää oikeita
+lainausmerkkejä, ja se käy Latexissa varsin helposti.
+
+Eri kielissä lainausmerkkikäytännöt ovat erilaiset. Suomen kielessä
+käytetään ''tällaisia'' lainausmerkkejä ja joskus >>tällaisia>>
+kulmalainausmerkkejä. Jos lainauksen sisään tarvitaan lainaus, täytyy
+sisempi lainaus kirjoittaa 'tällaisten' puolilainausmerkkien avulla.
+Yksittäin käytettynä se on nimeltään heittomerkki. Englannin kielessä
+lainauksen alussa ja lopussa on erilainen merkki, ja ``tässä'' siitä
+esimerkki. Samoin on puolilainausmerkin kohdalla: `näin'.
+
+Latexissa voi käyttää Unicode\-/merkistöä ja lähdedokumenttiin voi
+kirjoittaa suoraan ne lainausmerkit, jotka halutaan ladottavaksi, mutta
+edellä mainituille merkeille on myös omat merkintätapansa.
+Näppäimistöltä kirjoitettava yleisheittomerkki (\koodim{'}) tuottaa
+ladottuna automaattisesti oikean kaarevan heittomerkin ('). Kun
+kirjoittaa kaksi heittomerkkiä peräkkäin (\koodim{''}), on
+lopputuloksena yksi kaareva lainausmerkki (''). Kahdella suurempi kuin
+\=/merkillä (\koodim{>>}) saadaan kulmalainausmerkki~(>>).
+
+\begin{koodilohkosis}
+''Lainaus, jonka 'sisällä' on lainaus.'' \\
+>>Lainaus, jonka 'sisällä' on lainaus.>>
+\end{koodilohkosis}
+
+\begin{tulossis}
+  ''Lainaus, jonka 'sisällä' on lainaus.'' \\
+  >>Lainaus, jonka 'sisällä' on lainaus.>>
+\end{tulossis}
+
+\noindent
+Yllä mainitut riittävät suomen kieleen, mutta englantia ja muita kieliä
+varten tarvitaan myös toisinpäin oleva merkki (``), joka tehdään
+kahdella gravisaksentilla (\koodim{``}). Vastaava puolilainausmerkki (`)
+tehdään yhdellä aksentilla (\koodim{`}). Joissakin kielissä käytetään
+erilaisia kulmalainausmerkkejä lainauksen alussa ja lopussa. Vasemmalle
+osoittava merkki (<<) tehdään kahdella pienempi kuin \=/merkillä
+(\koodim{<<}).
+
+Joskus todella halutaan latoa yleislainausmerkki (\textquotedbl) tai
+yleisheittomerkki (\textquotesingle). Ne saadaan komennoilla
+\komentom{textquotedbl} ja \komentom{textquotesingle}. Yksittäinen
+gravisaksentti (\`{}) tehdään komennolla \komento{`}\komentoarg{}.
+Lainausmerkkien merkintätapoja ja komentoja on koottu taulukkoon
+\ref{tlk/erikoismerkit-lainaus}
+(s.~\pageref{tlk/erikoismerkit-lainaus}). Toisaalta kielikohtaiset
+asetukset (luku \ref{luku/kieliasetukset}) voivat tuoda mukanaan myös
+kielikohtaisia keinoja lainausmerkkien kirjoittamiseen.
+
+Edellä kuvatut Latexin omat lainausmerkkien merkintätavat (\koodi{''},
+\koodi{>>} ym.) eli niin sanotut Tex\-/ligatuurit voi kytkeä päälle ja
+pois päältä \paketti{fontspec}\-/pakettiin kuuluvien asetusten avulla.
+Fonteissa on yleensä oletuksena päällä Tex\-/ligatuurit eli asetus
+\koodi{Liga\-tures=\katk TeX}, mutta sen saa poistettua asetuksella
+\koodi{Liga\-tures=\katk TeX\-Reset}. Asetusta muutetaan kirjainperheen
+määrittelyn yhteydessä tai väliaikaisesti komennolla
+\komento{addfontfeatures}.
+
+\komentoi{addfontfeatures}
+\begin{koodilohkosis}
+{\addfontfeatures{Ligatures=TeXReset} `` '' >> '}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  {\addfontfeatures{Ligatures=TeXReset} `` '' >> '}
+\end{tulossis}
+
+\noindent
+Tasalevyisessä fontissa Tex\-/ligatuurit eivät ole päällä oletuksena,
+joten yksittäisissä sanoissa tai lyhyissä ilmauksissa voi estää
+Tex\-/ligatuurit esimerkiksi komennolla \komento{texttt}. Samalla
+tietysti fonttikin vaihtuu. Fontteja käsitellään tarkemmin luvussa
+\ref{luku/kirjaintyypit}.
+
+\komentoi{texttt}
+\begin{koodilohkosis}
+\texttt{`` '' >> '}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \texttt{`` '' >> '}
+\end{tulossis}
+
+\noindent
+Paketti \pakettictan{csquotes} sisältää lainausmerkkeihin liittyviä
+komentoja ja kielikohtaista logiikkaa. Paketissa olevan
+\komentom{enquote}\-/ komennon avulla voi jättää paketin huoleksi, miten
+aloittava ja lopettava lainausmerkki tai ulommat ja sisemmät
+lainausmerkit kirjoitetaan missäkin kielessä. Kielipaketti
+\paketti{polyglossia} tai \paketti{babel} täytyy olla ladattuna.
+
+\komentoi{usepackage}
+\pakettii{polyglossia}
+\pakettii{csquotes}
+\komentoi{setdefaultlanguage}
+\komentoi{enquote}
+\begin{koodilohkosis}
+\usepackage{polyglossia} \setdefaultlanguage{finnish}
+\usepackage[autostyle=true]{csquotes}
+% ...
+\enquote{Lainauksen \enquote{sisällä} lainaus.}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \enquote{Lainauksen \enquote{sisällä} lainaus.}
+\end{tulossis}
+
+\subsection{Yhdysmerkki, ajatusviiva ja miinusmerkki}
+\label{luku/yhdys-ajatus-miinus}
+
+Yhdyssanan osien välissä käytettävä yhdysmerkki on Latexissa tavallinen
+näppäimistöltä saatava yleisyhdysmerkki (\=/). Merkillä on vaikutusta
+myös sanan tavutukseen, josta on tarkempaa tietoa luvussa
+\ref{luku/tavutus}.
+
+Ajatusviivaa tarvitaan esimerkiksi äärikohtien (27--29,
+Oulu--Rova\-niemi), luetelmien, vuorosanojen ja virkkeen irrallisen
+lisäysten merkitseminen. Suomen kielessä käytetään yleensä vain lyhyttä
+ajatusviivaa \mbox{(--)}, joka tehdään Latexissa kahdella peräkkäisellä
+yhdysmerkillä (\koodim{--}). Pitkä ajatusviiva \mbox{(---)} tehdään
+kolmella yhdysmerkillä (\koodim{---}). Ajatusviivat vaikuttavat sanan
+tavutukseen samoin kuin yhdysmerkki.
+
+\begin{koodilohkosis}
+Oulu--Rovaniemi-yhteys
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Oulu--Rovaniemi-yhteys
+\end{tulossis}
+
+\noindent
+Myös Unicoden ajatusviivamerkit \uctunnus{u+2013 en dash} ja
+\uctunnus{u+2014 em dash} toimivat, mutta tavutuksen kannalta ne
+käyttäytyvät eri tavoin Lualatex\-/\ ja Xelatex\-/kääntäjillä.
+Yhteensopivuussyistä on parasta tehdä ajatusviivat Latexin omilla
+merkintätavoilla eikä Unicode\-/merkeillä.
+
+Silloin kun todella täytyy latoa kaksi tai kolme peräkkäistä
+yhdysmerkkiä, voi käyttää tasalevyistä fonttia
+(\komento{texttt}\komentoarg{--}), joka oletuksena kytkee pois Latexin
+ajatusviivatoiminnon. Saman asetuksen saa kyllä mihin tahansa fonttiin,
+kun poistaa fontista niin sanotut Tex\-/ligatuurit asetuksella
+\koodi{Liga\-tures=\katk TeX\-Reset}. Väliaikaisesti asetus tehdään
+seuraavasti:
+
+\komentoi{addfontfeatures}
+\begin{koodilohkosis}
+{\addfontfeatures{Ligatures=TeXReset} -- ---}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  {\addfontfeatures{Ligatures=TeXReset} -- ---}
+\end{tulossis}
+
+\noindent
+Miinusmerkille (−) ei Latexissa ole erityistä merkintätapaa muuten kuin
+matematiikkatilassa (luku \ref{luku/matematiikka}). Tavallisessa
+tekstitilassa lyhyttä ajatusviivaa voi ja saa käyttää myös
+miinusmerkkinä, mutta vielä parempi olisi käyttää varsinaista Unicoden
+miinusmerkkiä \uctunnus{u+2212 minus sign}, koska se on fonteissa
+suunniteltu typografisesti yhteensopivaksi muiden matemaattisten
+merkkien kanssa.
+
+\subsection{Kolme pistettä eli ellipsi}
+
+Ajatuksen katkeamista ja muuta sellaista ilmaisevalle kolmelle pisteelle
+eli ellipsille (\ldots) on oma merkkinsä, ja fontissa se saattaa näyttää
+hieman erilaiselta kuin kolme peräkkäistä pistemerkkiä. Tyypillisesti
+ellipsimerkissä pisteet ovat hieman harvemmassa ja erottuvat toisistaan
+paremmin kuin kolmena erillisenä merkkinä ladotut pisteet. Ellipsi
+tehdään Latexissa komennoilla \komentom{dots}, \komento{ldots},
+\komento{textellipsis} tai Unicode\-/merkillä \uctunnus{u+2026
+  horizontal ellipsis}.
+
+\subsection{Ylä- ja alaindeksi}
+\label{luku/ylä-alaindeksit}
+
+Yläindeksit (a\textsuperscript{2}) tehdään komennolla
+\komentom{textsuperscript} ja alaindeksit (a\textsubscript{2})
+komennolla \komentom{textsubscript}. Oletusasetuksilla Latex toteuttaa
+indeksit mekaanisesti pienentämällä fonttia ja sijoittamalla pienennetyn
+tekstin alas peruslinjan tuntumaan tai ylös gemenalinjan yläpuolelle.%
+\footnote{Katso typografinen viivasto, kuva \ref{kuva/kirjainmitat}
+  sivulla \pageref{kuva/kirjainmitat}.} Lopputulos ei ole typografisesti
+välttämättä kovin hyvä, koska fontin pienentäminen ohentaa samalla
+merkkien viivoja ja ohuimmat hiusviivat voivat lähes kadota.
+
+\englanti{Open Type} \=/fontit sisältävät usein tuen oikeille ylä- ja
+alaindekseille, jotka fontin suunnittelija on toteuttanut. Niitä
+kannattaa käyttää, koska suunnittelija tuntee oman fonttinsa ja saa
+todennäköisesti parempaa jälkeä kuin Latex mekaanisesti. \englanti{Open
+  Type} \=/fonttien indeksit on kätevintä ottaa käyttöön
+\pakettictan{realscripts}\-/ paketin avulla.
+
+Paketti \paketti{realscripts} määrittelee uudelleen Latexin ylä- ja
+alaindeksikomennot, niin että ne ensisijaisesti pyrkivät käyttämään
+\englanti{Open Type} \=/fontin ominaisuutta. Jos käytössä oleva fontti
+ei sisällä haluttujen merkkien ylä- tai alaindeksiä,
+\paketti{realscripts}\-/ paketin komennot käyttävät automaattisesti
+Latexin mekaanista keinoa. Paketti määrittelee pari muutakin hyödyllistä
+komentoa, muun muassa tähdelliset versiot edellä mainituista:
+\komento{textsuperscript*} ja \komento{textsubscript*}. Nämä komennot
+toteuttavat aina mekaanisen ylä- tai alaindeksin eli toimivat kuten
+Latexin alkuperäiset komennot.
+
+\leijutlk{
+  \gemenanum
+  \begin{tabular}{lll}
+    \toprule
+    \ots{Komento}
+    & \ots{\englanti{Open Type}}
+    & \ots{Mekaaninen} \\
+    \midrule
+    \komento{textsuperscript}
+    & \Large x\textsuperscript{ab36}
+    & \Large x\textsuperscript*{ab36} \\
+    \midrule
+    \komento{textsubscript}
+    & \Large H\textsubscript{2}SO\textsubscript{4}
+    & \Large H\textsubscript*{2}SO\textsubscript*{4} \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Ylä- ja alaindeksien vertailua. Oikeat Open Type \=/fonttien
+    indeksit saadaan \paketti{realscripts}\-/ paketin avulla. Mekaaninen
+    toteutus perustuu fontin pienentämiseen}
+  \label{tlk/indeksien-vertailu}
+}
+
+Taulukossa \ref{tlk/indeksien-vertailu} vertaillaan oikeita ja
+mekaanisia ylä- ja alaindeksejä. Taulukon esimerkit paljastavat, että
+lopputuloksessa on eroa. Mekaaninen ylä- ja alaindeksitoiminto jättää
+merkit turhan suurikoisiksi mutta saattaa silti ohentaa merkkien viivoja
+liian paljon. Se ei myöskään ymmärrä poistaa gemenanumeroita (3624)
+käytöstä vaan latoo ne sellaisenaan suunnilleen oikeaan paikkaan.
+
+Ylä- ja alaindeksejä käytettäessä on siis syytä ladata
+\paketti{realscripts}\-/ paketti ja käyttää indeksit hallitsevaa
+\englanti{Open Type} \=/fonttia. Fonttien ominaisuuksia voi tutkia
+käyttöjärjestelmän komentotulkissa komennolla \koodi{otfinfo}. Toisaalta
+fonttiin sisältyviä ylä- ja alaindeksejä voi myös kirjoittaa
+Unicode\-/merkistön avulla sellaisenaan. Lopputulos on sama.
+
+\subsection{Tavutusvihje}
+
+Komento \komentom{-} on tavutusvihje, joka neuvoo tavutusalgoritmia
+katkaisemaan sanan tästä kohdasta. Samalla se voi estää sanan
+katkaisemisen muista kohdista.
+
+\begin{koodilohkosis}
+tavutus\-algo\-ritmi
+\end{koodilohkosis}
+
+\noindent
+Myös sanassa olevat yhdysmerkit ja ajatusviivat vaikuttavat sanan
+tavuttamiseen. Perusteellisemmin tavutusta ja sen asetuksia käsitellään
+luvussa \ref{luku/tavutus}.
+
+\subsection{Tarkkeet ja erikoismerkit}
+\label{luku/tarkkeet}
+
+Latexissa on useita komentoja tarkkeellisten kirjainten
+(\'a\,\v{s}\,\c{c}\,\~o) kirjoittamiseen sekä muille merkeille, joita ei
+ehkä ihan helposti saa suoraan näppäimistöltä. Komentoja on koottu
+taulukoihin \ref{tlk/tarkkeet}, \ref{tlk/erikoismerkit-lainaus} ja
+\ref{tlk/erikoismerkit-muut}. Taulukon tarkekomennoissa on käytetty
+a\=/kirjainta esimerkkinä, mutta tarke voi liittyä muihinkin kirjaimiin.
+Merkit voi kirjoittaa Latex\-/lähdedokumenttiin myös sellaisenaan, eli
+näiden komentojen käyttö ei ole välttämätöntä.
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[4][]{{\erikoisfontti #3}
+    & \komento{#2}\komentojatko{#1} & #4}
+  \begin{tabular}{*{2}{cll}}
+    \toprule
+    \multicolumn{2}{l}{\ots{Merkki}}
+    & \ots{Merkitys}
+    & \multicolumn{2}{l}{\ots{Merkki}}
+    & \ots{Merkitys} \\
+    \cmidrule(r){1-3}
+    \cmidrule(l){4-6}
+    \rivi[a]{`}{\`a}{gravis}
+    & \rivi{O}{\O}{poikkiviiva-O} \\
+    \rivi[a]{'}{\'a}{akuutti}
+    & \rivi{o}{\o}{poikkiviiva-o} \\
+    \rivi[a]{\^{}}{\^a}{sirkumfleksi}
+    & \rivi{DJ}{\DJ}{poikkiviiva-D} \\
+    \rivi[a]{\~{}}{\~a}{tilde}
+    & \rivi{dj}{\dj}{poikkiviiva-d} \\
+    \rivi[a]{\textquotedbl}{\"a}{treema}
+    & \rivi{DH}{\DH}{versaali-eth} \\
+    \rivi[ a]{H}{\H a}{kaksoisakuutti}
+    & \rivi{dh}{\dh}{gemena-eth} \\
+    \rivi[ a]{r}{\r a}{yläympyrä}
+    & \rivi{NG}{\NG}{versaali-äng} \\
+    \rivi[ a]{v}{\v a}{hattu}
+    & \rivi{ng}{\ng}{gemena-äng} \\
+    \rivi[ a]{u}{\u a}{lyhyysmerkki}
+    & \rivi{SS}{\SS}{versaali kaksois-s} \\
+    \rivi[a]{=}{\=a}{pituusmerkki}
+    & \rivi{ss}{\ss}{gemena kaksois-s} \\
+    \rivi[ a]{b}{\b a}{alaviiva}
+    & \rivi{TH}{\TH}{versaali thorn} \\
+    \rivi[ a]{c}{\c a}{sedilji}
+    & \rivi{th}{\th}{gemena thorn} \\
+    \rivi[a]{.}{\.a}{yläpiste}
+    & \rivi{i}{\i}{pisteetön i} \\
+    \rivi[ a]{d}{\d a}{alapiste}
+    & \rivi{j}{\j}{pisteetön j} \\
+    \rivi[ a]{k}{\k a}{ogonek}
+    & \rivi{AE}{\AE}{AE-ligatuuri} \\
+    % \rivi{t\{ae\}}{\t{ae}}{sidontakaari}
+    &&& \rivi{ae}{\ae}{ae-ligatuuri} \\
+    \rivi{L}{\L}{poikkiviiva-L}
+    & \rivi{OE}{\OE}{OE-ligatuuri} \\
+    \rivi{l}{\l}{poikkiviiva-l}
+    & \rivi{oe}{\oe}{oe-ligatuuri} \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Komentoja tarkkeellisten ja muiden kirjainten
+    kirjoittamiseen}
+  \label{tlk/tarkkeet}
+}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[4][]{{\erikoisfontti #2} & \komento{#3} #1 & #4 \\}
+  \begin{tabular}{cll}
+    \toprule
+    \multicolumn{2}{l}{\ots{Merkki ja komennot}} & \ots{Merkitys} \\
+    \midrule
+    \rivi[\koodi{`{}`}]{\textquotedblleft}{textquotedblleft}
+    {vasen lainausmerkki}
+    \rivi[\koodi{'{}'}]{\textquotedblright}{textquotedblright}
+    {oikea lainausmerkki}
+    \rivi{\textquotedbl}{textquotedbl}{yleislainausmerkki (\textsc{ascii})}
+    \rivi[\komento{lq} \koodi{`}]{\textquoteleft}{textquoteleft}
+    {vasen puolilainausmerkki}
+    \rivi[\komento{rq} \koodi{'}]{\textquoteright}{textquoteright}
+    {oikea puolilainausmerkki, heittomerkki}
+    \rivi{\textquotesingle}{textquotesingle}
+    {yleispuolilainausmerkki ja -heittomerkki (\textsc{ascii})}
+    \rivi[\koodi{<{}<}]{\guillemotleft}{guillemotleft}
+    {vasen kulmalainausmerkki}
+    \rivi[\koodi{>{}>}]{\guillemotright}{guillemotright}
+    {oikea kulmalainausmerkki}
+    \rivi{\guilsinglleft}{guilsinglleft}{vasen kulmapuolilainausmerkki}
+    \rivi{\guilsinglright}{guilsinglright}
+    {oikea kulmapuolilainausmerkki}
+    \rivi{\quotedblbase}{quotedblbase}{rivinalinen lainausmerkki}
+    \rivi{\quotesinglbase}{quotesinglbase}{rivinalinen puolilainausmerkki}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Komentoja lainausmerkkien kirjoittamiseen}
+  \label{tlk/erikoismerkit-lainaus}
+}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[4][]{{\erikoisfontti #2} & \komento{#3} #1 & #4 \\}
+  \providecommand{\textbigcirclekorvike}{}
+  \renewcommand{\textbigcirclekorvike}{%
+    \begin{tikzpicture}
+      \draw (0,0) circle [radius=.65ex];
+    \end{tikzpicture}}
+
+  \begin{tabular}{cll}
+    \toprule
+    \multicolumn{2}{l}{\ots{Merkki ja komennot}} & \ots{Merkitys} \\
+    \midrule
+    \rivi[\koodi{--}]{\textendash}{textendash}{lyhyt ajatusviiva}
+    \rivi[\koodi{---}]{\textemdash}{textemdash}{pitkä ajatusviiva}
+    \rivi[\koodi{!`}]{\textexclamdown}{textexclamdown}{yläsalainen huutomerkki}
+    \rivi[\koodi{?`}]{\textquestiondown}{textquestiondown}
+    {ylösalainen kysymysmerkki}
+    \rivi{\textgreater}{textgreater}{suurempi kuin -merkki}
+    \rivi{\textless}{textless}{pienempi kuin -merkki}
+    \rivi[\komento{ldots} \komento{dots}]{\ldots}{textellipsis}
+    {kolme pistettä, ellipsi}
+    \rivi{\texteuro}{texteuro}{euron merkki}
+    \rivi[\komento{pounds}]{\pounds}{textsterling}{punnan merkki}
+    \rivi[\komento{\$}]{\textdollar}{textdollar}{dollarin merkki}
+    \rivi[\komento{S}]{\S}{textsection}{pykälän merkki}
+    \rivi[\komento{P}]{\P}{textparagraph}{kappaleen merkki}
+    \rivi[\komento{copyright}]{\copyright}{textcopyright}{tekijänoikeusmerkki}
+    \rivi{\textregistered}{textregistered}{rekisteröity tavaramerkki}
+    \rivi{\texttrademark}{texttrademark}{tavaramerkki}
+    \rivi[\komento{dag}]{\dag}{textdagger}{risti}
+    \rivi[\komento{ddag}]{\ddag}{textdaggerdbl}{kaksoisristi}
+    \rivi[\komento{\^{}}\komentoarg{}]
+    {\textasciicircum}{textasciicircum}{sirkumfleksi}
+    \rivi[\komento{\~{}}\komentoarg{}]
+    {\textasciitilde}{textasciitilde}{tilde}
+    \rivi{\textasteriskcentered}{textasteriskcentered}
+    {rivinkeskinen asteriski, tähti}
+    \rivi{\textbackslash}{textbackslash}{kenoviiva}
+    \rivi{\textbar}{textbar}{pystyviiva}
+    \rivi{\textbardbl}{textbardbl}{kaksoispystyviiva}
+    \rivi[\komento{\{}]{\textbraceleft}{textbraceleft}{vasen aaltosulje}
+    \rivi[\komento{\}}]{\textbraceright}{textbraceright}{oikea aaltosulje}
+    \rivi{\textbullet}{textbullet}{luetelmaympyrä}
+    \rivi{\textbigcirclekorvike}{textbigcircle}{suuri ympyrä}
+    % \rivi{\textcircled{a}}{textcircled\{\ldots\}}{ympyröity merkki}
+    \rivi{\textleftarrow}{textleftarrow}{nuoli vasemmalle}
+    \rivi{\textrightarrow}{textrightarrow}{nuoli oikealle}
+    \rivi{\textordfeminine}{textordfeminine}
+    {feminiininen järjestysluvun merkki}
+    \rivi{\textordmasculine}{textordmasculine}
+    {maskuliininen järjestysluvun merkki}
+    \rivi{\textperiodcentered}{textperiodcentered}{rivinkeskinen piste}
+    \rivi[\komento{\_}]{\textunderscore}{textunderscore}{alaviiva}
+    \rivi{\textvisiblespace}{textvisiblespace}{näkyvä välilyönti}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Komentoja erikoismerkkien kirjoittamiseen}
+  \label{tlk/erikoismerkit-muut}
+}
+
+Tarke- ja erikoismerkkikomentojen lisäksi on olemassa sekalaisia muita
+komentoja erikoisempien asioiden latomiseen. \marginaali{\TeX}
+\marginaali{\LaTeX} Ladontajärjestelmän logojen kirjoittamiseen on
+komennot \komento{TeX} ja \komento{LaTeX}. Suorakulmioita voi tehdä
+\komento{rule}\-/ komennolla, jolle annetaan argumenteiksi ainakin kaksi
+mittaa: leveys ja korkeus. Myös yksi hakasulkeissa annettu valinnainen
+argumentti on mahdollinen. Sekin on mitta ja ilmaisee, kuinka paljon
+suorakulmiota nostetaan tekstin peruslinjasta. Negatiivinen mitta laskee
+suorakulmiota alaspäin. Latexin mittoja ja mittayksiköitä käsitellään
+luvussa \ref{luku/mitat}.
+
+\komentoi{rule}
+\begin{koodilohkosis}
+\rule{1ex}{1ex} abc \rule{3em}{.5bp} abc \rule[1ex]{3em}{.5bp}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \rule{1ex}{1ex} abc \rule{3em}{.5bp} abc \rule[1ex]{3em}{.5bp}
+\end{tulossis}
+
+\noindent
+Komento \komento{strut} latoo näkymättömän, leveydettömän merkin, jonka
+korkeus on rivikorkeuden eli mitan \mitta{baselineskip} mukainen.
+Komentoa voi tarvita joskus esimerkiksi laatikoiden sisällä (luku
+\ref{luku/laatikot}).
+
+Käytännössä \komento{strut}\-/ komento hyödyntää sisäisesti
+\komento{rule}\-/ komentoa ja latoo sen avulla leveydettömän
+suorakulmion. Tarkemmin sanottuna korkeus eli tekstin peruslinjan
+yläpuolinen osa on 0,7 kertaa \mitta{baselineskip}\-/ mitta ja syvyys
+eli peruslinjan alapuolinen osa on 0,3 kertaa \mitta{baselineskip}.
+
+\komentoi{rule}
+\mittai{baselineskip}
+\begin{koodilohkosis}
+\rule[-0.3\baselineskip]{0bp}{\baselineskip}
+\end{koodilohkosis}
+
+\section{Komennot}
+\label{luku/komennot}
+
+Latexin komennot alkavat kenoviivalla (\koodi{\textbackslash}), jonka
+jälkeen tulee komennon nimi. Nimi koostuu yleensä pienistä tai isoista
+kirjaimista, mutta komento voi koostua myös muista merkeistä.
+
+Komennot voivat ottaa vastaan argumentteja eli lisätietoa, jota komento
+käsittelee ja tarvitsee toimintaansa. Jotkin argumentit voivat olla
+pakollisia ja jotkin valinnaisia. Pakolliset kirjoitetaan
+aaltosulkeisiin \koodi{\{}\ldots\koodi{\}} ja valinnaiset hakasulkeisiin
+\koodi{[}\ldots\koodi{]}.
+
+\begin{koodilohkosis}
+\komento
+\komento{argu}{mentteja}
+\komento[valinnainen]{argu}{mentteja}
+\end{koodilohkosis}
+
+\noindent
+Jos pakolliseen argumenttiin haluaa sisällyttää aaltosulkeen, täytyy sen
+eteen kirjoittaa kenoviiva \komento{\{}~\komento{\}}, tai voi myös
+käyttää taulukossa \ref{tlk/erikoismerkit-muut} mainittuja komentoja
+aaltosulkeiden tuottamiseen. Sama pätee aaltosulkeiden latomiseen
+muutenkin.
+
+Hakasulkeet sen sijaan ladotaan tekstiin normaalisti, eikä niiden kanssa
+käytetä kenoviivaa. Poikkeustilanne on komennon valinnaisen argumentin
+sisällä, koska valinnainen argumentti jo sinänsä kirjoitetaan
+hakasulkeiden sisään. Hakasulkeita ei voi suojata kenoviivalla, koska
+\komento{[} ja \komento{]} ovat jo muuhun tarkoitettuja komentoja:
+niillä luodaan matematiikkatilassa (luku \ref{luku/matematiikka}) oleva
+tekstilohko. Valinnaisen argumentin sisään saa hakasulkeen, kun sen
+kirjoittaa aaltosulkeiden sisään. Esimerkiksi komennon
+\komentox{komento}\komentoargv{\{]\}} valinnaiseksi argumentiksi tulee
+lopulta yksi \koodi{]}-merkki.
+
+Komennon yhteydessä sanavälejä käsitellään hieman poikkeuksellisesti.
+Esimerkiksi komennon nimen perässä olevat sanavälit syödään pois, jos
+komennolle ei anneta yhtään argumenttia. Seuraavassa esimerkissä sana
+\emph{Latex} ladotaan ehjänä, jos vain \komentox{komento} itsessään ei
+kirjoita mitään eikä vaikuta tekstin latomiseen.
+
+\begin{koodilohkosis}
+La\komento   tex
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Latex
+\end{tulossis}
+
+\noindent
+Jos täytyy saada komennon nimen jälkeinen sanaväli näkyviin, täytyy
+kirjoittaa komennon nimen perään aaltosulkeet
+(\komentox{komento}\komentoarg{}) tai kenoviiva
+(\komentox{komento}\komentojatko{\keno}).
+
+Komennon nimen ja argumenttien välissä voi olla sanavälejä, ja ne kaikki
+syödään pois. Komennon ja sen argumentit voi siis kirjoittaa vaikka
+seuraavalla tavalla:
+
+\begin{koodilohkosis}
+\komento  [valinnainen]
+   {argu-}   {mentteja}
+\end{koodilohkosis}
+
+\subsection{Omat komennot ja abstrahointi}
+\label{luku/komennot-abst}
+
+Omien komentojen tärkein tarkoitus on merkintätapojen abstrahointi eli
+teknisen toteutuksen ja yksityiskohtien piilottaminen. Sopiva
+abstrahointi helpottaa lähdedokumentin käsittelemistä.
+
+Esimerkiksi jos kirjoittaa Latexia käsittelevää kirjaa, kannattaa heti
+aluksi luoda komento, jolla merkitään kaikki Latexin komennot. Komennon
+nimi voisi olla vaikka \komentox{komento}, ja sen voisi määritellä
+siten, että se lisää automaattisesti komennon nimen alkuun kenoviivan
+(\keno) ja latoo koko ilmauksen tasalevyisellä kirjainperheellä.
+Seuraavassa on esimerkki tällaisen komennon määrittelemisestä ja
+käytöstä:
+
+\komentoi{newcommand}
+\komentoi{texttt}
+\komentoi{textbackslash}
+\begin{koodilohkosis}
+\newcommand{\komento}[1]{\texttt{\textbackslash #1}}
+
+Komennolla \komento{section} tehdään otsikoita.
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Komennolla \texttt{\textbackslash section} tehdään otsikoita.
+\end{tulossis}
+
+\noindent
+Edellä mainitun komennon määritelmään voi olla tarpeen lisätä myöhemmin
+muitakin asioita. Latexin komentojen nimet ovat suunnilleen englantia,
+ja jos nimen tavuttaa, täytyisi se tehdä englannin sääntöjen mukaisesti.
+Esimerkkinä olleen \komentox{komento}\-/ komennon määritelmässä voisi
+siis vaihtaa myös kielen komennolla \komento{textenglish}.%
+\footnote{Lisätietoa kieliasetuksista voi lukea luvusta
+  \ref{luku/kieliasetukset}.}
+
+Jos ollaan kirjoittamassa laajaa tietoteosta, Latex\-/ komennot halutaan
+ehkä lisätä automaattisesti kirjan lopussa olevaan asiahakemistoon (ks.
+s.~\pageref{luku/asiahakemisto}). Niinpä komennon määritelmään lisätään
+vielä sitäkin varten komento \komento{index}.%
+\footnote{Asiahakemistoja käsitellään luvussa \ref{luku/asiasanat}.}
+Lopulta Latex\-/ komentojen merkitsemiseen tarkoitettu
+\komentox{komento} määriteltäisiin seuraavalla tavalla:
+
+\komentoi{newcommand}
+\komentoi{textbackslash}
+\komentoi{texttt}
+\komentoi{textenglish}
+\komentoi{index}
+\begin{koodilohkosis}
+\newcommand{\komento}[1]{%
+  \texttt{\textbackslash\textenglish{#1}}%
+  \index[komennot]{#1@\texttt{\textbackslash #1}}}
+\end{koodilohkosis}
+
+% Asiahakemistot-luvussa on viittaus tähän lukuun ja maininta
+% \index-komennon sisällyttämisestä toisen komennon määritelmään.
+
+\noindent
+Näin oma \komentox{komento} ilmaisee tiiviisti ja havainnollisesti
+tarkoituksen eli sen, että kyseessä on Latex\-/ komento. Se piilottaa
+monimutkaisen teknisen toteutuksen eli fontin ja kielen vaihtamiseen
+sekä asiahakemistoon liittyvät toiminnot. Lisäksi komennon teknistä
+toteutusta on helppoa muuttaa myöhemmin, koska komennon määrittely on
+vain yhdessä paikassa lähdedokumentin alussa.
+
+\subsection{Komentojen määrittely}
+\label{luku/komennot-määrittely}
+
+Komentojen määrittelyyn on kolme erilaista komentoa, ja niille kaikille
+annetaan samanlaiset argumentit. Komennot ovat seuraavat:
+
+\komentoi{newcommand}
+\komentoi{renewcommand}
+\komentoi{providecommand}
+\begin{koodilohkosis}
+\newcommand     {\nimi}[n][oletus]{määritelmä}
+\renewcommand   {\nimi}[n][oletus]{määritelmä}
+\providecommand {\nimi}[n][oletus]{määritelmä}
+\end{koodilohkosis}
+
+\noindent
+Ensimmäinen pakollinen argumentti on komennon nimi (\komentox{nimi}), ja
+se voi koostua vain kirjaimista. Komento \komentom{newcommand}
+määrittelee uuden komennon. Mikäli komento on jo olemassa, annetaan
+virheilmoitus. Toinen komento \komentom{renewcommand} määrittelee
+olemassa olevan komennon uudelleen. Se antaa virheilmoituksen, jos
+komentoa ei ollut olemassa. Kolmas komento \komentom{providecommand}
+puolestaan määrittelee uuden komennon vain siinä tapauksessa, että
+sellaista ei ollut ennen olemassa. Se ei anna virheilmoitusta.
+
+Komentojen toinen pakollinen argumentti \koodi{määritelmä} sisältää
+komennon määritelmän eli mitä tahansa tekstiä tai komentoja.
+Suoritusvaiheessa komento ikään kuin vaihdetaan sen määritelmäksi.
+
+\komentoi{newcommand}
+\begin{koodilohkosis}
+\newcommand{\komento}{Minua komennettiin!}
+\komento
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Minua komennettiin!
+\end{tulossis}
+
+\noindent
+Komentojen ensimmäinen valinnainen argumentti \koodi{n} on luku, joka
+kertoo, kuinka monta argumenttia määriteltävä komento käsittelee.
+Määritelmässä voi käyttää parametreja \koodi{\#1}, \koodi{\#2},
+\koodi{\#3} jne., ja ne korvautuvat komennon suoritusvaiheessa
+ensimmäisellä, toisella, kolmannella jne. argumentilla.
+
+\komentoi{newcommand}
+\begin{koodilohkosis}
+\newcommand{\komento}[2]{Sanoit #1 ja #2!}
+\komento{hip}{hei}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Sanoit hip ja hei!
+\end{tulossis}
+
+\noindent
+Toinen valinnainen argumentti \koodi{oletus} -- jos se on mukana --
+kertoo, että määriteltävän komennon ensimmäinen argumentti on
+valinnainen ja että tämä on sen oletusarvo. Oletusarvoa käytetään
+silloin, kun valinnaista argumenttia ei ole annettu.
+
+\komentoi{newcommand}
+\begin{koodilohkosis}
+\newcommand{\komento}[3][tyyppi]{Hei #1, sanoit #2 ja #3!}
+\komento{hip}{hei} \\
+\komento[Leslie]{hip}{hei}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Hei tyyppi, sanoit hip ja hei! \\
+  Hei Leslie, sanoit hip ja hei!
+\end{tulossis}
+
+\noindent
+Joskus yhden komennon määritelmä sisältää komennon
+\komento{renewcommand}, joka sitten määrittelee uudelleen jonkin toisen
+komennon. Silloin parametrit \koodi{\#1}, \koodi{\#2} jne. on
+tarkoitettu ensimmäisen eli uloimman kerroksen käsiteltäväksi. Sisempi
+kerros käyttää parametreja \koodi{\#\#1}, \koodi{\#\#2} jne.
+
+Kaikista kolmesta komentojen määrittelykomennosta on olemassa
+tähdellinen versio eli sellainen, jonka komennon nimen lopussa on tähti
+(\koodi{*}). Latexin komennoissa on tapana, että tähdellinen versio --
+jos sellainen on olemassa -- tarjoaa samaan asiaan jonkin toisenlaisen
+näkökulman.
+
+\komentoi{newcommand*}
+\komentoi{renewcommand*}
+\komentoi{providecommand*}
+\begin{koodilohkosis}
+\newcommand*     {\nimi}[n][oletus]{määritelmä}
+\renewcommand*   {\nimi}[n][oletus]{määritelmä}
+\providecommand* {\nimi}[n][oletus]{määritelmä}
+\end{koodilohkosis}
+
+\noindent
+Komentojen määrittelyssä tähdelliset versiot toimivat muuten samalla
+tavalla, mutta ne antavat virheilmoituksen, jos komennolle annetut
+argumentit sisältävät enemmän kuin yhden tekstikappaleen. Niinpä
+esimerkin \ref{esim/newcommand} koodi tuottaa käännettäessä virheen.
+
+\begin{esimerkki*}
+  \komentoi{newcommand*}
+\begin{koodilohko}
+\newcommand*{\komento}[1]{Teksti: #1}
+
+\komento{
+  Ensimmäinen tekstikappale.
+
+  Toinen tekstikappale.
+}
+\end{koodilohko}
+  \caption{\komento{newcommand*}\-/ komennolla määritelty komento ei
+    salli argumentteja, joissa on useita tekstikappaleita. Tämä
+    esimerkki tuottaa käännettäessä virheilmoituksen}
+  \label{esim/newcommand}
+\end{esimerkki*}
+
+\komento{newcommand*}\-/komennolla määritelty \komentox{komento} ei siis
+suostu ottamaan vastaan argumentteja, jotka sisältävät kappaleen
+vaihtumisen eli enemmän kuin yhden tekstikappaleen. Tämä voi olla
+hyödyllinen suojausominaisuus.
+
+\subsection{Kestävät ja hauraat komennot}
+\label{luku/komennot-hauraat}
+
+Kaikki Latex\-/ komennot ovat joko kestäviä (\englanti{robust}) tai
+hauraita (\englanti{fragile}). Tällä ei ole yleensä käytännön
+merkitystä, mutta hauraat komennot eivät välttämättä toimi toisen
+komennon argumentissa.
+
+Hauraita komentoja ovat sellaiset, jotka sisältävät tietoa, jota Latex
+kirjoittaa väliaikaistiedostoon ja lukee sieltä takaisin. Kyse on
+esimerkiksi sisällysluetteloon tai muihin automaattisiin luetteloihin
+kirjoitettavasta tiedosta. Hauraita ovat myös rivinvaihdot ja
+valinnaisia argumentteja eli hakasulkeissa annettavia argumentteja
+sisältävät komennot.
+
+Käytännössä ongelmia aiheuttavat esimerkiksi otsikkokomennot
+(\komento{section} ym.) sekä kuvatekstikomento \komento{caption}. Näiden
+argumenttina oleva teksti (ja mahdolliset komennot) kirjoitetaan
+tiedostoon ja ladataan sieltä myöhemmin takaisin. Hauraat komennot eivät
+toimi edellä mainittujen komentojen argumentissa, ja lähdetiedoston
+kääntäminen johtaa virheilmoitukseen. Ongelman voi ainakin joskus
+korjata kirjoittamalla hauraan komennon eteen komennon
+\komento{protect}.
+
+\subsection{Muita vinkkejä}
+
+Komennon viimeistä argumenttia ei välttämättä tarvitse kirjoittaa
+aaltosulkeisiin, jos argumentiksi halutaan vain yksi merkki. Tällaisessa
+tilanteessa komento poimii argumentiksi seuraavan merkin, joka ei ole
+sanaväli.
+
+\komentoi{newcommand}
+\begin{koodilohkosis}
+\newcommand{\x}[1]{Argumentti: <#1>}
+\x abc \\
+\x.abc
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Argumentti: <a>bc \\
+  Argumentti: <.>abc
+\end{tulossis}
+
+\noindent
+Mikäli argumenttina on kenoviivalla alkava komento, sitäkään ei tarvitse
+kirjoittaa aaltosulkeisiin. Latex\-/koodin lukemisen kannalta tällainen
+ei välttämättä ole hyvä käytäntö, koska joskus voi hämärtyä, onko kyse
+kahdesta peräkkäisestä komennosta vai onko toinen komento vain
+argumenttina toiselle.
+
+\komentoi{newcommand}
+\begin{koodilohkosis}
+\newcommand{\x}[1]{Argumentti: <#1>}
+\newcommand{\yyy}{abc}
+\x\yyy
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Argumentti: <abc>
+\end{tulossis}
+
+\noindent
+Tätä merkintätapaa esiintyy jokin verran komentojen määrittelyssä, niin
+että jätetään \komento{newcommand}\-/komennon ensimmäisenä argumenttina
+oleva komennon nimi ilman aaltosulkeita.
+
+\komentoi{newcommand}
+\begin{koodilohkosis}
+\newcommand\yyy{abc}
+\end{koodilohkosis}
+
+\noindent
+Komennon määrittelyssä on välillä hyötyä \komentom{ignorespaces}\-/
+komennosta, joka jättää sanavälit huomioimatta komennon jälkeen. Ilman
+tätä komentoa tulisi seuraavassa esimerkissä sanojen väliin yksi
+välilyönti.
+
+\komentoi{newcommand}
+\komentoi{ignorespaces}
+\begin{koodilohkosis}
+\newcommand{\komento}[1]{#1\ignorespaces}
+\komento{yhdys}       sana
+\end{koodilohkosis}
+
+\begin{tulossis}
+  yhdyssana
+\end{tulossis}
+
+\begin{esimerkki*}
+  \komentoi{newcommand}
+  \komentoi{renewcommand}
+\begin{koodilohko}
+\newcommand{\komento}{alkuperäinen}
+\komento
+{%
+  \renewcommand{\komento}{\textit{muutettu}}
+  \komento
+}
+\komento
+\end{koodilohko}
+\begin{tulos}
+  alkuperäinen \textit{muutettu} alkuperäinen
+\end{tulos}
+\caption{Aaltosulkeilla voi rajata komennon määrittelyn
+  vaikutusaluetta}
+\label{esim/aaltosulkeet-rajaaminen}
+\end{esimerkki*}
+
+\noindent
+Aaltosulkeilla (luku \ref{luku/aaltosulkeet}) voi rajata
+komentomäärittelyn vaikutusaluetta. Esimerkin
+\ref{esim/aaltosulkeet-rajaaminen} alussa asetetaan \komentox{komento}
+tiettyyn alkuperäismääritelmään. Aaltosulkeiden sisällä se määritellään
+väliaikaisesti uudestaan. Aaltosulkeilla rajatun ympäristön jälkeen
+komennon uusi määritelmä lakkaa ja komento palautuu alkuperäiseksi.
+
+Monimutkaisiin komentoihin voidaan tarvita ehtorakenteita. Ne saa
+toteutettua \pakettictan{ifthen}\-/ paketin tarjoaman
+\komentom{ifthenelse}\-/ komennon avulla. Se on ohjelmointikielistä
+tuttu ehtorakenne: jos annettu ehtolauseke on tosi, käsitellään
+then\-/haara; muussa tapauksessa käsitellään else-haara.
+
+\section{Ympäristöt}
+\label{luku/ympäristöt}
+
+Ympäristöt ovat rakenteita, joilla on aloittava \komentom{begin}\-/
+komento ja lopettava \komentom{end}\-/ komento sekä nimi. Ympäristöjen
+ajatuksena on, että jokin ominaisuus tai jotkin toiminnot ovat voimassa
+vain ympäristön sisällä ja asiat palautuvat ennalleen ympäristön
+jälkeen. Tässä mielessä ne toimivat samalla tavalla kuin aaltosulkeet
+(luku \ref{luku/aaltosulkeet}). Jos esimerkiksi fonttiasetusta (luku
+\ref{luku/kirjaintyypit}) muuttaa ympäristön sisäpuolella, asetus
+palautuu ympäristön jälkeen samaksi kuin se oli ennen ympäristön alkua.
+Samoin ympäristön sisällä määritellyt komennot ovat voimassa vain
+kyseisessä ympäristössä.
+
+\komentoi{begin}
+\komentoi{end}
+\begin{koodilohkosis}
+\begin{nimi}
+  % ympäristön
+  % vaikutusalue
+\end{nimi}
+\end{koodilohkosis}
+
+\noindent
+Yleisin ympäristö on nimeltään \ymparistom{document}, jonka sisään koko
+dokumentin sisältö kirjoitetaan. Muita ympäristöjä käytetään
+tavallisesta leipätekstistä poikkeavien rakenteiden ilmaisemiseen,
+esimerkiksi luetelmiin ja taulukoihin (luvut \ref{luku/luetelmat} ja
+\ref{luku/taulukot}). Ympäristöjä voi tehdä itsekin mihin hyvänsä
+tarkoitukseen. Niitä määritellään seuraavilla komennoilla:
+
+\komentoi{newenvironment}
+\komentoi{renewenvironment}
+\begin{koodilohkosis}
+\newenvironment   {nimi}[n][oletus]{aloitus}{lopetus}
+\renewenvironment {nimi}[n][oletus]{aloitus}{lopetus}
+\end{koodilohkosis}
+
+\noindent
+Komento \komentom{newenvironment} määrittelee uuden ympäristön. Se antaa
+virheilmoituksen, jos samanniminen ympäristö on jo olemassa. Komento
+\komentom{renewenvironment} puolestaan määrittelee uudelleen ympäristön,
+joka on jo olemassa. Se antaa virheilmoituksen, jos ympäristöä ei
+ollutkaan olemassa.
+
+Argumentit ovat lähes samanlaiset kuin komentojen määrittelyssä (luku
+\ref{luku/komennot-määrittely}). Ympäristöjen määrittelykomennoilla on
+kolme pakollista argumenttia: ensimmäinen on ympäristön nimi, toinen on
+ympäristön aloitusmääritelmä (\koodi{aloitus}) ja kolmas on
+lopetusmääritelmä (\koodi{lopetus}).
+
+\komentoi{newenvironment}
+\komentoi{begin}
+\komentoi{end}
+\begin{koodilohkosis}
+\newenvironment{ymp}{Tästä se alkaa.}{Tähän se päättyy.}
+
+\begin{ymp}
+  Ympäristön sisältöä.
+\end{ymp}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Tästä se alkaa. Ympäristön sisältöä. Tähän se päättyy.
+\end{tulossis}
+
+\noindent
+Tavallisesti ympäristön aloitusmääritelmään kirjoitetaan jonkin toisen
+ympäristön aloituskomento sekä mahdollisesti suoritetaan joitakin
+asetuskomentoja. Vastaavasti lopetusmääritelmässä lopetetaan ympäristö
+eli palataan normaaliin tilaan. Tarkoituksena on abstrahoida jokin
+monimutkaisempi kokonaisuus eli tehdä uusi helppokäyttöinen ympäristö, joka
+piilottaa teknisen toteutuksen.
+
+\komentoi{newenvironment}
+\komentoi{begin}
+\komentoi{end}
+\begin{koodilohkosis}
+\newenvironment{ymp}
+{\begin{mahtavuus}
+    \omia\hienoja\asetuksia}
+  {\end{mahtavuus}}
+\end{koodilohkosis}
+
+\noindent
+Omille ympäristölle voi määritellä argumentteja samalla tavalla kuin
+komennoillekin. Ensimmäinen valinnainen argumentti \koodi{n} on luku
+joka kertoo, kuinka monta argumenttia määriteltävä ympäristö käsittelee.
+Ympäristön aloitusmääritelmässä voi argumentteihin viitata parametreilla
+\koodi{\#1}, \koodi{\#2}, \koodi{\#3} jne.
+
+Jos toinen valinnainen argumentti \koodi{oletus} on mukana, se
+ilmaisee, että määriteltävän ympäristön ensimmäinen argumentti on
+valinnainen ja että tämä on sen oletusarvo. Oletusta käytetään silloin,
+kun valinnaista argumenttia ei ole annettu. Argumentit annetaan
+ympäristön aloittavan \komento{begin}\-/ komennon yhteydessä.
+
+\komentoi{begin}
+\komentoi{end}
+\begin{koodilohkosis}
+\begin{ymp}[valinnainen]{argu}{mentteja}
+  % ympäristön
+  % vaikutusalue
+\end{ymp}
+\end{koodilohkosis}
+
+\noindent
+Ympäristön määrittelykomennoille on myös tähdelliset versiot
+\komentom{newenvironment*} ja \komentom{renewenvironment*}. Ne toimivat
+samoin kuin edellä kuvatut tavallisetkin komentoversiot, mutta ne eivät
+salli, että määritellylle ympäristölle annetut argumentit sisältävät
+enemmän kuin yhden tekstikappaleen. Toiminta on siis sama kuin
+komentojenkin määrittelyn tähdellisissä versioissa (luku
+\ref{luku/komennot-määrittely}).
+
+\komentoi{newenvironment*}
+\komentoi{renewenvironment*}
+\begin{koodilohkosis}
+\newenvironment*   {nimi}[n][oletus]{aloitus}{lopetus}
+\renewenvironment* {nimi}[n][oletus]{aloitus}{lopetus}
+\end{koodilohkosis}
+
+\begin{esimerkki*}
+  \komentoi{newenvironment}
+  \komentoi{ignorespaces}
+  \komentoi{ignorespacesafterend}
+  \komentoi{begin}
+  \komentoi{end}
+
+\begin{koodilohko}
+\newenvironment{ymp}
+{Yhdys\ignorespaces}
+{esi\ignorespacesafterend}
+
+\begin{ymp}
+  sana% Kommentti poistaa seuraavan sanavälin.
+\end{ymp}   merkki.
+\end{koodilohko}
+\begin{tulos}
+  Yhdyssanaesimerkki.
+\end{tulos}
+\caption{Sanavälien käyttäytyminen ympäristöjen yhteydessä. Komennoilla
+  \komento{ignorespaces} ja \komento{ignorespacesafterend} voi poistaa
+  seuraavat sanavälit}
+\label{esim/ignorespacesafterend}
+\end{esimerkki*}
+
+\noindent
+Joskus ympäristöjen määrittelyyn on hyödyllistä sisällyttää komento
+\komentom{ignorespaces}, joka jättää huomioimatta tämän komennon
+jälkeiset sanavälit. Toinen hyödyllinen on
+\komentom{ignorespacesafterend}, joka jättää huomioimatta ympäristön
+lopettavan \komento{end}\-/ komennon jälkeiset sanavälit. Esimerkki
+\ref{esim/ignorespacesafterend} selventää näiden toimintaa.
+
+\section{Mitat}
+\label{luku/mitat}
+
+\subsection{Mittayksiköt}
+
+Koska typografia on pitkälti teksti- ja muiden elementtien sijoittelua,
+tarvitaan sitä varten mittavälineitä. Niinpä Texissäkin on pituusmittoja
+(engl. \emph{length}) ja useita pituuden mittayksiköitä. Taulukkoon
+\ref{tlk/mittayksiköt} on koottu mittayksiköiden lyhenteet ja
+merkitykset. Teknisesti on samantekevää, mitä yksiköitä käyttää, sillä
+ne ovat vain välineitä pituuden ilmaisemiseen. Sisäisesti Tex käyttää
+sp-yksikköä, joka ilmaisee samalla mittojen tarkkuuden: pienin jakamaton
+mitta on 1\,sp (5,36\,nm).
+
+\leijutlk{
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Lyh.} & \ots{Merkitys} \\
+    \midrule
+    bp & piste uudessa pica-järjestelmässä, 1/72 tuumaa, 0,3528 mm \\
+    pt & piste vanhassa pica-järjestelmässä, 1/72,27 tuumaa, 0,3515 mm \\
+    pc & pica eli 12 pt-pistettä \\
+    sp & 1/65536 pt-pistettä (5,36\,nm), Texin sisäisesti käyttämä yksikkö \\
+    dd & piste Didot-järjestelmässä, 0,376 mm \\
+    cc & cicero eli 12 dd-pistettä \\
+    mm & millimetri \\
+    cm & senttimetri \\
+    in & tuuma, 25,4 mm \\
+    ex & nykyisen fontin x-korkeus, perus- ja gemenalinjan etäisyys \\
+    em & typografisen neliön sivun pituus, sama kuin fontin koko \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Texin mittayksiköiden lyhenteet ja merkitykset}
+  \label{tlk/mittayksiköt}
+}
+
+Usein tietyt yksiköt ovat vakiintuneet tiettyihin tilanteisiin.
+Esimerkiksi fonttien kokoja ja rivikorkeuksia on tapana mitata
+pistemittojen avulla. Nykyään käytetään lähinnä bp\-/yksikön mukaista
+pistettä, joka tuli käyttöön Post Script \=/standardin myötä vuonna 1984
+ja jota käytetään julkaisuohjelmissa. Sivun mittoja kuten leveyttä,
+korkeutta ja marginaaleja ilmaistaan tavallisesti metrijärjestelmän
+avulla eli senttimetreissä tai millimetreissä.
+
+Latexin mittojen mittaluvuissa desimaalierottimena on piste, ja
+mittayksikön lyhenne kirjoitetaan kiinni mittalukuun. Seuraavassa
+esimerkissä tehdään vaakasuuntaisia ja pystysuuntaisia välejä
+komennoilla \komentom{hspace} ja \komentom{vspace}:
+
+\komentoi{hspace}
+\komentoi{vspace}
+\begin{koodilohkosis}
+Sanat\hspace{1.2cm}hassusti
+\vspace{2mm}
+
+\hspace{1.75em}erillään.
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Sanat\hspace{1.2cm}hassusti  \nopagebreak
+  \vspace{2mm}
+
+  \hspace{1.75em}erillään.
+\end{tulossis}
+
+\subsection{Mittakomennot ja typografinen viivasto}
+
+Mittoja tallennetaan eräänlaisiin muuttujiin, jotka näyttävät päällepäin
+komennoilta eli niiden alussa on kenoviiva (\koodi{\keno}) ja sitten
+kirjaimista koostuva nimi. Esimerkiksi mitta \mitta{textwidth} on
+tekstialueen leveys nykyisellä sivulla. Komentomaisesta ulkoasustaan
+huolimatta mittoja ei voi suorittaa komentoina; ne sopivat vain komennon
+argumentiksi, silloin kun tarvitaan mitta.
+
+Uusia mittoja luodaan komennolla \komentom{newlength} ja olemassa olevia
+mittoja asetetaan esimerkiksi komennoilla \komentom{setlength} ja
+\komentom{addtolength}. Omien mittoja on tarpeen luoda silloin, kun
+halutaan määritellä tietynsuuruinen mitta, jota käytetään Latex\-/
+koodissa useita kertoja.
+
+\komentoi{newlength}
+\komentoi{setlength}
+\komentoi{addtolength}
+\begin{koodilohkosis}
+\newlength{\omamitta}         % Luodaan mitta.
+\setlength{\omamitta}{2.3em}  % Asetetaan mitta.
+\addtolength{\omamitta}{1em}  % Lisätään mittaan.
+\addtolength{\omamitta}{-1em} % Vähennetään mitasta.
+\end{koodilohkosis}
+
+\noindent
+Näin luotuja mittoja voi käyttää mittayksiköiden tavoin, eli niille voi
+asettaa eteen kertoimen. Esimerkiksi seuraava \komento{hspace}\-/
+komento luo vaakasuuntaisen välin, jonka pituus on 0,7 kertaa
+\mittax{omamitta}:
+
+\komentoi{hspace}
+\begin{koodilohkosis}
+\hspace{0.7\omamitta}
+\end{koodilohkosis}
+
+\noindent
+Koska vaakasuuntaisten välien tekeminen on typografiassa varsin
+tavallista, on niitä varten olemassa omia komentoja. Typografisen neliön
+levyisen (1\,em) välin voi tehdä komennolla \komentom{quad}. Sen
+puolikkaan (\murtoluku{1}{2}\,em) saa komennolla \komentom{enspace}.
+Ohuke eli \murtoluku{1}{6}\,em-väli tehdään \komentom{,}\-/ komennolla,
+josta on tarkempaa tietoa luvussa \ref{luku/ohuke}.
+
+\leijukuva{
+  \begin{tikzpicture}
+    [viiva/.style={line width=.7bp, densely dotted, color=apuviiva},
+    nuoli/.style={<->, line width=1bp, color=mittanuoli}, xscale=1.1,
+    yscale=1.9, baseline=0pt]
+
+    \node at (.04,.25) {\fontsize{120bp}{120bp}\viivastofontti p};
+
+    \draw [viiva] (-1,.98) rectangle (1,-.5);
+    \draw [viiva] (1,.98) -- (2.25,.98);
+    \draw [viiva] (-1,.02) -- (2.25,.02);
+    \draw [viiva] (1,-.5) -- (2.25,-.5);
+
+    \draw [nuoli] (1.2,.02) -- (1.2,.98);
+    \node at (1.9,.5) [color=mittanuoli] {korkeus};
+
+    \draw [nuoli] (1.2,.02) -- (1.2,-.5);
+    \node at (1.9,-.25) [color=mittanuoli] {syvyys};
+
+    \draw [nuoli] (-1,1.1) -- (1,1.1);
+    \node at (0,1.25) [color=mittanuoli] {leveys};
+
+    \node at (3.13,1.64) {ylälinja};
+    \node at (3.13,1.44) {versaalilinja};
+    \node at (3.13,.98) {gemenalinja};
+    \node at (3.13,.02) {peruslinja};
+    \node at (3.13,-.5) {alalinja};
+
+    \node at (6.52,.74) {\fontsize{120bp}{120bp}\viivastofontti H};
+
+    \draw [viiva] (5.05,1.47) rectangle (7.95,.02);
+    \draw [viiva] (5.05,.02) -- (4,.02);
+    \draw [viiva] (5.05,1.47) -- (4,1.47);
+    \draw [viiva] (7.95,1.62) -- (4,1.62);
+    \draw [viiva] (7.95,.98) -- (4,.98);
+
+    \draw [nuoli] (4.86,.02) -- (4.86,1.47);
+    \node at (4.1,.5) [color=mittanuoli] {korkeus};
+
+    \draw [nuoli] (5.05,-.1) -- (7.95,-.1);
+    \node at (6.5,-.3) [color=mittanuoli] {leveys};
+  \end{tikzpicture}
+}{
+  \caption{Kirjainten mitat ja typografinen viivasto}
+  \label{kuva/kirjainmitat}
+}
+
+Latex sisältää myös komennot mittojen poimimiseen kirjaimista tai muista
+merkeistä. Mittoja on kolme: leveys (\englanti{width}), korkeus
+(\englanti{height}) ja syvyys (\englanti{depth}). Leveys on merkin
+viemä tila leveyssuunnassa. Korkeus tarkoittaa merkin korkeutta
+peruslinjan yläpuolella, ja syvyys on merkin korkeus peruslinjan
+alapuolella. Kuva \ref{kuva/kirjainmitat} havainnollistaa näitä kolmea
+mittaa sekä typografista viivastoa.
+
+Gemenalinja sijaitsee gemenakirjainten eli pienaakkosten korkeudella.
+Peruslinjan ja gemenalinjan etäisyys on fontin x\=/korkeus (1\,ex).
+Optisen vaikutelman vuoksi gemenalinja ei tarkoita ehdotonta
+gemenakirjainten ylintä kohtaa. Esimerkiksi p\=/kirjaimen yläpääte ja
+silmukan yläkaari voivat yltää hieman gemenalinjan yläpuolelle ja
+silmukan alakaari peruslinjan alapuolelle. Fonttien suunnittelijat
+tekevät tällaisia optisia korjauksia, jotta kirjainten hahmot näyttävät
+yhtä korkeilta ja tasapainoisilta yhdessä.
+
+Versaalilinja sijaitsee versaalikirjainten eli suuraakkosten
+korkeudella. Jotkin kirjaimet voivat yltää hieman versaalilinjan
+yläpuolellekin. Esimerkiksi joidenkin fonttien Hk\=/kirjaimia
+vertailemalla näkee, että k\=/kirjaimen yläpääte yltää H\=/kirjaimen eli
+versaalilinjan yläpuolelle, ylälinjan tuntumaan. Myös tarkemerkit (luku
+\ref{luku/tarkkeet}) voivat sijaita versaalilinjan yläpuolella.
+
+Merkkien leveyden, korkeuden ja syvyyden voi mitata seuraavan esimerkin
+komennoilla. Esimerkin ensimmäisellä rivillä luodaan uudet mitat
+\mittax{leveys}, \mittax{korkeus} ja \mittax{syvyys}, joihin sitten
+tallennetaan merkkien mitat.
+
+\komentoi{newlength}
+\komentoi{settowidth}
+\komentoi{settoheight}
+\komentoi{settodepth}
+\begin{koodilohkosis}
+\newlength{\leveys} \newlength{\korkeus} \newlength{\syvyys}
+\settowidth{\leveys}{abc} % merkkien ”abc” leveys
+\settoheight{\korkeus}{H} % merkin ”H” korkeus
+\settodepth{\syvyys}{p}   % merkin ”p” syvyys
+\end{koodilohkosis}
+
+\noindent
+Mitat saa näkyviin kirjoittamalla mitan eteen komennon \komentom{the}.
+Näin mitan pituus ladotaan dokumenttiin. Yksikkönä on typografinen piste
+(pt).
+
+\komentoi{the}
+\begin{koodilohkosis}
+Leveys: \the\leveys, korkeus: \the\korkeus, syvyys: \the\syvyys.
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Leveys: 14.62865pt, korkeus: 6.81897pt, syvyys: 2.4662pt.
+\end{tulossis}
+
+\noindent
+Aiemmin mainituista optisista korjauksista johtuu, että gemenakirjaimet
+eivät ole välttämättä täsmälleen samankorkuisia. Gemena\=/x asettuu
+perus- ja gemenalinjojen väliin, mutta gemena\=/o voi yltää aavistuksen
+verran linjojen ylä- ja alapuolelle. Ihmisen silmään ne näyttävät yhtä
+korkeilta.
+
+\subsection{Venyvät mitat ja välit}
+\label{luku/venyvät-mitat}
+
+Edellä on puhuttu vain kiinteistä mitoista, mutta Latex tuntee myös
+venyvät mitat. Niiden ajatuksena on, että Latexille voi antaa luvan
+kutistaa tai venyttää mittaa tietyissä rajoissa. Venyviä mittoja
+käytettään usein pystysuuntaisissa väleissä, esimerkiksi väliotsikon
+edellä ja jälkeen tai tekstikappaleiden välissä. Latex pystyy latomaan
+sivut yleensä paremman näköiseksi, kun sille antaa venyvien mittojen
+avulla hieman säätövaraa. Alla on esimerkki venyvän kappalevälin
+(\mitta{parskip}) määrittämisestä. Samalla asetetaan kappaleen
+ensimmäisen rivin sisennys (\mitta{parindent}) nollaan (\koodi{0em}).
+
+\komentoi{setlength}
+\mittai{parskip}
+\mittai{parindent}
+\begin{koodilohkosis}
+\setlength{\parskip}{2ex plus 0.2ex minus 0.1ex}
+\setlength{\parindent}{0em}
+\end{koodilohkosis}
+
+\noindent
+Venyvissä mitoissa mainitaan ensin normaali pituus ja sitten sanoilla
+\koodi{plus} ja \koodi{minus} ilmaistaan, kuinka paljon mitta voi venyä
+tai kutistua. Molempia ei välttämättä tarvitse antaa.
+
+Venyvät mitat voivat sisältää ''äärettömän'' mittayksikön \koodi{fill},
+joka antaa luvan venyttää mittaa niin, että kaikki käytettävissä oleva
+tila täyttyy. Äärettömän mittayksikön kanssa mittaluku ilmaisee
+suhdeluvun muihin äärettömiin mittoihin. Seuraava esimerkki
+havainnollistaa asiaa:
+
+\komentoi{hspace}
+\begin{koodilohkosis}
+x\hspace{0mm plus 1fill}x\hspace{0mm plus 2fill}x
+\end{koodilohkosis}
+
+\begin{tulossis}
+  x\hspace{0mm plus 1fill}x\hspace{0mm plus 2fill}x
+\end{tulossis}
+
+\noindent
+Edellisen esimerkin mittojen luonnollinen pituus on nolla (\koodi{0mm}),
+mutta \koodi{plus} ja \koodi{fill} \=/mitan vuoksi ne voivat venyä ja
+täyttää koko käytettävissä olevan tilan. Ensin mainitulla on suhdeluku 1
+(\koodi{1fill}) ja jälkimmäisellä suhdeluku 2 (\koodi{2fill}), joten
+jälkimmäinen väli on kaksinkertainen ensimmäiseen verrattuna. Saman
+äärettömästi venyvän mitan ja suhdeluvut voi ilmaista myös
+\komento{stretch}\-/ mittakomennon avulla seuraavasti:
+
+\komentoi{hspace}
+\komentoi{stretch}
+\begin{koodilohkosis}
+x\hspace{\stretch{1}}x\hspace{\stretch{2}}x
+\end{koodilohkosis}
+
+\begin{tulossis}
+  x\hspace{\stretch{1}}x\hspace{\stretch{2}}x
+\end{tulossis}
+
+\noindent
+Äärettömästi venyvälle, koko tilan täyttävälle mittayksikölle on itse
+asiassa kolme eri versiota: \koodi{fil}, \koodi{fill} ja \koodi{filll}.
+Niiden erona on tärkeysjärjestys. Ensin mainittu \koodi{fil} on vähiten
+tärkeä, ja viimeinen eli \koodi{filll} on tärkein. Jos samassa
+yhteydessä käytetään eri tärkeysasteisia yksiköitä, ylemmäntasoiset
+mitätöivät alemmantasoiset.
+
+\komentoi{hspace}
+\begin{koodilohkosis}
+x\hspace{0mm plus 1filll}x\hspace{0mm plus 1fill}x
+\end{koodilohkosis}
+
+\begin{tulossis}
+  x\hspace{0mm plus 1filll}x\hspace{0mm plus 1fill}x
+\end{tulossis}
+
+\noindent
+Edellisessä esimerkissä ensimmäinen venyvä mitta \koodi{1filll} mitätöi
+jälkimmäisen \koodi{1fill} kokonaan. Yleensä lienee parasta käyttää
+keskimmäistä (\koodi{fill}), mutta eri tärkeysasteille voi olla käyttöä
+esimerkiksi paketin koodissa: \koodi{fil} sallii, että kirjoittaja
+tai muu koodi syrjäyttää asetuksen; \koodi{filll} on ehdoton sääntö,
+joka syrjäyttää muut.
+
+Käytännöllisyyssyistä äärettömästi venyvä pituus \koodi{0mm plus 1fill}
+on jo valmiiksi asetettu mittaan \mittam{fill}. Sitä on kätevää käyttää
+esimerkiksi vaaka- ja pystysuuntaisia välejä latovien komentojen
+\komento{hspace} ja \komento{vspace} kanssa:
+
+\komentoi{hspace}
+\komentoi{vspace}
+\mittai{fill}
+\begin{koodilohkosis}
+\hspace{\fill} % ääretön vaakasuuntainen väli
+\vspace{\fill} % ääretön pystysuuntainen väli
+\end{koodilohkosis}
+
+\noindent
+Edellisen esimerkin komennoista on olemassa vieläkin lyhemmät versiot.
+Vaakasuuntainen ääretön väli syntyy myös komennolla \komento{hfill} ja
+pystysuuntainen väli komennolla \komento{vfill}. Seuraavassa toistetaan
+eräs aiempi esimerkki yksinkertaisemmalla tavalla:
+
+\komentoi{hfill}
+\begin{koodilohkosis}
+x\hfill x\hfill\hfill x
+\end{koodilohkosis}
+
+\begin{tulossis}
+  x\hfill x\hfill\hfill x
+\end{tulossis}
+
+\section{Laskurit}
+\label{luku/laskurit}
+
+Laskureiden avulla Latex pitää kirjaa esimerkiksi sivunumeroista,
+lukujen ja alalukujen sekä kuvien ja muiden elementtien numeroinnista.
+Esimerkiksi nyt olemme pääluvun~\arabic{chapter}
+alaluvussa~\arabic{section}, ja mainitut luvut tulevat Latexin
+laskureista automaattisesti.
+
+\leijutlk{
+  \laskurii{part}
+  \laskurii{paragraph}
+  \laskurii{figure}
+  \laskurii{enumi}
+  \laskurii{chapter}
+  \laskurii{subparagraph}
+  \laskurii{table}
+  \laskurii{enumii}
+  \laskurii{section}
+  \laskurii{page}
+  \laskurii{footnote}
+  \laskurii{enumiii}
+  \laskurii{subsection}
+  \laskurii{equation}
+  \laskurii{mpfootnote}
+  \laskurii{enumiv}
+  \laskurii{subsubsection}
+
+  \begin{tabular}{llll}
+    \toprule
+    \laskuri{part} & \laskuri{paragraph}
+    & \laskuri{figure} & \laskuri{enumi} \\
+    \laskuri{chapter} & \laskuri{subparagraph}
+    & \laskuri{table} & \laskuri{enumii} \\
+    \laskuri{section} & \laskuri{page}
+    & \laskuri{footnote} & \laskuri{enumiii} \\
+    \laskuri{subsection} & \laskuri{equation}
+    & \laskuri{mpfootnote} & \laskuri{enumiv} \\
+    \laskuri{subsubsection} \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Latexin laskurit}
+  \label{tlk/latexin-laskurit}
+}
+
+Taulukossa \ref{tlk/latexin-laskurit} ovat Latexin perus laskurit. Monet
+niistä ovat otsikoiden numerointia varten (\englanti{\laskuri{part},
+  \laskuri{chapter}, \laskuri{section}, \laskuri{paragraph}}).
+Sivunumeroita varten on \laskuri{page}\-/laskuri ja matemaattisten
+kaavojen numerointiin \laskuri{equation}\-/laskuri. Leijuvista kuvista
+ja taulukoista (luku \ref{luku/leijuosat}) pidetään kirjaa laskureissa
+\laskuri{figure} ja \laskuri{table}, ja alaviitteiden (luku
+\ref{luku/alaviitteet}) numerointi on laskureissa \laskuri{footnote} ja
+\laskuri{mpfootnote}. Numeroidut luetelmat (luku \ref{luku/luetelmat})
+käsitellään \laskurix{enum}\-/alkuisten laskureiden avulla siten, että
+perustasolla käytetään laskuria \laskuri{enumi}, ja jos sen
+luetelmakohta sisältää toisen numeroidun luetelman, käytetään siinä
+laskuria \laskuri{enumii}, sen sisällä laskuria \laskuri{enumiii} jne.
+
+Edellä mainituista laskureista ei tarvitse yleensä itse huolehtia, sillä
+ne ovat vain tekniikkaa, joka toimii korkeamman tason toimintojen
+taustalla. Joskus on kuitenkin käyttöä myös omille laskureille. Seuraava
+esimerkki esittelee laskureiden käsittelyn peruskomennot. Niissä
+käytetään laskuria nimeltä \laskurix{oma}. Laskurien nimet koostuvat
+pelkistä kirjaimista, eikä niiden alussa ole kenoviivaa niin kuin
+komentojen ja mittojen alussa.
+
+\komentoi{newcounter}
+\komentoi{setcounter}
+\komentoi{addtocounter}
+\begin{koodilohkosis}
+\newcounter{oma}       % Luodaan uusi laskuri ”oma”.
+\setcounter{oma}{3}    % Asetetaan laskurin arvoksi 3.
+\addtocounter{oma}{1}  % Lisätään laskurin arvoon 1.
+\addtocounter{oma}{-1} % Vähennetään laskurin arvosta 1.
+\end{koodilohkosis}
+
+\noindent
+Laskuri on sisäisesti kokonaisluku, mutta sen arvon voi latoa eri
+muodoissa: arabialaisena tai roomalaisena lukuna, kirjaimena tai
+symbolien sarjana. Taulukossa \ref{tlk/laskurien-latominen} ovat komennot
+laskurin arvon latomiseen. Komennon argumentiksi annetaan laskurin nimi.
+Laskurin voi latoa kirjainmuodossa, jos sen arvo on 1--26; symbolit
+toimivat vain lukualueella 1--9.
+
+\leijutlk{
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Komento} & \ots{Merkitys} \\
+    \midrule
+    \komento{arabic} & arabialainen luku: 1, 2, 3\ldots \\
+    \komento{roman} & roomalainen luku: i, ii, iii\ldots \\
+    \komento{Roman} & roomalainen luku: I, II, III\ldots \\
+    \komento{alph} & kirjain: a, b, c\ldots\ (vain 1--26) \\
+    \komento{Alph} & kirjain: A, B, C\ldots\ (vain 1--26) \\
+    \komento{fnsymbol} & symboli:
+                         \textasteriskcentered
+                         \textdagger
+                         \textdaggerdbl\S\P\ldots\ (vain 1--9) \\
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Komennot laskurien arvon latomiseen}
+  \label{tlk/laskurien-latominen}
+}
+
+Taulukon \ref{tlk/laskurien-latominen} komentojen lisäksi laskuriin
+liittyvän arvon voi latoa komennolla, joka alkaa kirjaimilla
+\komentox{the} ja jatkuu laskurin nimellä. Esimerkiksi komento
+\komento{thepage} latoo sivunumeron eli tekee käytännössä saman asian
+kuin komento \komento{arabic}\komentoarg{page}. Aina nämä eivät
+kuitenkaan ole sama asia, ja \komentox{the}\-/alkuinen komento voi olla
+määritelty toisellakin tavalla. Esimerkiksi tämän oppaan leijuvat
+taulukot numeroidaan laskurilla \laskuri{table}, mutta komento
+\komento{thetable} latoo ensin pääluvun ja sen perään pisteen ja
+taulukon numeron. Viimeisin taulukko on numeroltaan \thetable{} eli
+pääluvun~\arabic{chapter} taulukko~\arabic{table}.
+
+Jos laskurin arvoa tarvitaan Latexin teknisessä tilanteessa eikä
+tarkoituksena ole latoa sitä näkyviin itse dokumenttiin, täytyy käyttää
+komentoa \komento{value}. Seuraava esimerkki luo laskurin nimeltä
+\laskurix{mitta}, jonka arvoa (3) käytetään \komento{hspace}\-/ komennon
+argumenttina mitan ilmaisemiseen (3\,em).
+
+\komentoi{newcounter}
+\komentoi{setcounter}
+\komentoi{hspace}
+\komentoi{value}
+\begin{koodilohkosis}
+\newcounter{mitta}
+\setcounter{mitta}{3}
+x\hspace{\value{mitta}em}x
+\end{koodilohkosis}
+
+\begin{tulossis}
+  x\hspace{3em}x
+\end{tulossis}
+
+\subsection{Hierarkkiset laskurit}
+\label{luku/hierarkkiset-laskurit}
+
+Laskurit voivat olla hierarkkisia ja riippuvaisia toisista laskureista:
+kun yhden laskurin arvo kasvaa, nollautuu jokin toinen laskuri
+automaattisesti. Tällaista toimintoa käytetään dokumentin lukujen eli
+otsikoiden numeroinnissa. Kirjan pääluvun~1 alaluvut ovat esimerkiksi
+1.1, 1.2, 1.3 jne. Kun alkaa seuraava pääluku~2, nollautuu alaluvun
+laskuri, jotta saadaan oikein numeroidut alaluvut 2.1, 2.2, 2.3 jne.
+Latex huolehtii lukujen numeroinnista automaattisesti, mutta omille
+laskureille täytyy määritellä riippuvuussuhteet itse. Seuraavassa
+esimerkissä luodaan oma laskuri, joka nollautuu automaattisesti aina,
+kun sivu vaihtuu eli laskurin \laskuri{page} arvo kasvaa.
+
+\komentoi{newcounter}
+\begin{koodilohkosis}
+\newcounter{oma}[page]
+\end{koodilohkosis}
+
+\noindent
+Ylemmän tason laskureita ei kannata kasvattaa komennolla
+\komento{addtocounter}, koska se vain muuttaa laskurin arvoa mutta ei
+huolehdi alemman tason laskurien nollaamisesta. Hierarkkisten laskurien
+kasvattamiseen on seuraavat kaksi komentoa:
+
+\komentoi{stepcounter}
+\komentoi{refstepcounter}
+\begin{koodilohkosis}
+\stepcounter{laskuri}
+\refstepcounter{laskuri}
+\end{koodilohkosis}
+
+\noindent
+Edellä mainitut komennot kasvattavat argumenttina annetun laskurin arvoa
+yhdellä ja nollaavat siitä riippuvaiset alemman tason laskurit.
+Jälkimmäinen komento \komento{refstepcounter} asettaa lisäksi
+ristiviitteen numeron, joten tämän komennon jälkeen mahdollisesti tuleva
+\komento{label}\-/ komento luo ristiviitekohteen. Kun tähän kohtaan
+viitataan muualta käyttämällä \komento{ref}\-/ komentoa, viitteessä
+näkyy laskurin numero tai oikeastaan \komentox{thelaskuri}\-/ komennon
+latoma teksti. Ristiviitteitä käsitellään tarkemmin luvussa
+\ref{luku/ristiviitteet}.
+
+Paketti \pakettictan{chngcntr} helpottaa hierarkkisten laskurien
+muuttamista jälkikäteen. Paketin komentojen avulla voi jälkikäteen
+asettaa jonkin laskurin riippuvaiseksi toisesta laskurista tai poistaa
+riippuvuuden.
+
+\komentoi{newcounter}
+\komentoi{counterwithin}
+\komentoi{counterwithout}
+\begin{koodilohkosis}
+\newcounter{oma}           % Luodaan laskuri ”oma”.
+\counterwithin {oma}{page} % Asetetaan riippuvuus page-laskurista.
+\counterwithout{oma}{page} % Poistetaan riippuvuus.
+\end{koodilohkosis}
+
+\noindent
+Edellä mainitut \paketti{chngcntr}\-/paketin komennot määrittelevät
+uudelleen myös \komentox{the\-oma}\-/ komennon, jolla \laskurix{oma}\-/
+laskurin arvon voi latoa. Se latoo mukaan myös ylemmäntasoisen laskurin
+arvon. Jos tätä \komentox{the}\-/ alkuista komentoa ei halua määritellä
+uudelleen, täytyy käyttää tähdellisiä komennon versioita:
+\komento{counterwithin*} ja \komento{counterwithout*}. Laskuriin
+liittyvän \komentox{the}\-/ komennon voi aina itsekin määritellä
+haluamansa laiseksi komennolla \komento{renewcommand} (luku
+\ref{luku/komennot-määrittely}), esimerkiksi seuraavalla tavalla:
+
+\komentoi{renewcommand}
+\komentoi{arabic}
+\komentoi{alph}
+\laskurii{page}
+\begin{koodilohkosis}
+\renewcommand{\theoma}{\arabic{page}/\alph{oma}}
+\end{koodilohkosis}
+
+\subsection{Kokonaislaskurit}
+
+Latex ei tiedä etukäteen, mihin arvoon laskurit lopulta yltävät. Se vain
+latoo sivuja peräkkäin eikä tiedä mitään tulevasta. Sen vuoksi
+esimerkiksi dokumentin sivumäärää ei voi ihan yksinkertaisella
+komennolla latoa dokumentin alkusivuille.
+
+Tekninen vastaus tämäntyyppisiin ongelmiin löytyy ristiviitteistä (luku
+\ref{luku/ristiviitteet}). Ne toimivat sisäisesti niin, että dokumentin
+ensimmäisellä kääntökerralla kirjoitetaan väliaikaistiedostoon muistiin
+tarpeellisia asioita ja seuraavalla kääntökerralla hyödynnetään
+väliaikaistiedostoa. Dokumentin sivumäärän ja viimeisen sivunumeron
+tallentamiseen on olemassa paketti \pakettictan{totpages}, joka lisää
+viimeiselle sivulle automaattisesti ristiviitteen nimeltä
+\koodi{Tot\-Pages}. Sivumäärän ja viimeisen sivun numeron voi latoa
+komennoilla \komento{ref} ja \komento{pageref}. Esimerkki
+\ref{esim/totpages} havainnollistaa niiden käyttöä.
+
+\begin{esimerkki*}
+  \luokkai{article}
+  \komentoi{documentclass}
+  \komentoi{usepackage}
+  \pakettii{totpages}
+  \komentoi{ref}
+  \komentoi{pageref}
+  \komentoi{addtocounter}
+  \laskurii{page}
+  \komentoi{newpage}
+
+\begin{koodilohko}
+\documentclass{article}
+\usepackage{totpages}
+
+\begin{document}
+Sivumäärä: \ref{TotPages}. Viimeinen sivu: \pageref{TotPages}.
+
+\addtocounter{page}{10} % Sivunumerot 11, 12, 13...
+\newpage Jotain... \newpage ...sisältöä.
+\end{document}
+\end{koodilohko}
+  \caption{Dokumentin sivumäärän ja viimeisen sivun numeron latominen}
+  \label{esim/totpages}
+\end{esimerkki*}
+
+Muunlaisten kokonaislaskurien toteuttamiseen voi käyttää
+\pakettictan{totcount}\-/ pakettia. Se tarjoaa komennon, jolla
+rekisteröidään olemassa oleva laskuri kokonaislaskuriksi. Lisäksi on
+komento, jolla ladotaan tai palautetaan laskurin lopullinen arvo.
+
+\komentoi{newcounter}
+\komentoi{regtotcounter}
+\komentoi{addtocounter}
+\komentoi{total}
+\komentoi{totvalue}
+\begin{koodilohkosis}
+\newcounter{oma}      % Luodaan laskuri ”oma”.
+\regtotcounter{oma}   % Rekisteröidään ”oma” kokonaislaskuriksi.
+\addtocounter{oma}{1} % Kasvatetaan laskurin arvoa.
+\total{oma}           % Ladotaan laskurin lopullinen arvo.
+\totvalue{oma}        % Palautetaan laskurin lopullinen arvo.
+\end{koodilohkosis}
+
+\noindent
+Edellä olevan esimerkin viimeistä komentoa \komento{totvalue} ei käytetä
+laskurin arvon latomiseen itse dokumenttiin vaan sitä käytetään
+teknisissä yhteyksissä kuten toisen Latex\-/komennon argumenttina.
+
+Myös Latexin valmiita laskureita voi rekisteröidä kokonaislaskureiksi.
+Tässä oppaassa on yhteensä \total{chapter} numeroitua päälukua, ja
+mainittu lukumäärä saatiin laskettua seuraavasti:
+
+\komentoi{regtotcounter}
+\komentoi{total}
+\laskurii{chapter}
+\begin{koodilohkosis}
+\regtotcounter{chapter} % Sijoitetaan dokumentin esittelyosaan.
+\total{chapter}         % Latoo päälukujen (chapter) lukumäärän.
+\end{koodilohkosis}
+
+\section{Laatikot}
+\label{luku/laatikot}
+
+Tex ajattelee ladottavan tekstin ja muun sisällön laatikoina eli
+suorakulmioina, joilla on leveys ja korkeus. Esimerkiksi kirjaimet ovat
+teknisesti laatikoita, joita ladotaan peräkkäin. Samoin monet valmiit
+ympäristöt luovat laatikon, joka sisältää jotakin ja vie tietyn verran
+tilaa sivulta.
+
+Dokumentin kirjoittajalle on välillä hyötyä luoda omia laatikoita, koska
+laatikko toimii yhtenä kokonaisuutena, jonka reunoja muut elementit ja
+latomiskoneisto kunnioittavat.
+
+\subsection{Pienet laatikot}
+\label{luku/laatikot-pienet}
+
+Yksinkertainen peruslaatikko tehdään \komento{mbox}\-/ komennolla, joka
+latoo argumenttina annetun tekstin näkymättömän laatikon sisään. Näin
+luotu laatikko pysyy koossa, eli sen sisältämiä sanoja ei esimerkiksi
+tavuteta. Komento sopiikin hyvin tavutuksen estämiseen yksittäisessä
+tilanteessa.
+
+Toinen laatikkokomento \komento{makebox} toimii samalla tavalla kuin
+\komento{mbox} mutta hyväksyy yhden tai kaksi valinnaista argumenttia.
+Komentojen muoto on seuraava:
+
+\komentoi{makebox}
+\begin{koodilohkosis}
+\makebox[leveys]{teksti}
+\makebox[leveys][sijainti]{teksti}
+\end{koodilohkosis}
+
+\noindent
+Argumentti \koodi{leveys} on laatikon leveysmitta ja \koodi{sijainti} on
+kirjainkoodi, joka ilmaisee laatikon sisällön vaakasuuntaisen
+sijoittelun. Kirjain \koodi{c} (\englanti{center}) keskittää sisällön,
+\koodi{l} (\englanti{left}) tasaa sisällön vasemmalle, \koodi{r}
+(\englanti{right}) tasaa sisällön oikealle ja \koodi{s}
+(\englanti{stretch}) tasaa sisällön molemmista reunoista eli venyttää
+laatikon sisäisiä sanavälejä sopivasti.
+
+\komentoi{makebox}
+\begin{koodilohkosis}
+\makebox[12em][s]{Laatikossa on tilaa.}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \makebox[12em][s]{Laatikossa on tilaa.}
+\end{tulossis}
+
+\noindent
+\komento{makebox}\-/ komennon \koodi{leveys}\-/ argumentissa voi käyttää
+apuna mittoja \mitta{width} (leveys), \mitta{height} (korkeus),
+\mitta{depth} (syvyys) ja \mitta{totalheight} (kokonaiskorkeus:
+\mitta{height} + \mitta{depth}), jotka määräytyvät laatikon sisällön
+luontaisten mittojen perusteella. Kuvassa \ref{kuva/kirjainmitat}
+(s.~\pageref{kuva/kirjainmitat}) oleva typografinen viivasto
+havainnollistaa näitä mittoja.
+
+Seuraava esimerkki latoo laatikon, jonka leveys on 1,5\-/ kertainen
+sisällön luontaiseen leveyteen nähden, ja keskittää tekstin. Pystyviivat
+ovat mukana rajojen hahmottamisen vuoksi.
+
+\komentoi{makebox}
+\mittai{width}
+\begin{koodilohkosis}
+|\makebox[1.5\width][c]{Keskitetty}|
+\end{koodilohkosis}
+
+\begin{tulossis}
+  |\makebox[1.5\width][c]{Keskitetty}|
+\end{tulossis}
+
+\noindent
+Laatikkokomento \komento{fbox} toimii kuten \komento{mbox} mutta piirtää
+laatikolle myös näkyvät kehykset. Komento \komento{framebox} on
+puolestaan kehyksellinen versio \komento{makebox}\-/ komennosta.
+Kehysviivan leveyden voi asettaa mitan \mitta{fboxrule} avulla, ja
+kehysviivan etäisyys sisällöstä määritellään mitassa \mitta{fboxsep}.
+
+\komentoi{fbox}
+\komentoi{framebox}
+\komentoi{setlength}
+\mittai{fboxrule}
+\mittai{fboxsep}
+\mittai{width}
+\begin{koodilohkosis}
+\setlength{\fboxsep}{3bp}
+\setlength{\fboxrule}{.5bp}
+\framebox[1.2\width][c]{Laatikossa \fbox{laatikko}}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \setlength{\fboxsep}{3bp}
+  \setlength{\fboxrule}{.5bp}
+  \framebox[1.2\width][c]{Laatikossa \fbox{laatikko}}
+\end{tulossis}
+
+\noindent
+Värillisten laatikoiden ja kehysten tekemistä neuvotaan luvussa
+\ref{luku/korostus-värit}, joka käsittelee väriasioita muutenkin.
+
+Tekstiä sisältävien laatikoiden korkeus vaihtelee kirjainten ja muiden
+merkkien muodon mukaan. Esimerkiksi kirjainten ala- ja yläpidennykset
+kasvattavat laatikon kokoa gemenalinjan yläpuolelle tai peruslinjan
+alapuolelle. Seuraavasta esimerkistä voi vertailla tekstilaatikoiden
+muodostumista:
+
+\komentoi{setlength}
+\komentoi{fbox}
+\mittai{fboxsep}
+\begin{koodilohkosis}
+\setlength{\fboxsep}{0bp}
+\fbox{sana} \fbox{kirja} \fbox{×}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \setlength{\fboxsep}{0bp}
+  \fbox{sana} \fbox{kirja} \fbox{×}
+\end{tulossis}
+
+\noindent
+Edellisen esimerkin kaltaisissa tilanteissa voi olla tarpeen käyttää
+laatikon sisällä komentoa \komento{strut}. Se latoo näkymättömän,
+leveydettömän merkin, jonka korkeus on rivikorkeuden mukainen (mitta
+\mitta{baselineskip}).
+
+\komentoi{setlength}
+\komentoi{fbox}
+\komentoi{strut}
+\mittai{fboxsep}
+\begin{koodilohkosis}
+\setlength{\fboxsep}{0bp}
+\fbox{\strut sana} \fbox{\strut kirja} \fbox{\strut ×}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \setlength{\fboxsep}{0bp}
+  \fbox{\strut sana} \fbox{\strut kirja} \fbox{\strut ×}
+\end{tulossis}
+
+\subsection{Suuret laatikot}
+\label{luku/laatikot-isot}
+
+Jos laatikon täytyy sisältää useita tekstikappaleita tai muuta
+pystysuuntaista sisältöä, tarvitaan esimerkiksi \komento{parbox}\-/
+komentoa. Se tarvitsee ainakin kaksi argumenttia: laatikon leveyden ja
+sisällön.
+
+\komentoi{parbox}
+\begin{koodilohkosis}
+\parbox{leveys}{sisältö}
+\end{koodilohkosis}
+
+\noindent
+\komento{parbox}\-/ laatikon sisällä teksti ladotaan samoin kuin teksti
+normaalistikin eli rivit katkaistaan sanavälien kohdalta ja
+mahdollisesti tavutuskohdista. Muutkin tekstikappaleen asetukset
+pätevät, ja asetukset voi määrittää haluamikseen laatikon sisällä.
+Lisätietoa tekstikappaleista on luvussa \ref{luku/kappale}.
+
+Komento \komento{parbox} hyväksyy myös yhden, kaksi tai kolme
+valinnaista argumenttia. Niillä määritellään laatikon pystysuuntainen
+sijoittelu ympäristöönsä nähden, laatikon korkeus ja laatikon sisällön
+pystysuuntainen sijoittelu. Valinnaiset argumentit toimivat seuraavasti:
+
+\komentoi{parbox}
+\begin{koodilohkosis}
+\parbox[sijainti]{leveys}{sisältö}
+\parbox[sijainti][korkeus]{leveys}{sisältö}
+\parbox[sijainti][korkeus][sisäsijainti]{leveys}{sisältö}
+\end{koodilohkosis}
+
+\noindent
+Argumentti \koodi{sijainti} on kirjain \koodi{c} (\englanti{center},
+keskilinja), \koodi{t} (\englanti{top}, ylälinja) tai \koodi{b}
+(\englanti{bottom}, alalinja). Näillä määritetään, miten laatikko
+sijoitetaan pystysuunnassa suhteessa tekstiin. Seuraava esimerkki
+havainnollistaa ensimmäisen valinnaisen argumentin toimintaa. Laatikon
+sisällä on rivinvaihtokomentoja (\komento{\keno}) ja kolme tekstiriviä.
+
+\komentoi{parbox}
+\begin{koodilohkosis}
+abc \parbox[c]{1em}{1 \\ 2 \\ 3}
+abc \parbox[t]{1em}{1 \\ 2 \\ 3}
+abc \parbox[b]{1em}{1 \\ 2 \\ 3} abc
+\end{koodilohkosis}
+
+\begin{tulossis}
+  abc \parbox[c]{1em}{1 \\ 2 \\ 3}
+  abc \parbox[t]{1em}{1 \\ 2 \\ 3}
+  abc \parbox[b]{1em}{1 \\ 2 \\ 3} abc
+\end{tulossis}
+
+\noindent
+Komennon toinen valinnainen argumentti \koodi{korkeus} määrittää
+laatikon korkeuden. Oletuksena korkeus määräytyy sisällön korkeuden
+mukaan, mutta tällä argumentilla korkeus asetetaan kiinteästi. Se voi
+olla hyödyllistä varsinkin silloin, kun sisältö halutaan tasata laatikon
+sisällä ylös, keskelle tai alas.
+
+Kolmas valinnainen argumentti \koodi{sisäsijainti} nimittäin asettaa
+laatikon sisällön pystysuuntaisen tasauksen. Argumentiksi annetaan
+kirjain \koodi{c} (\englanti{center}, keskelle), \koodi{t}
+(\englanti{top}, ylös), \koodi{b} (\englanti{bottom}, alas) tai
+\koodi{s} (\englanti{stretch}, ylös ja alas). Viimeksi mainittu eli ylös
+ja alas tasaaminen vaatii, että laatikon sisällä on venyviä
+pystysuuntaisia välejä. Niitä käsitellään luvussa
+\ref{luku/venyvät-mitat}.
+
+Ympäristö \ymparisto{minipage} vastaa toiminnallisesti
+\komento{parbox}\-/ komentoa. Se hyväksyy täsmälleen samat argumentit.
+Erona on se, että \ymparisto{minipage}\-/ ympäristön sisällä voi käyttää
+laatikon omia alaviitteitä (luku \ref{luku/alaviitteet}), jotka ladotaan
+laatikon alaosaan.
+
+\ymparistoi{minipage}
+\begin{koodilohkosis}
+\begin{minipage}[sijainti][korkeus][sisäsijainti]{leveys}
+  ...
+\end{minipage}
+\end{koodilohkosis}
+
+\subsection{Laatikoiden siirtely}
+
+Komennolla \komento{raisebox} voi latoa laatikon tekstin ylemmäs tai
+alemmas kuin se normaalisti sijoittuisi. Komennon ensimmäinen argumentti
+on etäisyysmitta, kuinka paljon ylemmäs teksti ladotaan. Negatiivinen
+mitta vie tekstin alemmas. Toinen argumentti on laatikon teksti.
+
+\komentoi{raisebox}
+\begin{koodilohkosis}
+\raisebox{etäisyysmitta}{teksti}
+\end{koodilohkosis}
+
+\noindent
+Argumentissa \koodi{etäisyysmitta} voi käyttää apuna mittoja
+\mitta{width}, \mitta{height}, \mitta{depth} ja \mitta{totalheight},
+joiden merkitys on sama kuin \komento{makebox}\-/ komennolla (luku
+\ref{luku/laatikot-pienet}). \komento{raisebox}\-/ komennolle voi antaa
+yhden tai kaksi valinnaista argumenttia, joilla määritellään laatikolle
+uusi korkeus ja syvyys. Molemmat ovat mittoja, ja ne korvaavat siirretyn
+laatikon tekstin luonnollisen korkeuden ja syvyyden. Komennon argumentit
+annetaan seuraavasti:
+
+\komentoi{raisebox}
+\begin{koodilohkosis}
+\raisebox{etäisyysmitta}[korkeus]{teksti}
+\raisebox{etäisyysmitta}[korkeus][syvyys]{teksti}
+\end{koodilohkosis}
+
+\noindent
+Grafiikkaan kuten kuviin ja väreihin erikoistunut paketti
+\paketti{graphicx} sisältää hyödyllisiä laatikkokomentoja:
+\komento{scalebox}, \komento{resizebox} ja \komento{rotatebox}. Komento
+\komento{scalebox} skaalaa tekstin eri kokoiseksi vaaka- tai
+pystysuunnassa.
+
+\komentoi{scalebox}
+\begin{koodilohkosis}
+\scalebox{vaakaskaalaus}[pystyskaalaus]{teksti}
+\end{koodilohkosis}
+
+\noindent
+Argumentit \koodi{vaakaskaalaus} ja \koodi{pystyskaalaus} ovat
+kertoimia. Pystysuuntainen skaalausargumentti on valinnainen: jos sen
+jättää pois, pystysuuntainen skaalaus on samansuuruinen kuin
+vaakasuuntainen. Negatiivisella kertoimella voi kääntää tekstin
+toisinpäin.
+
+\komentoi{scalebox}
+\begin{koodilohkosis}
+\scalebox{2}[1]{leveä} \scalebox{-1}[1]{käännetty}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \scalebox{2}[1]{leveä} \scalebox{-1}[1]{käännetty}
+\end{tulossis}
+
+\noindent
+Samantapainen skaalaustoiminto saadaan myös komennolla
+\komento{resizebox}. Sen argumentiksi ei anneta kertoimia vaan mittoja,
+eli teksti skaalataan annettuihin mittoihin.
+
+\komentoi{resizebox}
+\komentoi{resizebox*}
+\begin{koodilohkosis}
+\resizebox {vaakamitta}{pystymitta}{teksti}
+\resizebox*{vaakamitta}{pystymitta}{teksti}
+\end{koodilohkosis}
+
+\noindent
+Komennon \komentoi{resizebox} normaali versio käsittelee
+\koodi{pystymitta}\-/ argumentin siten, että se tulee olemaan tekstin
+korkeus eli kirjainten peruslinjan yläpuolinen osa. Komennon
+\komentoi{resizebox*} tähdellinen versio puolestaan toimii siten, että
+pystymitta on tekstin kokonaiskorkeus eli peruslinjan yläpuolinen osa
+(korkeus) ja alapuolinen osa (syvyys) yhdessä. Kuva
+\ref{kuva/kirjainmitat} (s.~\pageref{kuva/kirjainmitat}) havainnollistaa
+asiaa. \komento{resizebox}\-/ komennon argumenteissa voi käyttää apuna
+mittoja \mitta{width}, \mitta{height}, \mitta{depth} ja
+\mitta{totalheight} samoin kuin \komento{makebox}\-/ komennossa (luku
+\ref{luku/laatikot-pienet}).
+
+Laatikoiden pyörittely käy \komento{rotatebox}\-/ komennolla. Sen
+argumentiksi täytyy antaa ainakin kääntökulma asteina ja käännettävä
+teksti.
+
+\komentoi{rotatebox}
+\begin{koodilohkosis}
+\rotatebox[asetuksia]{kääntökulma}{teksti}
+\end{koodilohkosis}
+
+\noindent
+Valinnainen argumentti \koodi{asetuksia} voi sisältää asetusvalitsimia
+ja niiden arvoja. Tärkein valitsin on \koodi{origin}, jolla määritetään
+käännettävän tekstin kääntöpiste. Valitsimen arvoksi annetaan yksi tai
+kaksi seuraavista kirjaimista: \koodi{c} (\englanti{center}, keski),
+\koodi{l} (\englanti{left}, vasen), \koodi{r} (\englanti{right}, oikea),
+\koodi{t} (\englanti{top}, ylä), \koodi{b} (\englanti{bottom}, ala) tai
+\koodi{B} (\englanti{baseline}, peruslinja).
+
+\komentoi{rotatebox}
+\begin{koodilohkosis}
+\rotatebox[origin=l] {25}{ylämäki}
+\rotatebox[origin=r]{-25}{alamäki}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \rotatebox[origin=l] {25}{ylämäki}
+  \rotatebox[origin=r]{-25}{alamäki}
+\end{tulossis}
+
+\noindent
+\komento{rotatebox}\-/ komennon valinnaisen argumentin valitsin
+\koodi{units} määrittelee käytetyn kulmayksikön. Valitsimelle annetaan
+arvoksi täysympyrän yksikkömäärä, ja oletusasetus on \koodi{units=\katk
+  360}. Jos haluaa käyttää radiaaneja, sopiva asetus on
+\koodi{units=\katk 6.283185} (2π\,rad).


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,7903 @@
+% Tekijä:   Teemu Likonen <tlikonen at iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{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
+\komentom{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 \mittam{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 \komentom{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 \komentom{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} & \ymparisto{#2} & #3 \\}
+  \begin{tabular}{lll}
+    \toprule
+    \ots{Komento} & \ots{Ympäristö} & \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{Pystysuuntaiset välit}
+\label{luku/pystysuuntaiset-välit}
+
+Kappaleiden väliin ladottava pystysuuntainen tyhjä tila asetetaan mitan
+\mittam{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 sivun
+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
+\komentom{bigskip}, \komentom{medskip} ja \komentom{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 \komentom{bigbreak},
+\komentom{medbreak} tai \komentom{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 \komentom{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 \komentom{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 \komentom{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
+\komentom{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. Sisennys on lukijalle
+merkki siitä, että tekstin sisällössä siirrytään seuraavaan asiaan.
+Oletusasetuksilla Latex latoo sisennyksen automaattisesti kappaleen
+alkuun mutta ei kuitenkaan otsikoiden jälkeen.
+
+Ensimmäisen rivin sisennyksen suuruus asetetaan mitan \mittam{parindent}
+avulla, esimerkiksi seuraavan esimerkin mukaisesti. Sopiva mittayksikkö
+tähän tarkoitukseen on \emph{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 kappaleiden
+välissä on tyhjää tilaa. Pystysuuntainen välihän jo sinänsä ilmaisee,
+että kappale vaihtuu.
+
+\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 \komentom{indent}. Tätä komentoa ei tavallisesti tarvita,
+koska kappaleet alkavat automaattisesti sen suuruisella sisennyksellä.
+Tarpeellisempi komento on sen vastakohta \komentom{noindent}, joka
+voidaan kirjoittaa kappaleen alkuun estämään kyseisen kappaleen
+ensimmäisen rivin 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 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 marginaaliin. 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
+\komentom{hangpara}, jonka käyttöä esimerkki
+\ref{esim/riippuva-sis-hangpara} selventää. Komennon ensimmäinen
+argumentti on sisennyksen mitta ja toinen argumentti (positiivinen
+kokonaisluku) määrittää, kuinka monta riviä kappaleen alusta jätetään
+sisentämättä. Jos taas toinen argumentti on negatiivinen luku, luvun
+itseisarvo määrittää, kuinka monta riviä kappaleen alusta sisennetään.
+
+Komennon \komento{hangpara} vaihtoehtona on ympäristö
+\ymparistom{hangparas}, jonka sisällä kaikki kappaleet sisennetään
+riippuvalla tyylillä samojen asetusten mukaisesti. Ympäristön
+aloituskomennolle 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}{2.3cm}
+\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.
+
+\ymparistom{quotation}\-/ ympäristö sisentää tekstikappaleiden
+ensimmäisen rivin 1,5\,em:n verran, eikä kappaleiden välissä ole
+pystysuuntaista tilaa. \ymparistom{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 \komentom{\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 (luku \ref{luku/mitat}).
+
+\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 \komentom{\keno *}, joka edellisten
+ominaisuuksien lisäksi estää sivun vaihtumisen tämän rivinvaihdon
+kohdalla. Myös tähtiversiolle voi antaa valinnaiseksi argumentiksi
+mitan. Sen merkitys on sama kuin komennon normaalilla versiollakin.
+
+Rivin voi vaihtaa myös komennolla \komentom{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 \komentom{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
+\komentom{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 \komentom{nowidow}
+ja \komentom{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, että
+sellaisia ei 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 \komentom{marginpar}, jonka
+argumentiksi annetaan marginaaliin tuleva teksti. Marginaalin teksti
+ladotaan vasempaan tai oikeaan marginaaliin riippuen siitä, 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 ladotaan 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 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}.
+
+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. \noclub[3]
+
+Sivun marginaalissa olevan huomautuspalstan leveys voidaan määrittää
+sivun asetusten yhteydessä. Asetuksia hoitavan \paketti{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}.
+
+Asetuksia voi muuttaa myös kesken dokumentin. Mitta
+\mitta{marginparwidth} määrittää marginaalihuomautuspalstan leveyden ja
+mitta \mitta{marginparsep} sen 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 \komentom{reversemarginpar} voidaan vaihtaa
+marginaalihuomautukset vastakkaiseen marginaaliin ja komennolla
+\komentom{normalmarginpar} palautetaan oletusasetukset.
+
+\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, mutta joskus se sijoitetaan kokonaan
+marginaalin puolelle tai yltää normaalin tekstirivin yläpuolelle.
+Anfangikirjain voidaan latoa erilaisella kirjainleikkauksella kuin
+leipäteksti. Esimerkiksi vanhassa ja vanhantyylisessä typografiassa
+anfangiin voi sopia erityisen koristeellinen kirjain.
+
+\smallskip
+
+\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 \komentom{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 ''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} (\komentom{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} (\komentom{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 (\komentom{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 \komentom{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 (\komentom{textsc}), jonka kirjaimet näyttävät
+versaalikirjaimilta mutta ovat suunnilleen gemenakirjainten eli pienten
+kirjainten korkuisia. Pienversaali on fonttiin sisältyvä erillinen
+kirjainmuotoilijan 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 seuraavista esimerkeistä
+näkyy, versaalit ovat joskus miltei kaksinkertaisia gemenanumeroihin
+verrattuna, ja muutenkin gemenanumerot asettuvat keskimäärin eri
+korkeustasolle.
+
+\begin{tulossis}
+  \begin{tabular}[t]{@{}lll}
+    Väärin:
+    & {\gemenanum ISO-8859-1}
+    & {\gemenanum 2012 a.D.} \\[1ex]
+    Oikein:
+    & {\gemenanum\scshape iso-8859-1}
+    & {\gemenanum\scshape 2012 a.d.} \\[1ex]
+    Oikein:
+    & {\versaalinum ISO-8859-1}
+    & {\versaalinum 2012 A.D.} \\
+  \end{tabular}
+\end{tulossis}
+
+\noindent
+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 \komentom{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} & #2}
+  % \setlength{\ULdepth}{.2ex}
+  \begin{tabular}{llll}
+    \toprule
+    \ots{Komento}
+    & \ots{Merkitys} & \ots{Komento} & \ots{Merkitys} \\
+    \cmidrule(r){1-2}
+    \cmidrule(l){3-4}
+    \rivi{uline}{\uline{alleviivaus}}
+    & \rivi{uuline}{\uuline{kaksoisalleviivaus}} \\
+    \rivi{uwave}{\uwave{aaltoviiva}}
+    & \rivi{sout}{\sout{yliviivaus}} \\
+    \rivi{dashuline}{\dashuline{katkoviiva}}
+    & \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
+\komentom{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
+\komentom{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
+\ymparistom{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 \ymparistom{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 ja ristiviitteiden hallintaan (luku \ref{luku/pdf-asetukset}).
+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 \komentom{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 \komentom{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 \komentom{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}, \komentomargin{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\-/dokumentissa napsautettava linkki. Silloin käytetään komentoa
+\komentom{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 at osoite.net}{\nolinkurl{tunnus at 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}
+\label{luku/korostus-värit}
+
+Eri värien käyttö voi sopia tekstin erilaisten osien korostamiseen.
+Esimerkiksi otsikot, taulukot tai leijuvat osat saa erottumaan
+selvemmin, kun niiden toteutuksessa käyttää värejä. Sen sijaan
+leipätekstin sisällä värejä täytynee käyttää hillitysti, sillä värikäs
+tekstipalsta näyttää rauhattomalta ja voi hidastaa lukemista.
+
+Latexiin saa värit \pakettictan{xcolor}\-/ paketin
+avulla.\footnote{Toinen vaihtoehto on yksinkertaisempi väripaketti
+  \paketti{color}, joka sisältää värien käsittelyn perustoiminnot.} Se
+tarjoaa muun muassa komentoja, joilla tekstin väriä, tekstin taustaväriä
+tai sivun taustaväriä voi muuttaa. Lisäksi se sisältää värien
+sekoittamiseen ja muuntamiseen liittyvää tekniikkaa. Paketin komentojen
+avulla voi myös värittää taulukoiden (luku \ref{luku/taulukot}) rivit
+vuorottelevin värein.
+
+Omassa dokumentissa käytettävät värit on hyvä määritellä alussa.
+Määrittely tarkoittaa sitä, että annetaan väreille nimet -- esimerkiksi
+käyttötarkoituksen mukaan -- ja myöhemmin lähdedokumentissa viitataan
+väreihin käyttämällä alussa määriteltyjä nimiä. Näin väri on määritelty
+yhdessä paikassa ja sen muuttaminen on myöhemmin helppoa. On kyllä
+mahdollista käyttää värejä ilman etukäteismäärittelyäkin.
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[3]{\koodi{#1} & #2 & \koodi{#3}
+    & \textcolor[#1]{#3}{\rule{.9em}{.9em}} \\}
+  \begin{tabular}{llll}
+    \toprule
+    \ots{Malli}
+    & \ots{Parametrit}
+    & \multicolumn{2}{l}{\ots{Esimerkki}} \\
+    \midrule
+    \rivi{rgb}{punainen, vihreä, sininen}{1,.7,.3}
+    \rivi{HTML}{punainen, vihreä, sininen}{33aaf3}
+    \rivi{cmyk}{syaani, magenta, keltainen, musta}{.1,1,.5,0}
+    \rivi{hsb}{sävy, kylläisyys, kirkkaus}{.2,1,.6}
+    \rivi{gray}{harmaa}{.55}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Erilaisia värimalleja ja niiden parametreja
+    \paketti{xcolor}\-/ paketissa}
+  \label{tlk/värimalleja}
+}
+
+Omat värit määritellään komennolla \komentom{definecolor}. Se tarvitsee
+kolme argumenttia: värin nimen, värimallin ja värikoodin. Komennon
+argumenttien rakenteesta on seuraavassa esimerkki:
+
+\komentoi{definecolor}
+\begin{koodilohkosis}
+\definecolor{nimi}{välimalli}{parametrit}
+\end{koodilohkosis}
+
+\noindent
+Komennon argumentti \koodi{nimi} on kirjoittajan itse valitsema nimi,
+ja se voi liittyä esimerkiksi värin käyttötarkoitukseen (''nuoli'') tai
+värin yleiseen nimeen (''keltainen''). Argumentti \koodi{väri\-malli}
+tarkoittaa värin ilmaisemisen tapaa. Niitä on useita erilaisia, mutta
+yleisimmät on koottu taulukkoon \ref{tlk/värimalleja}. Eri malleilla on
+eri määrä parametreja, joilla ilmaistaan värin ominaisuuksia. Kunkin
+parametrin arvo on yleensä desimaaliluku 0\==1, mutta \koodi{HTML}\-/
+värimallissa parametrit ilmaistaan yhtenä kolmen kaksinumeroisen
+heksadesimaaliluvun sarjana \textsc{html}\-/ merkintäkielen tavoin.
+Värin parametrit kirjoitetaan komennon argumenttiin
+\koodi{para\-metrit} ja ne erotetaan toisistaan pilkulla. Taulukon
+\ref{tlk/värimalleja} Esimerkki\-/sarakkeessa on parametrien antamisesta
+esimerkki. Muista värimalleista voi lukea \paketti{xcolor}\-/ paketin
+ohjekirjasta.
+
+Kun värit on määritelty, niitä voi käyttää eri komentojen yhteydessä.
+Tekstin väri vaihdetaan toiseksi komennolla \komentom{color}, josta on
+kaksi erilaista versiota. Komento vaihtaa värin pysyvästi nykyisen
+ympäristön (luku \ref{luku/ympäristöt}) tai aaltosulkeilla (luku
+\ref{luku/aaltosulkeet}) rajatun alueen sisällä.
+
+\komentoi{color}
+\begin{koodilohkosis}
+\color{nimi}                  % väriksi ennalta määritelty ”nimi”
+\color[värimalli]{parametrit} % värimallin ja parametrien avulla
+\end{koodilohkosis}
+
+\noindent
+Toinen vaihtoehto on käyttää komentoa \komentom{textcolor}, jolle
+annetaan edelliseen verrattuna vielä yksi argumentti lisää. Argumenttina
+on teksti, johon värin halutaan vaikuttavan. Vaikutusalueena on siis
+vain kyseinen teksti.
+
+\komentoi{textcolor}
+\begin{koodilohkosis}
+\textcolor{nimi}{teksti}
+\textcolor[värimalli]{parametrit}{teksti}
+\end{koodilohkosis}
+
+\noindent
+Tekstin taustaväri vaihdetaan komennoilla \komentom{colorbox} ja
+\komentom{fcolorbox}. Komennot luovat ikään kuin laatikon, jonka sisällä
+taustaväri on voimassa. Ensin mainittu komento vahtaa vain taustavärin,
+ja jälkimäinen sisältää lisäksi värillisen kehyksen, eli sille
+määritellään kaksi väriä.
+
+\begin{koodilohkosis}
+\colorbox{nimi}{teksti} % taustaväriksi ennalta määritelty ”nimi”
+\colorbox[värimalli]{parametrit}{teksti}
+\fcolorbox{nimi(kehys)}{nimi(tausta)}{teksti}
+\fcolorbox[värimalli]{parametrit(kehys)}{parametrit(tausta)}{teksti}
+\end{koodilohkosis}
+
+\noindent
+Kehystetyn laatikon kehysviivan leveys on mitassa \mittam{fboxrule} ja
+kehyksen etäisyys sisällöstä mitassa \mitta{fboxsep}. Seuraavassa on
+esimerkki useiden edellä mainittujen komentojen käytöstä. Tästä tuskin
+kannattaa ottaa mallia vakavaan typografiseen työhön.
+
+\komentoi{colorbox}
+\komentoi{color}
+\komentoi{definecolor}
+\komentoi{fcolorbox}
+\komentoi{setlength}
+\komentoi{textcolor}
+\mittai{fboxrule}
+\mittai{fboxsep}
+\begin{koodilohkosis}
+\definecolor{pun}{rgb}{1,.2,.2}
+\setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp}
+\fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä}
+\textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}.
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \definecolor{pun}{rgb}{1,.2,.2}
+  \setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp}
+  \fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä}
+  \textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}.
+\end{tulossis}
+
+\noindent
+Sivulle voi määrittää taustavärin komennolla \komentom{pagecolor}.
+Taustäväri vaihtuu nykyiselle ja seuraaville sivuille, kunnes väri
+vaihdetaan toiseksi tai poistetaan. Komennolle annetaan samanlaiset
+argumentit kuin muillekin värikomennoille. Komento
+\komentom{nopagecolor} poistaa taustavärin kokonaan eli palauttaa
+taustan oletustilaan.
+
+\komentoi{pagecolor}
+\komentoi{nopagecolor}
+\begin{koodilohkosis}
+\pagecolor{nimi} % sivun taustaväriksi ennalta määritelty ”nimi”
+\pagecolor[värimalli]{parametrit}
+\nopagecolor
+\end{koodilohkosis}
+
+\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 \komentom{clearpage} vaihtaa sivua, eli komennon jälkeinen
+dokumentin osa alkaa aina puhtaalta sivulta. Lähes samanlainen komento
+on \komentom{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 \komentom{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 \komentom{pagebreak} ja \komentom{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
+\komentom{flushbottom}, mutta se on jo oletuksena päällä ainakin Latexin
+perusdokumenttiluokissa.
+
+Vaihtoehtoinen tila asetetaan komennolla \komentom{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
+\komentom{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 \komentom{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, kansisivu ja tiivistelmä}
+\label{luku/dokumentin-perustiedot}
+
+Latexissa on yksinkertainen toiminto dokumentin perustietojen latomiseen
+dokumentin alkuun, mahdollisesti erilliselle kansisivulle. 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 \komentom{maketitle} voi latoa kaikki edellä mainitut tiedot.
+Ne voivat näkyä ensimmäisen sisältösivun alussa tai erillisellä
+kansisivulla; se riippuu dokumenttiluokan asetuksista ja valitsimista
+\koodi{titlepage} ja \koodi{notitlepage}. Se, kumpi asetus on oletuksena
+päällä, vaihtelee eri dokumenttiluokissa. Dokumenttiluokkia ja niiden
+asetuksia käsitellään tarkemmin luvussa \ref{luku/dokumenttiluokat}.
+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
+\ymparistom{titlepage} ja \ymparistom{abstract}. Ensin mainittu luo
+tyhjän sivun kansisivun toteuttamiseen. Se myös aloittaa sivunumeroinnin
+alusta eli asettaa uudelleen \laskuri{page}\-/ laskurin arvon.
+\ymparisto{abstract}\-/ ympäristö on tarkoitettu tieteellisen artikkelin
+tiivistelmän kirjoittamiseen. Molempien edellä mainittujen ympäristöjen
+käyttö on vapaaehtoista. Kansisivun ja artikkelin tiivistelmän voi aivan
+hyvin toteuttaa ilman näitäkin.
+
+Teoksen kansisivu -- 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 kansisivua. Pdf:n sisällysluetteloon saa oman
+merkinnän esimerkiksi seuraavalla komennolla:
+
+\komentoi{pdfbookmark}
+\begin{koodilohkosis}
+\pdfbookmark[0]{Kansi}{sivu/kansi}
+\end{koodilohkosis}
+
+\noindent
+Edellä mainittu komento \komento{pdfbookmark} täytyy sijoittaa Latex\-/
+lähdedokumentissa nimenomaan kansisivulle, 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} & #2 & #3 & #4 \\}
+  \begin{tabular}{lccl}
+    \toprule
+    \multirow{2}{*}{\ots{Komento}}
+    & \ots{Taso}
+    & \ots{Taso}
+    & \multirow{2}{*}{\ots{Merkitys}} \\
+    & (\luokka{article}) & (\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
+\komentom{part}. Tämän komennon käyttö on vapaaehtoista, mutta sillä on
+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 \komentom{chapter} tarkoittaa kirjan päälukua, joka alkaa
+oletuksena puhtaalta sivulta. Otsikkoa ennen siis 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 \komentom{section}, \komentom{subsection} ja
+\komentom{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 yms.
+
+Otsikoinnissa on tärkeää säilyttää suora hierarkkinen suhde
+otsikkotasojen välillä: alemmantasoista otsikkoa ei saa käyttää ennen
+kuin on ensin ollut yhtä astetta ylempi otsikkotaso. Täytyy siis olla
+ensin \komento{section} ennen kuin voi olla \komento{subsection}. Muuten
+otsikoiden numerointi ei toimi oikein. Poikkeus on \komento{part}, jota
+ei välttämättä tarvitse käyttää.
+
+Otsikkotasot \komentom{paragraph} ja \komentom{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 alaluvussa \ref{luku/otsikot-ulkoasu}. Yksinkertaiset
+korostuskomennot ja tavutusvihjeet (\komento{-}) kuitenkin toimivat
+yleensä. Hauraiden komentojen (luku \ref{luku/komennot-hauraat}) eteen
+täytyy kirjoitaa 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 vain
+\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 niin sanottu 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 muilla keinoilla,
+jotka neuvotaan luvussa \ref{luku/otsikot-numerointi}.
+
+Jos kuitenkin jostain syystä 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 \komentom{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 \komentom{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 \laskurim{secnumdepth} on tarkoitettu kirjoittajan
+asetettavaksi, ja sillä määritetään, mihin otsikkotasoon saakka otsikot
+numeroidaan. Tasonumerot ovat taulukossa \ref{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:%
+\footnote{Parempi olisi ehkä käyttää sitovaa ajatusviivaa, jonka saa
+  \paketti{extdash}\-/ paketin \komento{==}\-/ komennolla. Katso
+  lisätietoa luvusta \ref{luku/tavutus-sallivat-sitovat}.}
+
+\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. Perus Latexin keinoihin voi tutustua
+esimerkiksi epävirallisen Latex\-/ hakuteoksen \textcite{unoffref}
+avulla. Tässä oppaassa sen sijaan keskitytään \paketti{titlesec}\-/
+pakettiin.
+
+Otsikoiden perusmuotoilu on helpointa toteuttaa
+\komentom{titleformat*}\-/ komennon avulla. Sille annetaan argumentiksi
+otsikkokomennon nimi 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 \komentom{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
+\komentom{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 \komentom{titlespacing*}. Sille annetaan
+argumentiksi otsikkokomennon nimi 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
+\komentom{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
+\komentom{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
+\komentom{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 ''kausia'' ja pääluvut ovat ''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
+Tässä \komento{renewcommand}\-/ komennot sijoitettiin \komento{addto}\-/
+komennon sisään, sen toiseen argumenttiin. Komento \komento{addto}
+täytyy suorittaa lähdedokumentin esittelyosassa, ja tässä 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 \komentom{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 \komentom{frontmatter}, joka
+asettaa sivunumeroiden tyyliksi roomalaiset numerot (i, ii, iii jne.) ja
+poistaa pääluvuilta (\komento{chapter}) numeroinnin. Tässä osassa ovat
+teoksen kansi 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
+\komentom{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 \komentom{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 \komentom{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}.
+
+\section{Sisällysluettelo}
+\label{luku/sisällysluettelo}
+
+Dokumentin sisällysluettelo syntyy helposti yhdellä komennolla:
+\komentom{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 \laskurim{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 \komentom{contentsname}. Komento on määritelty
+kieliasetuksissa, ja se latoo suomen kielessä sanan ''Sisältö'' tai
+''Sisällys''.%
+\footnote{Se, kumpi otsikko on käytössä, riippuu kielipakettien
+  \paketti{polyglossia} ja \paketti{babel} versiosta. Vuonna 2020
+  kumpaankin kielipakettiin on muutettu otsikoksi ''Sisällys'', joka on
+  selvästi yleisin sisällysluettelon otsikko.} 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 \komentom{addcontentsline}, jonka käytöstä on
+esimerkki luvussa \ref{luku/otsikot}. Pelkkään pdf\-/ tiedoston
+sisäiseen sisällysluetteloon voi lisätä kohtia komennolla
+\komentom{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
+(\komentom{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 (ns. 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. 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ö \ymparistom{itemize} tekee numeroimattoman luetelman, jonka
+jokainen kohta merkitään samanlaisella merkillä, esimerkiksi
+luetelmaympyrällä~(\textbullet). \ymparistom{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ö \ymparistom{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.
+
+Luetelmien perusrakenne on samanlainen: luetelmaympäristön sisällä
+käytetään \komentom{item}\-/ komentoa, joka aloittaa uuden
+luetelmakohdan. Komennolle ei tarvitse antaa argumenttia: se vain
+aloittaa uuden luetelmakohdan. 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 tai koodi.
+
+\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 ulommaisin \ymparisto{itemize}\-/ ympäristö käyttää
+luetelmaympyrää~(\textbullet), mutta sen sisällä oleva käyttää
+ajatusviivaa~(\==). Ulommaisin \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} % ulommainen luetelma
+\renewcommand{\labelitemii} {\normalfont\bfseries\textendash}
+\renewcommand{\labelitemiii}{\textasteriskcentered}
+\renewcommand{\labelitemiv} {\textperiodcentered}
+
+% enumerate-ympäristön numerointitapa
+\renewcommand{\labelenumi}  {\arabic{enumi}.} % ulommainen 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*}
+
+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.
+
+\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,
+kirjaimesta~\textit{a} tms. 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. Ulommaisen
+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} % ulommainen 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ä kolmen
+seuraavassa esimerkissä mainitun mitan avulla. Mittojen sijainti
+luetelmassa on nähtävissä kuvassa \ref{kuva/list-mitat}
+(s.~\pageref{kuva/list-mitat}). Seuraavat komennot 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ö \ymparistom{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 tarkemmin
+luvussa \ref{luku/ympäristöt}, mutta tämänkin 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, jonka muodostaa luetelmakohdan merkin. Numeroimattomassa
+luetelmassa siihen voi laittaa esimerkiksi luetelmaympyrän eli komennon
+\komento{textbullet} tai ajatusviivan (\koodi{--}). 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 luo sen 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, <->] (#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, luetelman 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 kohtaa. 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{renewcommand}\-/
+komennolla tehtävään määritelmään. Katso lisätietoa komentojen
+määrittelyä 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 varsinaista taulukoiden tekniikkaa
+käsitellään kuitenkin niiden sijoittamista ja typografiaa.
+
+Taulukon voi sijoittaa dokumenttiin eri tavoin. Yksi mahdollisuus on
+sijoittaa taulukot normaalin tekstivirran mukaan omiksi
+tekstikappaleikseen. Pieni pystysuuntainen väli on silloin tarpeen ennen
+ja jälkeen taulukon. Jos tekstikappaleiden välissä ei ole normaalisti
+ole väliä (\mitta{parskip}\-/ mitta), 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 (\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}, jonka rakenne on
+seuraava:
+
+\komentoi{\keno}
+\ymparistoi{tabular}
+\begin{koodilohkosis}
+\begin{tabular}[sijainti]{sarakkeet}
+  solu 1 & solu 2 \\
+  solu 3 & 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} & #2 \\}
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Tyyppi} & \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}
+}
+
+Ensimmäinen 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 & Oikea & Keskitetty \\[.5ex]
+  \hline
+  16 & 32 & 11732 \\
+  \cline{1-2}
+  71 & 87235 & 2 \\
+  \cline{3-3}
+  1235 & 238 & 982 \\
+  \hline
+\end{tabular}
+\end{koodilohko}
+
+  \begin{tulos}
+    \versaalinum
+    \renewcommand{\arraystretch}{1.3}
+    \begin{tabular}{|l@{\hspace{4em}}r|c|}
+      \hline
+      Vasen & Oikea & Keskitetty \\[.5ex]
+      \hline
+      16 & 32 & 11732 \\
+      \cline{1-2}
+      71 & 87235 & 2 \\
+      \cline{3-3}
+      1235 & 238 & 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{\&}\=/
+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
+\komentom{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 ladotaan
+taulukkoon useita vierekkäin. Viivojen väliseen etäisyyteen voi
+vaikuttaa mitan \mittam{doublerulesep} avulla. Sen oletusarvo on 2\,pt.
+Kaikkien viivoja paksuus puolestaan on mitassa \mittam{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 \mittam{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
+täysin haluamansa laiseksi. Esimerkiksi 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 & toinen \\
+\end{tabular}
+\end{koodilohkosis}
+
+\subsection{Poikkeuksellisia sarakkeita ja rivejä}
+
+Taulukkoympäristön argumenteissa määritellään taulukon sarakkeiden määrä
+tyypit, mutta siihen on mahdollista tehdä yksittäisiä poikkeuksia
+taulukon sisällä. Sarakekohtaiset poikkeukset tehdään komennolla
+\komentom{multicolumn} ja rivikohtaiset poikkeukset komennolla
+\komentom{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 & ,34 \\
+    4 & ,021 \\
+   32 & \\
+    0 & ,75 \\
+  \hline
+\end{tabular}
+\end{koodilohko}
+
+  \begin{tulos}
+    \renewcommand{\arraystretch}{1.2}
+    \versaalinum
+    \begin{tabular}{|r@{}l|}
+      \multicolumn{2}{l}{Tulokset} \\
+      \hline
+      425 & ,34 \\
+      4 & ,021 \\
+      32 & \\
+      0 & ,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
+pyritään jakamaan useammalle riville. Sanoja mahdollisesti katkaistaan
+tavurajojen kohdalta. Myös \komentom{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 & Tämä ei mahdu yhdelle riville. & solu \\ \hline
+\end{tabular}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \renewcommand{\arraystretch}{1.2}
+  \begin{tabular}{|l|p{6.5em}|l|}
+    \hline solu & Tämä ei mahdu yhdelle riville. & 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 \pakettim{multirow}\-/ pakettia ja sen \komentom{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} & tavallisia & soluja \\
+  \cline{2-3}
+                                     & kahdella   & rivillä \\
+  \hline
+\end{tabular}
+\end{koodilohko}
+
+  \begin{tulos}
+    \renewcommand{\arraystretch}{1.3}
+    \begin{tabular}{|l|l|l|}
+      \hline
+      \multirow{2}{*}[-1bp]{kaksirivinen solu} & tavallisia & soluja \\
+      \cline{2-3}
+                                               & kahdella & 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ö \ymparistom{tabular*} toimii muuten
+samalla tavalla kuin \ymparisto{tabular}, mutta se tarvitsee yhden
+argumentin lisää, 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ä seuraavaa 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 \ymparistom{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 & venyvä & venyvä \\ \hline
+\end{tabularx}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  \renewcommand{\arraystretch}{1.2}
+  \begin{tabularx}{\linewidth}{|l|X|X|}
+    \hline luonnollinen & venyvä & 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{>}\=/ 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}
+>{\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 \komentom{newcolumntype}, ja edellä mainitut tyypit
+voisi määritellä seuraavasti:
+
+\komentoi{arraybackslash}
+\komentoi{centering}
+\komentoi{newcolumntype}
+\komentoi{raggedleft}
+\komentoi{raggedright}
+\begin{koodilohkosis}
+\newcolumntype{L}{>{\raggedright\arraybackslash}X}
+\newcolumntype{C}{>{\centering\arraybackslash}X}
+\newcolumntype{R}{>{\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}{>{\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
+\komentom{tabularx} ja lopetukseen komentoa \komentom{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
+\ymparistom{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 tyylikkäämpiä ja erilaisia vaakaviivoja. Paketin komennot
+\komento{toprule}, \komento{midrule}, \komento{bottomrule} ja
+\komento{cmidrule} piirtävät rivien väliin erilaisia 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/korostus-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 tekstirivien 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 sisennykset
+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. Tämän rivin lopussa on komento
+\komento{kill}, joka hylkää rivin eli jättää sen latomatta. Seuraavien
+rivien lopussa on aina \komento{\keno}\-/ komento -- paitsi viimeisellä
+rivillä ennen ympäristön lopetuskomentoa. Rivin sisällä seuraavaan
+sarkainkohtaan hypätään \komento{>}\-/ komennolla.
+
+\begin{esimerkki*}
+  \ymparistoi{tabbing}
+  \komentoi{hspace}
+  \komentoi{kill}
+  \komentoi{=}
+  \komentoi{>}
+
+\begin{koodilohko}
+\begin{tabbing}
+  \hspace{23mm} \= \hspace{23mm} \= \hspace{23mm} \= \kill
+  Tässä \> on \\
+  \> eri \> tavoin \\
+  \>\> sisennettyä \\
+  \>\>\> tekstiä.
+\end{tabbing}
+\end{koodilohko}
+
+  \begin{tulos}
+    \begin{tabbing}
+      \hspace{23mm} \= \hspace{23mm} \= \hspace{23mm} \= \kill
+      Tässä \> on \\
+      \> eri \> tavoin \\
+      \>\> sisennettyä \\
+      \>\>\> 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 erikoiskomento, 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
+  ehkä haluta latoa näkyviin.
+\item [=] Sarkainkohdan määrittäminen komennon kohdalle.
+\item [>] 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 [<] 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 komennolla \komento{+} tai \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{<}
+  \komentoi{=}
+  \komentoi{>}
+  \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ä \> kaikki \> eri \> sarkainkohdat \+ \\
+  valmiiksi sisennetty \+ \\
+  vielä enemmän sisennetty \- \\
+  vähemmän sisennetty \>\> oikealle\' \\
+  \< 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ä \> kaikki \> eri \> sarkainkohdat \+ \\
+      valmiiksi sisennetty \+ \\
+      vielä enemmän sisennetty \- \\
+      vähemmän sisennetty \>\> oikealle\' \\
+      \< 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. Seuraavassa esimerkissä
+määritetään sarkainten leveysmitta \mittax{sarkainleveys} ja komento
+\komentox{sarkain}, jolla tekstiä voi kirjoittaa tietyn levyiseen
+laatikkoon.
+
+\komentoi{newlength}
+\komentoi{setlength}
+\komentoi{newcommand}
+\komentoi{makebox}
+\komentoi{ignorespaces}
+\begin{koodilohkosis}
+  \newlength{\sarkainleveys}
+  \setlength{\sarkainleveys}{23mm}
+  \newcommand{\sarkain}[3][l]{%
+    \makebox[#2\sarkainleveys][#1]{#3}\ignorespaces}
+\end{koodilohkosis}
+
+\noindent
+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. Katso lisätietoa \komento{makebox}\-/
+komennon argumenteista luvusta \ref{luku/laatikot-pienet}. Esimerkki
+\ref{esim/sarkain-laatikot} havainnollistaa sarkainten toteuttamista
+laatikoiden avulla.
+
+\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*}
+
+\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 muusta 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 \pakettim{floatrow}\-/ paketin
+avulla niitä voi tehdä muitakin (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 Latex\-/
+lähdedokumentissa. Tosin samantyyppiset leijuvat osat, esimerkiksi
+kuvat, ladotaan aina siinä järjestyksessä kuin ne ovat
+lähdedokumentissa. 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ö \ymparistom{table} on tarkoitettu taulukoille, ja ympäristö
+\ymparistom{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 & Lukuja \\
+      \hline
+      324 & 33 \\
+      2   & 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 sinänsä ei 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}{Taulukko}
+  \renewcommand{\figurename}{Kuva}
+}
+\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 \komentom{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 yksilöllinen tunniste ristiviittausta varten. Se tehdään
+\komento{label}\-/ komennolla, jota käsitellään ristiviitteiden
+yhteydessä luvussa \ref{luku/ristiviitteet}.
+
+Leijuvista ympäristöistä on olemassa myös tähdelliset versiot,
+\ymparistom{table*} ja \ymparistom{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
+\komentom{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}} & #2 \\}
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Valitsin} & \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. Komento kuuluu
+    \paketti{floatrow}\-/ pakettiin}
+  \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ö. Komento
+  kuuluu \paketti{floatrow}\-/ pakettiin}
+\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} on tiedoston pääte. 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, 4.3 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 \komentom{listoftables} syntyy taulukkoluettelo ja komennolla
+\komentom{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 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}{Omat taulukot}
+  \renewcommand{\listfigurename}{Omat kuvat}
+}
+\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}) se 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} & #2 \\}
+  \begin{tabular}{cl}
+    \toprule
+    \ots{Valitsin} & \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})
+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 \pakettictan{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 tekstivirran sekaan. 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,
+  ennen kuin ne sijoitetaan 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}\-/ tasoisille
+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
+\pakettictan{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 & soluja \\
+      esimerkin & vuoksi \\
+    \end{tabular}
+  }
+\end{table}
+\end{koodilohko}
+  \caption{\komento{floatbox}\-/ komennon peruskäyttö}
+  \label{esim/floatbox-perus}
+\end{esimerkki*}
+
+\noindent
+Valinnaisen argumentin \koodi{leveys} voi jättää poiskin, jolloin
+leijuva osa varaa itselleen sivun leveyden verran tilaan. 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 vain
+sisällön levyiseksi. Esimerkki \ref{esim/floatbox-perus} selventää,
+miten \komento{floatbox}\-/ komento toimii käytännössä.
+
+Yksi leijuva ympäristö voi sisältää rinnakkain useampia taulukoita,
+kuvia tms., joilla jokaisella on oma kuvatekstinstä. 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. Seuraavasta esimerkistä selviää perusajatus kahden taulukon
+latomiseksi rinnakkain:
+
+\komentoi{caption}
+\komentoi{floatbox}
+\mittai{FBwidth}
+\ymparistoi{floatrow}
+\ymparistoi{table}
+\begin{koodilohkosis}
+\begin{table}
+  \begin{floatrow}[2]  % kaksi rinnakkain
+    \floatbox{table}[\FBwidth]{\caption{Vasen}}{…}
+    \floatbox{table}[\FBwidth]{\caption{Oikea}}{…}
+  \end{floatrow}
+\end{table}
+\end{koodilohkosis}
+
+\noindent
+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} & #2 \\}
+  \begin{tabularx}{\linewidth}{lL}
+    \toprule
+    \ots{Valitsin} & \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 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 \pakettictan{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 esimerkiksi
+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} & #2 \\}
+  \begin{tabularx}{\linewidth}{lL}
+    \toprule
+    \ots{Valitsin} & \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 argumentti \koodi{tyyppi} 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 eli avainsanoja 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 numeroinin käyttämällä
+    komentoa \komento{ContinuedFloat}}
+  \label{esim/continuedfloat}
+\end{esimerkki*}
+
+Joskus halutaan, että useampi taulukko, kuva tai muu leijuva osa
+muodostavat 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, 2.3 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}
+
+\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 osaa numeroida 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 kirjoittaa
+tunnisteen 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{taulukko/fonttikomentoja} % taulukon \caption-komennon jälkeen
+\label{kuva/kirjainleikkauksia}  % kuvan \caption-komennon jälkeen
+\end{koodilohkosis}
+
+\noindent
+Ristiviittauksissa vähimmällä vaivalla selviää, kun muistaa kaksi asiaa:
+1)~kirjoittaa \komento{label}\-/ komentoja vain niihin kohtiin, joihin
+täytyy viitata muualta, 2)~valitsee 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{taulukko/fonttimallikomennot} sivulla
+\pageref{taulukko/fonttimallikomennot}.
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Katso taulukko \ref{tlk/fonttimallikomennot} sivulla
+  \pageref{tlk/fonttimallikomennot}.
+\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
+\komento{ref}-, \komento{pageref}\-/\ ja \komento{nameref}\-/ komentojen
+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{Tässä on esimerkki alaviitteestä.} Alaviitteiden
+tarkoituksena on lisätä tekstiin lähes huomaamaton lisätieto, joka ei
+häiritse lukemista. Se sopii esimerkiksi lisätietoihin, joilla ei ole
+kovin suurta merkitystä tai jotka sopivat huonosti ladottavaksi
+leipätekstiin. Joskus 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
+kasvavasta 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
+pienempänä: sen koko tulee komennosta \komento{footnotesize} (luku
+\ref{luku/fontit-korkea}). Samalle sivulle voi sattua useampikin
+alaviite, ja ne erotetaan leipätekstistä pienellä pystysuuntaisella
+välillä sekä oletuksena myös lyhyellä vaakaviivalla. 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
+\paketti{chngcntr}\-/ paketin ja \komento{counterwithin*}\-/ komennon
+(luku \ref{luku/hierarkkiset-laskurit}) avulla seuraavan esimerkin
+mukaisesti. Toinen vaihtoehto on paketti \paketti{footmisc} ja valitsin
+\koodi{perpage}, jota käsitellään myöhemmin tässä luvussa.
+
+\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. Laskureihin liittyvää tekniikkaa
+käsitellään tarkemmin luvussa \ref{luku/laskurit}.
+
+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. Ehkä 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} & #2 \\}
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Valitsin} & \ots{Merkitys} \\
+    \midrule
+    \rivi{norule}{vaakasuuntainen erotinviiva pois}
+    \rivi{perpage}{numerointi sivukohtaiseksi}
+    \rivi{bottom}{alaviite aina sivun alareunaan}
+    \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}).
+
+Oletuksena alaviitekappaleet ladotaan samalla tavalla kuin
+tekstikappaleet oletuksena muutenkin: alaviitteen ensimmäinen rivi on
+sisennetty ja sen alussa on alaviitteen numero. Seuraavia rivejä ei
+sisennetä. Tällainen asetus sopii hyvin pitkien alaviitetekstien
+latomiseen. Usein ne 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}{1.5em}
+\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}%
+  \textsuperscript*{,}%
+  \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}
+
+Latexissa on perustoiminnot usean palstan käsittelyyn, 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, jossa 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. Näitä 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. Ympäristön avulla 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, mutta se on normaalia muutenkin. 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 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{\{\}}. \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 \& Teikäläinen (2020: 27--29)
+\end{tulossis}
+
+\noindent
+Lähdeluettelo kirjoitetaan \ymparistom{thebibliography}\-/ ympäristön ja
+\komentom{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 \& Teikäläinen]{johdatus}
+  Meikäläinen, Matti \& 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 \&
+Teikäläinen''. Vuosiluvun sulkeiden ympärillä ei saa olla välilyöntejä.
+
+Komennon pakollinen argumentti on kyseisen lähdeteoksen yksilöllinen
+tunniste, jonka avulla kyseiseen 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}\komentoarg{\dots} & #2 \\}
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Komento} & \ots{Esimerkki} \\
+    \midrule
+    \rivi{citet}{Meikäläinen ym. (2020)}
+    \rivi{citet*}{Meikäläinen \& Teikäläinen (2020)}
+    \rivi{citep}{(Meikäläinen ym. 2020)}
+    \rivi{citep*}{(Meikäläinen \& Teikäläinen 2020)}
+    \rivi{citealt}{Meikäläinen ym. 2020}
+    \rivi{citealt*}{Meikäläinen \& Teikäläinen 2020}
+    \rivi{citeauthor}{Meikäläinen ym.}
+    \rivi{citeauthor*}{Meikäläinen \& Teikäläinen}
+    \rivi{citeyear}{2020}
+    \rivi{citeyearpar}{(2020)}
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{\paketti{natbib}\-/paketin lähdeviittauskomentoja}
+  \label{tlk/natbib-cite}
+}
+
+Lähdeluettelon ulkoasuun voi vaikuttaa mittojen \mittam{bibhang} ja
+\mittam{bibsep} avulla. Ensin mainittu on lähdemerkinnän vaakasuuntaisen
+riippuvan sisennyksen suuruus, ja jälkimmäinen on lähdemerkintöjen
+välinen pystysuuntainen tila. Mitat asetetaan \komento{setlength}\-/
+komennolla (luku \ref{luku/mitat}):
+
+\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 \komentom{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 \komentom{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; lähdeluettelon otsikkoon ei numerointia
+välttämättä haluta. 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
+Tässä alaluvussa on käsitelty lähdeluettelon ja lähdeviitteiden
+tekemistä \paketti{natbib}\-/paketin toimintojen avulla. Paketti
+sisältää muitakin ominaisuuksia, joihin kannattaa tutustua paketin
+ohjekirjan avulla. On muun muassa mahdollista tehdä lähdeteoksista
+tietokanta Bibtex\-/järjestelmän avulla. Jos kuitenkin siihen suuntaan
+haluaa edetä, ei kannata käyttää \paketti{natbib}\-/pakettia eikä
+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 niillä keinoilla, jotka on kuvattu luvussa \ref{luku/natbib}
+(\paketti{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}
+ at 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}
+ at book{itkonen_typogr,
+  author = {Itkonen, Markus},
+  title = {Typografian käsikirja},
+  date = {2019},
+  edition = {5},
+  publisher = {Typoteekki. Graafinen suunnittelu Markus Itkonen Oy}
+}
+
+ at 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/}
+}
+
+ at 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/}
+}
+
+ at online{ctan,
+  title = {Comprehensive TeX Archive Network},
+  shorttitle = {CTAN},
+  date = {1992/},
+  url = {https://www.ctan.org/}
+}
+\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:
+\koodim{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 \koodim{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 \koodim{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 \koodim{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önnimeksi. 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ä~\mbox{(\koodi{-})}.
+
+\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}
+ at string{
+  oma = {Meikäläinen, Matti},
+  lehti = {Hienon hieno aikakauslehti}
+}
+
+ at article{hieno_artikkeli,
+  author = oma,
+  journaltitle = lehti,
+  ...
+}
+
+ at article{toinen_artikkeli,
+  author = oma # { 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 ovat myös paketit
+\paketti{polyglossia} ja \paketti{csquotes}. Jälkimmäinen sisältää
+lainausmerkkien käyttöön liittyvää logiikkaa (luku
+\ref{luku/lainausmerkit}), jota ilman \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}
+% Polyglossia tai babel on ladattava ennen biblatexia.
+\usepackage{polyglossia}
+
+% 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. Laajennettujen tyylien 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}.
+
+Esimerkin \ref{esim/biblatex-käyttöönotto} komentojen lisäksi täytyy
+komennolla \komento{addbibresource} nimetä kaikki käyttöön otettavat
+teostietokantatiedostot. Komentoja ja tiedostoja voi olla useampiakin,
+ja tietokanta voi olla myös verkko\-/osoitteen takana oleva tiedosto.
+\komento{addbibresource}\-/ komennot täytyy kirjoittaa Latex\-/
+dokumentin 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. Näin voidaan
+esimerkiksi rajata painetut lähteet yhteen luetteloon, julkaisemattomat
+toiseen ja verkkolähteet kolmanteen.
+
+\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}\komentoarg{\dots} & #2 \\}
+  \begin{tabular}{ll}
+    \toprule
+    \ots{Komento} & \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. Komennoille voi antaa
+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 \mittam{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. \mittamargin{bibitemsep} Sen avulla voi harventaa lähdeluetteloa,
+jolloin lähdemerkinnät erottuvat paremmin toisistaan. Mitan
+\mittam{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
+\mittam{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 \komentom{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ää \&\=/merkkiä ainakin lähdeluettelossa.
+Seuraavat esimerkkikomennot asettavat lähdeluettelon kaikkien nimien
+erottimeksi \&\=/merkin.
+
+\komentoi{DeclareDelimFormat}
+\begin{koodilohkosis}
+\DeclareDelimFormat[bib]{multinamedelim}{\space\&\space}
+\DeclareDelimFormat[bib]{finalnamedelim}{\space\&\space}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  Meikäläinen, Matti \& Teikäläinen, Teija \& 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 \&\=/merkki. Oletuksena viittauksissa
+käytetään \textit{ja}\-/sanaa.
+
+\komentoi{DeclareDelimFormat}
+\begin{koodilohkosis}
+\DeclareDelimFormat[parencite]{finalnamedelim}{\space\&\space}
+\end{koodilohkosis}
+
+\begin{tulossis}
+  (Meikäläinen, Teikäläinen \& 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ä (max) ylittyy, typistetään tekijäluettelo vähimmäismäärään
+(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ä lähdeluettelon latomisen yhteydessä 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} \& \textsc{Teikäläinen},
+  \textsc{Teija} (2020). -- --
+\end{tulossis}
+
+\noindent
+Lähdeluettelon eri osien erottimena on yleensä 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
+\pakettictan{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ä tehty
+useampia, mutta parhaita taitavat olla \pakettictan{indextools} ja
+\pakettictan{imakeidx}. Ne ovat käytännössä lähes sama paketti:
+\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 haluaa vaikuttaa
+asetuksiin tai jos dokumenttiin tarvitaan useampia asiahakemistoja,
+täytyy tietää \komento{makeindex}\-/ komennosta enemmän. Tässä luvussa
+käsitellään \komento{makeindex}\-/ komennon muita ominaisuuksia
+pakettien \paketti{indextools} ja \paketti{imakeidx} näkökulmasta.
+Komennolla vaikutetaan yksittäisen hakemiston ominaisuuksiin. Yleisiä,
+kaikkien hakemistojen latomiseen liittyviä asetuksia käsitellään luvussa
+\ref{luku/asiasanat-asetukset}.
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
+  \begin{tabularx}{\linewidth}{lL}
+    \toprule
+    \ots{Valitsin} & \ots{Merkitys} \\
+    \midrule
+    \rivi{name}{asiahakemiston tekninen nimi}
+    \rivi{title}{asiahakemistolle ladottava otsikko}
+    \rivi{intoc}{sisällysluetteloon lisääminen}
+    \rivi{columns}{asiahakemiston sarakkeiden lukumäärä}
+    \rivi{columnsep}{asiahakemiston sarakkeiden väli (mitta)}
+    \rivi{columnseprule}{pystyviiva sarakkeiden 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 eli 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} antaa 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 \paketti{polyglossia}\-/ kielipaketissa suomen kieliasetuksilla
+''\indexname''.
+
+Jos valitsin \koodi{intoc} on mukana, kyseinen asiahakemisto eli sen
+otsikko lisätään myös sisällysluetteloon. Valitsimella \koodi{columns}
+asetetaan hakemiston sarakkeiden lukumäärää ja valitsimella
+\koodi{columnsep} mitta, joka on sarakkeiden välinen tyhjä tila.
+Sarakkeiden väliin saa pystyviivan antamalla valitsimen
+\koodi{columnseprule}. Teknisesti sarakkeet toteutetaan
+\paketti{multicol}\-/ paketin avulla, joten sen paketin mitat ovat
+käytettävissä myös asiahakemistojen latomisessa. Katso lisätietoa
+sarakkeista 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
+GNU/\katk 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 at 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
+''\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
+''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 lähinnä 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} & #2 \\}
+  \begin{tabularx}{\linewidth}{lL}
+    \toprule
+    \ots{Valitsin} & \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. \komento{usepackage}\-/ komennon valinnaiseen argumenttiin
+kirjoittaa useita valitsimia, ja ne erotetaan toisistaan pilkulla.
+Mahdollisia valitsimia on useita, mutta tässä oppaassa käsitellään vain
+pari tärkeintä.
+
+Esimerkiksi valitsin \koodi{xindy}, aiheuttaa sen, että
+\komento{makeindex}\-/ komennoilla määritetyille 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
+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. 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} & #2 \\}
+  \begin{tabularx}{\linewidth}{lL}
+    \toprule
+    \ots{Valitsin} & \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 sivuilta 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 reunojen sijaintia,
+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.
+
+Vektorigrafiikkaan erikoistunut kieli ja komennot toimivat ympäristön
+\ymparisto{tikzpicture} sisällä. Se ei ole mikä tahansa Latexin tekstiä
+ja merkintätapoja sisältävä 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ä olleessa esimerkissä piirretään komennolla \komento{draw}
+viivakuvio, jonka välipisteiden kordinaatit 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 piirtää pystyviivan suuren kolmion
+keskelle ja jakaa sen kahdeksi pienemmäksi kolmioksi.
+
+Koordinaatit voi ilmaista suhteessa polun edelliseen pisteeseen
+lisäämällä koordinaatin 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 listä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/korostus-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, ->] (0,0) -- (10,5);
+  \draw [nuoli, <<-, draw=blue] (10,0) -- (20,5);
+  \draw [nuoli, <->] (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, ->] (0,0) -- (10,5);
+      \draw [nuoli, <<-, draw=blue] (10,0) -- (20,5);
+      \draw [nuoli, <->] (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{Tekstiä tai muuta sisältäviä 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, laatikolle 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{koodilohkosis}
+\begin{tikzpicture}[x=1mm, y=1mm]
+  \node (ympyrä)      at  (0,0) [draw, circle]    {vasen};
+  \node (suorakulmio) at (20,0) [draw, rectangle] {oikea};
+  \draw [->, shorten >=1mm] (ympyrä) to [out=45, in=135] (suorakulmio);
+\end{tikzpicture}
+\end{koodilohkosis}
+
+  \begin{tulossis}
+    \begin{tikzpicture}[x=1mm, y=1mm]
+      \node (ympyrä) at (0,0) [draw, circle] {vasen};
+      \node (suorakulmio) at (20,0) [draw, rectangle] {oikea};
+      \draw [->, shorten >=1mm] (ympyrä) to [out=45, in=135] (suorakulmio);
+    \end{tikzpicture}
+  \end{tulossis}
+
+  \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. Viivojen
+piirtämisessä \komento{draw}\-/ komennon koordinaattien sijasta
+käytetäänkin 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~>}.
+
+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. Matematiikkatila on aivan
+oma todellisuutensa, joka ei pintapuolisesti tarkastellessa 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 matematiikkatilan 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ä
+matemaattinen teksti 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 muuttujiksi 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. Ristiviittauksista on tarkempaa tietoa 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 kaiken täytyy sisältyä
+yhteen kappaleeseen eli tyhjiä rivejä ei sallita. Matemaattiset kaavat
+ladotaan oletuksena sivun keskelle, mutta jos asettaa Latexin
+dokumenttiluokalle (luku \ref{luku/perusdokumenttiluokat}) 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 &= 6 \\
+     x      &= 2 \\
+   \end{array} \]
+\end{koodilohkosis}
+\[ \begin{array}{r@{~}l}
+     4x - 2 &= 6 \\
+     x      &= 2 \\
+   \end{array} \]
+
+\noindent
+Pidemmälle kehitettyjä matematiikkaympäristöjä on paketissa
+\pakettictan{amsmath}. Esimerkiksi \mymparisto{align}\-/\ ja
+\mymparisto{align*}\-/ ympäristöt pystyvät tasaamaan allekkaiset kaavat
+tietystä kohdasta, eikä taulukon sarakkeita tarvitse erikseen
+määritellä. Tasauskohta ilmaistaan lähdedokumentissa \koodi{\&}\-/
+merkillä normaalien taulukoiden tavoin. Ympäristön tähtiversio
+\mymparisto{align*} ei lado kaavan numeroa mukaan. Edellä olleen
+yhtälöesimerkin voi toteuttaa yksinkertaisemmin seuraavasti:
+
+\mymparistoi{align*}
+\begin{koodilohkosis}
+\begin{align*}
+  4x - 2 &= 6 \\
+  x      &= 2
+\end{align*}
+\end{koodilohkosis}
+
+\noindent
+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 ($+ : / = \; < \; >$) kirjoitetaan näppäimistöltä
+sellaisenaan. Miinusmerkki ($-$) kirjoitetaan yhdysmerkin (\koodi{-})
+avulla, eli se ladotaan dokumenttiin Unicode\-/ merkistön miinusmerkkinä
+\uctunnus{u+2212 minus sign}. Kertomerkit voi kirjoittaa
+lähdedokumenttiin sellaisenaan mutta myös komennolla \mkomento{cdot}
+($\cdot$) tai \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 &= 4 \\
+             y &= -2 \\
+           \end{array} \right. \]
+\end{koodilohkosis}
+\[ \left\{ \begin{array}{l@{~}l}
+             x &= 4 \\
+             y &= -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 murtoviivan 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{\&}\=/
+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 & 2 \\ 3 & 4 \\ \end{matrix} \qquad
+   \begin{bmatrix}
+     1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\
+   \end{bmatrix} \]
+\end{koodilohkosis}
+\[ \begin{matrix} 1 & 2 \\ 3 & 4 \\ \end{matrix} \qquad
+  \begin{bmatrix}
+    1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\
+  \end{bmatrix} \]
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[3]{\mkomento{#1} & $#2$ & #3 \\}
+
+  \begin{tabular}{lll}
+    \toprule
+    \ots{Komento}
+    & \ots{Esimerkki}
+    & \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$ & \mkomento{#2}}
+
+  \begin{tabular}{*{4}{cl}}
+    \toprule
+
+    \rivi{\alpha}{alpha}
+    & \rivi{\Alpha}{Alpha}
+    & \rivi{\beta}{beta}
+    & \rivi{\Beta}{Beta} \\
+
+    \rivi{\gamma}{gamma}
+    & \rivi{\Gamma}{Gamma}
+    & \rivi{\delta}{delta}
+    & \rivi{\Delta}{Delta} \\
+
+    \rivi{\epsilon}{epsilon}
+    & \rivi{\varepsilon}{varepsilon}
+    & \rivi{\Epsilon}{Epsilon}
+    & \rivi{\zeta}{zeta} \\
+
+    \rivi{\Zeta}{Zeta}
+    & \rivi{\eta}{eta}
+    & \rivi{\Eta}{Eta}
+    & \rivi{\theta}{theta} \\
+
+    \rivi{\vartheta}{vartheta}
+    & \rivi{\Theta}{Theta}
+    & \rivi{\iota}{iota}
+    & \rivi{\Iota}{Iota} \\
+
+    \rivi{\kappa}{kappa}
+    & \rivi{\Kappa}{Kappa}
+    & \rivi{\lambda}{lambda}
+    & \rivi{\Lambda}{Lambda} \\
+
+    \rivi{\mu}{mu}
+    & \rivi{\Mu}{Mu}
+    & \rivi{\nu}{nu}
+    & \rivi{\Nu}{Nu} \\
+
+    \rivi{\xi}{xi}
+    & \rivi{\Xi}{Xi}
+    & \rivi{\pi}{pi}
+    & \rivi{\varpi}{varpi} \\
+
+    \rivi{\Pi}{Pi}
+    & \rivi{\rho}{rho}
+    & \rivi{\varrho}{varrho}
+    & \rivi{\Rho}{Rho} \\
+
+    \rivi{\sigma}{sigma}
+    & \rivi{\varsigma}{varsigma}
+    & \rivi{\Sigma}{Sigma}
+    & \rivi{\tau}{tau} \\
+
+    \rivi{\Tau}{Tau}
+    & \rivi{\upsilon}{upsilon}
+    & \rivi{\Upsilon}{Upsilon}
+    & \rivi{\phi}{phi} \\
+
+    \rivi{\varphi}{varphi}
+    & \rivi{\Phi}{Phi}
+    & \rivi{\chi}{chi}
+    & \rivi{\Chi}{Chi} \\
+
+    \rivi{\psi}{psi}
+    & \rivi{\Psi}{Psi}
+    & \rivi{\omega}{omega}
+    & \rivi{\Omega}{Omega} \\
+
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Kreikkalaisten kirjainten latominen matematiikkatilassa}
+  \label{tlk/matem-kreikk}
+}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[3][a]{$#2{#1}$ & \mkomento{#3}\mkomentoarg{#1}}
+
+  \begin{tabular}{*{3}{cl}}
+    \toprule
+
+    \rivi{\grave}{grave}
+    & \rivi{\ddot}{ddot}
+    & \rivi{\hat}{hat} \\
+
+    \rivi{\acute}{acute}
+    & \rivi{\check}{check}
+    & \rivi[aaa]{\widehat}{widehat} \\
+
+    \rivi{\breve}{breve}
+    & \rivi{\dot}{dot}
+    & \rivi{\tilde}{tilde} \\
+
+    \rivi{\bar}{bar}
+    & \rivi{\mathring}{mathring}
+    & \rivi[aaa]{\widetilde}{widetilde} \\
+
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Matematiikkatilan tarkekomentoja}
+  \label{tlk/matem-tarkkeita}
+}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[3][AB]{$#2{#1}$ & \mkomento{#3}\mkomentoarg{#1}}
+  \renewcommand{\arraystretch}{1.5}
+
+  \begin{tabular}{*{2}{cl}}
+    \toprule
+
+    \rivi{\overrightarrow}{overrightarrow}
+    & \rivi{\overleftarrow}{overleftarrow} \\
+
+    \rivi{\underrightarrow}{underrightarrow}
+    & \rivi{\underleftarrow}{underleftarrow} \\
+
+    \rivi{\overleftrightarrow}{overleftrightarrow}
+    & \rivi{\underleftrightarrow}{underleftrightarrow} \\
+
+    \rivi{\overline}{overline}
+    & \rivi{\underline}{underline} \\
+
+    \rivi[abc]{\overbrace}{overbrace}
+    & \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$ & \mkomento{#2}}
+
+  \begin{tabular}{*{4}{cl}}
+    \toprule
+
+    $<$
+    & \koodi{<}
+    & $>$
+    & \koodi{>}
+    & $=$
+    & \koodi{=}
+    & $:$
+    & \koodi{:} \\
+
+    $\leq$
+    & \mkomento{leq} \mkomento{le}
+    & $\geq$
+    & \mkomento{geq} \mkomento{ge}
+    & \rivi{\ll}{ll}
+    & \rivi{\gg}{gg} \\
+
+    \rivi{\equiv}{equiv}
+    & \rivi{\doteq}{doteq}
+    & \rivi{\prec}{prec}
+    & \rivi{\preceq}{preceq} \\
+
+    \rivi{\succ}{succ}
+    & \rivi{\succeq}{succeq}
+    & \rivi{\sim}{sim}
+    & \rivi{\simeq}{simeq} \\
+
+    \rivi{\subset}{subset}
+    & \rivi{\subseteq}{subseteq}
+    & \rivi{\supset}{supset}
+    & \rivi{\supseteq}{supseteq} \\
+
+    \rivi{\approx}{approx}
+    & \rivi{\cong}{cong}
+    & \rivi{\sqsubset}{sqsubset}
+    & \rivi{\sqsubseteq}{sqsubseteq} \\
+
+    \rivi{\sqsupset}{sqsupset}
+    & \rivi{\sqsupseteq}{sqsupseteq}
+    & \rivi{\bowtie}{bowtie}
+    & \rivi{\in}{in} \\
+
+    \rivi{\ni}{ni}
+    & \rivi{\propto}{propto}
+    & \rivi{\vdash}{vdash}
+    & \rivi{\dashv}{dashv} \\
+
+    \rivi{\models}{models}
+    & \rivi{\mid}{mid}
+    & \rivi{\parallel}{parallel}
+    & \rivi{\perp}{perp} \\
+
+    \rivi{\smile}{smile}
+    & \rivi{\frown}{frown}
+    & \rivi{\asymp}{asymp}
+    & \rivi{\notin}{notin} \\
+
+    $\neq$
+    & \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$ & \mkomento{#2}}
+  \renewcommand{\arraystretch}{1.1}
+
+  \begin{tabular}{*{4}{cl}}
+    \toprule
+
+    $+$
+    & \koodi{+}
+    & $-$
+    & \koodi{-}
+    & \rivi{\pm}{pm}
+    & \rivi{\mp}{mp} \\
+
+    \rivi{\cdot}{cdot}
+    & \rivi{\div}{div}
+    & \rivi{\times}{times}
+    & \rivi{\setminus}{setminus} \\
+
+    \rivi{\cup}{cup}
+    & \rivi{\cap}{cap}
+    & \rivi{\sqcup}{sqcup}
+    & \rivi{\sqcap}{sqcap} \\
+
+    \rivi{\vee}{vee}
+    & \rivi{\wedge}{wedge}
+    & \rivi{\oplus}{oplus}
+    & \rivi{\ominus}{ominus} \\
+
+    \rivi{\odot}{odot}
+    & \rivi{\oslash}{oslash}
+    & \rivi{\uplus}{uplus}
+    & \rivi{\otimes}{otimes} \\
+
+    \rivi{\sum}{sum}
+    & \rivi{\prod}{prod}
+    & \rivi{\coprod}{coprod}
+    & \rivi{\int}{int} \\
+
+    \rivi{\oint}{oint}
+    & \rivi{\bigoplus}{bigoplus}
+    & \rivi{\bigotimes}{bigotimes}
+    & \rivi{\bigodot}{bigodot} \\
+
+    \rivi{\bigvee}{bigvee}
+    & \rivi{\bigwedge}{bigwedge}
+    & \rivi{\bigcup}{bigcup}
+    & \rivi{\bigcap}{bigcap} \\
+
+    \rivi{\biguplus}{biguplus}
+    & \rivi{\bigsqcup}{bigsqcup} \\
+
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Operaattoreita}
+  \label{tlk/matem-operaattoreita}
+}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{$#1$ & \mkomento{#2}}
+
+  \begin{tabular}{*{2}{cl}}
+    \toprule
+
+    \rivi{\leftarrow}{leftarrow}
+    & \rivi{\rightarrow}{rightarrow} \\
+
+    \rivi{\longleftarrow}{longleftarrow}
+    & \rivi{\longrightarrow}{longrightarrow} \\
+
+    \rivi{\leftrightarrow}{leftrightarrow}
+    & \rivi{\longleftrightarrow}{longleftrightarrow} \\
+
+    \rivi{\Leftarrow}{Leftarrow}
+    & \rivi{\Rightarrow}{Rightarrow} \\
+
+    \rivi{\Longleftarrow}{Longleftarrow}
+    & \rivi{\Longrightarrow}{Longrightarrow} \\
+
+    \rivi{\Leftrightarrow}{Leftrightarrow}
+    & \rivi{\Longleftrightarrow}{Longleftrightarrow} \\
+
+    \rivi{\mapsto}{mapsto}
+    & \rivi{\longmapsto}{longmapsto} \\
+
+    \rivi{\hookleftarrow}{hookleftarrow}
+    & \rivi{\hookrightarrow}{hookrightarrow} \\
+
+    \rivi{\leftharpoonup}{leftharpoonup}
+    & \rivi{\rightharpoonup}{rightharpoonup} \\
+
+    \rivi{\leftharpoondown}{leftharpoondown}
+    & \rivi{\rightharpoondown}{rightharpoondown} \\
+
+    \rivi{\rightleftharpoons}{rightleftharpoons}
+    & \rivi{\iff}{iff} \\
+
+    \rivi{\uparrow}{uparrow}
+    & \rivi{\downarrow}{downarrow} \\
+
+    \rivi{\updownarrow}{updownarrow}
+    & \rivi{\Updownarrow}{Updownarrow} \\
+
+    \rivi{\Uparrow}{Uparrow}
+    & \rivi{\Downarrow}{Downarrow} \\
+
+    \rivi{\nearrow}{nearrow}
+    & \rivi{\searrow}{searrow} \\
+
+    \rivi{\swarrow}{swarrow}
+    & \rivi{\nwarrow}{nwarrow} \\
+
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Nuolia}
+  \label{tlk/matem-nuolia}
+}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{$#1$ & \mkomento{#2}}
+
+  \begin{tabular}{*{4}{cl}}
+    \toprule
+
+    \rivi{\langle}{langle}
+    & \rivi{\rangle}{rangle}
+    & \rivi{\lfloor}{lfloor}
+    & \rivi{\rfloor}{rfloor} \\
+
+    \rivi{\rceil}{rceil}
+    & \rivi{\lceil}{lceil}
+    & $|$
+    & \koodi{|} \mkomento{vert}
+    & $\|$
+    & \mkomentox{|} \mkomento{Vert} \\
+
+    \rivi{\lgroup}{lgroup}
+    & \rivi{\rgroup}{rgroup}
+    & \rivi{\lmoustache}{lmoustache}
+    & \rivi{\rmoustache}{rmoustache} \\
+
+    $/$
+    & \koodi{/}
+    & \rivi{\backslash}{backslash} \\
+
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Sulkeita ja erotinmerkkejä}
+  \label{tlk/matem-erottimia}
+}
+
+\leijutlk{
+  \providecommand{\rivi}{}
+  \renewcommand{\rivi}[2]{$#1$ & \mkomento{#2}}
+
+  \begin{tabular}{*{3}{cl}}
+    \toprule
+
+    $\neg$
+    & \mkomento{neg} \mkomento{lnot}
+    & \rivi{\angle}{angle}
+    & \rivi{\emptyset}{emptyset} \\
+
+    \rivi{\infty}{infty}
+    & $'$
+    & \koodi{'}
+    & \rivi{\prime}{prime} \\
+
+    \rivi{\forall}{forall}
+    & \rivi{\exists}{exists}
+    & \rivi{\wr}{wr} \\
+
+    \rivi{\bot}{bot}
+    & \rivi{\top}{top}
+    & \rivi{\surd}{surd} \\
+
+    \rivi{\dots}{dots}
+    & \rivi{\cdots}{cdots}
+    & \rivi{\vdots}{vdots} \\
+
+    \rivi{\ddots}{ddots}
+    & \rivi{\triangle}{triangle}
+    & \rivi{\triangleleft}{triangleleft} \\
+
+    \rivi{\triangleright}{triangleright}
+    & \rivi{\nabla}{nabla}
+    & \rivi{\star}{star} \\
+
+    \rivi{\ast}{ast}
+    & \rivi{\circ}{circ}
+    & \rivi{\bigcirc}{bigcirc} \\
+
+    \rivi{\bullet}{bullet}
+    & \begin{tikzpicture} % \diamond puuttuu fontista
+      \draw [rotate=45] (0,0) rectangle (.5ex,.5ex);
+    \end{tikzpicture}
+    & \mkomento{diamond}
+    & \rivi{\amalg}{amalg} \\
+
+    \rivi{\bigtriangleup}{bigtriangleup}
+    & \rivi{\bigtriangledown}{bigtriangledown}
+    & \rivi{\dagger}{dagger} \\
+
+    \rivi{\ddagger}{ddagger}
+    & \rivi{\diamondsuit}{diamondsuit}
+    & \rivi{\heartsuit}{heartsuit} \\
+
+    \rivi{\clubsuit}{clubsuit}
+    & \rivi{\spadesuit}{spadesuit}
+    & \rivi{\flat}{flat} \\
+
+    \rivi{\natural}{natural}
+    & \rivi{\sharp}{sharp}
+    & \rivi{\hbar}{hbar} \\
+
+    \rivi{\imath}{imath}
+    & \rivi{\jmath}{jmath}
+    & \rivi{\ell}{ell} \\
+
+    \rivi{\Re}{Re}
+    & \rivi{\Im}{Im}
+    & \rivi{\aleph}{aleph} \\
+
+    \rivi{\wp}{wp} \\
+
+    \bottomrule
+  \end{tabular}
+}{
+  \caption{Sekalaisia symboleja}
+  \label{tlk/matem-sekalaisia}
+}


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,430 @@
+% Tekijä:   Teemu Likonen <tlikonen at iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{Valmistautuminen}
+
+Tämän pääluvun tarkoituksena on johdatella uudet ihmiset Latexin pariin.
+Tämän luettuasi sinun pitäisi olla valmis aloittamaan Latexin käyttö ja
+opiskelemaan sen tekniikkaa eteenpäin. Jos taas olet jo tottunut
+kääntämään Latex\-/ lähdetiedostoja, voit aivan hyvin hypätä tämän luvun
+yli tai ehkä vain silmäillä tekstiä lisävinkkien toivossa.
+
+\section{Käsitteet ja nimet}
+
+Latex ja sen ympärille rakentuneet ohjelmistot ovat aika monimutkainen
+kokonaisuus, johon kuuluu eri\-/ikäisiä ja abstraktiotasoltaan erilaisia
+osia. Mukaan kuuluu tietenkin konkreettisia tietokoneohjelmia, jotka
+tekevät konkreettisia, ennalta määriteltyjä asioita. Mukaan kuuluu
+kuitenkin myös ihmisten luomia abstrakteja käsitteitä, jotka ovat
+vaikeammin määriteltävissä.
+
+Internetissä näkyy silloin tällöin termi- ja käsitekeskusteluja, jossa
+ihmetellään, mihin mikäkin Latexiin liittyvä palikka kuuluu
+käsitteellisesti. Millainen suhde joillakin uudemmilla osilla on
+vanhempiin? Oikeiden termien ja käsitteiden osaamisesta on hyötyä
+ainakin silloin, kun pyytää verkossa apua suurelta yleisöltä.
+Viestintähän aina vaatii, että puhutaan suunnilleen samaa kieltä, joten
+seuraavaksi selvennetään hieman Latexiin liittyviä peruskäsitteitä.
+
+\subsection{Tex ja Latex}
+
+Tex on tekstin ladontaan erikoistunut ohjelmointikieli. Kielen avulla
+voidaan antaa ladontaohjeita ja ilmaista muuta siihen liittyvää
+logiikkaa. Ohjelmointikielellä kirjoitettujen ohjeiden perusteella
+tietokoneohjelma osaa latoa tekstidokumentin ihmisten luettavaksi.
+Niinpä Tex on myös tietokoneohjelma (\koodi{tex}), joka osaa lukea
+Tex\-/ ohjelmointikieltä sisältävän tekstitiedoston ja tuottaa sen
+perusteella valmiin julkaistavan dokumentin. Yleensä Tex\-/
+ohjelmointikieltä ei kuitenkaan käytetä suoraan tekstidokumenttien
+toteuttamiseen. Ohjelmointikieltä kirjoittavat tavallisimmin vain ne,
+jotka haluavat kehittää itse ladontajärjestelmää paremmaksi muita
+ihmisiä varten.
+
+Latex toimii korkeammalla abstraktiotasolla kuin Tex. Se on laaja
+kokoelma toimintoja, jotka piilottavat monimutkaiset tekniset
+yksityiskohdat ja tarjoavat ihmisille varsin helppokäyttöisen
+merkintäkielen, jolla omat tekstidokumentit voi toteuttaa. Latex\-/
+merkintäkielen kirjoittaminen ei ole ohjelmointia, vaan se on oman
+dokumentin sisällön, rakenteen ja ulkoasun kuvailua tietynlaisten
+merkintätapojen avulla.
+
+Latex\-/ merkintäkielellä kuvatut dokumentit välitetään
+tietokoneohjelmalle jatkokäsiteltäväksi. Niinpä Latex on myös
+tietokoneohjelma (\koodi{latex}, \koodi{pdflatex}), jolla
+merkintäkielinen lähdetiedosto käännetään julkaistavaksi dvi- tai pdf\-/
+dokumentiksi.%
+\footnote{\textsc{dvi} = device independent file format; \textsc{pdf} =
+  portable document format.}
+
+Latex\-/ järjestelmästä käytetään tällä hetkellä versiota Latex~2ε, joka
+julkaistiin jo vuonna 1994 ja johon ilmestyy pieniä parannuksia
+vuosittain. Perusosat ovat kuitenkin varsin muuttumattomia. Varsinainen
+kiinnostava kehitys tapahtuukin esimerkiksi Latexin kääntäjissä
+(Lualatex ja Xelatex) sekä eri tekijöiden dokumenttiluokissa (luku
+\ref{luku/dokumenttiluokat}) ja laajennuspaketeissa. Viimeksi mainitut
+laajentavat perus\-/ Latexia tuomalla niihin lisää helppokäyttöisiä
+toimintoja.
+
+\subsection{Lualatex ja Xelatex}
+
+Nykyaikana Latex\-/ dokumentteja ei juuri käännetä alkuperäisillä
+kääntäjillä (\koodi{latex}, \koodi{pdflatex}, \koodi{tex}) vaan
+kehittyneemmillä kääntäjäohjelmilla.%
+\footnote{Englannin kielellä Latexin kääntäjiä on tapana kutsua
+  yleisnimellä \englantik{engine} 'kone, moottori'.} Niistä tärkeimmät
+ovat Lualatex ja Xelatex.%
+\footnote{Tietokoneohjelmat \koodi{lualatex} ja \koodi{luatex} sekä
+  \koodi{xelatex} ja \koodi{xetex}.} Ne muun muassa osaavat lukea
+Unicode\-/ merkistöllä kirjoitettuja lähdedokumentteja ja käyttää
+nykyaikaisia \englanti{True Type}- ja \englanti{Open Type} \=/fontteja,
+mitä alkuperäinen Latex ja Tex eivät osaa.
+
+Lualatexilla ja Xelatexilla ei ole ohjelmien käyttäjän kannalta
+suurtakaan eroa -- ei välttämättä mitään näkyvää eroa. Miksi sitten on
+olemassa kaksi, ulkoisesti lähes samanlaista kääntäjää? Tärkein syy
+taitaa olla se, että Xelatex tehtiin ensin. Tarkoituksena oli saada
+Unicode\-/ merkistön tuki ja fonttiasiat ajan tasalle. Myöhemmin jotkut
+ajattelivat, että Lua\-/ ohjelmointikieli täytyy saada mukaan. Sillä on
+merkitystä joillekuille laajennuspakettien tekijöille. Lua\-/ kielen
+sisällyttäminen oikeastaan pakotti kirjoittamaan koko homman uusiksi.
+Toteutuksissa on muitakin sisäisiä eroja. Xelatex oli pitkään suositumpi
+ja paremmin tuettu eri laajennuspaketeissa, mutta erot ovat sittemmin
+tasoittuneet.
+
+Latex\-/ kokeilun alkutaipaleella voi vaikka arpoa kolikon avulla,
+kumpaa kääntäjää käyttää, sillä niiden erot eivät ihan helposti tule
+esiin. Jotkin harvat laajennuspaketit eivät toimi Lualatexissa, kun taas
+toiset eivät toimi Xelatexissa. Joskus saattaa jopa tulla vastaan
+yksittäinen, kehityksestä ehkä jälkeen jäänyt paketti, joka ei toimi
+kummassakaan vaan ainoastaan perinteisillä kääntäjillä (\koodi{latex},
+\koodi{pdflatex}).
+
+Joissakin tilanteissa eri kääntäjien tekemissä pdf\-/ dokumenteissa
+näkyy pieniä eroja. Ainakin yksittäisissä fonttien asetuksissa ja
+joidenkin Unicode\-/ merkkien käsittelyssä on eroja. Tämänkin oppaan
+tekstissä mainitaan pari pientä ominaisuutta, jotka toimivat vain
+toisella kääntäjällä: toiset Lualatexilla, toiset Xelatexilla. Itse
+oppaan lähdetiedostot kääntyvät ja toimivat yhtä lailla molemmilla.
+
+\subsection{Latex yläkäsitteenä}
+
+Jotta kaikki olisi mahdollisimman sekavaa, ''Latex'' toimii myös
+yleisnimityksenä tälle kaikelle. Se esiintyy ilmauksissa kuten
+''Toteutin dokumentin Latexilla'' tai ''Tämä artikkeli on tehty
+Latexilla''. Ilmaukset sitten tarkoittavat suunnilleen seuraavanlaista:
+Henkilöllä on asennettuna tietokoneelle Latex\-/ jakelukokonaisuus
+(kuten Tex Live). Hän on kirjoittanut tekstieditorilla (kuten
+\textsc{gnu} Emacsilla) tekstitiedoston, jossa on dokumentin sisältö ja
+Latex\-/ merkintäkielisiä komentoja mutta ehkä myös joitakin Tex\-/
+komentoja. Sitten hän on kääntänyt eli ladotuttanut tekstitiedostonsa
+pdf\-/ tiedostoksi Latex\-/ ladontaohjelman jollakin toteutuksella kuten
+Lualatexilla tai Xelatexilla.
+
+Meille taitaa riittää vain Latexista puhuminen, mutta siitäkin on
+mainittava vielä yksi asia. Latexin harrastajat tykkäävät käyttää
+dokumenttiensa leipätekstissä ladontajärjestelmän logoja kuten \TeX{} ja
+\LaTeX{}. Usein teksteissä näkyy myös logojen pohjalta mukailtuja
+kirjoitusasuja TeX ja LaTeX.
+
+Kielenhuoltajien suositusten mukaan logojen eikä erikoisten
+kIRjoiTusAsuJen paikka ei ole asiatyylisten tekstilajien leipätekstissä.
+Nimet ovat osa kielen järjestelmää ja käyttäytyvät normaalissa tekstissä
+sen mukaisesti. Niinpä tässä oppaassa käytetään erisnimiä kielenhuollon
+normien mukaisesti, esimerkiksi Tex ja Latex. Koodi ja komennot ovat
+siinä muodossa kuin ne tietokoneelle annetaan, esimerkiksi
+\koodi{lualatex}. Tasalevyinen, kirjoituskonetyylinen fontti on merkkinä
+siitä, että kyse on tietokonekoodista.
+
+\section{Asentaminen tietokoneelle}
+\label{luku/asentaminen}
+
+Latex pitää tietysti asentaa tietokoneelle, jotta sitä voisi käyttää.
+Miten edellisessä luvussa kuvattu sekava kokonaisuus saadaan ehjänä
+omalle tietokoneelle? Onneksi muut ovat jo ratkaisseet sen ongelman.
+
+Tavallisin tapa Latexin käyttöönottoon on jonkin Latexin jakelupaketin
+asentaminen. Jakelupaketti sisältää Latexin perusosien lisäksi paljon
+laajennuspaketteja ja niiden ohjekirjoja. Kaikkea ei koskaan tarvitse,
+mutta kun yllättävä tarve tulee tai lukee vinkkejä verkkokeskusteluista,
+on mukavaa huomata, että paketti olikin itsellä jo valmiina. Siksi
+suosittelen kokonaisen jakelupaketin asentamista.
+
+\textsc{gnu}/Linuxissa ja muissa Unix\-/ tyyppisissä
+käyttöjärjestelmissä käytetään yleensä Tex Live \=/nimistä jakelua. Se
+on todennäköisesti saatavilla käyttöjärjestelmäjakelun
+pakettivarastoista. Esimerkiksi Debianiin%
+\footnote{\url{https://www.debian.org/}} ja sen kaltaisiin järjestelmiin
+on asennuspaketti ''texlive-full'', joka asentaa kaiken helposti ja
+kerralla.
+
+Windows\-/ käyttöjärjestelmälle on saatavilla Tex Liven lisäksi Miktex
+ja Protext. Mac \textsc{os} \=/käyttöjärjestelmän kanssa käytettäneen
+yleensä Mactex\-/ nimistä jakelua.
+
+\section{Apuohjelmia}
+
+\subsection{Tekstieditori}
+
+Omien dokumenttien ja Latex\-/ merkintäkielen kirjoittamiseen kannattaa
+käyttää kunnollista tekstieditoria, koska se on tärkein työkalu ja sen
+kanssa ollaan eniten tekemisissä. Pyri löytämään sellainen editori, joka
+osaa värjätä tekstiä Latexin tai Texin tekstipiirteiden mukaisesti.
+Väreillä ei sinänsä ole merkitystä, mutta editorin laadusta se yleensä
+kertoo paljon. Jos editori tuntee erilaisten ohjelmointi\-/{} ja
+merkintäkielten luonnetta ja osaa merkitä kielen avainsanoja
+havainnollisilla väreillä, se todennäköisesti on tehty tehokkaaseen
+ohjelmointiin ja muuhun vastaavaan työskentelyyn. Ihan yksinkertaisiin
+editoreihin ei tuollaisia ominaisuuksia yleensä tehdä.
+
+\subsection{Pdf-katselin}
+
+Latex\-/ kääntäjät eli \=/moottorit kuten Lualatex ja Xelatex tuottavat
+pdf\-/ tiedoston, ja niiden katselemiseen tarvitaan tietenkin oma
+ohjelmansa. Sellaisia on saatavilla paljon erilaisia, ja melkein mikä
+tahansa kelpaa, mutta yksi tietty ominaisuus olisi toivottavaa olla:
+muuttuneen pdf\-/ tiedoston automaattinen lataaminen.
+
+Välillä työskentely on sitä, että tehdään Latex\-/ dokumenttiin pieni
+muutos, käännetään se ja katsotaan pdf:ää. Lopputulos ei ehkä ihan
+miellytä. Muokataan tekstiä tai asetuksia vähän, käännetään ja
+katsotaan, miltä ladottu pdf nyt näyttää.
+
+On suuri apu, jos pdf\-/ katselimessa ei tarvitse joka kerta valikoiden
+kautta avata samaa tiedostoa uudelleen, vaan ohjelma itse huomaa, että
+jo avattu tiedosto muuttui tiedostojärjestelmässä, ja lataa sen
+automaattisesti uudelleen. Jotkin pdf\-/ ohjelmat osaavat tämän. Jotkin
+ohjelmat eivät ihan osaa mutta osaavat sentään yhdellä
+näppäinpainalluksella avata saman pdf:n uudelleen
+tiedostojärjestelmästä.
+
+Hyvän tekstieditorin ja pdf\-/ katselimen kanssa työskentely on sujuvaa.
+Parhaimmillaan editorissa tietty näppäinkomento tallentaa ja kääntää
+dokumentin, ja pian pdf\-/ katselin lataa muuttuneen pdf:n
+automaattisesti näkyviin. Sekä editorin että pdf\-/ katselimen voi pitää
+samanaikaisesti esillä.
+
+\subsection{Latexmk}
+\label{luku/latexmk}
+
+Erinomaisen hyödyllinen apuohjelma on Latexmk, koska se helpottaa
+dokumenttien kääntämistä ja muutakin työskentelyä. Varsin usein Latex\-/
+dokumentit täytyy kääntää useita kertoja ennen kuin pdf\-/ tiedosto on
+valmis. Tämä johtuu siitä, että dokumentit sisältävät usein
+ristiviitteitä eli viittauksia dokumentin toisiin osiin. Latex ei saa
+ristiviitteitä kohdalleen yhdellä kääntämisellä, vaan ensin se
+kirjoittaa viittausten kohteet muistiin väliaikaistiedostoon ja
+seuraavilla kääntökerroilla käyttää väliaikaistiedostoa apunaan.
+
+Tavallinenkin Latexin kääntäjä kyllä huomauttaa tietokoneen käyttäjää,
+kun uusintakäännös on tarpeen, mutta Latexmk\-/ ohjelma käynnistää
+uusintakäännöksen itse, aina kun se on tarpeellista. Alla ovat
+esimerkkikomennot Latex\-/ dokumentin kääntämiseen Lualatexilla ja
+Xelatexilla.
+
+\begin{koodilohkosis}
+latexmk -lualatex teksti.tex
+latexmk -xelatex  teksti.tex
+\end{koodilohkosis}
+
+\noindent
+Työskentelyä erityisen paljon helpottava valitsin on \koodi{\=/pvc}. Kun
+tuo valitsin on mukana komennossa, Latexmk jää tarkkailemaan annettua
+Latex\-/ tiedostoa, ja kun se huomaa tiedoston muuttuneen, se kääntää
+tiedoston automaattisesti uudelleen. Kirjoittajan ei siis tarvitse muuta
+kuin tallentaa tiedosto tekstieditorista, ja tarkkailutilassa oleva
+Latexmk kääntää sen aina itsestään.
+
+Muitakin hyödyllisiä toimintoja on mukana. Seuraavista esimerkeistä
+ensimmäinen komento poistaa kääntämisen aikana luodut
+väliaikaistiedostot,%
+\footnote{Kääntäjän luomien väliaikaistiedostojen nimien päätteitä:
+  \koodi{log}, \koodi{aux}, \koodi{out} ym.} ja jälkimmäinen komento
+poistaa kaikki luodut tiedostot eli väliaikaistiedostojen lisäksi myös
+valmiin pdf\-/ tiedoston.
+
+\begin{koodilohkosis}
+latexmk -c teksti.tex
+latexmk -C teksti.tex
+\end{koodilohkosis}
+
+\noindent
+Edellisissä esimerkeissä käsitellään lähdetiedostoa nimeltä
+\koodi{teksti.\katk tex}, mutta jos lähdetiedostoa ei anna komennolle
+lainkaan, käännetään kaikki nykyisessä hakemistossa olevat
+\koodi{tex}\-/ päätteiset tiedostot.
+
+Latexmk\-/ ohjelmalle voi tehdä asetustiedoston, johon voi kirjoittaa
+omaan käyttöön sopivat asetukset. Asetustiedosto sijoitetaan
+tiedostojärjestelmässä käyttäjän kotihakemistoon. Esimerkki
+\ref{esim/latexmkrc} näyttää, mitä se voisi ehkä sisältää.
+
+\begin{esimerkki*}
+\begin{koodilohko}
+$pdf_mode = 4; # 4=lualatex, 5=xelatex
+$lualatex = 'lualatex -interaction=nonstopmode -shell-escape %O %S';
+$xelatex  = 'xelatex  -interaction=nonstopmode -shell-escape %O %S';
+$clean_ext = 'snm nav xdv bbl run.xml';
+$pdf_previewer = 'okular %S';
+\end{koodilohko}
+  \caption{Latexmk\-/ ohjelman asetustiedosto (\koodi{\textasciitilde
+      /.config/\katk latexmk/\katk latexmkrc})}
+  \label{esim/latexmkrc}
+\end{esimerkki*}
+
+Esimerkin ensimmäisen rivin asetus määrittää, miten pdf\-/ tiedostot
+tuotetaan tai mitä kääntäjää käytetään oletuksena. Toisella ja
+kolmannella rivillä määritellään, millä tavoin Lualatex ja Xelatex
+suoritetaan. Tässä esimerkissä oletusasetuksiin on lisätty
+\koodi{-inter\-action=\katk non\-stop\-mode}, joka estää kaiken
+vuorovaikutteisen toiminnan. Asetus on tarpeen ainakin silloin, kun
+kääntäjä käynnistetään toisesta ohjelmasta kuten tekstieditorista eikä
+vuorovaikutus kääntäjän kanssa ole mahdollista. Valitsin
+\koodi{-shell-escape} kytkee päälle ominaisuuden, jota tarvitaan
+joidenkin laajennuspakettien toimintaan.\footnote{Ainakin
+  asiahakemistopaketit \paketti{indextools} ja \paketti{imakeidx}
+  tarvitsevat \koodi{-shell-escape}\-/ toiminnon (luku
+  \ref{luku/asiasanat}).}
+
+Esimerkin \ref{esim/latexmkrc} neljännellä rivillä luetellaan
+kääntämisen aikana syntyvien väliaikaistiedostojen päätteitä. Latexmk\-/
+ohjelma tuntee yleisimmät väliaikaistiedostot (\koodi{log}, \koodi{aux},
+\koodi{out} ym.), mutta tällä asetuksella mukaan voi lisätä
+harvinaisempia, joita se ei tunne. Viides rivi määrittää pdf\-/
+katseluohjelman, joka käynnistetään, kun käytetään valitsimia
+\koodi{\=/pv} tai \koodi{\=/pvc}.
+
+\subsection{Texdoc}
+
+Latexin kirjoittajan täytyy silloin tällöin lukea ohjekirjoja. Vaikka
+Latexin perusosat joskus oppisikin ulkoa, ei voi koskaan muistaa
+kaikkien hyödyllisten laajennuspakettien kaikkia ominaisuuksia.
+
+Tex Live \=/jakelun (luku \ref{luku/asentaminen}) mukana tulee mainio
+komentotulkissa toimiva komento \koodi{texdoc}, jolla voi hakea ja avata
+omaan järjestelmään asennettuja Latex\-/ aiheisia ohjeita. Jos vaikka
+haluaa tutustua esimerkissä \ref{esim/ensimmäinen}
+(s.~\pageref{esim/ensimmäinen}) mainittavaan \paketti{fontspec}\-/
+pakettiin syvällisemmin, tarvitsee vain komentaa \koodi{texdoc
+  fontspec}, ja paketin pdf\-/ muotoinen ohjekirja avautuu.
+
+\section{Lähdetiedostot}
+
+Seuraavassa ovat ohjeet alkuun pääsemiseksi. Luodaan yksinkertainen
+Latex\-/ lähdetiedosto, jota voi käyttää harjoitteluun ja pohjana omille
+töille. Tallenna esimerkin \ref{esim/ensimmäinen} sisältö tekstieditorin
+avulla tiedostoon vaikkapa nimellä \koodi{teksti.\katk tex}. Käännä eli
+lado se pdf\-/ tiedostoksi käyttämällä jotakin seuraavista komennoista
+(valitse yksi):
+
+\begin{koodilohkosis}
+lualatex teksti.tex
+xelatex  teksti.tex
+latexmk -lualatex teksti.tex
+latexmk -xelatex  teksti.tex
+\end{koodilohkosis}
+
+\noindent
+Tuloksena pitäisi olla tiedosto \koodi{teksti.\katk pdf}, jota voi
+ihailla jollakin pdf\-/ tiedostojen katseluun tarkoitetulla ohjelmalla.
+
+Esimerkin \ref{esim/ensimmäinen} ensimmäisellä rivillä määritellään
+dokumenttiluokka \luokka{article}, joka on tietynlainen sivupohja tai
+asetusten kokoelma, jonka perustalle aletaan rakentaa omaa dokumenttia.
+Luokka \luokka{article} on tyypillinen valinta lyhyehköille teksteille.
+Lisätietoa dokumenttiluokista on luvussa \ref{luku/dokumenttiluokat}.
+
+Riveillä 2--4 käytetään komentoa \komentom{usepackage}, jonka avulla
+otetaan käyttöön sivun asetuksista huolehtiva \paketti{geometry}\-/
+paketti, fonttiasetuksia hoitava \paketti{fontspec}\-/ paketti ja
+kieliasetuksista vastaava \paketti{polyglossia}\-/ paketti. Näitä kolmea
+tarvitaan melkein joka kerta dokumenteissa, ja niihin palataan tarkemmin
+luvuissa \ref{luku/sivuasetukset}, \ref{luku/kirjaintyypit} ja
+\ref{luku/kieliasetukset}.
+
+Seuraavilla riveillä asetetaan kieleksi suomi (\koodi{finnish}) ja
+määritetään oletuksena käytettävä fontti tai oikeastaan kokonainen
+kirjainperhe. \englanti{Latin Modern Roman} \=/kirjainperheen tilalle
+voi toki asettaa jonkin muunkin. Fontin oletuskoko on 10 typografista
+pistettä, mutta tässä esimerkissä se venytetään 1,3\-/ kertaiseksi eli
+13 pisteeseen. Riviväliin liittyvä kerroin asetetaan rivillä 8.
+
+\begin{esimerkki*}
+  \komentoi{begin}
+  \komentoi{documentclass}
+  \komentoi{end}
+  \komentoi{linespread}
+  \komentoi{setdefaultlanguage}
+  \komentoi{setmainfont}
+  \komentoi{usepackage}
+  \luokkai{article}
+  \pakettii{fontspec}
+  \pakettii{geometry}
+  \pakettii{polyglossia}
+  \ymparistoi{document}
+
+\begin{koodilohko}
+\documentclass{article}
+\usepackage[a4paper,top=20mm,bottom=30mm,left=20mm,right=20mm]{geometry}
+\usepackage{fontspec}
+\usepackage{polyglossia}
+
+\setdefaultlanguage{finnish}
+\setmainfont{Latin Modern Roman}[Scale=1.3]
+\linespread{1.4}
+
+\begin{document}
+
+Minun Latex-dokumenttini!
+
+\end{document}
+\end{koodilohko}
+  \caption{Latex\-/ lähdedokumentin runko ja perusasetukset}
+  \label{esim/ensimmäinen}
+\end{esimerkki*}
+
+Dokumentin alkuosaa riville 9 saakka kutsutaan esittelyosaksi
+(\englanti{preamble}). Tässä osassa ladataan tarvittavat paketit ja
+määritetään dokumentin asetuksia ja taustatietoja. Riviltä 10 alkaa
+varsinainen tekstiosa eli dokumentin sivuille ladottava sisältö. Se osa
+kirjoitetaan \ymparistom{document}\-/ ympäristön sisään eli riveillä 10
+ja 14 olevien ympäristön aloitus\-/\ ja lopetuskomentojen väliin
+(\komento{begin}, \komento{end}).
+
+Tällaisen merkintäkielen avulla dokumentit kirjoitetaan. Osa
+merkintäkielen komennoista tulee Latexin perusosasta ja osa tulee
+erikseen ladattavista paketeista (\paketti{geometry},
+\paketti{fontspec}, \paketti{polyglossia} ym.). Komentoja voi luoda
+itsekin.
+
+Myöhempää käyttöä varten voisi olla hyödyllistä tallentaa tämänkaltainen
+pohjadokumentti. Välttyy samojen perusjuttujen kirjoittamiselta, kun voi
+aloittaa työt valmiista dokumenttipohjasta.
+
+Lähdetiedoston nimissä kannattaa pitäytyä melko suppeassa
+merkkivalikoimassa, ja varsinkin välilyöntejä kannattaa välttää.
+Nimittäin kääntämisen aikana Latex ja sen paketit luovat
+väliaikaistiedostoja, joilla sama nimen osa kuin lähdetiedostossa, ja
+näitä tiedostoja saattavat käsitellä monet erilaiset taustalla
+vaikuttavat työkaluohjelmat. Tiedoston nimissä olevat välilyönnit ja
+ehkä muutkin erikoisemmat merkit aiheuttavat ongelmia.
+
+Pitkä lähdedokumentti voi olla mielekästä jakaa useammaksi tiedostoksi.
+Yhteen lähdetiedostoon voi sisällyttää toisen tiedoston käyttämällä
+\komento{input}\-/ komentoa. Komennon argumentiksi annetaan ladattavan
+lähdetiedoston nimi:
+
+\komentoi{input}
+\begin{koodilohkosis}
+\input{toinen.tex}
+\end{koodilohkosis}
+
+\noindent
+Hieman vastaava komento on \komento{include}, joka myös lisää
+automaattisen sivunvaihdon (\komento{clearpage}, luku
+\ref{luku/sivunvaihdot}) komennon kohdalle.
+
+Nyt lienee sopiva aika alkaa opiskella itse Latexia eli merkintäkieltä
+ja kokeilla sen ominaisuuksia itse. Tätä opasta ei tarvitse lukea
+järjestyksessä luku luvulta eteenpäin, vaan eri aiheita voi vapaasti
+opiskella mielenkiinnon ja tarpeiden mukaan. Onnea matkaan!


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1,796 @@
+\hyphenation{
+ab-stract
+abst-ra-hoin-ti
+abst-rak-te-ja
+abst-rak-tio-ta-soil-la
+abst-rak-tio-ta-sol-la
+abst-rak-tio-ta-sol-taan
+abst-rak-tio-ta-son
+add-bib-re-source
+add-con-tents-line
+add-font-fea-tures
+ad-dress
+add-to
+add-to-con-tents
+add-to-counter
+add-to-length
+add-vspace
+akuut-ti-ak-sen-tin
+ala-in-dek-seil-le
+ala-in-dek-se-jä
+ala-in-dek-sien
+ala-in-dek-si-ko-men-not
+ala-in-dek-sik-si
+ala-in-dek-sin
+ala-in-dek-sit
+ala-in-dek-si-toi-min-to
+ala-in-dek-siä
+ala-osaan
+ala-ot-sik-ko
+ala-otsi-kon
+alku-osaa
+angle
+an-tiik-va
+an-tiik-vaa
+an-tiik-vaan
+an-tiik-van
+an-tiik-vas-sa
+an-tiik-vat
+an-tiik-vo-jen
+ap-pendix
+apu-ohjel-ma
+array-back-slash
+array-rule-width
+array-stretch
+ar-ti-cle
+as-pect-ra-tio
+author
+babel
+babel-font
+babel-tags
+back-ground
+back-mat-ter
+base-line-skip
+beamer
+bf-se-ries
+biber
+bib-font
+bib-hang
+bib-init-sep
+bib-item
+bib-item-sep
+bib-latex
+bib-name
+bib-name-sep
+bib-section
+bib-sep
+big-break
+big-skip
+big-skip-amount
+bi-nää-ri-ope-raat-to-rit
+book-marks-num-ber-ed
+book-marks-open
+book-tabs
+bottom-frac-tion
+bottom-number
+bottom-rule
+break
+cap-tion
+cap-tion-setup
+cap-tions-finnish
+cen-ter
+chapter-lists-gaps
+chapter-mark
+chapter-name
+chng-cntr
+cite
+clear-double-page
+clear-page
+cline
+clos-ing
+cmid-rule
+color-box
+column-break
+column-sep
+column-sep-rule
+column-width
+con-tents-label
+con-tents-name
+con-tents-page
+Con-tin-ued-Float
+con-trols
+counter-with-in
+counter-with-out
+cs-quotes
+cycle
+dbl-float-page-frac-tion
+dbl-float-sep
+dbl-text-float-sep
+dbl-top-frac-tion
+dbl-top-number
+De-clare-Bib-li-og-ra-phy-Driv-er
+De-clare-Float-Font
+De-clare-New-Float-Type
+De-clare-Sort-ing-Tem-plate
+de-fault
+default-font-fea-tures
+de-fine-col-or
+de-scrip-tion
+de-si-maa-li-erot-ti-mek-si
+de-si-maa-li-erot-ti-me-na
+de-si-maa-li-osa
+dia-esi-tyk-siä
+dia-esi-tys-ten
+dis-able-hy-phen-ation
+dis-cre-tionary
+dis-play-math
+doc-u-ment
+doc-u-ment-class
+dot-fill
+double-rule-sep
+ed-i-tor
+emer-gen-cy-stretch
+empty
+en-able-hy-phen-ation
+Endash
+end-tab-u-larx
+en-glish-font
+en-large-this-page
+en-space
+enu-mer-ate
+enumi
+enumii
+enumiii
+enumiv
+equa-tion
+erin-omai-sen
+ero-tin-merkki-ase-tuk-sen
+esit-te-ly-osaan
+esit-te-ly-osak-si
+esit-te-ly-osas-sa
+esi-tys-gra-fii-kan
+esi-tys-gra-fiik-kaan
+esi-tys-gra-fiik-ka-ohjel-mil-la
+ext-dash
+false
+fancy-hdr
+fancyhf
+fancy-page-style
+fancy-vrb
+fbox-rule
+fbox-sep
+FB-width
+fcolor-box
+fig-ure
+fig-ure-name
+fig-ures
+first-page-style
+float
+Float-Bar-rier
+float-box
+float-page-frac-tion
+float-row
+float-sep
+float-setup
+flush-bottom
+flush-columns
+font-size
+font-spec
+font-ti-ase-tuk-set
+font-ti-ase-tuk-sia
+font-ti-ase-tuk-siin
+font-ti-ase-tuk-sil-la
+font-ti-ase-tuk-sil-le
+font-ti-ase-tus
+font-ti-ase-tus-ta
+font-ti-ase-tus-ten
+font-ti-asiat
+font-ti-koko-ase-tus-ten
+font-ti-koko-komen-to-jen
+font-ti-komen-to-ja
+foot-misc
+foot-note
+foot-note-mark
+foot-note-sep
+foot-note-text
+foot-rule-width
+foot-skip
+fore-ground
+for-eign-lan-guage
+frame-box
+front-mat-ter
+ge-om-e-try
+graph-icx
+gra-vis-ak-sen-til-la
+gra-vis-ak-sen-tin
+gra-vis-ak-sent-ti
+greek-font
+gro-tes-ki
+gro-tes-kia
+gro-tes-kiin
+gro-tes-kin
+hai-tal-li-suus-arvo
+hai-tal-li-suus-arvoa
+hai-tal-li-suus-ar-voik-si
+ha-luaa
+hang-ing
+hang-para
+hang-paras
+head-ings
+head-rule-width
+head-sep
+hide-links
+hline
+hrule-fill
+hspace
+hyper-ref
+hyper-setup
+Hyph-dash
+hy-phen-ation
+if-then-else
+ig-nore-spaces
+ig-nore-spaces-af-ter-end
+imake-idx
+in-clude
+in-clude-graph-ics
+in-col-lec-tion
+in-dex
+index-name
+index-pro-logue
+index-setup
+index-tools
+in-put
+in-sti-tute
+in-text-sep
+in-toc
+item-indent
+item-ize
+item-sep
+it-seis-arvo
+it-seis-ar-voa
+it-shape
+jul-kai-su-oh-jel-miin
+jul-kai-su-oh-jel-mis-sa
+jus-ti-fi-ca-tion
+kak-si-osai-nen
+kak-sois-alle-vii-vauk-sen
+kap-pa-le-ot-sik-ko
+kap-pa-le-ot-si-koi-ta
+kel-lon-ajan
+ker-roin-ase-tus-ta
+keski-osa
+kie-li-ai-nek-seen
+kie-li-ase-tuk-set
+kie-li-ase-tuk-set-kin
+kie-li-ase-tuk-sia
+kie-li-ase-tuk-siin
+kie-li-ase-tuk-sil-la
+kie-li-ase-tuk-sis-ta
+kie-li-ase-tus-ten
+kie-li-opil-li-sis-ta
+kie-li-op-pin-sa
+kir-jain-yh-dis-tel-mät
+kir-ja-typo-gra-fian
+kir-ja-typo-gra-fias-sa
+kir-joi-tus-asu
+kir-joi-tus-asu-ja
+kir-joi-tus-asu-jen
+kir-joi-tus-asus-sa
+kir-joi-tus-asut
+koko-ase-tus
+koko-ase-tus-ten
+koko-ero
+koko-nais-luku-osa
+ko-men-to-vaih-to-eh-to
+konk-reet-ti-ses-ti
+konk-reet-ti-sia
+koodi-esi-mer-keis-sä
+koodi-esi-merk-kien
+kuva-esi-mer-keis-tä
+käsi-ala-kir-joi-tus-ta
+käsi-ohjel-mien
+käyt-töön-oton
+käyt-töön-otos-sa
+käyt-töön-otto
+käyt-töön-ottoa
+käyt-töön-ot-toon
+kään-täjä-ohjel-mat
+kään-täjä-ohjel-milla
+label
+label-font
+label-format
+label-sep
+label-width
+la-don-ta-oh-jei-ta
+la-don-ta-oh-jel-man
+land-scape
+large
+La-tex-mk
+La-tex-mk-rc
+left-hy-phen-min
+left-margin
+left-mark
+let-ter
+lett-rine
+level
+line
+line-spread
+line-width
+list
+list-fig-ure-name
+list-of
+list-of-fig-ures
+list-of-tables
+list-par-indent
+list-table-name
+lisä-omi-nai-suu-den
+lisä-vaih-to-eh-toa
+lohko-lai-naus-ympä-ris-töt
+long-table
+Lua-latex
+lue-tel-ma-ympy-rä
+lue-tel-ma-ympy-räl-lä
+luku-alueel-la
+luku-aluei-ta
+main-mat-ter
+make-box
+make-index
+make-label
+make-labels
+make-title
+margin-par
+margin-par-push
+margin-par-sep
+margin-par-width
+mark-both
+mark-right
+Match-Low-er-case
+ma-te-ma-tiik-ka-ym-pä-ris-tö-jä
+md-se-ries
+med-break
+med-skip
+med-skip-amount
+mem-oir
+mid-rule
+mini-page
+mit-ta-yk-sik-kö
+mit-ta-yk-si-köi-den
+mit-ta-yk-si-köi-tä
+mit-ta-yk-si-köl-le
+mit-ta-yk-si-kön
+mit-ta-yk-si-köt
+mk-bib-name-fam-i-ly
+mk-bib-name-giv-en
+mk-bib-name-pre-fix
+mk-bib-name-suf-fix
+mk-bib-parens
+mk-bib-quote
+mp-foot-note
+multi-col
+multi-cols
+multi-col-sep
+mul-ti-ple
+multi-row
+muo-toi-lu-ase-tuk-set
+my-head-ings
+mää-rit-te-ly-omi-nai-suut-ta
+name
+name-ref
+new-column-type
+new-com-mand
+new-counter
+new-en-vi-ron-ment
+new-float
+new-font-face
+new-font-fam-i-ly
+new-ge-om-e-try
+new-length
+new-line
+new-page
+ni-men-omaan
+no-cite
+no-clear-page
+no-club
+node
+no-in-dent
+no-indent-after
+no-link-url
+no-new-page
+no-page-break
+no-page-color
+nor-mal
+normal-font
+normal-margin-par
+normal-size
+no-rule
+note
+no-widow
+nuo-li-ak-sen-tit
+nyky-aikai-nen
+nyky-aikai-set
+nyky-aikai-sia
+nyky-aika-na
+nyky-ajan
+näp-päin-aset-te-lus-sa
+obey-cr
+oikein-kir-joi-tus-oppaas-sa
+ole-tus-ar-vo
+ole-tus-ar-voa
+ole-tus-ar-voi-hin
+ole-tus-ar-vot
+ole-tus-ase-tuk-set
+ole-tus-ase-tuk-sia
+ole-tus-ase-tuk-siin
+ole-tus-ase-tuk-sil-la
+ole-tus-ase-tus
+ole-tus-mitta-yk-sik-kö-nä
+ole-tus-yk-sik-kö
+ole-tus-yk-sik-köä
+one-column
+one-side
+on-line
+open-ing
+op-tions
+origin
+otf-info
+other-lan-guage
+over-left-ar-row
+over-right-ar-row
+page
+page-break
+page-color
+page-number-ing
+page-ref
+pages
+page-style
+paper-height
+pa-pe-ri-ar-keis-sa
+pa-pe-ri-ark-kei-hin
+pa-pe-ri-ark-kia
+pa-pe-ri-ark-kien
+paper-width
+para-graph
+par-box
+paren-cite
+par-ent
+par-in-dent
+par-sep
+par-skip
+part-name
+par-top-sep
+pause
+pdf-book-mark
+pdf-info
+pdf-latex
+pdf-lscape
+per-page
+pe-rus-aja-tus
+pe-rus-ase-tuk-set
+pe-rus-ase-tuk-sia
+pe-rus-asiat
+pe-rus-asioi-ta
+pe-rus-osas-ta
+pe-rus-osat
+pe-rus-osien
+pe-rus-osiin
+pe-rus-vaih-to-eh-dot
+pe-rus-ympä-ris-tö
+phan-tom-sec-tion
+pien-aak-ko-set
+pien-aak-kos-ten
+pii-rus-tus-alus-tan
+pik-seli-gra-fiik-kaa
+place-ins
+poly-glos-sia
+por-trait
+print-bib-li-og-ra-phy
+print-index
+pro-gram
+pro-tect
+pro-vide-com-mand
+pub-lish-er
+pys-ty-asen-nos-sa
+pys-ty-asen-toi-sel-la
+pys-ty-asen-toi-sen
+pää-asial-li-nen
+pää-asial-li-sek-si
+pää-asial-li-sen
+pää-asias-sa
+pää-ot-sik-ko
+pääte-oh-jel-mien
+quo-ta-tion
+quote
+ragged-bottom
+ragged-columns
+ragged-left
+ragged-right
+raise-box
+real-scripts
+ref-name
+ref-step-counter
+reg-tot-counter
+re-new-com-mand
+re-new-en-vi-ron-ment
+re-size-box
+re-store-cr
+re-store-ge-om-e-try
+reverse-margin-par
+right-hy-phen-min
+right-margin
+right-mark
+rivin-osan
+rm-fam-i-ly
+ro-tate-box
+rule
+sak-ko-ar-voa
+sa-man-aikai-ses-ti
+sar-kain-ase-tuk-sia
+Scale
+scale-box
+sc-shape
+sec-num-depth
+sec-tion
+sec-tion-break
+sec-tion-mark
+see-also
+select-font
+select-lan-guage
+set-beamer-color
+set-beamer-font
+set-beamer-tem-plate
+set-cite-style
+set-counter
+set-default-lan-guage
+set-length
+set-main-font
+set-math-font
+set-mono-font
+set-no-club
+set-no-widow
+set-sans-font
+set-to-depth
+set-to-height
+set-to-width
+sf-fam-i-ly
+short-en
+show-hy-phens
+sig-na-ture
+si-joit-te-lu-ase-tuk-set
+si-joit-te-lu-ase-tuk-sia
+single-line-check
+sir-kum-flek-si
+sir-kum-flek-sia
+sir-kum-flek-sin
+si-sen-nys-ase-tuk-set
+si-sen-nys-asiat
+si-säl-tö-ele-ment-tien
+sivu-alue
+si-vu-alueel-le
+si-vu-alueen
+si-vu-aluei-den
+sivu-koko-ase-tuk-sia
+skaa-laus-ar-gu-ment-ti
+skaa-laus-ase-tus
+slides
+slope
+sl-shape
+small
+small-break
+small-skip
+small-skip-amount
+space-skip
+split-index
+stable
+step-counter
+still-sans-serif-large
+still-sans-serif-math
+still-sans-serif-small
+still-sans-serif-text
+style
+sub-para-graph
+sub-sec-tion
+sub-section-mark
+sub-sub-sec-tion
+suo-jaus-omi-nai-suus
+suur-aak-kos-ten
+sym-bo-li-esi-tys
+säh-kö-pos-ti-osoi-te
+säh-kö-pos-ti-osoit-tei-den
+säh-kö-pos-ti-osoit-tei-ta
+tab-bing
+tab-bing-sep
+tab-col-sep
+table
+table-name
+table-of-con-tents
+tables
+tabu-lar
+tabu-larx
+tabu-lary
+tau-luk-ko-ympä-ris-tö
+tau-luk-ko-ympä-ris-tön
+tau-luk-ko-ympä-ris-töt
+tau-luk-ko-ympä-ris-töä
+ta-van-omais-ten
+tavu-tus-algo-rit-mia
+teks-ti-alue
+teks-ti-alueen
+teks-ti-aluees-ta
+teks-ti-edi-to-ria
+teks-ti-edi-to-rien
+teks-ti-edi-to-ril-la
+teks-ti-edi-to-rin
+teks-ti-edi-to-ris-sa
+teks-ti-edi-to-ris-sa-kin
+teks-ti-edi-to-ris-ta
+teks-ti-ele-men-til-tä
+teks-ti-ele-men-tin
+teks-ti-ele-ment-te-jä
+teks-ti-ele-ment-ti
+teks-ti-ele-ment-tien
+teks-ti-ele-ment-tiin
+teks-tin-kä-sit-tely-ohjel-mat
+teks-tin-kä-sit-tely-ohjel-mis-sa
+teks-tin-osan
+teks-ti-osa
+teks-ti-osaan
+teks-ti-osan
+teks-ti-osas-sa
+text-back-slash
+text-bullet
+text-cite
+text-color
+text-comp-word-mark
+text-el-lip-sis
+text-en-glish
+text-float-sep
+text-font
+text-frac-tion
+text-greek
+text-height
+text-quote-dbl
+text-quote-single
+text-sub-script
+text-super-script
+text-width
+the-author
+the-bib-li-og-ra-phy
+the-chapter
+the-date
+the-equa-tion
+the-foot-note
+the-mp-foot-note
+the-page
+the-section
+the-sub-section
+the-table
+the-title
+this-page-style
+tie-teen-aloil-la
+tie-to-kone-avus-teis-ta
+tie-to-kone-oh-jel-ma
+tie-to-kone-oh-jel-mal-le
+tie-to-kone-oh-jel-mas-ta
+tie-to-kone-oh-jel-mat
+tie-to-kone-oh-jel-mia
+tii-vis-tel-mä-osan
+tikz-pic-ture
+title
+title-con-tents
+title-for-mat
+title-label
+title-rule
+title-sec
+title-spacing
+title-toc
+toc-depth
+toc-level
+top-frac-tion
+top-number
+top-rule
+top-sep
+total
+total-height
+total-number
+tot-count
+tot-pages
+tot-value
+tt-fam-i-ly
+two-column
+two-side
+ty-po-gra-fia
+ty-po-gra-fiaa
+ty-po-gra-fiaan
+ty-po-gra-fian
+ty-po-gra-fias-sa
+ty-po-gra-fi-seen
+ty-po-gra-fi-sen
+ty-po-gra-fi-se-na
+ty-po-gra-fi-ses-ta
+ty-po-gra-fi-ses-ti
+ty-po-gra-fi-set
+ty-po-gra-fi-sia
+ty-po-gra-fi-sin
+ty-po-gra-fi-sis-ta
+ty-po-gra-fis-ten
+tyy-li-ase-tus
+tyy-li-ase-tus-ten
+tär-keys-as-teil-le
+tär-keys-as-tei-sia
+täys-ym-py-rän
+UL-depth
+ulko-asu
+ulko-asua
+ulko-asun
+ulko-asus-ta
+ulko-asus-taan
+ulko-asu-tee-mo-ja
+ulko-asuun
+UL-thick-ness
+under-line
+Uni-code
+Uni-coden
+url-style
+use-color-theme
+use-counter
+use-font-theme
+use-inner-theme
+use-outer-theme
+use-pack-age
+use-theme
+vaih-to-eh-don
+vaih-to-eh-dot
+vaih-to-eh-to
+vaih-to-eh-toi-ses-ti
+vaih-to-eh-to-ja
+vaih-to-eh-to-na
+vai-ku-tus-alue
+vai-ku-tus-alueena
+vai-ku-tus-aluet-ta
+value
+va-paa-eh-toi-sia
+va-paa-eh-tois-ta
+vas-taan-otta-jal-le
+vas-taan-otta-jil-le
+vek-tori-gra-fiik-kaa
+vek-tori-gra-fiik-ka-font-te-ja
+vek-tori-gra-fiik-ka-ku-viot
+ver-ba-tim
+verse
+vir-he-il-moi-tuk-seen
+vir-he-il-moi-tuk-sen
+vir-he-il-moi-tus
+vir-he-il-moi-tus-ta
+vline
+vol-ume
+vspace
+vä-him-mäis-etäi-syys
+väli-ai-kai-ses-ti
+väli-ai-kais-tie-dos-toa
+väli-ai-kais-tie-dos-to-jen
+väli-ai-kais-tie-dos-ton
+väli-ai-kais-tie-dos-toon
+väli-ai-kais-tie-dos-tot
+väli-ot-si-kois-sa
+väli-ot-si-kois-ta
+väli-ot-si-kon
+väli-ot-si-kot
+vä-ri-asioi-ta
+wall-cal-en-dar
+with-in
+Xe-latex
+yh-dys-osas-ta
+yh-dys-osien
+yh-tä-lö-esi-mer-kin
+yleis-ohje
+yleis-yhdys-merk-ki
+ylä-in-dek-si
+ylä-in-dek-si-nume-roi-den
+ylä-in-dek-si-nume-rois-ta
+ylä-in-dek-si-nume-rol-la
+ylä-in-dek-si-nume-ron
+ylä-in-dek-sit
+ylä-osaan
+ylä-osas-sa
+ään-tö-asu
+}


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex	2021-12-27 21:12:03 UTC (rev 61419)
@@ -0,0 +1 @@
+\newcommand{\versio}{2021.12}


Property changes on: trunk/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2021-12-27 21:11:12 UTC (rev 61418)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2021-12-27 21:12:03 UTC (rev 61419)
@@ -424,7 +424,8 @@
     jmb jmlr jneurosci jnuexam josefin jpsj jsclasses
     jslectureplanner jumplines junicode jupynotex
     jura juraabbrev jurabib juramisc jurarsp js-misc jvlisting
-  kalendarium kanaparser kantlipsum karnaugh karnaugh-map karnaughmap kastrup
+  kalendarium kanaparser kantlipsum karnaugh karnaugh-map karnaughmap
+    kastrup kaytannollista-latexia
     kblocks kdgdocs kdpcover kerkis kerntest ketcindy
     keycommand keyfloat keyindex keyparse keyreader keystroke
     keyval2e keyvaltable kinematikz kix kixfont

Modified: trunk/Master/tlpkg/tlpsrc/collection-langeuropean.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-langeuropean.tlpsrc	2021-12-27 21:11:12 UTC (rev 61418)
+++ trunk/Master/tlpkg/tlpsrc/collection-langeuropean.tlpsrc	2021-12-27 21:12:03 UTC (rev 61419)
@@ -62,6 +62,7 @@
 depend hyphen-turkish
 depend hyphen-uppersorbian
 depend hyphen-welsh
+depend kaytannollista-latexia
 depend lithuanian
 depend lshort-dutch
 depend lshort-estonian

Added: trunk/Master/tlpkg/tlpsrc/kaytannollista-latexia.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.