summaryrefslogtreecommitdiff
path: root/info/kaytannollista-latexia/luku-asetukset.tex
diff options
context:
space:
mode:
Diffstat (limited to 'info/kaytannollista-latexia/luku-asetukset.tex')
-rw-r--r--info/kaytannollista-latexia/luku-asetukset.tex572
1 files changed, 401 insertions, 171 deletions
diff --git a/info/kaytannollista-latexia/luku-asetukset.tex b/info/kaytannollista-latexia/luku-asetukset.tex
index 82c5f88ff6..c9e074aaf9 100644
--- a/info/kaytannollista-latexia/luku-asetukset.tex
+++ b/info/kaytannollista-latexia/luku-asetukset.tex
@@ -1078,7 +1078,7 @@ 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
+Libertinus\-/ kirjainperheet saa käyttöön lataamalla paketin
\pakettictan{libertinus}:
\komentoi{usepackage}
@@ -2139,12 +2139,14 @@ otfinfo -s texgyrepagella-math.otf
\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.
+\=/kirjainperhe, joihin kuuluvat myös matematiikan symbolit. Niitä ovat
+ainakin Libertinus, eri TeX Gyre \=/perheet sekä \englanti{Latin Modern
+ Roman}, jonka kanssa sopii matematiikkafontti \englanti{Latin Modern
+ Math}. Libertinus\-/ perheen voi ottaa käyttöön hyvin
+yksinkertaisesti: ladataan vain paketti \paketti{libertinus}, joka
+määrittää kerralla antiikvan, groteskin, tasalevyisen ja
+matematiikkafontin. Toisaalta Libertinus\-/ perhettä voi käyttää myös
+tavallisten fontinmäärityskomentojen avulla.
\begin{esimerkki*}
\komentoi{setmathfont}
@@ -2156,6 +2158,7 @@ tavallisten fontinmäärityskomentojen käyttö on mahdollista.
\setmathfont{TeX Gyre Pagella Math}
\setmathfont{TeX Gyre Schola Math}
\setmathfont{TeX Gyre Termes Math}
+\setmathfont{Latin Modern Math}
\end{koodilohko}
\caption{Matematiikan symboleja sisältäviä vapaita fontteja. Komento
@@ -2210,7 +2213,8 @@ 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.
+Latexille, mistä kielestä on kyse. Tavutusta käsitellään kummankin
+kielipaketin osalta luvussa \ref{luku/tavutus}.
\subsection{Polyglossia}
\label{luku/polyglossia}
@@ -2235,17 +2239,8 @@ esimerkiksi seuraavanlaiselta:
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:
+historialliseen vaihteluun.
-\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
@@ -2416,44 +2411,49 @@ 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}.
-
-\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 tavuttaa välillä kielen kannalta väärin tai tuottaa muuten
-suositusten vastaista jälkeä. Kirjoittajan täytyy siis 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öä:
+Sanojen tavutus eli katkaiseminen rivin lopussa tavurajan kohdalta
+kytkeytyy läheisesti kieliasetuksiin (luku \ref{luku/kieliasetukset}),
+joihin on syytä perehtyä ennen tämän luvun lukemista.
+
+Tex tavuttaa eli katkaisee sanat automaattisesti rivien lopussa, jotta
+se saisi tekstikappaleet näyttämään tasapainoisilta. Tavutus perustuu
+yksinkertaisiin kirjainpohjaisiin sääntöihin: millaisia kirjainten
+yhdistelmiä tavuissa voi olla. Tavutussäännöt määräytyvät valitun kielen
+perusteella ja joskus kieleen liittyvien muiden asetusten perusteella.
+
+Automaattinen tavutus auttaa paljon, mutta se ei yksinään riitä. Se
+tavuttaa välillä kielen kannalta väärin tai tuottaa muuten suositusten
+vastaista jälkeä. Niinpä kirjoittajan täytyy auttaa välillä eli
+kirjoittaa tavutusvihjeitä. Texissä itsessään on tavutukseen vaikuttavia
+erikoismerkkejä ja toimintoja, mutta myös kielipaketeissa
+\paketti{polyglossia} ja \paketti{babel} on omia tavutukseen vaikuttavia
+erikoisuuksiaan, jotka voivat olla eri kielissä erilaisia.
+Kielipakettien ominaisuuksia käsitellään luvuissa
+\ref{luku/tavutus-polyglossia} ja \ref{luku/tavutus-babel}.
+
+\subsection{Yleiset tavutusvihjeet}
+\label{luku/hyphenation-komento}
+
+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
+ ala-indek-si alku-osa nimen-omaan
+ typo-gra-fi-nen Latex
}
\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.
+Komennon argumentiksi eli aaltosulkeiden sisään kirjoitetaan sanoja,
+jotka erotetaan toisistaan sanaväleillä. Sanoihin kirjoitetaan
+yhdysmerkki niihin kohtiin, joista sanan katkaiseminen on sallittua. Jos
+yhdysmerkkiä ei ole, sanaa ei tavuteta mistään kohdasta. Jos taas sana
+on yhdyssana ja sen osien väliin kuuluu on yhdysmerkki, ei sen tavutusta
+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
@@ -2461,7 +2461,10 @@ 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.
+dokumentin pääasiallisen kielen tavutukseen. Kielipaketit
+\paketti{polyglossia} (luku \ref{luku/tavutus-polyglossia}) ja
+\paketti{babel} (luku \ref{luku/tavutus-babel}) sisältävät komennon,
+joilla voi asettaa yleisiä kielikohtaisia tavutusvihjeitä.
\subsection{Yksittäisten sanojen tavutus}
\label{luku/tavutuksen-merkit}
@@ -2472,14 +2475,112 @@ lyhyt ajatusviiva (\mbox{\koodi{--}}) tai pitkä ajatusviiva
(\mbox{\koodi{---}}), sana katkaistaan vain näiden merkkien jälkeen, eli
muut tavutuskohdat kytketään pois käytöstä.
-Myös tavutusvihje (\komento{-}) käyttäytyy yleensä samoin: jos sanassa
-on mukana yksikin tavutusvihje, tavalliset tavutuskohdat kytkeytyvät
-pois käytöstä, ja sana katkaistaan vain tavutusvihjeiden kohdalta sekä
-edellä mainittujen viivavälimerkkien jälkeen. Kielipaketti
-\paketti{babel} (luku \ref{luku/babel}) käyttäytyy kuitenkin suomen
-kielessä eri tavoin. Se määrittelee suomen kielelle tavutusvihjeen
-siten, että se sallii sanan tavutuksen muistakin kohdista kuin
-tavutusvihjeen kohdalta.
+Unicode\-/ merkistön ajastusviivat \uctunnus{u+2013 en dash} ja
+\uctunnus{u+2014 em dash} ovat toimineet tavutuksessa eri tavalla
+Lualatex\-/{} ja Xelatex\-/ kääntäjissä ja mahdollisesti eri tavalla
+kuin edellä mainitut Texin omat merkintätavat. Yhteensopivuussyistä on
+parasta kirjoittaa ajatusviivat Texin merkintätavoilla.
+
+Myös tavutusvihje (\komento{-}) vaikuttaa sanan tavutuskohtiin: jos
+sanassa on mukana yksikin tavutusvihje, tavalliset tavutuskohdat
+kytkeytyvät pois käytöstä, ja sana katkaistaan vain tavutusvihjeiden
+kohdalta sekä edellä mainittujen viivavälimerkkien jälkeen. Kielipaketti
+\paketti{babel} (luku \ref{luku/tavutus-babel}) käyttäytyy kuitenkin
+suomen kielessä eri tavoin. Se määrittelee ainakin suomen kielessä
+tavutusvihjeen siten, että se sallii sanan tavutuksen muistakin kohdista
+kuin tavutusvihjeen kohdalta.
+
+\subsection{Tavutus sanan reunasta}
+
+Asetukset \komento{lefthyphenmin}\komentojatko{=N} ja
+\komento{righthyphenmin}\komentojatko{=N} vaikuttavat tavutukseen sanan
+reunoissa. Argumentti \koodi{N} on positiivinen kokonaisluku, joka
+määrittelee, kuinka monta merkkiä vähintään sanan vasemmasta tai
+oikeasta reunasta pidetään yhdessä. Oletusarvot ovat kielikohtaisia ja
+ne on määritelty \paketti{polyglossia}\-/{} ja \paketti{babel}\-/
+paketeissa. Suomen kielessä kumpikin asetus on kaksi (2) merkkiä.
+
+Nämä asetukset alustetaan automaattisesti kielikohtaisiin oletusarvoihin
+aina, kun kieliasetukset tulevat voimaan. Näin on esimerkiksi dokumentin
+aloittavan \ymparistox{document}\-/ ympäristön alussa ja aina kielen
+vaihtuessa. Jos kirjoittaja haluaa muuttaa asetuksia, täytyy omat
+muutokset tehdä joka kerta edellä mainittujen asioiden jälkeen.
+Toisaalta 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=2
+}
+\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{Polyglossia ja tavutus}
+\label{luku/tavutus-polyglossia}
+
+Kielipaketti \pakettictan{polyglossia} (myös luku
+\ref{luku/polyglossia}) sisältää tavutukseen vaikuttavia asetuksia,
+jotka ovat eri kielissä erilaisia. Suomen kielessä on hyödyllistä ottaa
+käyttöön asetus \koodi{babelshorthands}, joka tuo mukaan muutaman
+tavutukseen vaikuttavan erikoismerkin.
+
+\komentoi{setdefaultlanguage}
+\begin{koodilohkosis}
+\setdefaultlanguage[babelshorthands]{finnish}
+\end{koodilohkosis}
+
+\noindent
+Asetus \koodi{babelshorthands} lisää erikoismerkkivalikoimaan seuraavat
+tavutukseen vaikuttavat merkit. Taulukossa \ref{tlk/polyglossia-tavutus}
+on esimerkkejä tavutusvihjeiden, yhdysmerkin ja ajatusviivan sekä
+\paketti{polyglossia}\-/ paketin erikoismerkkien vaikutuksesta.
+
+\newcommand{\shorthandsyhdysmerkki}{%
+\item [\textquotedbl-] Sitova yhdysmerkki (\=/), joka sitoo merkin
+ seuraavaan sanaan eli estää katkaisemisen yhdysmerkin jälkeen. Tämä
+ merkki sallii sanan tavuttamisen muista kohdista. Tämän sijasta voi
+ käyttää Unicode\-/ merkistön sitovaa yhdysmerkkiä \uctunnus{u+2011
+ non\-/ breaking hyphen}.}
+
+\newcommand{\shorthandspystyviiva}{%
+\item [\textquotedbl|] Estää typografisten ligatuurien (luku
+ \ref{luku/typo-liga}) muodostumisen tähän kohtaan. Esimerkiksi fi\-/
+ ligatuurin muodostumisen voi estää kirjoittamalla \koodi{f"|i}, ja
+ tuloksena on kaksi erillistä merkkiä: f\textcompwordmark i.}
+
+\newcommand{\shorthandslainausmerkki}{%
+\item [\textquotedbl\textquotedbl] Tavutusvihje, joka ei lisää
+ tavutuskohtaan yhdysmerkkiä. Tämä on hyödyllinen esimerkiksi
+ teknisissä ilmauksissa, joissa sanaan tarvitaan mahdollinen
+ katkaisukohta mutta ei haluta lisätä ylimääräistä yhdysmerkkiä
+ sotkemaan ilmausta.}
+
+\begin{maaritelma}{\koodi{#1}}
+ \shorthandsyhdysmerkki
+
+% Polyglossian tulevassa versiossa (jälkeen 30.12.2023).
+% \item [\textquotedbl=] Sama kuin edellinen (\koodi{\textquotedbl-}).
+
+ \shorthandspystyviiva
+
+ \shorthandslainausmerkki
+
+\item [\textquotedbl/] Vinoviiva (/), jonka jälkeen on tavutusvihje.
+ Tavutuskohtaan ei lisätä yhdysmerkkiä. Tavutus sallitaan sanan muista
+ kohdista.
+\end{maaritelma}
\leijutlk{
\begin{tabular}{lll}
@@ -2489,18 +2590,14 @@ tavutusvihjeen kohdalta.
& \ots{Merkitys} \\
\midrule
- \koodi{matkustaa}
- & mat\tavukohta kus\tavukohta taa
- & tavutus kaikista kohdista \\
+ \koodi{erikoisalalla}
+ & eri\tavukohta koi\tavukohta sa\tavukohta lal\tavukohta la
+ & tavutus kaikista kohdista (väärin) \\
- \koodi{matkus\komento{-}taa}
- & matkus\tavukohta taa
+ \koodi{erikois\komento{-}alalla}
+ & erikois\tavukohta alalla
& vain tavutusvihjeen kohdalta \\
- \koodi{matkus\komento{-}taa}
- & mat\tavukohta kus\tavukohta taa
- & (\paketti{babel} ja suomen kieli) \\
-
\koodi{matka-aika}
& matka-\tavukohta aika
& vain yhdysmerkin jälkeen \\
@@ -2517,9 +2614,125 @@ tavutusvihjeen kohdalta.
& Oulu--\tavukohta Rova\tavukohta niemi
& vain ajatusviiva ja tavutusvihje \\
+ \koodi{matka-}
+ & matka-
+ & ei tavutuskohtia \\
+
+ \koodi{-aika}
+ & -\tavukohta aika
+ & vain yhdysmerkin jälkeen (väärin) \\
+
+ \koodi{\textquotedbl-aika}
+ & -ai\tavukohta ka
+ & ei sitovan yhdysmerkin jälkeen \\
+
+ \bottomrule
+ \end{tabular}
+}{
+ \caption{Kielipaketti \paketti{polyglossia} ja tavutusvihjeen,
+ yhdysmerkin ja ajatusviivan sekä kielipaketin omien erikoismerkkien
+ (\koodi{babelshorthands}) vaikutus tavutukseen}
+ \label{tlk/polyglossia-tavutus}
+}
+
+\noindent
+Yleisiä koko kieleen vaikuttavia tavutusvihjeitä voi määritellä
+komennolla \komento{pghyphenation}. Se vastaa Texin
+\komento{hyphenation}\-/ komentoa (luku \ref{luku/hyphenation-komento}),
+mutta tavutusvihjeet määritellään kielikohtaisesti. Komennon ensimmäinen
+argumentti on kielen nimi, ja toiseen argumenttiin luetellaan sanat ja
+niiden sallitut tavutuskohdat yhdysmerkin avulla.
+
+\komentoi{pghyphenation}
+\begin{koodilohkosis}
+\pghyphenation{finnish}{
+ ala-indek-si alku-osa nimen-omaan typo-gra-fi-nen Latex
+}
+\end{koodilohkosis}
+
+\noindent
+Kielikohtaisesti voi määrittää myös sen, kuinka monta kirjainta sanan
+reunasta jätetään tavuttamatta. \paketti{polyglossia}\-/ paketissa on
+komento \komento{setlanghyphenmins}, jonka ensimmäinen argumentti on
+kielen nimi. Toinen ja kolmas argumentti ovat kokonaislukuja, joilla
+asetetaan sanan vasemman ja oikean reunan tavuttamaton merkkimäärä.
+
+\komentoi{setlanghyphenmins}
+\begin{koodilohkosis}
+\setlanghyphenmins{finnish}{3}{2}
+\end{koodilohkosis}
+
+\noindent
+Suomen kielellä vaihtoehtoisen tavutussäännöstön voi kytkeä päälle
+käyttämällä kielen asettamisen yhteydessä valitsinta
+\koodi{schoolhyphens}. Tämä sallii tavutuksen kaikista mahdollisista
+kohdista. Lisätietoa suomen tavutuksen erityispiirteistä on luvussa
+\ref{luku/suomi-tavutus}.
+
+\komentoi{setdefaultlanguage}
+\begin{koodilohkosis}
+\setdefaultlanguage[schoolhyphens]{finnish}
+\end{koodilohkosis}
+
+\subsection{Babel ja tavutus}
+\label{luku/tavutus-babel}
+
+Kielipaketti \pakettictan{babel}\yipilkku\footnote{Katso myös
+ \paketti{babel}\-/ paketin mukana toimitettavat kielikohtaiset
+ dokumentit, esimerkiksi tiedosto \koodi{finnish.pdf}.} (myös luku
+\ref{luku/babel}) lisää automaattisesti moniin kieliin -- myös suomen
+kieleen -- muutaman erikoismerkin, joilla voi vaikuttaa tavutukseen.
+Erikoismerkit saa pois päältä käyttämällä paketin lataamisen yhteydessä
+valitsinta \koodi{shorthands=\katk off}. Seuraavassa on selitetty suomen
+kielen erikoismerkkejä.
+
+\begin{maaritelma}{\koodi{#1}}
+\item [\komento{-}] Tämä on Texin normaali tavutusvihje (luku
+ \ref{luku/tavutuksen-merkit}), mutta \paketti{babel} määrittelee sen
+ suomen kielessä uudelleen siten, että tavutus sallitaan sanassa myös
+ muista kohdista tavutussääntöjen mukaan.
+
+ \shorthandsyhdysmerkki
+
+\item [\textquotedbl=] Sama kuin edellinen (\koodi{\textquotedbl-}).
+
+ \shorthandspystyviiva
+
+ \shorthandslainausmerkki
+
+\end{maaritelma}
+
+\leijutlk{
+ \begin{tabular}{lll}
+ \toprule
+ \ots{Lähde}
+ & \ots{Tavutus}
+ & \ots{Merkitys} \\
+ \midrule
+
+ \koodi{erikoisalalla}
+ & eri\tavukohta koi\tavukohta sa\tavukohta lal\tavukohta la
+ & tavutus kaikista kohdista (väärin) \\
+
+ \koodi{erikois\komento{-}alalla}
+ & eri\tavukohta kois\tavukohta alal\tavukohta la
+ & tavutusvihjeen kohdalta ja muualta \\
+
+ \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 nie\tavukohta mi
- & (\paketti{babel} ja suomen kieli) \\
+ & tavutusvihjeen kohdalta ja muualta \\
\koodi{matka-}
& matka-
@@ -2527,47 +2740,89 @@ tavutusvihjeen kohdalta.
\koodi{-aika}
& -\tavukohta aika
- & vain yhdysmerkin jälkeen \\
+ & vain yhdysmerkin jälkeen (väärin) \\
+
+ \koodi{\textquotedbl-aika}
+ & -ai\tavukohta ka
+ & ei sitovan yhdysmerkin jälkeen \\
\bottomrule
\end{tabular}
}{
- \caption{Tavutusvihjeen, yhdysmerkin ja ajatusviivan vaikutus
- tavutukseen. \paketti{babel}\-/ kielipaketin tavutusvihje
- (\komento{-}) ei suomen kielessä estä sanan tavutusta muista
- kohdista}
- \label{tlk/tex-tavutus}
+ \caption{Kielipaketti \paketti{babel} ja suomen kielellä
+ tavutusvihjeen, yhdysmerkin ja ajatusviivan sekä kielipaketin omien
+ erikoismerkkien vaikutus tavutukseen}
+ \label{tlk/babel-tavutus}
+}
+
+\noindent
+Taulukossa \ref{tlk/babel-tavutus} on esimerkkejä suomen kielen
+tavutuksesta, kun sanassa on tavutusvihjeitä, yhdysmerkkejä,
+ajatusviivoja tai \paketti{babel}\-/ paketin erikoismerkkejä.
+
+Taulukon viimeinen rivi soittaa, että kun sanan alussa on yhdysmerkki,
+täytyy suomen kielessä käyttää sitovaa yhdysmerkkiä, joka estää
+tavutuksen heti yhdysmerkin jälkeen. Toisaalta \paketti{babel}\-/
+paketissa on suomen kielelle asetus, joka käsittelee sanan alussa olevan
+yhdysmerkin automaattisesti oikein. Ominaisuus kytketään päälle
+kielipaketin lataamisen jälkeen \komento{babelprovide}\-/ komennolla
+seuraavasti:
+
+\komentoi{usepackage}
+\pakettii{babel}
+\komentoi{babelprovide}
+\begin{koodilohkosis}
+\babelprovide[transforms = prehyphen.nobreak]{finnish}
+\end{koodilohkosis}
+
+\noindent
+Kun edellä mainittu asetus on päällä, voi lähdetiedostoon kirjoittaa
+huoletta esimerkiksi \koodi{matkasuunnitelma ja \=/aika} (ilman sitovaa
+yhdysmerkkiä), ja silti sanaan \emph{\mbox{-aika}} sisältyvä yhdysmerkki
+pysyy kiinni sanassa eikä jää koskaan yksin rivin loppuun.
+
+Yleisiä kaikkiin kieliin tai tiettyyn kieleen vaikuttavia
+tavutusvihjeitä voi asettaa komennolla \komento{babelhyphenation}.
+Komento vastaa Texin \komento{hyphenation}\-/ komentoa (luku
+\ref{luku/hyphenation-komento}), mutta sille voi antaa valinnaisen
+argumentin, joka rajaa vaikutuksen vain tiettyyn kieleen. Seuraavassa
+esimerkissä asetetaan tavutusvihjeitä vain suomen kielen sanoille:
+
+\komentoi{babelhyphenation}
+\begin{koodilohkosis}
+\babelhyphenation[finnish]{
+ ala-indek-si alku-osa nimen-omaan typo-gra-fi-nen Latex
}
+\end{koodilohkosis}
+
+\noindent
+Vaihtoehtoisen suomen kielen tavutussäännöstön voi kytkeä päälle
+lataamalla paketin \pakettictan{hyphsubst} ja kertomalla sen
+asetuksissa, että tavutuksen kieli \koodi{finnish} korvataan kielellä
+\koodi{school\-finnish}. Paketti \paketti{hyphsubst} täytyy ladata
+\paketti{babel}\-/ paketin jälkeen, seuraavan esimerkin mukaisesti. Tämä
+tavutusvaihtoehto sallii tavutuksen kaikista mahdollisista kohdista.
+Lisätietoa suomen tavutuksen erityispiirteistä on luvussa
+\ref{luku/suomi-tavutus}.
+
+\komentoi{usepackage}
+\pakettii{babel}
+\pakettii{hyphsubst}
+\begin{koodilohkosis}
+\usepackage[main=finnish]{babel}
+\usepackage[finnish=schoolfinnish]{hyphsubst}
+\end{koodilohkosis}
-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
-käyttää, mutta se ei ole aina toiminut luotettavasti eikä
-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.
+\subsection{Viivojen erikoispaketti extdash}
+\label{luku/tavutus-extdash}
+
+Jos Texin ja kielipakettien välimerkit ja tavutusvihjeet eivät riitä,
+mahdollisuuksia saa lisää \pakettictan{extdash}\-/ paketin avulla. Se
+tuo mukanaan uusia komentoja viivavälimerkeille ja samalla lisää
+vaihtoehtoja tavutuksen hallintaan. Komennot ovat sellaisia kuin
+\komento{Hyphdash} ja \komento{Endash}, mutta niille on saatavilla myös
+lyhyemmät vastineet, jos paketin lataa käyttämällä
+\koodi{short\-cuts}\-/ valitsinta.
\komentoi{usepackage}
\pakettii{extdash}
@@ -2582,7 +2837,7 @@ 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 kohdalta (mutta sallii muualta).
+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}
@@ -2602,7 +2857,8 @@ vertaillaan \paketti{extdash}\-/paketin komentoja Texin vastaaviin.
\bottomrule
\end{tabular}
}{
- \caption{\paketti{extdash}-paketin komentoja}
+ \caption{\paketti{extdash}-paketin komentoja, kun paketti on ladattu
+ käyttämällä asetusta \koodi{short\-cuts}}
\label{tlk/extdash}
}
@@ -2630,7 +2886,7 @@ vertaillaan \paketti{extdash}\-/paketin komentoja Texin vastaaviin.
\koodi{matka-}
& matka-
& \koodi{-aika}
- & -\tavukohta aika \\
+ & -\tavukohta aika (väärin) \\
\koodi{matka\komento{-/}}
& mat\tavukohta ka-
& \koodi{\komento{=/}aika}
@@ -2638,7 +2894,7 @@ vertaillaan \paketti{extdash}\-/paketin komentoja Texin vastaaviin.
\bottomrule
\end{tabular}
}{
- \caption{Texin ja \paketti{extdash}-paketin komentojen vertailua}
+ \caption{Texin ja \paketti{extdash}-paketin viivamerkkien vertailua}
\label{tlk/extdash-vertailu}
}
@@ -2659,7 +2915,8 @@ matka\-/ ja aika\-/arvio
\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.
+kirjoittaa komennon perään aaltosuljeparin tai kenoviivan sekä
+sanavälin.
\komentoi{-/}
\begin{koodilohkosis}
@@ -2672,63 +2929,9 @@ 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ä}
+\subsection{Muita tavutusasetuksia}
\label{luku/tavutus-muut}
-Aiemmin mainittu \paketti{extdash}\-/paketti sisältää tavutuksen
-hallintaan liittyviä välimerkkejä, mutta kielestä riippuen sellaisia on
-myös kielipaketeissa \paketti{babel} ja \paketti{polyglossia}.
-Jälkimmäiseen pakettiin lisävälimerkit täytyy kytkeä erikseen päälle
-käyttämällä valitsinta \koodi{babelshorthands} (luku
-\ref{luku/polyglossia}).
-
-Molemmat kielipaketit tuovat suomen kieleen muun muassa 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ä katkaisukohtaan. Sitä voi käyttää teknisten ilmausten
-tavutusvihjeenä, koska niihin ei välttämättä haluta yhdysmerkkiä edes
-katkaisutilanteessa. Muitakin yleislainausmerkillä
-(\koodi{\textquotedbl}) alkavia erikoismerkkejä sisältyy
-kieliasetuksiin.
-
Varsinainen tavutuksen peruskomento on \komento{discretionary}, joka
mahdollistaa omanlaisten tavutuskohtien määrittelyn. Komento
kirjoitetaan sanassa juuri siihen kohtaan, johon tavutuskohta halutaan,
@@ -2787,12 +2990,30 @@ tavutuskohdan saa myös seuraavalla tavalla:
\noindent
Tavutuksen suunnittelussa ja tutkimisessa voi auttaa
-\pakettictan{showhyphens}\-/ paketti. Kun paketti on ladattuna, kaikkien
-sanojen mahdollisiin tavutuskohtiin ladotaan ohut punainen pystyviiva.
+\pakettictan{showhyphenation}\-/ paketti. Kun paketti on ladattuna,
+kaikkien sanojen mahdollisiin tavutuskohtiin ladotaan pieni merkki.
Paketti hyödyntää Lualatex\-/ kääntäjän ominaisuuksia, eikä se siis
toimi muiden kääntäjien kanssa.
\subsection{Suomen kielen tavutus}
+\label{luku/suomi-tavutus}
+
+Suomen kielelle on olemassa Latexissa kaksi erilaista tavutussäännöstöä.
+Oletuksena toimivat säännöt kuvaavat tavallisimmat tavujen rakenteet
+mutta pyrkivät huomioimaan myös typografisia suosituksia. Sanaa ei
+esimerkiksi katkaista vokaalien välistä, koska se ei ole suositeltavaa.
+Myös jotkin yleiset vierasperäisten sanojen konsonanttiyhdistelmät
+pidetään yhdessä, vaikka ne suomen tavurakenteen mukaan kuuluisivat
+joskus eri tavuihin.
+
+Toinen, vaihtoehtoinen tavutussäännöstö kuvaa pelkästään suomen tavujen
+rakenteen, eli se tavuttaa sanat kaikista mahdollisista kohdista eikä
+huomioi typografisia suosituksia mitenkään.%
+\footnote{Lisätietoa:
+ \url{https://github.com/hyphenation/basic-finnish}} Tämä
+vaihtoehtoinen tavutustapa täytyy kytkeä erikseen päälle kielipaketin
+asetuksista tai lisäkomennoilla. Katso kielipakettikohtaiset ohjeet
+luvuista \ref{luku/tavutus-polyglossia} ja \ref{luku/tavutus-babel}.
Texin kirjainyhdistelmiin perustuvat tavutussäännöt eivät yksinään ole
tarpeeksi älykkäitä suomen kieleen, ja esimerkiksi yhdyssanojen
@@ -2816,8 +3037,7 @@ 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.
+Tex osaa tavuttaa oikein ilman tavutusvihjeitäkin.
\komentoi{-}
\begin{koodilohkosis}
@@ -2825,6 +3045,15 @@ alku\-osa pusku\-traktori
\end{koodilohkosis}
\noindent
+Sitova yhdysmerkki on suomen kielessä tarpeellinen, kun sana alkaa
+yhdysmerkillä eli ennen yhdysmerkkiä on sanaväli. Esimerkiksi
+ilmauksessa \emph{matkasuunnitelma ja \mbox{-aika}} ei riviä saa
+katkaista sanassa \emph{\mbox{-aika}} olevan yhdysmerkin jälkeen. Täytyy
+siis käyttää sitovaa yhdysmerkkiä eli merkkiä, joka sitoo yhdysmerkin
+kiinni seuraavaan sanaan. Sitovan yhdysmerkin käyttöä neuvotaan luvuissa
+\ref{luku/tavutus-polyglossia}, \ref{luku/tavutus-babel} ja
+\ref{luku/tavutus-extdash}.
+
Yhdysmerkin tai ajatusviivan sisältävät pitkät yhdyssanat voivat vaatia
tavutuskohtien lisäämistä, koska yhdysmerkki ja ajatusviivat estävät
tavutuksen muualta kuin näiden merkkien jälkeen. Ilman tavutuskohtien
@@ -2833,10 +3062,11 @@ 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 tavutusvihjeillä.
-Vaihtoehtoisesti kaikki yleisten tavutussääntöjen mukaiset tavutuskohdat
-saa käyttöön \paketti{extdash}\-/ paketin välimerkkikomennoilla
-(taulukko \ref{tlk/extdash}). Seuraavassa esimerkissä on tavutuksen
-hallintaa sanalle \emph{Molo\-tov--Ribben\-trop-sopi\-mus}:
+Vaihtoehtoisesti voi käyttää \paketti{extdash}\-/ paketin
+välimerkkikomentoja (taulukko \ref{tlk/extdash}), jotka sallivat
+tavutuksen kaikista kielen tavutussääntöjen mukaisista kohdista.
+Seuraavassa esimerkissä on tavutuksen hallintaa sanalle
+\emph{Molo\-tov--Ribben\-trop-sopi\-mus}:
\komentoi{-}
\komentoi{--}
@@ -2873,7 +3103,7 @@ sijasta.
\komentoi{discretionary}
\begin{koodilohkosis}
\newcommand{\hm}{\discretionary{-}{}{'}}
-vaa\hm an
+vaa\hm an, liu\hm uttaa
\end{koodilohkosis}
\noindent