summaryrefslogtreecommitdiff
path: root/info
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-12-28 03:01:00 +0000
committerNorbert Preining <norbert@preining.info>2021-12-28 03:01:00 +0000
commitecdf859b6ce481abfd530425dcf6f0f764bd0001 (patch)
tree13bc161dc046876ac6c92fce5f9f5034ba9aa573 /info
parent790995b7e79697514364450bf9c04f1b8d500838 (diff)
CTAN sync 202112280300
Diffstat (limited to 'info')
-rw-r--r--info/kaytannollista-latexia/README.md153
-rw-r--r--info/kaytannollista-latexia/kaytannollista-latexia.pdfbin0 -> 875011 bytes
-rw-r--r--info/kaytannollista-latexia/kaytannollista-latexia.tex504
-rw-r--r--info/kaytannollista-latexia/kirjallisuutta.bib78
-rw-r--r--info/kaytannollista-latexia/luku-asetukset.tex2952
-rw-r--r--info/kaytannollista-latexia/luku-erikoiset.tex589
-rw-r--r--info/kaytannollista-latexia/luku-esipuhe.tex47
-rw-r--r--info/kaytannollista-latexia/luku-merkintakieli.tex2235
-rw-r--r--info/kaytannollista-latexia/luku-rakenne.tex7903
-rw-r--r--info/kaytannollista-latexia/luku-valmistautuminen.tex430
-rw-r--r--info/kaytannollista-latexia/tavutusvihjeet.tex796
-rw-r--r--info/kaytannollista-latexia/versio.tex1
-rw-r--r--info/mathalphabets/README.md18
-rw-r--r--info/mathalphabets/mathalphabets.pdfbin0 -> 282632 bytes
-rw-r--r--info/mathalphabets/src/maref.bib177
-rw-r--r--info/mathalphabets/src/mathalphabets.tex715
16 files changed, 16598 insertions, 0 deletions
diff --git a/info/kaytannollista-latexia/README.md b/info/kaytannollista-latexia/README.md
new file mode 100644
index 0000000000..37a7b60035
--- /dev/null
+++ b/info/kaytannollista-latexia/README.md
@@ -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@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.
diff --git a/info/kaytannollista-latexia/kaytannollista-latexia.pdf b/info/kaytannollista-latexia/kaytannollista-latexia.pdf
new file mode 100644
index 0000000000..aa204101a9
--- /dev/null
+++ b/info/kaytannollista-latexia/kaytannollista-latexia.pdf
Binary files differ
diff --git a/info/kaytannollista-latexia/kaytannollista-latexia.tex b/info/kaytannollista-latexia/kaytannollista-latexia.tex
new file mode 100644
index 0000000000..f983d70bd0
--- /dev/null
+++ b/info/kaytannollista-latexia/kaytannollista-latexia.tex
@@ -0,0 +1,504 @@
+% Tekijä: Teemu Likonen <tlikonen@iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\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@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}
diff --git a/info/kaytannollista-latexia/kirjallisuutta.bib b/info/kaytannollista-latexia/kirjallisuutta.bib
new file mode 100644
index 0000000000..0b193a5841
--- /dev/null
+++ b/info/kaytannollista-latexia/kirjallisuutta.bib
@@ -0,0 +1,78 @@
+@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}
+}
+
+@book{kirjtyypit,
+ author = {Itkonen, Markus},
+ title = {Kirjaintyypit ja tyyli},
+ date = 2015,
+ publisher = {\textsc{rps}-yhtiöt}
+}
+
+@book{typokk,
+ author = {Itkonen, Markus},
+ title = {Typo\-grafian käsikirja},
+ edition = 5,
+ date = 2019,
+ origdate = 2003,
+ publisher = {Typoteekki. Graafinen suunnittelu Markus Itkonen Oy}
+}
+
+@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}
+}
+
+@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}
+}
+
+@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}
+}
+
+@online{ctan,
+ title = {Comprehensive TeX Archive Network},
+ shorttitle = {\textsc{ctan}},
+ url = {https://www.ctan.org/},
+ date = {1992/},
+}
+
+@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/}
+}
diff --git a/info/kaytannollista-latexia/luku-asetukset.tex b/info/kaytannollista-latexia/luku-asetukset.tex
new file mode 100644
index 0000000000..0f136267c2
--- /dev/null
+++ b/info/kaytannollista-latexia/luku-asetukset.tex
@@ -0,0 +1,2952 @@
+% Tekijä: Teemu Likonen <tlikonen@iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{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}.
diff --git a/info/kaytannollista-latexia/luku-erikoiset.tex b/info/kaytannollista-latexia/luku-erikoiset.tex
new file mode 100644
index 0000000000..5807e21d8f
--- /dev/null
+++ b/info/kaytannollista-latexia/luku-erikoiset.tex
@@ -0,0 +1,589 @@
+% Tekijä: Teemu Likonen <tlikonen@iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{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.
diff --git a/info/kaytannollista-latexia/luku-esipuhe.tex b/info/kaytannollista-latexia/luku-esipuhe.tex
new file mode 100644
index 0000000000..f21b8cd4d8
--- /dev/null
+++ b/info/kaytannollista-latexia/luku-esipuhe.tex
@@ -0,0 +1,47 @@
+% Tekijä: Teemu Likonen <tlikonen@iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{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!
diff --git a/info/kaytannollista-latexia/luku-merkintakieli.tex b/info/kaytannollista-latexia/luku-merkintakieli.tex
new file mode 100644
index 0000000000..faebb7087b
--- /dev/null
+++ b/info/kaytannollista-latexia/luku-merkintakieli.tex
@@ -0,0 +1,2235 @@
+% Tekijä: Teemu Likonen <tlikonen@iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{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).
diff --git a/info/kaytannollista-latexia/luku-rakenne.tex b/info/kaytannollista-latexia/luku-rakenne.tex
new file mode 100644
index 0000000000..3d55ec708f
--- /dev/null
+++ b/info/kaytannollista-latexia/luku-rakenne.tex
@@ -0,0 +1,7903 @@
+% Tekijä: Teemu Likonen <tlikonen@iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{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@osoite.net}{\nolinkurl{tunnus@osoite.net}}
+\end{koodilohkosis}
+
+\noindent
+Osoite pitää siis kirjoittaa kaksi kertaa: itse linkkiä varten ja
+dokumenttiin ladottavaa tekstiä varten. Omaa työtä kannattaa helpottaa
+määrittelemällä sähköpostiosoitteita varten oma komento, esimerkiksi
+seuraavalla tavalla:
+
+\komentoi{newcommand}
+\komentoi{href}
+\komentoi{nolinkurl}
+\begin{koodilohkosis}
+\newcommand{\sposti}[1]{\href{mailto:#1}{\nolinkurl{#1}}}
+\end{koodilohkosis}
+
+\subsection{Värit}
+\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}
+@teostyyppi{tunniste,
+ author = {...},
+ title = "..."
+}
+\end{koodilohkosis}
+
+\noindent
+Teostyypin nimen jälkeen aaltosulkeiden sisään kirjoitetaan teoksen
+kaikki tiedot. Ne alkavat teoksen yksilöllisellä tunnisteella, jota
+käytetään lähdeviittauksissa. Tunnisteen jälkeen tulevat muut kentät.
+Eri kentät kuten \koodi{author} ja \koodi{title} erotetaan toisistaan
+pilkulla. Kentän nimi ja sen sisältö erotetaan toisistaan
+yhtäsuuruusmerkillä (\koodi{=}), ja kentän sisältö kirjoitetaan
+aaltosulkeiden tai lainausmerkkien sisään, kuten edellinen esimerkki
+näyttää.
+
+\begin{esimerkki*}
+\begin{koodilohko}
+@book{itkonen_typogr,
+ author = {Itkonen, Markus},
+ title = {Typografian käsikirja},
+ date = {2019},
+ edition = {5},
+ publisher = {Typoteekki. Graafinen suunnittelu Markus Itkonen Oy}
+}
+
+@incollection{likonen_teams,
+ author = {Likonen, Teemu and Riskilä, Kaisa},
+ title = {Verkkoyhteistyö Teams-ympäristössä},
+ editor = {Tammi, Tuomo and Horila, Mikko},
+ booktitle = {Oppimis- ja toimintaympäristöjen kehittäminen
+ harjoittelukouluissa II},
+ booksubtitle = {Tilat ja tekniikka pedagogisen kehittämisen tukena},
+ publisher = {E-norssi. Opettajankouluttajien yhteistyöverkosto},
+ date = {2020},
+ pages = {85-92},
+ url = {http://www.enorssi.fi/oppimisymparistojulkaisu2020/}
+}
+
+@article{likonen_tietokanta,
+ author = {Likonen, Teemu},
+ title = {Tietoa kantaan ja takaisin},
+ journaltitle = {Skrolli},
+ journalsubtitle = {Tietokonekulttuurin erikoislehti},
+ date = {2015},
+ volume = {2015},
+ number = {4},
+ pages = {52-55},
+ url = {https://skrolli.fi/numerot/2015-4/}
+}
+
+@online{ctan,
+ title = {Comprehensive TeX Archive Network},
+ shorttitle = {CTAN},
+ date = {1992/},
+ url = {https://www.ctan.org/}
+}
+\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}
+@string{
+ oma = {Meikäläinen, Matti},
+ lehti = {Hienon hieno aikakauslehti}
+}
+
+@article{hieno_artikkeli,
+ author = oma,
+ journaltitle = lehti,
+ ...
+}
+
+@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@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}
+}
diff --git a/info/kaytannollista-latexia/luku-valmistautuminen.tex b/info/kaytannollista-latexia/luku-valmistautuminen.tex
new file mode 100644
index 0000000000..5913cf0c88
--- /dev/null
+++ b/info/kaytannollista-latexia/luku-valmistautuminen.tex
@@ -0,0 +1,430 @@
+% Tekijä: Teemu Likonen <tlikonen@iki.fi>
+% Lisenssi: Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen (CC BY-SA 4.0)
+% https://creativecommons.org/licenses/by-sa/4.0/legalcode.fi
+
+\chapter{Valmistautuminen}
+
+Tämän pääluvun tarkoituksena on johdatella uudet ihmiset Latexin pariin.
+Tämän luettuasi sinun pitäisi olla valmis aloittamaan Latexin käyttö ja
+opiskelemaan sen tekniikkaa eteenpäin. Jos taas olet jo tottunut
+kääntämään Latex\-/ lähdetiedostoja, voit aivan hyvin hypätä tämän luvun
+yli tai ehkä vain silmäillä tekstiä lisävinkkien toivossa.
+
+\section{Käsitteet ja nimet}
+
+Latex ja sen ympärille rakentuneet ohjelmistot ovat aika monimutkainen
+kokonaisuus, johon kuuluu eri\-/ikäisiä ja abstraktiotasoltaan erilaisia
+osia. Mukaan kuuluu tietenkin konkreettisia tietokoneohjelmia, jotka
+tekevät konkreettisia, ennalta määriteltyjä asioita. Mukaan kuuluu
+kuitenkin myös ihmisten luomia abstrakteja käsitteitä, jotka ovat
+vaikeammin määriteltävissä.
+
+Internetissä näkyy silloin tällöin termi- ja käsitekeskusteluja, jossa
+ihmetellään, mihin mikäkin Latexiin liittyvä palikka kuuluu
+käsitteellisesti. Millainen suhde joillakin uudemmilla osilla on
+vanhempiin? Oikeiden termien ja käsitteiden osaamisesta on hyötyä
+ainakin silloin, kun pyytää verkossa apua suurelta yleisöltä.
+Viestintähän aina vaatii, että puhutaan suunnilleen samaa kieltä, joten
+seuraavaksi selvennetään hieman Latexiin liittyviä peruskäsitteitä.
+
+\subsection{Tex ja Latex}
+
+Tex on tekstin ladontaan erikoistunut ohjelmointikieli. Kielen avulla
+voidaan antaa ladontaohjeita ja ilmaista muuta siihen liittyvää
+logiikkaa. Ohjelmointikielellä kirjoitettujen ohjeiden perusteella
+tietokoneohjelma osaa latoa tekstidokumentin ihmisten luettavaksi.
+Niinpä Tex on myös tietokoneohjelma (\koodi{tex}), joka osaa lukea
+Tex\-/ ohjelmointikieltä sisältävän tekstitiedoston ja tuottaa sen
+perusteella valmiin julkaistavan dokumentin. Yleensä Tex\-/
+ohjelmointikieltä ei kuitenkaan käytetä suoraan tekstidokumenttien
+toteuttamiseen. Ohjelmointikieltä kirjoittavat tavallisimmin vain ne,
+jotka haluavat kehittää itse ladontajärjestelmää paremmaksi muita
+ihmisiä varten.
+
+Latex toimii korkeammalla abstraktiotasolla kuin Tex. Se on laaja
+kokoelma toimintoja, jotka piilottavat monimutkaiset tekniset
+yksityiskohdat ja tarjoavat ihmisille varsin helppokäyttöisen
+merkintäkielen, jolla omat tekstidokumentit voi toteuttaa. Latex\-/
+merkintäkielen kirjoittaminen ei ole ohjelmointia, vaan se on oman
+dokumentin sisällön, rakenteen ja ulkoasun kuvailua tietynlaisten
+merkintätapojen avulla.
+
+Latex\-/ merkintäkielellä kuvatut dokumentit välitetään
+tietokoneohjelmalle jatkokäsiteltäväksi. Niinpä Latex on myös
+tietokoneohjelma (\koodi{latex}, \koodi{pdflatex}), jolla
+merkintäkielinen lähdetiedosto käännetään julkaistavaksi dvi- tai pdf\-/
+dokumentiksi.%
+\footnote{\textsc{dvi} = device independent file format; \textsc{pdf} =
+ portable document format.}
+
+Latex\-/ järjestelmästä käytetään tällä hetkellä versiota Latex~2ε, joka
+julkaistiin jo vuonna 1994 ja johon ilmestyy pieniä parannuksia
+vuosittain. Perusosat ovat kuitenkin varsin muuttumattomia. Varsinainen
+kiinnostava kehitys tapahtuukin esimerkiksi Latexin kääntäjissä
+(Lualatex ja Xelatex) sekä eri tekijöiden dokumenttiluokissa (luku
+\ref{luku/dokumenttiluokat}) ja laajennuspaketeissa. Viimeksi mainitut
+laajentavat perus\-/ Latexia tuomalla niihin lisää helppokäyttöisiä
+toimintoja.
+
+\subsection{Lualatex ja Xelatex}
+
+Nykyaikana Latex\-/ dokumentteja ei juuri käännetä alkuperäisillä
+kääntäjillä (\koodi{latex}, \koodi{pdflatex}, \koodi{tex}) vaan
+kehittyneemmillä kääntäjäohjelmilla.%
+\footnote{Englannin kielellä Latexin kääntäjiä on tapana kutsua
+ yleisnimellä \englantik{engine} 'kone, moottori'.} Niistä tärkeimmät
+ovat Lualatex ja Xelatex.%
+\footnote{Tietokoneohjelmat \koodi{lualatex} ja \koodi{luatex} sekä
+ \koodi{xelatex} ja \koodi{xetex}.} Ne muun muassa osaavat lukea
+Unicode\-/ merkistöllä kirjoitettuja lähdedokumentteja ja käyttää
+nykyaikaisia \englanti{True Type}- ja \englanti{Open Type} \=/fontteja,
+mitä alkuperäinen Latex ja Tex eivät osaa.
+
+Lualatexilla ja Xelatexilla ei ole ohjelmien käyttäjän kannalta
+suurtakaan eroa -- ei välttämättä mitään näkyvää eroa. Miksi sitten on
+olemassa kaksi, ulkoisesti lähes samanlaista kääntäjää? Tärkein syy
+taitaa olla se, että Xelatex tehtiin ensin. Tarkoituksena oli saada
+Unicode\-/ merkistön tuki ja fonttiasiat ajan tasalle. Myöhemmin jotkut
+ajattelivat, että Lua\-/ ohjelmointikieli täytyy saada mukaan. Sillä on
+merkitystä joillekuille laajennuspakettien tekijöille. Lua\-/ kielen
+sisällyttäminen oikeastaan pakotti kirjoittamaan koko homman uusiksi.
+Toteutuksissa on muitakin sisäisiä eroja. Xelatex oli pitkään suositumpi
+ja paremmin tuettu eri laajennuspaketeissa, mutta erot ovat sittemmin
+tasoittuneet.
+
+Latex\-/ kokeilun alkutaipaleella voi vaikka arpoa kolikon avulla,
+kumpaa kääntäjää käyttää, sillä niiden erot eivät ihan helposti tule
+esiin. Jotkin harvat laajennuspaketit eivät toimi Lualatexissa, kun taas
+toiset eivät toimi Xelatexissa. Joskus saattaa jopa tulla vastaan
+yksittäinen, kehityksestä ehkä jälkeen jäänyt paketti, joka ei toimi
+kummassakaan vaan ainoastaan perinteisillä kääntäjillä (\koodi{latex},
+\koodi{pdflatex}).
+
+Joissakin tilanteissa eri kääntäjien tekemissä pdf\-/ dokumenteissa
+näkyy pieniä eroja. Ainakin yksittäisissä fonttien asetuksissa ja
+joidenkin Unicode\-/ merkkien käsittelyssä on eroja. Tämänkin oppaan
+tekstissä mainitaan pari pientä ominaisuutta, jotka toimivat vain
+toisella kääntäjällä: toiset Lualatexilla, toiset Xelatexilla. Itse
+oppaan lähdetiedostot kääntyvät ja toimivat yhtä lailla molemmilla.
+
+\subsection{Latex yläkäsitteenä}
+
+Jotta kaikki olisi mahdollisimman sekavaa, ''Latex'' toimii myös
+yleisnimityksenä tälle kaikelle. Se esiintyy ilmauksissa kuten
+''Toteutin dokumentin Latexilla'' tai ''Tämä artikkeli on tehty
+Latexilla''. Ilmaukset sitten tarkoittavat suunnilleen seuraavanlaista:
+Henkilöllä on asennettuna tietokoneelle Latex\-/ jakelukokonaisuus
+(kuten Tex Live). Hän on kirjoittanut tekstieditorilla (kuten
+\textsc{gnu} Emacsilla) tekstitiedoston, jossa on dokumentin sisältö ja
+Latex\-/ merkintäkielisiä komentoja mutta ehkä myös joitakin Tex\-/
+komentoja. Sitten hän on kääntänyt eli ladotuttanut tekstitiedostonsa
+pdf\-/ tiedostoksi Latex\-/ ladontaohjelman jollakin toteutuksella kuten
+Lualatexilla tai Xelatexilla.
+
+Meille taitaa riittää vain Latexista puhuminen, mutta siitäkin on
+mainittava vielä yksi asia. Latexin harrastajat tykkäävät käyttää
+dokumenttiensa leipätekstissä ladontajärjestelmän logoja kuten \TeX{} ja
+\LaTeX{}. Usein teksteissä näkyy myös logojen pohjalta mukailtuja
+kirjoitusasuja TeX ja LaTeX.
+
+Kielenhuoltajien suositusten mukaan logojen eikä erikoisten
+kIRjoiTusAsuJen paikka ei ole asiatyylisten tekstilajien leipätekstissä.
+Nimet ovat osa kielen järjestelmää ja käyttäytyvät normaalissa tekstissä
+sen mukaisesti. Niinpä tässä oppaassa käytetään erisnimiä kielenhuollon
+normien mukaisesti, esimerkiksi Tex ja Latex. Koodi ja komennot ovat
+siinä muodossa kuin ne tietokoneelle annetaan, esimerkiksi
+\koodi{lualatex}. Tasalevyinen, kirjoituskonetyylinen fontti on merkkinä
+siitä, että kyse on tietokonekoodista.
+
+\section{Asentaminen tietokoneelle}
+\label{luku/asentaminen}
+
+Latex pitää tietysti asentaa tietokoneelle, jotta sitä voisi käyttää.
+Miten edellisessä luvussa kuvattu sekava kokonaisuus saadaan ehjänä
+omalle tietokoneelle? Onneksi muut ovat jo ratkaisseet sen ongelman.
+
+Tavallisin tapa Latexin käyttöönottoon on jonkin Latexin jakelupaketin
+asentaminen. Jakelupaketti sisältää Latexin perusosien lisäksi paljon
+laajennuspaketteja ja niiden ohjekirjoja. Kaikkea ei koskaan tarvitse,
+mutta kun yllättävä tarve tulee tai lukee vinkkejä verkkokeskusteluista,
+on mukavaa huomata, että paketti olikin itsellä jo valmiina. Siksi
+suosittelen kokonaisen jakelupaketin asentamista.
+
+\textsc{gnu}/Linuxissa ja muissa Unix\-/ tyyppisissä
+käyttöjärjestelmissä käytetään yleensä Tex Live \=/nimistä jakelua. Se
+on todennäköisesti saatavilla käyttöjärjestelmäjakelun
+pakettivarastoista. Esimerkiksi Debianiin%
+\footnote{\url{https://www.debian.org/}} ja sen kaltaisiin järjestelmiin
+on asennuspaketti ''texlive-full'', joka asentaa kaiken helposti ja
+kerralla.
+
+Windows\-/ käyttöjärjestelmälle on saatavilla Tex Liven lisäksi Miktex
+ja Protext. Mac \textsc{os} \=/käyttöjärjestelmän kanssa käytettäneen
+yleensä Mactex\-/ nimistä jakelua.
+
+\section{Apuohjelmia}
+
+\subsection{Tekstieditori}
+
+Omien dokumenttien ja Latex\-/ merkintäkielen kirjoittamiseen kannattaa
+käyttää kunnollista tekstieditoria, koska se on tärkein työkalu ja sen
+kanssa ollaan eniten tekemisissä. Pyri löytämään sellainen editori, joka
+osaa värjätä tekstiä Latexin tai Texin tekstipiirteiden mukaisesti.
+Väreillä ei sinänsä ole merkitystä, mutta editorin laadusta se yleensä
+kertoo paljon. Jos editori tuntee erilaisten ohjelmointi\-/{} ja
+merkintäkielten luonnetta ja osaa merkitä kielen avainsanoja
+havainnollisilla väreillä, se todennäköisesti on tehty tehokkaaseen
+ohjelmointiin ja muuhun vastaavaan työskentelyyn. Ihan yksinkertaisiin
+editoreihin ei tuollaisia ominaisuuksia yleensä tehdä.
+
+\subsection{Pdf-katselin}
+
+Latex\-/ kääntäjät eli \=/moottorit kuten Lualatex ja Xelatex tuottavat
+pdf\-/ tiedoston, ja niiden katselemiseen tarvitaan tietenkin oma
+ohjelmansa. Sellaisia on saatavilla paljon erilaisia, ja melkein mikä
+tahansa kelpaa, mutta yksi tietty ominaisuus olisi toivottavaa olla:
+muuttuneen pdf\-/ tiedoston automaattinen lataaminen.
+
+Välillä työskentely on sitä, että tehdään Latex\-/ dokumenttiin pieni
+muutos, käännetään se ja katsotaan pdf:ää. Lopputulos ei ehkä ihan
+miellytä. Muokataan tekstiä tai asetuksia vähän, käännetään ja
+katsotaan, miltä ladottu pdf nyt näyttää.
+
+On suuri apu, jos pdf\-/ katselimessa ei tarvitse joka kerta valikoiden
+kautta avata samaa tiedostoa uudelleen, vaan ohjelma itse huomaa, että
+jo avattu tiedosto muuttui tiedostojärjestelmässä, ja lataa sen
+automaattisesti uudelleen. Jotkin pdf\-/ ohjelmat osaavat tämän. Jotkin
+ohjelmat eivät ihan osaa mutta osaavat sentään yhdellä
+näppäinpainalluksella avata saman pdf:n uudelleen
+tiedostojärjestelmästä.
+
+Hyvän tekstieditorin ja pdf\-/ katselimen kanssa työskentely on sujuvaa.
+Parhaimmillaan editorissa tietty näppäinkomento tallentaa ja kääntää
+dokumentin, ja pian pdf\-/ katselin lataa muuttuneen pdf:n
+automaattisesti näkyviin. Sekä editorin että pdf\-/ katselimen voi pitää
+samanaikaisesti esillä.
+
+\subsection{Latexmk}
+\label{luku/latexmk}
+
+Erinomaisen hyödyllinen apuohjelma on Latexmk, koska se helpottaa
+dokumenttien kääntämistä ja muutakin työskentelyä. Varsin usein Latex\-/
+dokumentit täytyy kääntää useita kertoja ennen kuin pdf\-/ tiedosto on
+valmis. Tämä johtuu siitä, että dokumentit sisältävät usein
+ristiviitteitä eli viittauksia dokumentin toisiin osiin. Latex ei saa
+ristiviitteitä kohdalleen yhdellä kääntämisellä, vaan ensin se
+kirjoittaa viittausten kohteet muistiin väliaikaistiedostoon ja
+seuraavilla kääntökerroilla käyttää väliaikaistiedostoa apunaan.
+
+Tavallinenkin Latexin kääntäjä kyllä huomauttaa tietokoneen käyttäjää,
+kun uusintakäännös on tarpeen, mutta Latexmk\-/ ohjelma käynnistää
+uusintakäännöksen itse, aina kun se on tarpeellista. Alla ovat
+esimerkkikomennot Latex\-/ dokumentin kääntämiseen Lualatexilla ja
+Xelatexilla.
+
+\begin{koodilohkosis}
+latexmk -lualatex teksti.tex
+latexmk -xelatex teksti.tex
+\end{koodilohkosis}
+
+\noindent
+Työskentelyä erityisen paljon helpottava valitsin on \koodi{\=/pvc}. Kun
+tuo valitsin on mukana komennossa, Latexmk jää tarkkailemaan annettua
+Latex\-/ tiedostoa, ja kun se huomaa tiedoston muuttuneen, se kääntää
+tiedoston automaattisesti uudelleen. Kirjoittajan ei siis tarvitse muuta
+kuin tallentaa tiedosto tekstieditorista, ja tarkkailutilassa oleva
+Latexmk kääntää sen aina itsestään.
+
+Muitakin hyödyllisiä toimintoja on mukana. Seuraavista esimerkeistä
+ensimmäinen komento poistaa kääntämisen aikana luodut
+väliaikaistiedostot,%
+\footnote{Kääntäjän luomien väliaikaistiedostojen nimien päätteitä:
+ \koodi{log}, \koodi{aux}, \koodi{out} ym.} ja jälkimmäinen komento
+poistaa kaikki luodut tiedostot eli väliaikaistiedostojen lisäksi myös
+valmiin pdf\-/ tiedoston.
+
+\begin{koodilohkosis}
+latexmk -c teksti.tex
+latexmk -C teksti.tex
+\end{koodilohkosis}
+
+\noindent
+Edellisissä esimerkeissä käsitellään lähdetiedostoa nimeltä
+\koodi{teksti.\katk tex}, mutta jos lähdetiedostoa ei anna komennolle
+lainkaan, käännetään kaikki nykyisessä hakemistossa olevat
+\koodi{tex}\-/ päätteiset tiedostot.
+
+Latexmk\-/ ohjelmalle voi tehdä asetustiedoston, johon voi kirjoittaa
+omaan käyttöön sopivat asetukset. Asetustiedosto sijoitetaan
+tiedostojärjestelmässä käyttäjän kotihakemistoon. Esimerkki
+\ref{esim/latexmkrc} näyttää, mitä se voisi ehkä sisältää.
+
+\begin{esimerkki*}
+\begin{koodilohko}
+$pdf_mode = 4; # 4=lualatex, 5=xelatex
+$lualatex = 'lualatex -interaction=nonstopmode -shell-escape %O %S';
+$xelatex = 'xelatex -interaction=nonstopmode -shell-escape %O %S';
+$clean_ext = 'snm nav xdv bbl run.xml';
+$pdf_previewer = 'okular %S';
+\end{koodilohko}
+ \caption{Latexmk\-/ ohjelman asetustiedosto (\koodi{\textasciitilde
+ /.config/\katk latexmk/\katk latexmkrc})}
+ \label{esim/latexmkrc}
+\end{esimerkki*}
+
+Esimerkin ensimmäisen rivin asetus määrittää, miten pdf\-/ tiedostot
+tuotetaan tai mitä kääntäjää käytetään oletuksena. Toisella ja
+kolmannella rivillä määritellään, millä tavoin Lualatex ja Xelatex
+suoritetaan. Tässä esimerkissä oletusasetuksiin on lisätty
+\koodi{-inter\-action=\katk non\-stop\-mode}, joka estää kaiken
+vuorovaikutteisen toiminnan. Asetus on tarpeen ainakin silloin, kun
+kääntäjä käynnistetään toisesta ohjelmasta kuten tekstieditorista eikä
+vuorovaikutus kääntäjän kanssa ole mahdollista. Valitsin
+\koodi{-shell-escape} kytkee päälle ominaisuuden, jota tarvitaan
+joidenkin laajennuspakettien toimintaan.\footnote{Ainakin
+ asiahakemistopaketit \paketti{indextools} ja \paketti{imakeidx}
+ tarvitsevat \koodi{-shell-escape}\-/ toiminnon (luku
+ \ref{luku/asiasanat}).}
+
+Esimerkin \ref{esim/latexmkrc} neljännellä rivillä luetellaan
+kääntämisen aikana syntyvien väliaikaistiedostojen päätteitä. Latexmk\-/
+ohjelma tuntee yleisimmät väliaikaistiedostot (\koodi{log}, \koodi{aux},
+\koodi{out} ym.), mutta tällä asetuksella mukaan voi lisätä
+harvinaisempia, joita se ei tunne. Viides rivi määrittää pdf\-/
+katseluohjelman, joka käynnistetään, kun käytetään valitsimia
+\koodi{\=/pv} tai \koodi{\=/pvc}.
+
+\subsection{Texdoc}
+
+Latexin kirjoittajan täytyy silloin tällöin lukea ohjekirjoja. Vaikka
+Latexin perusosat joskus oppisikin ulkoa, ei voi koskaan muistaa
+kaikkien hyödyllisten laajennuspakettien kaikkia ominaisuuksia.
+
+Tex Live \=/jakelun (luku \ref{luku/asentaminen}) mukana tulee mainio
+komentotulkissa toimiva komento \koodi{texdoc}, jolla voi hakea ja avata
+omaan järjestelmään asennettuja Latex\-/ aiheisia ohjeita. Jos vaikka
+haluaa tutustua esimerkissä \ref{esim/ensimmäinen}
+(s.~\pageref{esim/ensimmäinen}) mainittavaan \paketti{fontspec}\-/
+pakettiin syvällisemmin, tarvitsee vain komentaa \koodi{texdoc
+ fontspec}, ja paketin pdf\-/ muotoinen ohjekirja avautuu.
+
+\section{Lähdetiedostot}
+
+Seuraavassa ovat ohjeet alkuun pääsemiseksi. Luodaan yksinkertainen
+Latex\-/ lähdetiedosto, jota voi käyttää harjoitteluun ja pohjana omille
+töille. Tallenna esimerkin \ref{esim/ensimmäinen} sisältö tekstieditorin
+avulla tiedostoon vaikkapa nimellä \koodi{teksti.\katk tex}. Käännä eli
+lado se pdf\-/ tiedostoksi käyttämällä jotakin seuraavista komennoista
+(valitse yksi):
+
+\begin{koodilohkosis}
+lualatex teksti.tex
+xelatex teksti.tex
+latexmk -lualatex teksti.tex
+latexmk -xelatex teksti.tex
+\end{koodilohkosis}
+
+\noindent
+Tuloksena pitäisi olla tiedosto \koodi{teksti.\katk pdf}, jota voi
+ihailla jollakin pdf\-/ tiedostojen katseluun tarkoitetulla ohjelmalla.
+
+Esimerkin \ref{esim/ensimmäinen} ensimmäisellä rivillä määritellään
+dokumenttiluokka \luokka{article}, joka on tietynlainen sivupohja tai
+asetusten kokoelma, jonka perustalle aletaan rakentaa omaa dokumenttia.
+Luokka \luokka{article} on tyypillinen valinta lyhyehköille teksteille.
+Lisätietoa dokumenttiluokista on luvussa \ref{luku/dokumenttiluokat}.
+
+Riveillä 2--4 käytetään komentoa \komentom{usepackage}, jonka avulla
+otetaan käyttöön sivun asetuksista huolehtiva \paketti{geometry}\-/
+paketti, fonttiasetuksia hoitava \paketti{fontspec}\-/ paketti ja
+kieliasetuksista vastaava \paketti{polyglossia}\-/ paketti. Näitä kolmea
+tarvitaan melkein joka kerta dokumenteissa, ja niihin palataan tarkemmin
+luvuissa \ref{luku/sivuasetukset}, \ref{luku/kirjaintyypit} ja
+\ref{luku/kieliasetukset}.
+
+Seuraavilla riveillä asetetaan kieleksi suomi (\koodi{finnish}) ja
+määritetään oletuksena käytettävä fontti tai oikeastaan kokonainen
+kirjainperhe. \englanti{Latin Modern Roman} \=/kirjainperheen tilalle
+voi toki asettaa jonkin muunkin. Fontin oletuskoko on 10 typografista
+pistettä, mutta tässä esimerkissä se venytetään 1,3\-/ kertaiseksi eli
+13 pisteeseen. Riviväliin liittyvä kerroin asetetaan rivillä 8.
+
+\begin{esimerkki*}
+ \komentoi{begin}
+ \komentoi{documentclass}
+ \komentoi{end}
+ \komentoi{linespread}
+ \komentoi{setdefaultlanguage}
+ \komentoi{setmainfont}
+ \komentoi{usepackage}
+ \luokkai{article}
+ \pakettii{fontspec}
+ \pakettii{geometry}
+ \pakettii{polyglossia}
+ \ymparistoi{document}
+
+\begin{koodilohko}
+\documentclass{article}
+\usepackage[a4paper,top=20mm,bottom=30mm,left=20mm,right=20mm]{geometry}
+\usepackage{fontspec}
+\usepackage{polyglossia}
+
+\setdefaultlanguage{finnish}
+\setmainfont{Latin Modern Roman}[Scale=1.3]
+\linespread{1.4}
+
+\begin{document}
+
+Minun Latex-dokumenttini!
+
+\end{document}
+\end{koodilohko}
+ \caption{Latex\-/ lähdedokumentin runko ja perusasetukset}
+ \label{esim/ensimmäinen}
+\end{esimerkki*}
+
+Dokumentin alkuosaa riville 9 saakka kutsutaan esittelyosaksi
+(\englanti{preamble}). Tässä osassa ladataan tarvittavat paketit ja
+määritetään dokumentin asetuksia ja taustatietoja. Riviltä 10 alkaa
+varsinainen tekstiosa eli dokumentin sivuille ladottava sisältö. Se osa
+kirjoitetaan \ymparistom{document}\-/ ympäristön sisään eli riveillä 10
+ja 14 olevien ympäristön aloitus\-/\ ja lopetuskomentojen väliin
+(\komento{begin}, \komento{end}).
+
+Tällaisen merkintäkielen avulla dokumentit kirjoitetaan. Osa
+merkintäkielen komennoista tulee Latexin perusosasta ja osa tulee
+erikseen ladattavista paketeista (\paketti{geometry},
+\paketti{fontspec}, \paketti{polyglossia} ym.). Komentoja voi luoda
+itsekin.
+
+Myöhempää käyttöä varten voisi olla hyödyllistä tallentaa tämänkaltainen
+pohjadokumentti. Välttyy samojen perusjuttujen kirjoittamiselta, kun voi
+aloittaa työt valmiista dokumenttipohjasta.
+
+Lähdetiedoston nimissä kannattaa pitäytyä melko suppeassa
+merkkivalikoimassa, ja varsinkin välilyöntejä kannattaa välttää.
+Nimittäin kääntämisen aikana Latex ja sen paketit luovat
+väliaikaistiedostoja, joilla sama nimen osa kuin lähdetiedostossa, ja
+näitä tiedostoja saattavat käsitellä monet erilaiset taustalla
+vaikuttavat työkaluohjelmat. Tiedoston nimissä olevat välilyönnit ja
+ehkä muutkin erikoisemmat merkit aiheuttavat ongelmia.
+
+Pitkä lähdedokumentti voi olla mielekästä jakaa useammaksi tiedostoksi.
+Yhteen lähdetiedostoon voi sisällyttää toisen tiedoston käyttämällä
+\komento{input}\-/ komentoa. Komennon argumentiksi annetaan ladattavan
+lähdetiedoston nimi:
+
+\komentoi{input}
+\begin{koodilohkosis}
+\input{toinen.tex}
+\end{koodilohkosis}
+
+\noindent
+Hieman vastaava komento on \komento{include}, joka myös lisää
+automaattisen sivunvaihdon (\komento{clearpage}, luku
+\ref{luku/sivunvaihdot}) komennon kohdalle.
+
+Nyt lienee sopiva aika alkaa opiskella itse Latexia eli merkintäkieltä
+ja kokeilla sen ominaisuuksia itse. Tätä opasta ei tarvitse lukea
+järjestyksessä luku luvulta eteenpäin, vaan eri aiheita voi vapaasti
+opiskella mielenkiinnon ja tarpeiden mukaan. Onnea matkaan!
diff --git a/info/kaytannollista-latexia/tavutusvihjeet.tex b/info/kaytannollista-latexia/tavutusvihjeet.tex
new file mode 100644
index 0000000000..1cd01665d7
--- /dev/null
+++ b/info/kaytannollista-latexia/tavutusvihjeet.tex
@@ -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
+}
diff --git a/info/kaytannollista-latexia/versio.tex b/info/kaytannollista-latexia/versio.tex
new file mode 100644
index 0000000000..1f9bae2ceb
--- /dev/null
+++ b/info/kaytannollista-latexia/versio.tex
@@ -0,0 +1 @@
+\newcommand{\versio}{2021.12}
diff --git a/info/mathalphabets/README.md b/info/mathalphabets/README.md
new file mode 100644
index 0000000000..5ccda6a3da
--- /dev/null
+++ b/info/mathalphabets/README.md
@@ -0,0 +1,18 @@
+Abstract
+This is a Chinese introduction to mathematical alphabets including greek alphabets, and latin alphabets in script, calligraphic, fraktur, double stroke and blackboard bold fonts, and Hebrew alphabets. Furthermore, we will give some advice on how to use and pronounce them.
+
+Fonts
+To compile the tex.file, you need to download and install the free fonts such as Fangzhengshusong (方正书宋), Fangzhengkaiti (方正楷体), Fangzhengfangsong (方正仿宋) in GBK code and the non-free fonts such as FangzhengFWzhuzimingchaoD (方正FW筑紫明朝D) and Fangzhengyouhei506L (方正悠黑506L) from http://www.foundertype.com
+
+Versions
+Version 2.2 2021-12-27 Revised some typos.
+Version 2.1 2021-12-25 Improved and expanded the statements about \varepsilon, \varkappa, \vartheta, \varpi, \varrho, \varsigma, \varphi.
+Version 2.0 2021-12-11 Increased the content of Hebrew alphabet and supplied some provocations of some Greek letters.
+Version 1.0 2021-11-29 Finished the first draft.
+
+Contact
+Conden Chao zhaoxy00@126.com
+
+Notice
+Any commercial use is forbidden.
+
diff --git a/info/mathalphabets/mathalphabets.pdf b/info/mathalphabets/mathalphabets.pdf
new file mode 100644
index 0000000000..ef16fad859
--- /dev/null
+++ b/info/mathalphabets/mathalphabets.pdf
Binary files differ
diff --git a/info/mathalphabets/src/maref.bib b/info/mathalphabets/src/maref.bib
new file mode 100644
index 0000000000..baa418c090
--- /dev/null
+++ b/info/mathalphabets/src/maref.bib
@@ -0,0 +1,177 @@
+%% This BibTeX bibliography file was created using BibDesk.
+%% https://bibdesk.sourceforge.io/
+
+%% Created for Conden Chao at 2019-12-10 22:42:23 +0800
+
+
+%% Saved with string encoding Unicode (UTF-8)
+
+@misc{Sllj2021,
+ Addendum = {初稿.},
+ Author = {赵晓玉},
+ Language = {chinese},
+ Title = {数理逻辑: 形式化方法的应用},
+ Type = {Z},
+ Year = {2021}}
+
+@misc{Lsyc2017,
+ Addendum = {初稿.},
+ Author = {赵晓玉},
+ Language = {chinese},
+ Title = {\LaTeX{}中文用户实用手册},
+ Type = {Z},
+ Year = {2017}}
+
+@book{Tcmf1980,
+ Author = {Knuth, D. E.},
+ Location = {California},
+ Publisher = {Stanford University},
+ Title = {The Computer Modern Family of Typefaces},
+ Type = {M},
+ Year = {1980}}
+
+@misc{Imut2009,
+ Author = {Knuth, D. E.},
+ Date = {2009-01},
+ Title = {Important Message to All Users of \TeX{}},
+ Type = {Z/OL},
+ Url = {https://www-cs-faculty.stanford.edu/~knuth/cm.html},
+ Urldate = {2020-09-04},
+ Bdsk-Url-1 = {https://www-cs-faculty.stanford.edu/~knuth/cm.html}}
+
+@misc{Rsrm1991,
+ Author = {R. Smith},
+ Date = {1991-10-27},
+ Title = {Readme},
+ Type = {Z/OL},
+ Url = {https://www.ctan.org/tex-archive/fonts/rsfs},
+ Urldate = {2021-12-11},
+ Bdsk-Url-1 = {https://www.ctan.org/tex-archive/fonts/rsfs}}
+
+@misc{Uams2002,
+ Author = {American~Mathematical~Society},
+ Date = {2002-01},
+ Title = {User's Guide to AMSFonts Version 2.2d},
+ Type = {Z/OL},
+ Url = {https://mirrors.tuna.tsinghua.edu.cn/CTAN/fonts/amsfonts/doc/amsfndoc.pdf},
+ Urldate = {2021-12-11},
+ Bdsk-Url-1 = {https://mirrors.tuna.tsinghua.edu.cn/CTAN/fonts/amsfonts/doc/amsfndoc.pdf}}
+
+@misc{Tnps2006,
+ Author = {Linotype},
+ Location = {GmbH},
+ Publisher = {Linotype},
+ Title = {The New Palatino{\texttrademark} Sans: A Supplement to Palatino Nova Designed by Hermann Zapf},
+ Type = {Z/OL},
+ Url = {http://www.linotype.co.jp/linotype%20volumes/Palatino%20Sans%20Brochure.pdf},
+ Urldate = {2020-09-04},
+ Year = {2006},
+ Bdsk-Url-1 = {http://www.linotype.co.jp/linotype%20volumes/Palatino%20Sans%20Brochure.pdf}}
+
+@misc{Ramf2013,
+ Author = {American~Mathematical~Society},
+ Date = {2013-01-14},
+ Title = {Readme for \texttt{amsfonts} 3.04},
+ Type = {Z/OL},
+ Url = {https://www.ctan.org/tex-archive/fonts/amsfonts},
+ Urldate = {2021-12-11},
+ Bdsk-Url-1 = {https://www.ctan.org/tex-archive/fonts/amsfonts}}
+
+@misc{Tpvd1997,
+ Author = {O. Kummer},
+ Date = {1997-07-08},
+ Title = {The Preview Document},
+ Type = {Z/OL},
+ Url = {https://mirrors.tuna.tsinghua.edu.cn/CTAN/info/symbols/blackboard/blackboard.ps},
+ Urldate = {2021-12-11},
+ Bdsk-Url-1 = {https://mirrors.tuna.tsinghua.edu.cn/CTAN/info/symbols/blackboard/blackboard.ps}}
+
+@misc{Tmap2021,
+ title={The \textsf{mathalpha}, AKA \textsf{mathalfa} Package},
+ author={M. Sharpe},
+ type={Z/OL},
+ date={2021-11-18},
+ url={https://mirrors.tuna.tsinghua.edu.cn/CTAN/macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf},
+ Urldate = {2021-12-11},
+ Bdsk-Url-1 = {https://mirrors.tuna.tsinghua.edu.cn/CTAN/macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf}}
+
+@misc{Asfm2006,
+ title={A Survey of Free Math Fonts for \TeX{} and \LaTeX{}},
+ author={Hartke, S. G.},
+ type={Z/OL},
+ date={2006-05-06},
+ url={https://mirrors.tuna.tsinghua.edu.cn/CTAN/info/Free_Math_Font_Survey/en/survey.pdf},
+ Urldate = {2021-12-11},
+ Bdsk-Url-1 = {https://mirrors.tuna.tsinghua.edu.cn/CTANinfo/Free_Math_Font_Survey/en/survey.pdf}}
+
+@misc{Rdme2021,
+ Author = {A. Tsolomitis},
+ Date = {2021-12-09},
+ Title = {Readme},
+ Type = {Z/OL},
+ Url = {https://mirrors.tuna.tsinghua.edu.cn/CTAN/fonts/newcomputermodern/README},
+ Urldate = {2021-12-11},
+ Bdsk-Url-1 = {https://mirrors.tuna.tsinghua.edu.cn/CTAN/fonts/newcomputermodern/README}}
+
+@misc{Arch2020,
+ Author = {E. Gregorio},
+ Date = {2020-03-02},
+ Title = {A Reply to ``What are \TeX{} Codes for Hebrew Letters to Be Used as Math-Mode Symbols?"},
+ Type = {Z/OL},
+ Url = {https://tex.stackexchange.com/a/226850/140814},
+ Urldate = {2021-12-08},
+ Bdsk-Url-1 = {https://tex.stackexchange.com/a/226850/140814}}
+
+@misc{Arhi2021,
+ Author = {D. Carlisle},
+ Date = {2021-08-20},
+ Title = {A Reply to ``How to Invoke Aleph, Beth, Gimel and Daleth Only in the Latin Modern Math Font?"},
+ Type = {Z/OL},
+ Url = {https://tex.stackexchange.com/a/611616/140814},
+ Urldate = {2021-12-08},
+ Bdsk-Url-1 = {https://tex.stackexchange.com/a/611616/140814}}
+
+@misc{Arab2017,
+ Author = {H. Oberdiek},
+ Date = {2017-04-13},
+ Title = {A Reply to ``How to Get Aleph and Beth Symbols in Similar Font?"},
+ Type = {Z/OL},
+ Url = {https://tex.stackexchange.com/a/170494/140814},
+ Urldate = {2021-12-08},
+ Bdsk-Url-1 = {https://tex.stackexchange.com/a/170494/140814}}
+
+@misc{Wwdb2020,
+ Author = {M. Logic},
+ Date = {2020-09-04},
+ Title = {Who Designed the Mathematical Blackboard Bold Letters of \AmS{}, and When?},
+ Type = {Z/OL},
+ Url = {https://tex.stackexchange.com/q/561380/140814},
+ Urldate = {2021-12-08},
+ Bdsk-Url-1 = {https://tex.stackexchange.com/q/561380/140814}}
+
+@misc{Wdvs2020,
+ Author = {E. Gregorio},
+ Date = {2020-01-27},
+ Title = {A Reply to ``What Does the \texttt{\textbackslash var} Prefix Stand for in \texttt{\textbackslash varphi} and \texttt{\textbackslash varepsilon} Etc?"},
+ Type = {Z/OL},
+ Url = {https://tex.stackexchange.com/a/304576/140814},
+ Urldate = {2021-12-25},
+ Bdsk-Url-1 = {https://tex.stackexchange.com/a/304576/140814}}
+
+@misc{Tcpb2020,
+ Author = {C.(赵晓玉) Chao and S. Murugaiah},
+ Date = {2020-09-17},
+ Title = {The \texttt{cmathbb} Package: To Call Mathematical Blackboard Bold Characters Compatible with the Computer Modern Font Family, Version 1.0},
+ Type = {Z/OL},
+ Url = {https://mirrors.tuna.tsinghua.edu.cn/CTAN/fonts/cmathbb/doc/cmathbb.pdf},
+ Urldate = {2021-12-11},
+ Bdsk-Url-1 = {https://mirrors.tuna.tsinghua.edu.cn/CTAN/fonts/cmathbb/doc/cmathbb.pdf}}
+
+@book{Mmil2016,
+ Author = {G. Gr{\"a}tzer},
+ Edition = {5},
+ Location = {Cham, Heidelberg, New York, Dordrecht and London},
+ Publisher = {Springer},
+ Title = {More Math into \LaTeX{}},
+ Type = {M},
+ Year = {2016}}
diff --git a/info/mathalphabets/src/mathalphabets.tex b/info/mathalphabets/src/mathalphabets.tex
new file mode 100644
index 0000000000..b9aa8df301
--- /dev/null
+++ b/info/mathalphabets/src/mathalphabets.tex
@@ -0,0 +1,715 @@
+\documentclass[zihao=5]{ctexart}%[zihao=-4]
+\usepackage[papersize={185mm,260mm},top=22mm,bottom=22mm,left=22mm,right=22mm]{geometry}%185mm×260mm, 上30mm下20mm左22mm右22mm
+\usepackage{amsmath,amsfonts,amssymb,mathrsfs,dsfont,comment}
+\usepackage{longtable}
+\usepackage{graphicx}
+\usepackage{indentfirst} %首行缩进宏包
+%%%行距与段落间距设置%%%%%%%%%%%%%%%%%%%%%%%
+\linespread{1.4}
+\setlength{\parskip}{.3\baselineskip plus 0.2ex minus 0.1ex}%段落间的距离
+\usepackage{enumitem}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%设置中英文混排时中文字体%%%%%%%%%%%%%%%%%%%%
+\setCJKmainfont[ItalicFont={FZKai-Z03}, BoldFont={FZFW ZhuZi MinchoS D}]{FZShuSong-Z01} %主要字体,\it,\bfseries, \rm %LLB+DB
+\setCJKsansfont{FZYouHeiS 506L} %中文非衬线字体,调用命令,\sf
+\setCJKmonofont{FZFangSong-Z02} %中文等距字体,调用命令,\ttfamily
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%定义新字体%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\setCJKfamilyfont{kaiti}{FZKai-Z03}%使用楷体
+\newcommand{\kai}{\CJKfamily{kaiti}}
+\setCJKfamilyfont{fangsong}{FZFangSong-Z02}%使用仿宋
+\newcommand{\fsong}{\CJKfamily{fangsong}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%调用希伯来字母%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\usepackage{fontspec}%mathspec自动调用该宏包;顶端也调用
+\makeatletter
+\let\aleph\relax\let\beth\relax
+\let\gimel\relax\let\daleth\relax
+\newfontfamily\hebfont{NewCM08-Regular.otf}
+\newcommand\aleph{\mathord{\textrm{\hebfont\char"05D0}}}
+\let\alef\aleph
+\newcommand\vet{\mathord{\textrm{\hebfont\char"05D1}}}
+\let\bet\vet
+\let\beth\vet
+\newcommand\gimel{\mathord{\textrm{\hebfont\char"05D2}}}
+\newcommand\dalet{\mathord{\textrm{\hebfont\char"05D3}}}
+\let\daleth\dalet
+\let\daled\dalet
+\newcommand\he{\mathord{\textrm{\hebfont\char"05D4}}}
+\newcommand\vav{\mathord{\textrm{\hebfont\char"05D5}}}
+\let\waw\vav
+\newcommand\zayin{\mathord{\textrm{\hebfont\char"05D6}}}
+\newcommand\het{\mathord{\textrm{\hebfont\char"05D7}}}
+\let\heth\het
+\let\chet\het
+\newcommand\tet{\mathord{\textrm{\hebfont\char"05D8}}}
+\let\teth\tet
+\newcommand\yod{\mathord{\textrm{\hebfont\char"05D9}}}
+\let\jod\yod
+\newcommand\kaf{\mathord{\textrm{\hebfont\char"05DB}}}
+\newcommand\varkaf{\mathord{\textrm{\hebfont\char"05DA}}}
+\newcommand\lamed{\mathord{\textrm{\hebfont\char"05DC}}}
+\newcommand\mem{\mathord{\textrm{\hebfont\char"05DE}}}
+\newcommand\varmem{\mathord{\textrm{\hebfont\char"05DD}}}
+\newcommand\nun{\mathord{\textrm{\hebfont\char"05E0}}}
+\newcommand\varnun{\mathord{\textrm{\hebfont\char"05DF}}}
+\newcommand\samekh{\mathord{\textrm{\hebfont\char"05E1}}}
+\newcommand\ayin{\mathord{\textrm{\hebfont\char"05E2}}}
+\newcommand\pe{\mathord{\textrm{\hebfont\char"05E4}}}
+\newcommand\varpe{\mathord{\textrm{\hebfont\char"05E3}}}
+\newcommand\tsadi{\mathord{\textrm{\hebfont\char"05E6}}}
+\let\sadi\tsadi
+\let\sadhe\tsadi
+\newcommand\vartsadi{\mathord{\textrm{\hebfont\char"05E5}}}
+\let\varsadi\vartsadi
+\let\varsadhe\vartsadi
+\newcommand\qof{\mathord{\textrm{\hebfont\char"05E7}}}
+\let\qoph\qof
+\newcommand\resh{\mathord{\textrm{\hebfont\char"05E8}}}
+\newcommand\shin{\mathord{\textrm{\hebfont\char"05E9}}}
+\let\sheen\shin
+\newcommand\tav{\mathord{\textrm{\hebfont\char"05EA}}}
+\let\taw\tav
+\makeatother
+
+%%%list编号相关%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%enumerate item编号--------------------------------------------
+\renewcommand{\labelenumi}{(\theenumi)} %\labelenumi (1级e-item)
+%\renewcommand{\labelenumii}{({\it\theenumii})}%\labelenumii (2级e-item)
+%设置item缩进值----------------------------------------------------
+%需要enumitem宏包
+\setlist[enumerate]{leftmargin=1.8em}
+\setlist[itemize]{leftmargin=1.1em}%所有级别
+
+%%%画线%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{xhfill}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%解决amsthm中openbox与xhill冲突问题%%%%%%
+\let\openbox\relax
+%%%设置定理环境%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{amsthm}
+%中文定理与定义格式----------------------------------------------
+\makeatletter
+\newtheoremstyle{mythm}%名字
+{.3\baselineskip plus 0.2ex minus 0.1ex}%上方的空行
+{.3\baselineskip plus 0.2ex minus 0.1ex}%下方的空行
+{\kai }%主体内容,可以在此修改内容字体
+{}%首行缩进:2em
+{}%定理头部字体
+{}%定理头部后的标点 {\bfseries .}
+{1em}%定理头部后的空格
+{{\bfseries\thmname{#1}\thmnumber{#2}}\thmnote{(#3)\!\!}}%定理头部的说明
+\makeatother
+\makeatletter
+\newtheoremstyle{mydefn}%名字
+{.3\baselineskip plus 0.2ex minus 0.1ex}%上方的空行
+{.3\baselineskip plus 0.2ex minus 0.1ex}%下方的空行
+{}%主体内容,可以在此修改内容字体
+{}%首行缩进:2em
+{}%定理头部字体
+{}%定理头部后的标点 {\bfseries .}
+{1em}%定理头部后的空格
+{{\bfseries\thmname{#1}\thmnumber{#2}}\thmnote{(#3)\!\!}}%定理头部的说明
+\makeatother
+%1和2换过来之后,}之后加~,否则交换无效-------------------------
+%%%中文证明环境%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\makeatletter
+\renewenvironment{proof}[1][\proofname]{\par
+ \pushQED{\qed}%
+ \normalfont \topsep0\p@\@plus0\p@\relax %证明环境前后行距
+ \trivlist
+ \item[\hskip\labelsep % 首行缩进则加\indent
+ \bfseries
+ #1\@addpunct{}]\ignorespaces %:为证明后的冒号
+}{%
+ \popQED\endtrivlist\@endpefalse
+}
+\renewcommand{\proofname}{回应} %Proof的名称换为证明
+\makeatother
+%%%修改证明结束符%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\renewcommand{\qedsymbol}{\ensuremath\boxtimes}
+%%%设置定理%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\theoremstyle{mythm}
+\newtheorem{theorem}{定理}
+\newtheorem{lemma}[theorem]{引理}
+\newtheorem{corollary}[theorem]{推论}
+\newtheorem{proposition}[theorem]{命题}
+\newtheorem{exercise}[theorem]{习题}
+\newtheorem{question}[theorem]{疑问}
+\theoremstyle{mydefn}
+\newtheorem{definition}[theorem]{定义}
+\newtheorem{remark}[theorem]{评注}
+\newtheorem{example}[theorem]{示例}
+\newtheorem{material}[theorem]{材料}
+%%%习题编号改为x.%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\renewcommand\thetheorem{1.\arabic{theorem}}%roman,Roman,alph,Alph
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%尾注添加%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{endnotes}
+\renewcommand{\notesname}{本文注释}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%设置脚注%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage[perpage,stable,bottom]{footmisc}
+%perpage使得脚注每页重新编号
+%stable使得标题中可加脚注,但目录中不会出现脚注编号
+%bottom使得每页脚注靠近页面底端
+\setlength{\footnotesep}{0.6\baselineskip}% 脚注与脚注之间行距
+\setlength{\skip\footins}{1\baselineskip plus 06ex minus 0.3ex}% 脚注与正文间距
+%%%%脚注编号带圈儿------------------------------------------
+%\usepackage{pifont}%调用带圈的数字
+%\renewcommand\thefootnote{\ding{\numexpr171+\value{footnote}}}%脚注编号设成带圈数字rm
+
+%%%thanks和footnote格式一致%%%%%%%%%%%%%%%%%%%%%
+\usepackage{scrextend} % KOMA script for footnote marks hung left of the margin
+\newcommand*\footnotetextfrommargin{0em} %distance for footnote text from the margin
+\deffootnote{\footnotetextfrommargin}%use distance from above
+{\parindent}% paragraph indent in footnotes
+{\thefootnotemark\space} %footnote marks followed by a space in footnote
+\deffootnotemark{\normalfont\textsuperscript{\thefootnotemark}} %use footmarktextfont for footnote markers in the text
+\usepackage{xpatch}
+\makeatletter
+% 1. remove all redefinitions about footnotes done by \maketitle and add \titletrue
+\renewcommand\maketitle{\par
+ \begingroup
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \titletrue
+ \if@twocolumn
+ \ifnum \col@number=\@ne
+ \@maketitle
+ \else
+ \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@% Prevents figures from going at top of page.
+ \@maketitle
+ \fi
+ \thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@maketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+}
+% 2. define a conditional
+\newif\iftitle
+%3. indent at first line
+\xpretocmd{\@makefntext}{\titlefalse}{}{}
+\renewcommand\@makefntext[1]{%
+ \noindent\makebox[3.0em][r]{\@makefnmark}#1}
+\makeatother
+
+%%%脚注编号%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\makeatletter
+%脚注编号带圈儿--------------------------------------------------
+\usepackage{tikz}%需要tikz
+\newcommand*\circled[1]{%
+ \tikz[baseline=(char.base)]\node[shape=circle,draw,inner sep=0.1pt,text depth=0pt,font=\normalfont,minimum size=5.6pt] (char) {#1};}
+\renewcommand\thefootnote{\protect\circled{\arabic{footnote}}}
+%正文脚注编号大小------------------------------------------------
+\def\@makefnmark{\textsuperscript{\tiny\@thefnmark}}%tiny
+%脚注中编号非上标------------------------------------------------
+\let\old@makefntext\@makefntext%
+\long\def\@makefntext#1{%
+ \def\@makefnmark{\raisebox{0.08\baselineskip}{\tiny\@thefnmark}}%
+ \old@makefntext{\space#1}}%
+\makeatother
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%设置页眉页脚%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{fancyhdr}%调用宏包
+%%%设置新的plain格式%%%%%%%%%%%%%%%%%%%%%%%%
+\fancypagestyle{plain}{
+ \fancyhf{}
+ \fancyhead{}
+ \fancyfoot{}
+ \renewcommand{\headrulewidth}{0pt}}
+\renewcommand{\headrulewidth}{0pt} % 页眉与正文之间的水平线粗细,默认0.4pt
+%\renewcommand{\footrulewidth}{1pt}
+%\setlength{\topskip}{0mm} %页眉与正文间距离
+\usepackage{lastpage}%可以调用总页数
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%合并表格行列%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{multirow}
+
+%%%摘要名称%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\renewcommand{\abstractname}{内容摘要}
+%%%节标题靠左%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\CTEXsetup[format={\Large\bfseries}]{section}
+%%%解决表格标题距内容过近%%%%%%%%%%%%%%%%%%%%%
+\usepackage{caption}
+%将表格、图片标题中英文冒号改成中文冒号-------------------------
+\makeatletter
+\DeclareCaptionLabelSeparator{cncolon}{:}%定义中文冒号形式的分隔符
+\makeatother
+%删除表格、图片标题中冒号----------------------------------------
+\captionsetup{labelsep=quad}%none,colon,period,space,quad,newline,endash
+%%%表格线加粗%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{booktabs}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%set space between caption and text (for tables, figurs and so on)
+\setlength{\abovecaptionskip}{.3\baselineskip plus 0.2ex minus 0.1ex}
+\setlength{\belowcaptionskip}{.3\baselineskip plus 0.2ex minus 0.1ex}
+
+%%%设置图编号随章%%%%%%%%%%%%%%%%%%%%%%%%%%
+\renewcommand\thefigure{$\arabic{figure}$\,}
+%默认的图片编号本如此,只是数字后的冒号挨太紧
+
+%%%set space between caption and text (for tables, figurs and so on)
+%\setlength{\abovecaptionskip}{.2\baselineskip plus 1pt minus 3pt}
+%\setlength{\belowcaptionskip}{.2\baselineskip plus 1pt minus 3pt}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%参考文献%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage[backend = biber, style = caspervector-ay, utf8,
+maxbibnames=999,maxcitenames=999,%引用和列表的文献作者全显示
+sortcites=false,%引用显示按照输入顺序
+sorting = cenyt,%列表显示按照cenyt
+dashed=true,%文献列表作者相同时横线表示
+seconds=true,
+]{biblatex}
+%%%参考文献格式修改%%%%%%%%%%%%%%%%%%%%%%%%%
+\makeatletter
+%列表文献标题设置-------------------------------------------------
+\renewcommand*{\bbx@cepunct}[2]{#2}
+\DeclareFieldFormat*{title}{\bbx@cetext{《{#1}》}{\mkbibemph{#1}}}
+\DeclareFieldFormat*{booktitle}{\bbx@cetext{《{#1}》}{\mkbibemph{#1}}}
+\DeclareFieldFormat*{journaltitle}{\bbx@cetext{《{#1}》}{\mkbibemph{#1}}}
+\DeclareFieldFormat[inbook, inproceedings, incollection, article]
+{title}{\bbx@cetext{《{#1}》}{{#1}}}%\mkbibquote可以使此类title加双引号----
+\DeclareFieldFormat*{volume}{{#1}}%卷号不再斜体;\mkbibbold可以加粗
+%\DeclareFieldFormat*{type}{\mkbibbrackets{\mkbibemph{#1}}}%文献类型C,M,J斜体
+%列表中2个以上作者时,中文后2个加‘和’,英文后2个加‘and’
+\renewcommand*{\finallistdelim}{\bbx@cetext{{和}}{\addspace\bibstring{and}\space}}
+\renewcommand*{\finalnamedelim}{\bbx@cetext{{和}}{\addspace\bibstring{and}\space}}
+%去掉英文文献两个以上作者时最后两个作者之间加的and
+%\renewcommand*{\finallistdelim}{\bbx@cecomma}
+%\renewcommand*{\finalnamedelim}{\bbx@cecomma}%国标
+%列表中姓名显示姓在前---------------------------------------------
+\DeclareNameAlias{default}{family-given}
+%引用显示加括号----------------------------------------------------
+\renewcommand{\cite}{\Parencite}
+%引用显示括号为中括号---------------------------------------------
+\AtEveryCite{%
+ \let\bibopenparen=\bibopenbracket%
+ \let\bibcloseparen=\bibclosebracket}
+%引用显示中文顿号、中文逗号改为英文逗号+英文空格----------------
+\renewcommand{\bbx@cnbcomma}{\addcomma\space}
+\renewcommand{\bbx@cncomma}{\addcomma\space}
+%解决addendum中cite导致的bug-----------------------------------
+\newcommand*{\mkbibcitesafe}{\blx@initunit}
+%%文献列表不显示type-----------------------------------------------
+%\DeclareFieldFormat*{type}{}
+\makeatother
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%去掉列表中年份的括号并在年份前加英文逗号和空格----------------
+\usepackage{xpatch}
+\xpatchbibmacro{date+extradate}{%
+ \printtext[parens]%
+}{%
+ \setunit*{\addcomma\space}%
+ \printtext%
+}{}{}
+%增加列表项间距---------------------------------------------------
+\setlength{\bibitemsep}{.3\baselineskip plus 0.2ex minus 0.1ex}
+%解决列表中带连字符-的姓忽略前缀排序的问题----------------------
+\DeclareNosort{
+ % strip diacritics when sorting names
+ \nosort{type_names}{\regexp{[\x{2bf}\x{2018}]}}
+}
+\DeclareNoinit{
+ % strip diacritics when generating initials from n¥ames
+ \noinit{\regexp{[\x{2bf}\x{2018}]}}
+}
+%导入数据库-------------------------------------------------------
+\addbibresource{maref.bib}
+%编译前把Bibtex引擎(默认bibtex)改为biber -l zh__pinyin:
+%TeXShop-偏好设置-引擎-Bibtex引擎-biber -l zh__pinyin
+%编译顺序xelatex-bibtex-xelatex-xelatex
+%%文献类型及标志代码---------------------------------------------
+%期刊J;普通图书M;会议论文C;学位论文D;报告R;汇编G;报纸N
+%标准S;专利P;档案A;数据库DB;计算机程序CP;电子公告EB;其它Z
+%电子文献:磁带(magnetic)MT;磁盘(disk)DK;光盘(CD-ROM);联机网络CD(online)OL
+%让\cite带[]--------------------------------------------------------
+\renewcommand{\cite}{\parencite}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%定义颜色%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{xcolor}%hyperref使用定义颜色不能用color宏包而必须用xcolor宏包
+%\definecolor{ColorName}{rgb}{r,g,b} %这时r/g/b的定义域就在[0-1]。
+\definecolor{thupurple}{RGB}{102,8,116} %这时R/G/B的定义域就在[0-255]
+\definecolor{thucyan}{RGB}{0,75,75}%for example block
+\definecolor{thubrown}{RGB}{150,75,0}%for example block
+%%%添加超链接%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage[bookmarks=false,colorlinks=true,
+citecolor=black,filecolor=black,linkcolor=black,urlcolor=black
+]{hyperref}
+%hidelinks去掉超链接框
+%%%url字体设置%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\urlstyle{same}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%使用音标符号%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\usepackage[safe]{tipa}
+
+%%%排版出的代码格式%%%%%%%%%%%%%%%%%%%%%%
+\usepackage{listings}%可以写代码
+%%%代码格式设置-------------------------
+\lstset{ %
+ language=[LaTeX]Tex, % the language of the code
+ basicstyle=\small\ttfamily,% the size of the fonts that are used for the code
+ numbers=none, % where to put the line-numbers, left or right or none
+ numberstyle=\color[RGB]{0,0,0}, % the style that is used for the line-numbers
+ stepnumber=1, % the step between two line-numbers. If it's 1, each line will be numbered
+ numbersep=5pt, % how far the line-numbers are from the code
+ %backgroundcolor=\color[RGB]{249,249,249}, % choose the background color. You must add \usepackage{color}
+ %captionpos=b\centering,%t, top;b,bottom
+ abovecaptionskip=-0.2\baselineskip,
+ belowcaptionskip=0.5\baselineskip,
+ frame=single, % adds a frame around the code
+ framerule=.8pt,
+ %rulecolor=\color[RGB]{1,1,90},
+ frame=tb,
+ %frameround=tttt,%fttt
+ framexleftmargin=0pt,
+ framexrightmargin=0pt,
+ framextopmargin=0pt,
+ framexbottommargin=0pt,
+ commentstyle=\color[RGB]{130,130,130}, % comment style
+ stringstyle=\color[RGB]{130,130,130}, % string literal style
+ aboveskip=.6\baselineskip plus 0.4ex minus 0.2ex,
+ belowskip=.3\baselineskip plus 0.2ex minus 0.1ex,
+ xleftmargin=0pt,
+ xrightmargin=0pt,
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 正文 %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{\bfseries 数学字母表}
+\author{赵晓玉\thanks{zhaoxy00@126.com;本文的主要内容亦被写进\cite[第1.1节]{Sllj2021}。}}
+%\date{2021年12月25日}
+\begin{document}
+\maketitle
+
+%%%删除原页眉页脚格式%%%%%%%%%%%%%%%%%%%%%%%
+\pagestyle{fancy}
+\fancypagestyle{plain}{\pagestyle{fancy}}
+%%%设置新页眉页脚格式%%%%%%%%%%%%%%%%%%%%%%%
+\fancyhf{}
+\fancyfoot[C]{\small\thepage/\pageref{LastPage}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{abstract}
+ 无论是数理逻辑,还是哲理逻辑,都与众多数学分支一样,需要使用大量的符号,其中使用最多的就是各种字母。进一步说,使用较多的是希腊(Greek)字母和拉丁(Latin)字母,使用不多的还有希伯来(Hebrew)字母。根据外观特征和线重大小的不同,字母不仅有常规体、罗马体、无衬线体、打印体、直立体、意体、斜体、小大写体、中等体、粗体等,还有手写体、书法体、哥特体、双线体、板粗体等\footnote{其对应英文依次分别为normal font、Roman font、sans serif font、typewritter font、up font、italic font、slant font、samll capital font、medium font、bold font等,script font、calligraphic font、fraktur font、double stroke font、blackboard bold font等。另外,字母的字体远不止这些,这里所列的只是\LaTeX{}中经常出现的。}。对于拉丁字母的前一类,大多数人都比较熟悉,而对于希腊字母、拉丁字母的后一类和希伯来字母,大多数人不太熟悉,所以本文对希腊字母、拉丁字母的后一类和希伯来字母进行简单介绍\footnote{这里不会过多介绍与之相关的\LaTeX{}使用问题。有兴趣了解更多相关内容的读者请见\cite[第19, 21章]{Lsyc2017}或\cite{Mmil2016}。},并对相关使用和具体读法给出一定建议。
+ \par{\bfseries 关键词:}希腊字母;手写体;书法体;哥特体;双线体;板粗体;希伯来字母
+\end{abstract}
+
+\par 希腊字母是由希腊人在腓尼基(Phoenicia)字母基础上增加元音(vowel)字母而来的,已被广泛应用于数学、物理、化学、天文、地理、生物等学科。希腊字母在古希腊时期有很多变体,直到公元前4世纪末方才演变成现在的24个字母。作为符号,希腊字母的大写(uppercase)一般以直立体出现,小写(lowercase)一般以意体出现。\LaTeX{}会提供多种样式的大写和小写希腊字母\footnote{详见\cite{Asfm2006}。},其中最常用的是克努斯于1977--1979年设计的样式\footnote{Knuth, D. E.,1938--至今,美国计算机学家、数学家,\TeX{}系统的发明者;详见\cite[第3, 175--187页]{Tcmf1980}。克努斯后于1992年发布的\TeX{}版本中改进了$\delta$的样式,而其改进后的样式就是现在看到的样式,于此详见\cite{Imut2009}。},而不需调用任何宏包即可使用它们。
+
+{\small\setlength{\LTleft}{0em}\setlength{\LTright}{0em}
+ \begin{longtable}{@{\extracolsep{\fill}}clclll}
+ %@{\extracolsep{\fill}}设置使得后面所有列间距可以伸展到预定义的表格宽度。
+ \caption{希腊字母} %\label{}加在\caption{}的括号中
+ \\\toprule%首页顶线[0.8pt]
+ 样式&命令&样式&命令&希腊文发音&英文发音\\
+ \midrule\endfirsthead%首页表头底线
+ \midrule%跨页表头顶线
+ 样式&命令&样式&命令&希腊文发音&英文发音\\
+ \midrule\endhead%跨页表头底线
+ \midrule\endfoot%跨页底线
+ \bottomrule\endlastfoot%末页底线
+ $\mathrm{A}$&\verb|\mathrm{A}|&$\alpha$&\verb|\alpha|&\textipa{[\textprimstress AlfA]}&\textipa{[\textprimstress \ae lf\textschwa]} \\
+ $\mathrm{B}$&\verb|\mathrm{B}|&$\beta$&\verb|\beta|&\textipa{[\textprimstress vi\textlengthmark tA]}&\textipa{[\textprimstress bI\textlengthmark t\textschwa]}/\textipa{[\textprimstress beIt\textschwa]} \\
+ $\Gamma$&\verb|\Gamma|&$\gamma$&\verb|\gamma|&\textipa{[\textprimstress gAmA]}&\textipa{[\textprimstress g\ae m\textschwa]}\\
+ $\Delta$&\verb|\Delta|&$\delta$&\verb|\delta|&\textipa{[\textprimstress DeltA]}&\textipa{[\textprimstress delt\textschwa]}\\
+ $\mathrm{E}$&\verb|\mathrm{E}|&$\epsilon$&\verb|\epsilon|&\textipa{[\textprimstress epsi\textlengthmark l\textschwa Un]}&\textipa{[\textprimstress epsIl6n]}/\textipa{[ep\textprimstress saIl\textschwa n]}\\
+ $\mathrm{Z}$&\verb|\mathrm{Z}|&$\zeta$&\verb|\zeta|&\textipa{[\textprimstress zi\textlengthmark tA]}&\textipa{[\textprimstress zi\textlengthmark t\textschwa]}/\textipa{[\textprimstress zeIt\textschwa]}\\
+ $\mathrm{H}$&\verb|\mathrm{H}|&$\eta$&\verb|\eta|&\textipa{[\textprimstress i\textlengthmark tA]}&\textipa{[\textprimstress i\textlengthmark t\textschwa]}/\textipa{[\textprimstress eIt\textschwa]}\\
+ $\Theta$&\verb|\Theta|&$\theta$&\verb|\theta|&\textipa{[\textprimstress Ti\textlengthmark tA]}&\textipa{[\textprimstress Ti\textlengthmark t\textschwa]}/\textipa{[\textprimstress TeIt\textschwa]}\\
+ $\mathrm{I}$&\verb|\mathrm{I}|&$\iota$&\verb|\iota|&\textipa{[\textprimstress j\textschwa UtA]}&\textipa{[aI\textprimstress\textschwa Ut\textschwa]}\\
+ $\mathrm{K}$&\verb|\mathrm{K}|&$\kappa$&\verb|\kappa|&\textipa{[\textprimstress kApA]}&\textipa{[\textprimstress k\ae p\textschwa]}\\
+ $\Lambda$&\verb|\Lambda|&$\lambda$&\verb|\lambda|&\textipa{[\textprimstress lAmDA]}&\textipa{[\textprimstress l\ae md\textschwa]}\\
+ $\mathrm{M}$&\verb|\mathrm{M}|&$\mu$&\verb|\mu|&\textipa{[mi\textlengthmark]}&\textipa{[mju\textlengthmark]}\\
+ $\mathrm{N}$&\verb|\mathrm{N}|&$\nu$&\verb|\nu|&\textipa{[ni\textlengthmark]}&\textipa{[nju\textlengthmark]}\\
+ $\Xi$&\verb|\Xi|&$\xi$&\verb|\xi|&\textipa{[ksi\textlengthmark]}&\textipa{[ksaI]}/\textipa{[gzaI]}/\textipa{[zaI]}/\textipa{[saI]}\\
+ $\mathrm{O}$&\verb|\mathrm{O}|&$o$&\verb|o|&\textipa{[\textprimstress \textschwa Umi\textlengthmark kr\textschwa Un]}&\textipa{[\textschwa U\textprimstress maIkr6n]}/\textipa{[\textprimstress 6mikr6n]}\\
+ $\Pi$&\verb|\Pi|&$\pi$&\verb|\pi|&\textipa{[pi\textlengthmark]}&\textipa{[paI]}\\
+ $\mathrm{P}$&\verb|\mathrm{P}|&$\rho$&\verb|\rho|&\textipa{[r\textschwa U]}&\textipa{[r\textschwa U]}\\
+ $\Sigma$&\verb|\Sigma|&$\sigma$&\verb|\sigma|&\textipa{[\textprimstress si\textlengthmark gmA]}&\textipa{[\textprimstress sigm\textschwa]}\\
+ $\mathrm{T}$&\verb|\mathrm{T}|&$\tau$&\verb|\tau|&\textipa{[tAf]}&\textipa{[taU]}/\textipa{[tO\textlengthmark]}\\
+ $\mathrm{Y}$&\verb|\mathrm{Y}|&$\upsilon$&\verb|\upsilon|&\textipa{[\textprimstress i\textlengthmark psi\textlengthmark l\textschwa Un]}&\textipa{[2p\textprimstress sail\textschwa n]}/\textipa{[\textprimstress Upsil6n]}/\textipa{[ju\textlengthmark p\textprimstress sail\textschwa n]}\\
+ $\Phi$&\verb|\Phi|&$\phi$&\verb|\phi|&\textipa{[fi\textlengthmark]}&\textipa{[fai]}\\
+ $\mathrm{X}$&\verb|\mathrm{X}|&$\chi$&\verb|\chi|&\textipa{[hi\textlengthmark]}&\textipa{[kaI]}\\
+ $\Psi$&\verb|\Psi|&$\psi$&\verb|\psi|&\textipa{[psi\textlengthmark]}&\textipa{[psaI]}/\textipa{[saI]}\\
+ $\Omega$&\verb|\Omega|&$\omega$&\verb|\omega|&\textipa{[\textschwa U\textprimstress megA]}&\textipa{[\textprimstress\textschwa UmIg\textschwa]}/\textipa{[\textschwa U\textprimstress meg\textschwa]}/\textipa{[\textschwa U\textprimstress meIg\textschwa]}\\
+ \end{longtable}
+}
+
+\begin{remark}
+ \begin{enumerate}
+ \item 大写的$\mathrm{A,B,E,Z,H,I,K,M,N,O,P,T,Y,X}$与相应的拉丁字母十分相似,因而所用甚少。小写的$o,\upsilon$与拉丁字母$o, u$ 也很相似,因而所用也甚少。
+ \item 在调用~\verb|amsmath|~宏包后,可以获得全部大写希腊字母的斜体:$A,B,E,Z,H,I,K,M,$ $N,O,P,T,Y,X$的命令依次分别是 \verb|A|, \verb|B|, \verb|E|, \verb|Z|, \verb|H|, \verb|I|, \verb|K|, \verb|M|, \verb|N|, \verb|O|, \verb|P|, \verb|T|, \verb|Y|, \verb|X|;而$\varGamma,\varDelta,\varTheta,\varLambda,$ $\varXi,\varPi,\varSigma,\varPhi,\varPsi,\varOmega$的命令依次分别是 \verb|\varGamma|, \verb|\varDelta|, \verb|\varTheta|, \verb|\varLambda|, \verb|\varXi|, \verb|\varPi|, \verb|\varSigma|, \verb|\varPhi|, \verb|\varPsi|, \verb|\varOmega|。在调用~\verb|amssymb|~宏包后(只有$\varkappa$需要),也可以得到部分小写希腊字母的变体\footnote{作为文本的小写simga有两种形式,即$\sigma,\varsigma$,其中后者是尾式(final form),用于单词的结尾;而作为符号的小写sigma,一般采用$\sigma$这种形式。另外,$\varepsilon,\varkappa,\vartheta,\varpi,\varrho,\varphi$仅仅是变体,而非尾式,更多知识详见\cite{Wdvs2020}。}:$\varepsilon,\varkappa,\vartheta,\varpi,\varrho,\varsigma,\varphi$的命令依次分别是 \verb|\varepsilon|, \verb|\varkappa|, \verb|\vartheta|, \verb|\varpi|, \verb|\varrho|, \verb|\varsigma|, \verb|\varphi|。不过,希腊字母大写的斜体和这部分希腊字母小写的变体,除$\vartheta,\varphi$外(并且一般不与$\theta,\phi$同时出现),使用相对较少。
+ \item 可以看到,希腊字母的希腊文发音和英文发音基本都不一样,有的差别甚至很大。对此,建议读者统一采用英文发音以便交流,毕竟当今世界学术交流的主要语言是英文\footnote{这与采用母语发音去读一个人姓名的情况有所不同,毕竟他早已习惯了周围人用母语发音谈及他,而当他听到别人再用别的语言发音谈及他时,他很可能不习惯。当然,如果他本人乐意接受其他语言发音,也未尝不能采用其他语言发音。}。当然,在面对希腊族裔时,也可以统一采用希腊文发音以示尊重。不过,在同种情况下“一会儿用希腊文读$\alpha$一会儿用英文读$\omega$”的混合做法多少有些不可取。
+ \end{enumerate}
+\end{remark}
+
+拉丁字母,与阿拉伯(Arabic)字母、西里尔(Cyrillic)字母并称世界三大字母体系,由罗马人在希腊字母基础上略微改变和逐渐分化而来,直至公元11世纪方才演变成现在的26个字母,所以又称为罗马字母。中文拼音方案采用的就是拉丁字母,西方大部分国家和地区的语言也早已采用拉丁字母。
+
+手写体是指字母外观很像手写出来的一种字体。手写体分正规(formal)手写体和即兴(casual)手写体,二者虽然都带有手写的特征,但是前者相比更为齐整因而也更适合印刷。\LaTeX{}会提供多种样式的手写体大写拉丁字母\footnote{详见\cite{Tmap2021}。},其中最常用的是史密斯于1991年设计的样式,而只需调用~\verb|mathrsfs|~宏包\footnote{Smith, R.;详见\cite{Rsrm1991};rsfs是Ralph Smith's Formal Script的缩写,意为“史密斯设计的正规手写体”。}即可使用它们。
+
+{\small\setlength{\LTleft}{0pt} \setlength{\LTright}{0pt}
+ \begin{longtable}{@{\extracolsep{\fill}}cccccccc}
+ %@{\extracolsep{\fill}}设置使得后面所有列间距可以伸展到预定义的表格宽度。
+ \caption{手写体字母} %\label{}加在\caption{}的括号中
+ \\\toprule%首页顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endfirsthead%首页表头底线
+ \midrule%跨页表头顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endhead%跨页表头底线
+ \midrule\endfoot%跨页底线
+ \bottomrule\endlastfoot%末页底线
+ $\mathscr{A}$&\verb|\mathscr{A}|&$\mathscr{B}$&\verb|\mathscr{B}|&$\mathscr{C}$&\verb|\mathscr{C}|&$\mathscr{D}$&\verb|\mathscr{D}|\\
+ $\mathscr{E}$&\verb|\mathscr{E}|&$\mathscr{F}$&\verb|\mathscr{F}| &$\mathscr{G}$&\verb|\mathscr{G}|&$\mathscr{H}$&\verb|\mathscr{H}|\\
+ $\mathscr{I}$&\verb|\mathscr{I}|&$\mathscr{J}$&\verb|\mathscr{J}|&$\mathscr{K}$&\verb|\mathscr{K}|&$\mathscr{L}$&\verb|\mathscr{L}| \\
+ $\mathscr{M}$&\verb|\mathscr{M}|&$\mathscr{N}$&\verb|\mathscr{N}|&$\mathscr{O}$&\verb|\mathscr{O}|&$\mathscr{P}$&\verb|\mathscr{P}|\\
+ $\mathscr{Q}$&\verb|\mathscr{Q}|&$\mathscr{R}$&\verb|\mathscr{R}|&$\mathscr{S}$&\verb|\mathscr{S}|&$\mathscr{T}$&\verb|\mathscr{T}|\\
+ $\mathscr{U}$&\verb|\mathscr{U}|&$\mathscr{V}$&\verb|\mathscr{V}|&$\mathscr{W}$&\verb|\mathscr{W}|&$\mathscr{X}$&\verb|\mathscr{X}| \\
+ $\mathscr{Y}$&\verb|\mathscr{Y}|&$\mathscr{Z}$&\verb|\mathscr{Z}|&&&&\\
+ \end{longtable}
+}
+\begin{remark}
+ \begin{enumerate}
+ \item 除$\mathscr{A,B,C,D,E,F,G,H,K,L,P,T,U,X,Y}$外,其他手写体字母或者不够美观,或者难以识别,因而所用甚少。
+ \item 不妨举例说明手写体字母的读法,比如$\mathscr{D}$,用中文可以读作“手写体D”,用英文可以读作“script D”。
+ \end{enumerate}
+\end{remark}
+
+书法体是指字母外观很像专门练过书法的人写出来的一种字体。显然,书法体也是一种手写字体,所以有些\LaTeX{}宏包干脆把书法体和手写体都设置成手写体的外观,如~\verb|mathdesign|、\verb|fourier|~等。\LaTeX{}会提供多种样式的书法体大写拉丁字母\footnote{详见\cite{Tmap2021}。},其中最常用的是克努斯于1977--1979年设计的样式\footnote{详见\cite[第3, 251--269页]{Tcmf1980}。克努斯后于1992年发布的\TeX{}版本中改进了$\mathcal{H,I,T}$的样式,而其改进后的样式就是现在看到的样式,于此详见\cite{Imut2009}。},而只需调用 \verb|amsfonts| 或 \verb|amsmath| 宏包即可使用它们。
+
+{\small\setlength{\LTleft}{0pt} \setlength{\LTright}{0pt}
+ \begin{longtable}{@{\extracolsep{\fill}}cccccccc}
+ %@{\extracolsep{\fill}}设置使得后面所有列间距可以伸展到预定义的表格宽度。
+ \caption{书法体字母} %\label{}加在\caption{}的括号中
+ \\\toprule%首页顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endfirsthead%首页表头底线
+ \midrule%跨页表头顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endhead%跨页表头底线
+ \midrule\endfoot%跨页底线
+ \bottomrule\endlastfoot%末页底线
+ $\mathcal{A}$&\verb|\mathcal{A}|&$\mathcal{B}$&\verb|\mathcal{B}|&$\mathcal{C}$&\verb|\mathcal{C}|&$\mathcal{D}$&\verb|\mathcal{D}|\\
+ $\mathcal{E}$&\verb|\mathcal{E}|&$\mathcal{F}$&\verb|\mathcal{F}| &$\mathcal{G}$&\verb|\mathcal{G}|&$\mathcal{H}$&\verb|\mathcal{H}|\\
+ $\mathcal{I}$&\verb|\mathcal{I}|&$\mathcal{J}$&\verb|\mathcal{J}|&$\mathcal{K}$&\verb|\mathcal{K}|&$\mathcal{L}$&\verb|\mathcal{L}| \\
+ $\mathcal{M}$&\verb|\mathcal{M}|&$\mathcal{N}$&\verb|\mathcal{N}|&$\mathcal{O}$&\verb|\mathcal{O}|&$\mathcal{P}$&\verb|\mathcal{P}|\\
+ $\mathcal{Q}$&\verb|\mathcal{Q}|&$\mathcal{R}$&\verb|\mathcal{R}|&$\mathcal{S}$&\verb|\mathcal{S}|&$\mathcal{T}$&\verb|\mathcal{T}|\\
+ $\mathcal{U}$&\verb|\mathcal{U}|&$\mathcal{V}$&\verb|\mathcal{V}|&$\mathcal{W}$&\verb|\mathcal{W}|&$\mathcal{X}$&\verb|\mathcal{X}| \\
+ $\mathcal{Y}$&\verb|\mathcal{Y}|&$\mathcal{Z}$&\verb|\mathcal{Z}|&&&&\\
+ \end{longtable}
+}
+\begin{remark}
+ \begin{enumerate}
+ \item 书法体字母整体上比较美观、容易识别,读者可以根据自己喜好和需要选用。
+ \item 不妨举例说明书法体字母的读法,比如$\mathcal{N}$,用中文可以读作“书法体N”,用英文可以读作“calligraphic N”。
+ \end{enumerate}
+\end{remark}
+
+哥特体是指字母笔划相对破碎从而不能连笔书写的字体,而“哥特”对应的德文fraktur正是源自本为破碎之意的拉丁文fract\={u}ra。它的比划除了整体比较粗重外,还带有明显尖角,所以又译为尖角体。\LaTeX{}会提供多种样式的哥特体大写和小写拉丁字母\footnote{详见\cite{Tmap2021}。},其中最常用的是察普夫于1980--1983年设计的样式\footnote{Zapf, H.,1918--2015,德国书法家、字体设计师;详见\cite[第3页]{Uams2002}和\cite[第23页]{Tnps2006}。察普夫后于2009年发布的\texttt{amsfonts}版本中改进了部分字母的样式,而其改进后的样式就是现在看到的样式,于此详见\cite{Ramf2013}。},而只需调用 \verb|amsfonts| 或 \verb|amssymb| 宏包即可使用它们。
+
+{\small\setlength{\LTleft}{0pt} \setlength{\LTright}{0pt}
+ \begin{longtable}{@{\extracolsep{\fill}}cccccccc}
+ %@{\extracolsep{\fill}}设置使得后面所有列间距可以伸展到预定义的表格宽度。
+ \caption{哥特体字母} %\label{}加在\caption{}的括号中
+ \\\toprule%首页顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endfirsthead%首页表头底线
+ \midrule%跨页表头顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endhead%跨页表头底线
+ \midrule\endfoot%跨页底线
+ \bottomrule\endlastfoot%末页底线
+ $\mathfrak{A}$&\verb|\mathfrak{A}|&$\mathfrak{a}$&\verb|\mathfrak{a}|& $\mathfrak{B}$&\verb|\mathfrak{B}|&$\mathfrak{b}$&\verb|\mathfrak{b}|\\
+ $\mathfrak{C}$&\verb|\mathfrak{C}|&$\mathfrak{c}$&\verb|\mathfrak{c}| & $\mathfrak{D}$&\verb|\mathfrak{D}|&$\mathfrak{d}$&\verb|\mathfrak{d}|\\
+ $\mathfrak{E}$&\verb|\mathfrak{E}|&$\mathfrak{e}$&\verb|\mathfrak{e}|& $\mathfrak{F}$&\verb|\mathfrak{F}|&$\mathfrak{f}$&\verb|\mathfrak{f}|\\
+ $\mathfrak{G}$&\verb|\mathfrak{G}|&$\mathfrak{g}$&\verb|\mathfrak{g}|& $\mathfrak{H}$&\verb|\mathfrak{H}|&$\mathfrak{h}$&\verb|\mathfrak{h}|\\
+ $\mathfrak{I}$&\verb|\mathfrak{I}|&$\mathfrak{i}$&\verb|\mathfrak{i}|& $\mathfrak{J}$&\verb|\mathfrak{J}|&$\mathfrak{j}$&\verb|\mathfrak{j}|\\
+ $\mathfrak{K}$&\verb|\mathfrak{K}|&$\mathfrak{k}$&\verb|\mathfrak{k}|& $\mathfrak{L}$&\verb|\mathfrak{L}|&$\mathfrak{l}$&\verb|\mathfrak{l}|\\
+ $\mathfrak{M}$&\verb|\mathfrak{M}|&$\mathfrak{m}$&\verb|\mathfrak{m}|& $\mathfrak{N}$&\verb|\mathfrak{N}|&$\mathfrak{n}$&\verb|\mathfrak{n}|\\
+ $\mathfrak{O}$&\verb|\mathfrak{O}|&$\mathfrak{o}$&\verb|\mathfrak{o}|& $\mathfrak{P}$&\verb|\mathfrak{P}|&$\mathfrak{p}$&\verb|\mathfrak{p}|\\
+ $\mathfrak{Q}$&\verb|\mathfrak{Q}|&$\mathfrak{q}$&\verb|\mathfrak{q}|& $\mathfrak{R}$&\verb|\mathfrak{R}|&$\mathfrak{r}$&\verb|\mathfrak{r}|\\
+ $\mathfrak{S}$&\verb|\mathfrak{S}|&$\mathfrak{s}$&\verb|\mathfrak{s}|& $\mathfrak{T}$&\verb|\mathfrak{T}|&$\mathfrak{t}$&\verb|\mathfrak{t}|\\
+ $\mathfrak{U}$&\verb|\mathfrak{U}|&$\mathfrak{u}$&\verb|\mathfrak{u}|& $\mathfrak{V}$&\verb|\mathfrak{V}|&$\mathfrak{v}$&\verb|\mathfrak{v}|\\
+ $\mathfrak{W}$&\verb|\mathfrak{W}|&$\mathfrak{w}$&\verb|\mathfrak{w}|& $\mathfrak{X}$&\verb|\mathfrak{X}|&$\mathfrak{x}$&\verb|\mathfrak{x}|\\
+ $\mathfrak{Y}$&\verb|\mathfrak{Y}|&$\mathfrak{y}$&\verb|\mathfrak{y}|& $\mathfrak{Z}$&\verb|\mathfrak{Z}|&$\mathfrak{z}$&\verb|\mathfrak{z}|\\
+ \end{longtable}
+}
+\begin{remark}
+ \begin{enumerate}
+ \item 大写的$\mathfrak{H,I,K,O,Q,V,W,Y,Z}$和小写的$\mathfrak{k,v,w,x,y,z}$,或者貌似其他,或者难以识别,因而所用甚少。
+ \item 不妨举例说明哥特体字母的读法,比如$\mathfrak{F}$,用中文可以读作“哥特体F”,用英文可以读作“fraktur F”。
+ \end{enumerate}
+\end{remark}
+
+双线体是指对字母的部分比划做双线处理的字体。\LaTeX{}会提供多种样式的双线体大写拉丁字母\footnote{详见\cite{Tmap2021}。},其中最常用的是库默尔于1997年设计的样式\footnote{Kummer, O.;详见\cite{Tpvd1997}。},而只需调用 \verb|dsfont| 宏包即可使用它们。
+
+{\small\setlength{\LTleft}{0pt} \setlength{\LTright}{0pt}
+ \begin{longtable}{@{\extracolsep{\fill}}cccccccc}
+ %@{\extracolsep{\fill}}设置使得后面所有列间距可以伸展到预定义的表格宽度。
+ \caption{双线体字母} %\label{}加在\caption{}的括号中
+ \\\toprule%首页顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endfirsthead%首页表头底线
+ \midrule%跨页表头顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endhead%跨页表头底线
+ \midrule\endfoot%跨页底线
+ \bottomrule\endlastfoot%末页底线
+ $\mathds{A}$&\verb|\mathds{A}|&$\mathds{B}$&\verb|\mathds{B}|&$\mathds{C}$&\verb|\mathds{C}|&$\mathds{D}$&\verb|\mathds{D}|\\
+ $\mathds{E}$&\verb|\mathds{E}|&$\mathds{F}$&\verb|\mathds{F}| &$\mathds{G}$&\verb|\mathds{G}|&$\mathds{H}$&\verb|\mathds{H}|\\
+ $\mathds{I}$&\verb|\mathds{I}|&$\mathds{J}$&\verb|\mathds{J}|&$\mathds{K}$&\verb|\mathds{K}|&$\mathds{L}$&\verb|\mathds{L}| \\
+ $\mathds{M}$&\verb|\mathds{M}|&$\mathds{N}$&\verb|\mathds{N}|&$\mathds{O}$&\verb|\mathds{O}|&$\mathds{P}$&\verb|\mathds{P}|\\
+ $\mathds{Q}$&\verb|\mathds{Q}|&$\mathds{R}$&\verb|\mathds{R}|&$\mathds{S}$&\verb|\mathds{S}|&$\mathds{T}$&\verb|\mathds{T}|\\
+ $\mathds{U}$&\verb|\mathds{U}|&$\mathds{V}$&\verb|\mathds{V}|&$\mathds{W}$&\verb|\mathds{W}|&$\mathds{X}$&\verb|\mathds{X}| \\
+ $\mathds{Y}$&\verb|\mathds{Y}|&$\mathds{Z}$&\verb|\mathds{Z}|&&&&\\
+ \end{longtable}
+}
+\begin{remark}
+ \begin{enumerate}
+ \item 双线体字母整体上线重不均,因而所用甚少。
+ \item 不妨举例说明双线体字母的读法,比如$\mathds{B}$,用中文可以读作“双线体B”,用英文可以读作“double stroke B”。
+ \end{enumerate}
+\end{remark}
+
+板粗体,即通常意义下的空心(hollow)体,是指在黑板上书写字母时所使用的一种粗体,而为了便于在黑板上书写粗体字母就需要对字母的部分比划做双线处理。这样来说,板粗体也是一种双线体,所以有些\LaTeX{}宏包干脆把板粗体和双线体都设置成双线体的外观,如 \verb|mathdesign| 等。\LaTeX{}会提供多种样式的板粗体大写拉丁字母\footnote{详见\cite{Tmap2021}。},其中最常用的是美国数学会(American Mathematical Society)于1979--1990年间创建的样式\footnote{关于具体时间和设计者,目前尚不可考,所以这只是一个粗略时间,详见\cite{Wwdb2020}。对于硬朗内敛、线重较大的英文字体,比如Times等字体,该款板粗体字母比较搭配。而对于柔和外向、线重较小的英文字体,比如\LaTeX{}默认的Computer Modern字体等,赵晓玉于2020年设计的样式(详见\cite{Tcpb2020},只需调用\texttt{cmathbb}宏包即可使用)更为搭配。},而只需调用 \verb|amsfonts| 或 \verb|amssymb| 宏包即可使用它们。
+
+{\small\setlength{\LTleft}{0pt} \setlength{\LTright}{0pt}
+ \begin{longtable}{@{\extracolsep{\fill}}cccccccc}
+ %@{\extracolsep{\fill}}设置使得后面所有列间距可以伸展到预定义的表格宽度。
+ \caption{板粗体字母} %\label{}加在\caption{}的括号中
+ \\\toprule%首页顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endfirsthead%首页表头底线
+ \midrule%跨页表头顶线
+ 样式&命令&样式&命令&样式&命令&样式&命令\\
+ \midrule\endhead%跨页表头底线
+ \midrule\endfoot%跨页底线
+ \bottomrule\endlastfoot%末页底线
+ $\mathbb{A}$&\verb|\mathbb{A}|&$\mathbb{B}$&\verb|\mathbb{B}|&$\mathbb{C}$&\verb|\mathbb{C}|&$\mathbb{D}$&\verb|\mathbb{D}|\\
+ $\mathbb{E}$&\verb|\mathbb{E}|&$\mathbb{F}$&\verb|\mathbb{F}| &$\mathbb{G}$&\verb|\mathbb{G}|&$\mathbb{H}$&\verb|\mathbb{H}|\\
+ $\mathbb{I}$&\verb|\mathbb{I}|&$\mathbb{J}$&\verb|\mathbb{J}|&$\mathbb{K}$&\verb|\mathbb{K}|&$\mathbb{L}$&\verb|\mathbb{L}| \\
+ $\mathbb{M}$&\verb|\mathbb{M}|&$\mathbb{N}$&\verb|\mathbb{N}|&$\mathbb{O}$&\verb|\mathbb{O}|&$\mathbb{P}$&\verb|\mathbb{P}|\\
+ $\mathbb{Q}$&\verb|\mathbb{Q}|&$\mathbb{R}$&\verb|\mathbb{R}|&$\mathbb{S}$&\verb|\mathbb{S}|&$\mathbb{T}$&\verb|\mathbb{T}|\\
+ $\mathbb{U}$&\verb|\mathbb{U}|&$\mathbb{V}$&\verb|\mathbb{V}|&$\mathbb{W}$&\verb|\mathbb{W}|&$\mathbb{X}$&\verb|\mathbb{X}| \\
+ $\mathbb{Y}$&\verb|\mathbb{Y}|&$\mathbb{Z}$&\verb|\mathbb{Z}|&&&&\\
+ \end{longtable}
+}
+\begin{remark}
+ \begin{enumerate}
+ \item 板粗体字母整体上比较美观、容易识别,读者可以根据自己喜好和需要选用。
+ \item 不妨举例说明板粗体字母的读法,比如$\mathbb{R}$,用中文可以读作“板粗体R”,用英文可以读作“blackboard bold R”。
+ \end{enumerate}
+\end{remark}
+
+\par 希伯来字母是由希伯来人(早期的犹太人)于公元前3世纪在皇室阿拉姆(Imperial Aramaic)字母基础上方化书写和分化演变而来,所以外观比较方正,而皇室阿拉姆字母则从腓尼基字母发展而来。与其他现代字母体系不同的是,希伯来字母没有大小写之分,共有22个字母,其中5个字母还有尾式,用于单词的结尾。作为符号,希伯来字母一般以直立体出现。\LaTeX{}目前能提供的字母齐全的样式较少,其中比较好的是措勒迈提斯于2019年设计的样式\footnote{Tsolomitis, A.;详见\cite{Rdme2021}。}。
+
+{\small\setlength{\LTleft}{0em} \setlength{\LTright}{0em}
+ \begin{longtable}{@{\extracolsep{\fill}}cccclll}
+ %@{\extracolsep{\fill}}设置使得后面所有列间距可以伸展到预定义的表格宽度。
+ \caption{希伯来字母} %\label{}加在\caption{}的括号中
+ \\\toprule%首页顶线
+ 样式&统一码&尾式&统一码&名称&希伯来文发音&英文发音\\
+ \midrule\endfirsthead%首页表头底线
+ \midrule%跨页表头顶线
+ 样式&统一码&尾式&统一码&名称&希腊文发音&英文发音\\
+ \midrule\endhead%跨页表头底线
+ \midrule\endfoot%跨页底线
+ \bottomrule\endlastfoot%末页底线
+ $\aleph$&\verb|05D0|&&&aleph/alef&\textipa{[A\textlengthmark lef]}&\textipa{[\textprimstress A\textlengthmark lef]}/\textipa{[\textprimstress A\textlengthmark lIf]}/\textipa{[\textprimstress eIl\textschwa f]} \\
+ $\bet$&\verb|05D1|&&&vet/bet/beth&\textipa{[vet]}/\textipa{[bet]}&\textipa{[bet]}/\textipa{[beT]}/\textipa{[beIT]}\\
+ $\gimel$&\verb|05D2|&&&gimel&\textipa{[\textprimstress gi\textlengthmark mel]}&\textipa{[\textprimstress gi\textlengthmark mel]}/\textipa{[\textprimstress gim\textschwa l]}\\
+ $\dalet$&\verb|05D3|&&&dalet/daleth/daled&\textipa{[\textprimstress dA\textlengthmark let]}/\textipa{[\textprimstress dA\textlengthmark led]}&\textipa{[\textprimstress dA\textlengthmark let]}\\
+ $\he$&\verb|05D4|&&&he&\textipa{[he]}/\textipa{[hej]}&\textipa{[hI]}/\textipa{[hi\textlengthmark]}\\
+ $\vav$&\verb|05D5|&&&vav/waw&\textipa{[vA\textlengthmark v]}&\textipa{[v6v]}/\textipa{[vO\textlengthmark v]}/\textipa{[wO\textlengthmark]}\\
+ $\zayin$&\verb|05D6|&&&zayin&\textipa{[\textprimstress za\textlengthmark i\textlengthmark n]}&\textipa{[\textprimstress za\textlengthmark jin]}\\
+ $\het$&\texttt{05D7}&&&het/heth/chet&\textipa{[het]}&\textipa{[het]}/\textipa{[keIT]}\\
+ $\tet$&\verb|05D8|&&&tet/teth&\textipa{[tet]}&\textipa{[tet]}/\textipa{[tes]}\\
+ $\yod$&\verb|05D9|&&&yod/jod&\textipa{[jO\textlengthmark d]}/\textipa{[ju\textlengthmark d]}&\textipa{[jUd]}\\
+ $\kaf$&\verb|05DB|&$\varkaf$&\verb|05DA|&kaf&\textipa{[kA\textlengthmark f]}&\textipa{[kA\textlengthmark f]}\\
+ $\lamed$&\verb|05DC|&&&lamed&\textipa{[\textprimstress lA\textlengthmark med]}&\textipa{[leimd]}/\textipa{[\textprimstress lAmed]}\\%\textipa{[\textprimstress lA\textlengthmark mId]}
+ $\mem$&\verb|05DE|&$\varmem$&\verb|05DD|&mem&\textipa{[mem]}&\textipa{[mem]}\\
+ $\nun$&\verb|05E0|&$\varnun$&\verb|05DF|&nun&\textipa{[nu\textlengthmark n]}&\textipa{[nUn]}\\
+ $\samekh$&\verb|05E1|&&&samekh&\textipa{[\textprimstress sA\textlengthmark meh]}&\textipa{[\textprimstress sA\textlengthmark mek]}/\textipa{[\textprimstress sA\textlengthmark m\textschwa k]}\\
+ $\ayin$&\verb|05E2|&&&ayin&\textipa{[A\textlengthmark ji\textlengthmark n]}/\textipa{[A\textlengthmark i\textlengthmark n]}&\textipa{[\textprimstress A\textlengthmark jin]}/\textipa{[\textprimstress Aji\textlengthmark n]}\\
+ $\pe$&\verb|05E4|&$\varpe$&\verb|05E3|&pe&\textipa{[fe]}/\textipa{[fej]}&\textipa{[peI]}/\textipa{[pe]}\\
+ $\tsadi$&\verb|05E6|&$\vartsadi$&\verb|05E5|&tsadi/sadhe&\textipa{[\textprimstress tsA\textlengthmark di\textlengthmark]}&\textipa{[\textprimstress sA\textlengthmark di\textlengthmark]}\\
+ $\qof$&\verb|05E7|&&&qof/qoph&\textipa{[ku\textlengthmark f]}/\textipa{[kO\textlengthmark f]}&\textipa{[k6f]}\\
+ $\resh$&\verb|05E8|&&&resh&\textipa{[reS]}&\textipa{[reS]}/\textipa{[reIS]}\\
+ $\shin$&\verb|05E9|&&&shin/sheen&\textipa{[Si\textlengthmark n]}/\textipa{[si\textlengthmark n]}&\textipa{[SIn]}/\textipa{[Si\textlengthmark n]}\\
+ $\tav$&\verb|05EA|&&&tav/taw&\textipa{[tA\textlengthmark v]}/\textipa{[tA\textlengthmark f]}&\textipa{[tA\textlengthmark v]}\\
+ \end{longtable}
+}%\multirow{2}{*}{}
+
+\begin{remark}
+ \begin{enumerate}
+ \item 措勒迈提斯设计的样式整体比较美观、容易识别、线重适宜、字母齐全,所以本文推荐并且采用这种方案;它们虽然存在于~\verb|newcomputermodern|~宏包中,但是相应命令没有定义,所以无法直接使用;不妨举例说明如何使用它们,其他字母只需替换相应的统一码(unicode)即可。
+\begin{lstlisting}
+\usepackage{fontspec}
+\makeatletter
+%释放已有命令%%%%%%%%%%%%%%%%%%%%%%%%%
+\let\aleph\relax\let\beth\relax
+\let\gimel\relax\let\daleth\relax
+%调用字体文件%%%%%%%%%%%%%%%%%%%%%%%%%
+\newfontfamily\hebfont{NewCM08-Regular.otf}
+%定义相应字母%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand\shin{\mathord{\textrm{\hebfont\char"05E9}}}
+\makeatother
+\end{lstlisting}
+ 本文使用的样式是~\verb|newcomputermodern|~宏包中线重最小的,读者如需线重稍大的,可以将~\verb|NewCM08-Regular.otf|~改为~\verb|NewCM10-Book.otf|,甚至~\verb|NewCM10-Bold.otf|。
+ \item \verb|cjhebrew|~宏包提供的样式整体也容易识别、字母齐全,并且还算美观,不过线重过大;而关于如何使用它们,详见\cite{Arch2020}。
+ \item 除$\aleph,\bet,\gimel,\dalet$外,其他希伯来字母所用甚少,所以一般情况下\LaTeX{}只提供这4个希伯来字母。通常的方案是:第1个希伯来字母不需调用任何宏包,而第2、3、4个希伯来字母则需调用~\verb|amssymb|~宏包;在这种方案下,它们的样式与本文采用的都不一样,不过由于第1个字母和第2、3、4个字母的线重不同,作者并不推荐这种方案。另一种方案是:\verb|lm-math|~宏包也提供有线重适宜、比较美观的这4个希伯来字母;在这种方案下,它们的样式与本文采用的也都不一样,不过在不使用其他希伯来字母的情况下,作者也推荐这种方案;而关于如何调用该宏包中的这4个字母,详见\cite{Arhi2021}。关于其他方案,详见\cite{Arab2017}。
+ \item 可以看到,希腊字母的希伯来文发音和英文发音整体有一定的差别。对此,建议读者统一采用英文发音以便交流,毕竟当今世界学术交流的主要语言是英文。当然,在面对希伯来(犹太)族裔时,也可以统一采用希伯来文发音以示尊重。不过,在同种情况下“一会儿用希伯来文读$\he$一会儿用英文读$\pe$”的混合做法多少有些不可取。
+ \end{enumerate}
+\end{remark}
+
+%阿拉伯字母作为数学符号:https://tex.stackexchange.com/a/366306/140814 (不过线重较大)
+
+%西里尔字母作为数学符号:https://tex.stackexchange.com/a/124746/140814 (线重适宜)
+
+%\small
+%%%打印参考文献%%%%%%%%%%%%%%%%%%%%%%%
+\printbibliography[title = {参考文献}]%heading = bibintoc
+\nocite{*}%未被引用的文献也编译到PDF:若不用加到[]中,在这行把其取消注释就行
+%若出现未被引用文献编号不出现的问题,删除Aux文件再执行一套编译方式即可
+%bibintoc 把参考文献加入目录中; bibnumbered 参考文献列表参与章节编号(同时加入目录)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section*{更新史志}
+\begin{itemize}
+ \item 第2.2版\quad 2021-12-27\quad 更正了个别笔误。
+ \item 第2.1版\quad 2021-12-25\quad 修正并扩充了关~\verb|\varepsilon|, \verb|\varkappa|, \verb|\vartheta|, \verb|\varpi|, \verb|\varrho|, \verb|\varsigma|, \verb|\varphi|~的表述。
+ \item 第2.0版\quad 2021-12-11\quad 增加了希伯来字母的内容,并补充了个别希腊字母的读音。
+ \item 第1.0版\quad 2021-11-29\quad 完成文档初稿。
+\end{itemize}
+
+\end{document}