%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Typesetting Part of LaTeX2e Introduction % $Id: ladonta.tex,v 1.2 2005/04/05 08:05:09 hellgren Exp $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Tekstin ladonta} \begin{intro} Edellisen kappaleen luettuasi tiedät mistä perusaineksista \LaTeXe-dokumentti koostuu. Tässä luvussa saat tietää loputkin oikeissa dokumenteissa tarvittavista asioista. \end{intro} \section{Tekstin ja kielen rakenne} \secby{Hanspeter Schmid}{hanspi@schmid-werren.ch} Kirjoitetun tekstin pääasiana (lukuunottamatta jotain postmodernia kirjallisuutta, jossa image on tärkein\footnote{En nyt tarkoita samannimistä lehteä.}) on välittää ideoita, aatteita tai tietoa lukijalle. Lukija ymmärtää tekstin paremmin, jos ideat on rakenteellisesti muotoiltu hyvin ja hän näkee sekä tuntee tämän rakenteen, jos typografinen muotoilu heijastaa sisällön loogista ja semanttista rakennetta. \LaTeX{} eroaa muista ladontajärjestelmistä siinä, että pelkkä tekstin loogisen ja semanttisen rakenteen kertominen riittää. Se johtaa sitten tekstin typografisen muodon dokumentin luokkatiedoston ja erilaisten tyylitiedostojen sääntöjen pohjalta. \LaTeX:n (ja typografian) tärkein tekstiyksikkö on \wi{kappale}. Kutsukaamme sitä ''tekstiyksiköksi'', sillä kappale on typografinen muoto, jonka pitäisi heijastaa yhtä selvää ajatusta. Seuraavissa osioissa opitaan, miten rivinvaihto voidaan määritellä tiettyyn kohtaan kirjoittamalla esim.~\texttt{\bs\bs} ja kappaleen vaihto jättämällä esim.~tyhjä rivi käsikirjoitukseen. Niinpä, kun uusi ajatus alkaa, myös uusi kappale alkaa. Päinvastaisessa tapauksessa käytetään vain rivinvaihtoa. Jos et ole varma kappalevaihdosta, kuvittele tekstiäsi aatteiden ja ajatusten välittäjänä. Mikäli sama ajatus jatkuu seuraavassa kappaleessa, tulisi kappaleet yhdistää. Jos kesken kappaletta esiin tulee uusi ajatus, pitäisi kappale jakaa. Useimmat ihmiset aliarvioivat hyvin asemoitujen kappeleenvaihtojen merkityksen. Monet eivät edes tiedä kappaleenvaihdon merkitystä ja käyttävät niitä, erityisesti \LaTeX:ssa, merkitystä tuntematta. Katso seuraavia esimerkkejä ja yritä selvittää miksi joskus kaavojen eteen ja jälkeen jätetään tyhjät rivit (kappaleenvaihdot) ja miksi taas joskus ei. (Jos et vielä tunne komentoja kyllin hyvin ymmärtääksesi esimerkkejä, lue tämä ja seuraava luku ennenkuin luet tämän osion uudelleen.) \begin{code} \begin{verbatim} % Example 1 \ldots kun Einstein esitti kaavansa \begin{equation} e = m \cdot c^2 \; , \end{equation} joka on samalla tunnetuin ja vähiten ymmärretty fysiikan kaava. % Example 2 \ldots josta seuraa Kirchhoffin laki: \begin{equation} \sum_{k=1}{n} I_k = 0 \; . \end{equation} Kirchhoffin jännitteen laki voidaan johtaa \ldots % Example 3 \ldots josta on useita etuja. \begin{equation} I_D = I_F - I_R \end{equation} on hyvin erilaisen transistorimallin ydin. \ldots \end{verbatim} \end{code} Seuraava pienempi tekstiyksikkö on lause. Englanninkielisissä teksteissä lauseen päättävän pisteen perässä on pitempi väli kuin silloin, kun piste on lyhenteen perässä. Suomessa ja useissa muissa kielissä ei tätä tapaa kuitenkaan noudateta. Niinpä \textsf{Babelin} suomalaismakrot kytkevät tämän ominaisuuden pois päältä. Englanninkielisessä tekstissä \LaTeX{} yrittää arvata minkalaisesta pisteestä on kysymys. Jos \LaTeX{} erehtyy, täytyy kirjoittajan kertoa, mitä hän haluaa. Tämä selitetään myöhemmin tässä luvussa. Tekstin rakenteisiin kuuluu myös lauseen osia. Monissa kielissä on hyvin monimutkaiset välimerkkisäännöt. Suomessa pilkkua käytetään pelkästään kieliopillisten sääntöjen mukaan. Koulussa opittiin minkä sanojen jälkeen tulee aina pilkku ja milloin taas ei. Monissa muissa kielissä (kuten saksassa ja englannissa) pilkku esittää tekstissä lyhyttä taukoa. Näissä kielissä kannattaa epävarmoissa tapauksissa lukea lause ääneen ja vetää henkeä. Jos jossain kohtaa tauko tuntuu omituiselta, pilkun voi poistaa, jos taas jossain kohtaa pitäisi vetää henkeä (tai pitää lyhyt tauko), siihen lisätään pilkku. Lisäksi teksti jaetaan kappaleita ylemmällä tasolla loogisesti lukuihin, osioihin, alaosioihin jne. Näiden ylemmän tason rakenteiden käyttö on lähes itsestään selvää, sillä kirjoittamalla esim.~\verb|\section{|\texttt{Tekstin ja kielen rakenne}\verb|}| on sen typografinen vaikutelma kyllin selvä. \section{Rivin- ja kappaleenvaihto} \subsection{Tasatut kappaleet} Kirjat ladotaan usein niin, että jokainen rivi on yhtä pitkä. \LaTeX{} lisää tarpeelliset \wi{rivinvaihdot} ja välilyönnit sanojen väliin optimoidessaan koko kappaleen sisältöä. Tarpeen vaatiessa se myös tavuttaa sanat, jotka eivät mahdu kokonaan riville. Kappaleiden ladonta riippuu dokumenttiluokasta. Normaalisti kappaleen ensimmäinen rivi on sisennetty eikä kappaleiden välissä ole tyhjää riviä. Katso osasta~\ref{parsp} lisätietoja. Erikoistapauksissa voi olla tarpeen pakottaa \LaTeX{} katkaisemaan rivi: \begin{lscommand} \ci{\bs} tai \ci{newline} \end{lscommand} \noindent aloittaa uuden rivin, mutta ei uutta kappaletta. \begin{lscommand} \ci{\bs*} \end{lscommand} \noindent estää lisäksi sivun vaihdon rivin katkaisun jälkeen. \begin{lscommand} \ci{newpage} \end{lscommand} \noindent aloittaa uuden sivun. \begin{lscommand} \ci{linebreak}\verb|[|\emph{n}\verb|]|, \ci{nolinebreak}\verb|[|\emph{n}\verb|]|, \ci{pagebreak}\verb|[|\emph{n}\verb|]| ja \ci{nopagebreak}\verb|[|\emph{n}\verb|]| \end{lscommand} \noindent tekevät vastaavasti seuraavaa: rivinvaihto, rivinvaihdon esto, sivun vaihto, sivunvaihdon esto. Nämä käskyt antavat kirjoittajalle mahdollisuuden vaikuttaa niiden toimintaan vaihtoehtoisella argumentilla \emph{n}. Sille voidaan antaa arvo nollan ja neljän väliltä. Alle neljän olevalla arvolla \LaTeX{} saa luvan jättää käsky huomioimatta, jos lopputulos olisi liian ruman näköinen. Näitä ''katkaisu''-käskyjä ei tule sekoittaa ''uusi''-käskyihin. Vaikka ''katkaisu''-käskyä käytettäisiinkin, \LaTeX{} yrittää silti tasata sivun oikean reunan ja sivun kokonaispituuden seuraavassa osioissa kuvatulla tavalla. Jos todella halutaan aloittaa ''uusi rivi'', on käytettävä vastaavaa komentoa. Arvaa minkä nimistä!\footnote{Kääntäjän vihje: ''uusi rivi'' on englanniksi \emph{new line}.} \LaTeX{} yrittää katkaista rivin aina parhaasta mahdollisesta paikasta. Jos se ei löydä tapaa katkaista rivi sen korkeatasoisten vaatimusten mukaisesti, se antaa rivin sojottaa ulos kappaleen oikeasta reunasta. \LaTeX{} antaa lisäksi valituksen (``\wi{overfull hbox}'') käsikirjoitusta työstäessään. Tällainen tilanne tulee yleensä silloin kun \LaTeX{} ei löydä sopivaa tavutuskohtaa sanasta.\footnote{Vaikka \LaTeX{} antaa näissä tapauksissa varoituksen (Overfull hbox), ei tällaisia rivejä ole aina helppo löytää. Jos \ci{documentclass}-komennon yhteydessä käytetään optiota \texttt{draft}, \LaTeX merkitsee nämä rivit mustalla palkilla oikeassa marginaalissa.} LaTeX:ia voi pyytää alentamaan tasoaan käskyllä \ci{sloppy}. Se estää ylipitkien rivien syntymisen lisäämällä sanojen välejä, vaikka lopputulos ei olisi paras mahdollinen eikä yleensä kovin hyvän näköinen. Siltä varalta, että haluat \LaTeX:n valittavan vähän joka asiasta, on olemassa komento \ci{fussy}, joka on siis edellisen komennon vastakohta. \subsection{Tavutus} \label{hyph} \LaTeX{} tavuttaa sanat tarpeen vaatiessa. Jos tavutusalgoritmi ei löydä sopivaa tavutuskohtaa, voidaan tilannetta helpottaa kertomalla \TeX:lle seuraavilla komennoilla, että kyseessä on poikkeus. Komento \begin{lscommand} \ci{hyphenation}\verb|{|\emph{sanalista}\verb|}| \end{lscommand} \noindent aiheuttaa sen, että sanalistassa luetellut sanat tavutetaan ainostaan kohdista, jotka on merkitty \verb|-|:llä. Komennon argumentin pitäisi sisältää ainoastaan sanoja, joissa on normaaleja kirjaimia tai ainakin merkkejä, joita \LaTeX{} pitää normaalikirjaimina. Tavutusvihjeet koskevat komentoa käytettäessä aktiivisena olevaa kieltä. Tämä tarkoittaa sitä, että komennon käyttäminen dokumentin esittelyosassa vaikuttaa englannin tavutukseen. Jos komentoa käytetään \verb|\begin{document}|:n jälkeen ja käytössä on jokin muuta kieltä tukeva makropakkaus kuten \pai{babel}, niin tavutusvihjeet koskevat silloin \pai{babel}:n avulla aktivoitua kieltä, esim.~suomea. Alapuolella oleva esimerkki kertoo, että ''tavutus'' samoin kuin ''Tavutus'' tavutetaan, mutta ''FORTRAN'' ei. Mitään erityismerkkejä tai symboleja ei argumenttiosassa sallita. Esimerkki: \begin{code} \verb|\hyphenation{FORTRAN Ta-vu-tus}| \end{code} Komennolla \ci{-} lisätään sanaan tavutusohje. Englanninkielisissä dokumenteissa tästä tulee samalla ainoa kohta, jossa tavutus sallitaan. \textsf{Babelin} \texttt{finnish}-optio, kuitenkin muuttaa komennon merkitystä niin, että tavutus sallitaan edelleen tarvittaessa muuallakin. Tästä komennosta on hyötyä erityisesti ulkomaisten sanojen kohdalla. Niissä voi olla erikoismerkkejä (esim.~aksenttimerkkejä), joita suomen kielen tavutus ei tunne. Ääkköset kuitenkin tavuttuvat oikein jos käytetään \textsf{Babelin} suomen kielen tukea ja \texttt{T1}-koodausta käyttäviä kirjasimia.\footnote{Sekä lisäksi suomen kielen tavutussäännöt on asennettu järjestelmään.} \begin{example} Tavutus toimii jär\-jes\-tel\-% mäl\-li\-syy\-del\-lään\-kin \end{example} Koska suomen pitkät sanat vaativat jatkuvasti tavuttamista, on suomalaisessa typografiassa hieman joustavammat säännöt tavutuksen kohdalla kuin englannissa. \textsf{Babelin} suomen kielen tuki lisää muutaman ylimääräisen ominaisuuden, jotka ovat tarpeen suomalaisissa dokumenteissa. Huomaa kuitenkin, että ne toimivat vain \textsf{Babelin} \texttt{finnish}-option kanssa. Normaalisti kun sanassa on tavuviiva (esim.~noita-akka) \LaTeX tavuttaa sanan vain tämän tavuviivan kohdalta. Tarkoituksena välttää samassa sanassa kahta tavuviivaa. Suomen pitkien sanojen kohdalla on kuitenkin parempi luistaa tästä periaatteesta. Kirjoittamalla esim.~\verb|noita"-akka| sallitaan tavutus myös muualla sanassa. Toinen ongelmatapaus on esim.~''pakastekaapit ja "=arkut'', jossa tavuviiva tulee sanan eteen. Normaalisti \LaTeX{} olettaa, että tavuviiva jää rivin loppuun ja sana ''arkut'' tulisi seuraavalle riville. Koska suomessa näin ei aina ole, on esimerkki kirjoitettava seuraavasti: \texttt{pakastekaapit ja} \verb|"=arkut|. Joskus sana pitää katkaista ilman tavutusviivaa. Silloin voi käyttää \textsf{Babelin} merkintää \verb|""|, esim.~''entrada/""salida''. Peräkkäiset sanat saa pysymään samalla rivillä komennolla: \begin{lscommand} \ci{mbox}\verb|{|\emph{tekstiä}\verb|}| \end{lscommand} \noindent Se saa argumenttina olevan tekstin pysymään samalla rivillä kaikissa tilanteissa. \begin{example} Puhelinnumeroni vaihtuu piakkoin. Siitä tulee \mbox{0116 291 2319}. Parametrin \mbox{\emph{tiedostonnimi}} pitäisi sisältää tiedoston nimi. \end{example} \ci{fbox} on muuten sama kuin \ci{mbox}, mutta siinä sisällön ympärille piirretään lisäksi laatikko. \section{Automaattitekstejä} Edellisten sivujen esimerkeissä on esiintynyt joitakin hyvin yksinkertaisia \LaTeX-komentoja erityisten merkkijonojen latomiseksi: \vspace{2ex} \noindent \begin{tabular}{@{}lll@{}} Komento&Esimerkki&Kuvaus\\ \hline \ci{today} & \today & Päivämäärä käytössä olevalla kielellä\\ \ci{TeX} & \TeX & Suosikkiladontaohjelmasi nimi\\ \ci{LaTeX} & \LaTeX & Hän itte\\ \ci{LaTeXe} & \LaTeXe & \LaTeX:n nykyinen olomuoto\\ \end{tabular} \section{Erikoismerkit ja symbolit} \subsection{Lainausmerkit} Kirjoituskoneen \verb|"|-symbolia \emph{ei} pitäisi käyttää \index{lainausmerkit} lainausmerkkinä. \index{""@\texttt{""}} Painetussa tekstissä Suomessa ja Ruotsissa käytetty lainausmerkki saadaan \LaTeX:ssa kirjoittamalla kaksi peräkkäistä \verb|'|-merkkiä (PC-koneissa heittopilkku). Anglo-amerikkalaisessa typografiassa lainauksen aloitus"- ja lopetusmerkki ovat erilaiset. Siellä lainauksen aloittaa kaksi peräkkäistä \verb|`|-merkkiä (PC-koneissa graavi-aksentti). Suomessa käytetään joissain kirjoissa myös \UseTextSymbol{OT1}{\guillemotright}toisenlaisia\UseTextSymbol{OT1}{\guillemotright} lainausmerkkejä. Nämä saadaan kirjoittamalla kaksi peräkkäistä \verb|>|-merkkiä. Muissa kielissä on vielä toisenlaisia käytäntöjä. \begin{example} ''Paina 'x'-näppäintä.'' ``Please press the `x' key.'' \end{example} Ainakin PC-koneiden näppäimistöllä näiden merkkien kirjoittaminen on hieman hankalaa. Heittopilkun sijasta ei pidä käyttää akuutin aksentin merkkiä. Esimerkiksi MS Wordissa nämä symbolit tuotetaan eri tavalla. \subsection{Väli"-, yhdys"- ja ajatusviivat} \LaTeX{} tuntee neljä erilaista \index{väliviivat} viivaa. Kolme niistä saadaan eri määrällä peräkkäisiä tavuviivoja. Neljäs viiva on matemaattinen miinusmerkki: \index{-} \index{--} \index{---} \index{-@$-$} \index{matemaattinen!miinus} \begin{example} kuu-ukko, X-kirjain\\ sivut 13--67\\ Will Hunting --- syntynyt neroksi \\ $0$, $1$ ja $-1$ \end{example} Nimet näille viivoille ovat: '-' \index{tavuviiva}\index{yhdysmerkki} tavu"- tai yhdysviiva, '--' \wi{väliviiva}, '---' \wi{ajatusviiva} ja '$-$' \wi{miinusmerkki}. Muista lisäksi mitä tavutuksen kohdalla todettiin yhdysviivasta. Lisäksi on todettava, että suomalaisissa painotuotteissa näkee joskus käytettävän väliviivaa ajatusviivana. Esa Saarimaan Kielenoppaan kuudes painos vuodelta 1964 taas käskee käyttäämään ajatusviivaa myös väliviivana! En nyt ota sen kummemmin tässä kantaa ajatusviivan oikeaan pituuteen suomen kielessä.\footnote{Venäläiset kinastelivat Internetissä kuukauden verran ajatusviivan oikeasta pituudesta venäjässä. Lopulta \LaTeX:n kyrilliseen kirjaimistoon tehtiin oma ajatusviivamerkki, jonka pituus on jotain englantilaisen väliviivan ja ajatusviivan väliltä.} Varmaa ainakin on, että ajatusviivan kummallekin puolelle tulee suomessa välilyönti. Englannissa taas ajatusviiva kirjoitetaan perinteisesti ilman välilyöntejä.\footnote{Tästäkin perinteestä kyllä lipsutaan nykyään usein.} \subsection{Tilde ($\sim$)} \index{www}\index{URL}\index{tilde} Webbiosoitteissa näkee usein $\sim$-merkkiä. Tämän merkin tuottamiseksi voidaan latoa \verb|\~| mutta lopputulos: \~{} ei ole oikein halutun kaltainen. Kannattaa kokeilla seuraavaa: \begin{example} http://www.rich.edu/\~{}bush \\ http://www.clever.edu/$\sim$demo \end{example} \subsection{Astemerkki ($\circ$)} Seuraavassa esimerkissä nähdään, miten \wi{astemerkki} tehdään {\LaTeX}:ssa: \begin{example} On $-30\,^{\circ}\mathrm{C}$. Tässähän muuttuu suprajohtavaksi. \end{example} Makropakkaus \pai{textcomp} antaa käyttöön myös komennon \ci{textcelsius}. \subsection{Euron symboli \texorpdfstring{(\euro{})}{}} Nykyään rahasta kirjoitettaessa tarvitaan euron symbolia. Useat nykyiset kirjasinperheet sisältävät euron symbolin. Kun dokumentin johdanto-osassa on ensin otettu käyttöön \pai{textcomp}-makropaketti \begin{lscommand} \ci{usepackage}\verb|{textcomp}| \end{lscommand} voidaan käyttää komentoa \begin{lscommand} \ci{texteuro} \end{lscommand} tuottamaan euron symboli. Mikäli kirjasimessa ei ole euron symbolia tai et pidä sen ulkoasusta kyseisessä kirjasinperheessä, on vielä kaksi vaihtoehtoa: Ensinnäkin \pai{eurosym}-makropaketti tuo käyttöön euron virallisen symbolin: \begin{lscommand} \ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}| \end{lscommand} Jos kuitenkin haluat, että euron symboli sopii yhteen teksin kirjasimen kanssa, voit käyttää optiota \texttt{gen} virallisemman option \texttt{official} sijasta. Jos järjestelmään on asennettu Adoben eurokirjasin (se on saatavilla ilmaiseksi osoitteesta \url{ftp://ftp.adobe.com/pub/adobe/type/win/all}), voit käyttää makropakkkausta \pai{europs} ja komentoa \ci{EUR} (kirjasimen kanssa paremmin yhteensopiva euron symboli) % tai makropakkausta \pai{eurosans} % ja komentoa \ci{euro} (virallinen euron symboli). Makropakkaus \pai{marvosym} tuo käyttöön paljon erilaisia symboleja, euro mukaanluettuna. Euron symboli saadaan siinä komennolla \ci{EUR}. Tämän makropakkauksen huono puoli on se, että siinä ei ole käytettävissä lihavoitua tai vinoa muotoa euron symbolista. \begin{table}[!htbp] \caption{Pussillinen euron symboleita} \label{eurosymb} \begin{lined}{10cm} \begin{tabular}{llccc} makropakkaus & komento & antiikva & groteski & kirjoituskone \\ eurosym &\verb+\euro+ & \huge\officialeuro &\huge\sffamily\officialeuro & \huge\ttfamily\officialeuro\\ $[$gen$]$eurosym &\verb+\euro+ & \huge\geneuro &\huge\sffamily\geneuro & \huge\ttfamily\geneuro \\ % En fait on appelle eurofont pour des conflits de noms... europs &\verb+\EUR + & \huge\EURtm &\huge\EURhv & \huge\EURcr \\ %eurosans &\verb+\euro+ & \huge\EUROSANS &\huge\sffamily\EUROSANS % & \huge\ttfamily\EUROSANS \\ marvosym &\verb+\EUR+ & \huge\mvchr164 &\huge\mvchr164 & \huge\mvchr164 \end{tabular} \medskip \end{lined} \end{table} \subsection{Ellipsi (\texorpdfstring{\ldots}{...})} Kirjoituskoneessa \wi{pilkku} tai \wi{piste} vie yhtä paljon tilaa kuin mikä tahansa muu kirjain. Painetuissa kirjoissa nämä merkit vievät vain vähän tilaa ja ne sijaitsevat hyvin lähellä edeltävää kirjainta. Niinpä \index{ellipsi}''\wi{ellipsiä}'' ei voi lisätä kirjoittamalla yksinkertaisesti kolme pistettä, sillä välistys olisi väärin. Sitäpaitsi näille pisteille on oma komento. Sen nimi on \begin{lscommand} \ci{ldots} \end{lscommand} \index{...@\ldots} \begin{example} Ei näin ... vaan näin:\\ New York, Tokio, Budapest, \ldots \end{example} \subsection{Ligatuurit} Anglo-amerikkalaisessa typografiassa joitakin kirjainyhdistelmiä ei ladota panemalla kirjain toisensa perään, vaan käyttämällä erityisiä kirjainmerkkejä. \begin{code} {\large ff fi fl ffi\ldots}\quad instead of\quad {\large f{}f f{}i f{}l f{}f{}i \ldots} \end{code} Nämä niin sanotut \wi{ligatuuri}t voidaan estää lisäämällä \ci{mbox}\verb|{}| kyseessä olevien kirjainten väliin. Tämä voi olla tarpeen joissain englannin yhdyssanoissa. \begin{example} \Large Not shelfful\\ but shelf\mbox{}ful \end{example} \subsection{Aksentit ja erikoismerkit} \LaTeX:ssa on mahdollista latoa sellaisia eri kielissä käytettyjä \index{aksentit} aksentteja ja \index{erikoismerkit} erikoismerkkejä, joita ei löydy suomalaiselta näppäimistöltä. Taulukossa~\ref{accents} listataan erilaisia aksentteja o-kirjaimen kanssa käytettynä. \LaTeX:ssa aksentin voi liittää mihin tahansa muuhun kirjaimeen. Kun i:n ja j:n päälle pannaan aksentti, täytyy niissä oleva piste poistaa. Tämä tehdään kirjoittamalla \verb|\i| ja \verb|\j|. \begin{example} H\^otel, na\"\i ve, \'el\`eve,\\ sm\o rrebr\o d, !`Se\~norita!,\\ Sch\"onbrunner Schlo\ss{} Stra\ss e \end{example} \begin{table}[!hbp] \caption{Aksentteja ja erikoismerkkejä} \label{accents} \begin{lined}{10cm} \begin{tabular}{*4{cl}} \A{\`o} & \A{\'o} & \A{\^o} & \A{\~o} \\ \A{\=o} & \A{\.o} & \A{\"o} & \B{\c}{c}\\[6pt] \B{\u}{o} & \B{\v}{o} & \B{\H}{o} & \B{\c}{o} \\ \B{\d}{o} & \B{\b}{o} & \B{\t}{oo} \\[6pt] \A{\oe} & \A{\OE} & \A{\ae} & \A{\AE} \\ \A{\aa} & \A{\AA} & \A{\ss}\\[6pt] \A{\o} & \A{\O} & \A{\l} & \A{\L} \\ \A{\i} & \A{\j} & \textexclamdown & \verb|!`| & \textquestiondown & \verb|?`| \end{tabular} \index{\i{} ja \j{} ilman pistettä}\index{aksentit!Ääkköset} \index{ae@\ae}\index{umlaut}\index{grave}\index{akuutti} \index{oe@\oe} \bigskip \end{lined} \end{table} Edellä oli puhetta suomen kielen tuen yhteydessä T1-merkistöstä. Se lisää käyttöön muutaman uuden aksentin ja kirjainmerkin. Katso taulukosta~\ref{T1}. \begin{table}[!htp] \caption{T1-merkistön lisäämät aksentit ja kirjainmerkit}\label{T1} \begin{lined}{10cm} \begin{tabular}{*4{cl}} \B{\r}{u} & \B{\k}{o} \\[6pt] \A{\DH} & \A{\DJ} & \A{\NG} & \A{\TH} \\ \A{\dh} & \A{\dj} & \A{\ng} & \A{\th} \end{tabular} \bigskip \end{lined} \end{table} \section{Muiden kielten tuki} Babelilla voidaan ottaa käyttöön myös useita kieliä samaan aikaan seuraavasti: \begin{lscommand} \ci{usepackage}\verb|[|\emph{language},\emph{language}\verb|]{babel}| \end{lscommand} \noindent vasemmanpuoleisin kieli tulee oletuksena käyttöön ensin. Komennolla \begin{lscommand} \ci{selectlanguage}\verb|{|\emph{kieli}\verb|}| \end{lscommand} voidaan kieltä vaihtaa dokumentissa. \subsection{Portugalin tuki} \secby{Demerson Andre Polli}{polli@linux.ime.usp.br} Tavutussääntöjen vaihtamiseksi ja automaattitekstien kääntämiseksi portugaliksi \index{Portugu\^es} käytetään komentoa: \begin{lscommand} \verb|\usepackage[portuges]{babel}| \end{lscommand} tai jos ollaan brasiliassa, käytetään kielen nimenä \texttt{\wi{brazilian}}. Lisäksi tietysti pitää ottaa käyttöön portugalissa käytettävät merkistöt komennoilla \begin{lscommand} \verb|\usepackage[latin1]{inputenc}| \end{lscommand} ja \begin{lscommand} \verb|\usepackage[T1]{fontenc}| \end{lscommand} Nyt kaikki portugalin aksentit ovat käytössä normaalisti. Katso taulukosta~\ref{portuguese} mallia portugalilaisen dokumentin esittelyosaksi. Huomaa, että tässä käyteään latin1-merkistöä tekstin syöttämiseen, joten esimerkki ei suoraan tule toimimaan Macissa tai DOSissa. Käytä merkistöä jota järjestelmäsi tukee. \begin{table}[btp] \caption{Portugalilainen esittelyosa.} \label{portuguese} \begin{lined}{5cm} \begin{verbatim} \usepackage[portuges]{babel} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \end{verbatim} \bigskip \end{lined} \end{table} \subsection{Ranskan tuki} \secby{Daniel Flipo}{daniel.flipo@univ-lille1.fr} Joitakin vinkkejä ranskalaisten dokumenttien luomiseksi \LaTeX:lla. Ranskan kielen tuki ladataan käyttöön komennolla: \begin{lscommand} \verb|\usepackage[frenchb]{babel}| \end{lscommand} Huomaa, että historiallisista syistä \textsf{babel}in option nimi ranskalle on joko \emph{frenchb} tai \emph{francais} muttei \emph{french}. Tämä ottaa käyttöön ranskalaisen tavutuksen, mikäli se on yleensä asennettu \LaTeX-systeemiin. Myös automaattiset tekstit käännetään ranskaksi: \verb+\chapter+ tulostaa sanan Chapitre, \verb+\today+ tulostaa päivämäärän ranskalaisen käytännön mukaisesti jne. Lisäksi käyttöön tulee uusia komentoja, jotka helpottavat ranskalaisen käsikirjoituksen tekemisessä. Taulukko \ref{cmd-french} voi toimia inspiraation lähteenä. \begin{table}[!htbp] \caption{Ranskalaisia erikoiskomentoja.} \label{cmd-french} \begin{lined}{9cm} \selectlanguage{french} \begin{tabular}{ll} \verb+\og guillemets \fg{}+ \quad &\og guillemets \fg \\[1ex] \verb+M\up{me}, D\up{r}+ \quad &M\up{me}, D\up{r} \\[1ex] \verb+1\ier{}, 1\iere{}, 1\ieres{}+ \quad &1\ier{}, 1\iere{}, 1\ieres{}\\[1ex] \verb+2\ieme{} 4\iemes{}+ \quad &2\ieme{} 4\iemes{}\\[1ex] \verb+\No 1, \no 2+ \quad &\No 1, \no 2 \\[1ex] \verb+20~\degres C, 45\degres+ \quad &20~\degres C, 45\degres \\[1ex] \verb+\bsc{M. Durand}+ \quad &\bsc{M.~Durand} \\[1ex] \verb+\nombre{1234,56789}+ \quad &\nombre{1234,56789} \end{tabular} \selectlanguage{finnish} \bigskip \end{lined} \end{table} Kun käyttöön otetaan ranskan kieli, myös listojen ulkoasu muuttuu. Tarkempia tietoja \textsf{babel}in option \texttt{frenchb} vaikutuksista ja miten niitä voidaan säädellä lisää, saa ajamalla \LaTeX{}iin tiedoston \texttt{frenchb.dtx}, jolloin tuloksena syntyy dokumentti \texttt{frenchb.dvi}. \subsection{Saksan tuki} Muutama vinkki saksalaisten\index{Deutsch} dokumenttien luomiseksi \LaTeX:lla. Saksan kielen tuki otetaan käyttöön komennolla: \begin{lscommand} \verb|\usepackage[german]{babel}| \end{lscommand} Tämä ottaa käyttöön saksalaisen tavutuksen, mikäli se on asennettu oikein \LaTeX-järjestelmään. Myös automaattiset tekstit muuttuvat saksankielisiksi. Esim.~\verb|chapter| tulostaa sanan ''Kapitel''. Lisäksi käyttöön tulee joukko uusia komentoja, jotka helpottavat saksalaisen käsikirjoituksen tekemistä. Innoitusta voi etsiä taulukosta \ref{german}. Jos käytetään inputenc-makropakkausta, ei näillä pikakirjoituskomennoilla ole niin suurta merkitystä. \begin{table}[!hbp] \caption{Saksalaiset erikoismerkit.} \label{german} \begin{lined}{8cm} \begin{tabular}{*2{ll}} \verb|"a| & \"a \hspace*{1ex} & \verb|"s| & \ss \\[1ex] \verb|"`| & \glqq & \verb|"'| & \grqq \\[1ex] \verb|"<| tai \ci{flqq} & \flqq & \verb|">| tai \ci{frqq} & \frqq \\[1ex] \ci{flq} & \flq & \ci{frq} & \frq \\[1ex] \ci{dq} & " \\ \end{tabular} \bigskip \end{lined} \end{table} Saksalaisissa kirjoissa näkee usein ranskalaisia lainausmerkkejä (\flqq guillemets\frqq). Saksalaiset latojat käyttävät niitä kuitenkin eri tavoin. Saksalaisessa kirjassa lainaus näyttäisi \frqq tältä\flqq. Sveitsin saksankielisessä osassa latojat käyttävät \flqq lainausmerkkejä\frqq samalla tavalla kuin ranskalaiset. Mikäli käytetään oletusmerkistöä OT1, niin komennoista kuten \verb+\flq+ tulee ongelma: ranskalaiset lainausmerkit näyttävät samalta kuin matemaattinen symboli ''$\ll$''. Tämä saa ammattilatojan voimaan pahoin. T1-merkistössä toisaalta on oikeat symbolit. T1-merkistöä tulee siis käyttää jo lainausmerkkienkin tähden. \subsection[Korean kielen tuki]{Korean kielen tuki\footnotemark}\label{support_korean}% \footnotetext{% Tässä käsitellään asioita, joita korean kielisissä kirjoituksissa tulee ottaa huomioon. Tämän osan on kirjoittanut Karnes KIM tämän dokumentin korean kielisen käännöksen tekijöiden puolesta. Tekstin käänsi ensin englantiin SHIN Jungshik ja sitä lyhensi Tobias Oetiker. Timo Hellgren käänsi sen englannista suomeksi.} Jotta \LaTeX{} voitaisiin käyttää korean latomiseen, on ensin ratkaistava kolme ongelmaa: \begin{enumerate} \item Pitää pystyä käsittelemään korealaisia käsikirjoituksia. Korean kielisissä tekstitiedostoissa käytetään usein EUC-KR-merkistöä ja korean kielisen Windowsin merkistöä CP949/Windows-949/UHC, joka on edellisen laajenus. Näissä merkistöissä ASCII-merkki esitetään normaalina ASCII-merkkinä aivan kuten tehdään myös merkistöissä ISO-8859-\textit{x}, EUC-JP, Shift\_JIS ja Big5. Tämän lisäksi hangul-tavumerkit, hanjat (Koreassa käytettävät kiinalaiset kirjoitusmerkit), hangul Jamot, hirakanat, katakanat, kreikkalaiset ja kyrilliset kirjaimet ja muut symbolit ja kirjaimet KS~X~1001-standardista esitetään kahtena peräkkäisenä kahdeksan bitin koodina. Ennen 1990-luvun puoliväliä oli koreankielisen ympäristön pystyttäminen ei-korealaiseen järjestelmään kohtalaisen työn takana. Jos haluat tietää miltä korean kielen kirjoittaminen ei-korealaisessä järjestelmässä tuntui siihen aikaan, voit tutustua nyt vanhentuneeseen dokumenttiin osoitteessa \url{http://jshin.net/faq} Nykyään kaikki tärkeimmät käyttöjärjestelmät (Mac OS, Unix, Windows) sisältävät hyvinkin kattavan monikielisyystuen, joten korealaisten tekstien kirjoittaminen ei enää ole kovinkaan suuri ongelma edes länsimaisessa käyttöjärjestelmässä. \item \TeX{} ja \LaTeX{} suunniteltiin alun alkaen sellaisia kieliä varten, joille 256 kirjoitusmerkkiä riittää. Jotta ne saadaan toimimaan sellaisten kielien kuin korea%, \footnote{Korean hangul on aakkosiin perustuva kirjaimisto, jossa on 14 peruskonsonanttia ja 10 perusvokaalia (jamoa). Latinalaisesta tai kyrillisestä kirjaimistosta poiketen kirjaimet järjestetään kiinalaisten merkkien kokoa olevien nelikulmaisten alueiden sisään. Jokainen tällainen alue vastaa yhtä tavua. Vokaalien ja konsonanttien yhdistelmillä voidaan muodostaa ääretön määrä erilaisia tavuja. Nykykorean oikeinkirjoituksen käytännöt (sekä Pohjois- että Etelä-Koreassa) kuitenkin rajoittavat näiden yhdistelmien käyttöä. Näinollen oikeinkirjoituksen mukaan tavuja on äärellinen määrä. Korean kielen merkistö määrittelee merkkikoodit jokaiselle tällaiselle tavulle (KS~X~1001:1998 ja KS~X~1002:1992). Vaikka hangul-kirjoitus perustuu kirjaimiin, sitä siis käsitellään samoin kuin kiinan ja japanin kirjoitusjärjestelmiä, joissa on kymmensiä tuhansia ideografeja. ISO~10646 eli Unicode-merkistössä on sekä erilliset hangul-kirjainmerkit (\url{http://www.unicode.org/charts/PDF/U1100.pdf}) sekä lisäksi näistä muodostetut oikeinkirjoituksen sallimat nykykorean tavumerkit (\url{http://www.unicode.org/charts/PDF/UAC00.pdf}). Korean latomisen suurimpia haasteita on vanhan korean kielen ja mahdollisesti tulevaisuuden korean erilaiset tavut, joita Unicodessa voidaan esittää ainoastaan yhdistämällä kirjainmerkkejä. Tulevaisuuden \TeX{}-pohjaiset ladontajärjestelmät $\Omega$ ja $\Lambda$ tuovat toivottavasti ratkaisun tähän, jotta korealaiset kielitieteilijät ja historioitsijat luopuvat MS Wordin käytöstä. MS Wordissa on melko hyvä vanhan korean tuki.} tai kiina kanssa, kehitettiin alikirjasinmekanismi. Siinä yksi kiinalais-japanilais-korealainen kirjasin, jossa on tuhansia tai kymmensiä tuhansia kirjoitusmerkkejä, jaetaan alikirjasimiin, joissa kussakin on 256 merkkiä. Korean kielen tukeen käytetään yleisesti kolmea makropakettia: UN~Koaunghin \wi{H\LaTeX}, CHA~Jaechoonin \wi{h\LaTeX{}p} ja Werner Lembergin \wi{CJK}.\footnote{% Ne löytyvät osoitteesta \CTANref|language/korean/HLaTeX/|\\ \CTANref|language/korean/CJK/| and \texttt{http://knot.kaist.ac.kr/htex/}} H\LaTeX{} ja h\LaTeX{}p on tarkoitettu nimenomaan vain korean kieltä varten ja ne lisäävät korean kielen piirteet kirjasintuen päälle. Kumpikin pystyy käsittelemään käsikirjoitusta, jonka merkistönä on EUC-KR. H\LaTeX{} osaa jopa käsitellä käsikirjoituksia, joiden merkistönä on CP949/Windows-949/UHC ja UTF-8, kun sitä käytetään yhdessä $\Lambda$ tai $\Omega$-järjestelmän kanssa. CJK-makropaketti ei ole erikoistunut koreaan. Se osaa käsitellä käsikirjoituksia, joiden merkistönä on UTF-8 sekä useita muita Itä-Aasian kielten merkistöjä, EUC-KR ja CP949/Windows-949/UHC mukaanlukien. Sitä voidaan käyttää latomaan myös monikielisiä dokumentteja (erityisesti kiinaa, japania ja koreaa). CJK-makroissa ei ole H\LaTeX:n tarjomaan korean kielen tukea eikä siinä ole niin paljon erityisiä korealaisia kirjasinperheitä kuten H\LaTeX:ssa. \item \TeX:n ja \LaTeX:n kaltaisten ladontaohjelmien perimmäinen tarkoitus on tuottaa esteettisesti tyydyttäviä dokumentteja. Typografian tärkein osa-alue on hyvin suunnitellut kirjasimet. H\LaTeX:ssa on 10 korealaista UHC kirjasinperhettä sekä 5 munhwabun\footnote{Korean kulttuuriministeriö} (TrueType) kirjasinperhettä. CJK-makropaketti toimii H\LaTeX:n aikaisempien versioiden kirjasinperheiden kanssa ja se voi käyttää Bitstreamin Cyberbit TrueType "=kirjasinta. \end{enumerate} H\LaTeX:n käyttöönottamiseksi on dokumentin johdanto-osaan pantava seuraava määrittely: \begin{lscommand} \verb+\usepackage{hangul}+ \end{lscommand} Tämä komento ottaa käyttöön korean kielen ominaisuudet. Otsikoiden automaattisesti tuotetut tekstit tulostuvat koreaksi ja dokumentin ulkoasu noudattaa korealaisia käytäntöjä. Makropaketti tukee myös automaattista ''partikkeleiden valintaa''. Korean kielessä eräät keskenään samaa tarkoittavat partikkelit eli apusanat muodostavat pareja. Se kumpaa parista käytetään eri tilanteissa riippuu siitä päättyykö edeltävä tavu vokaaliin vai konsonanttiin. (Itse asiassa asia ei ole näin yksinkertainen, mutta tästä saa jonkinalaisen kuvan.) Äidinkielenään koreaa puhuvilla ei ole oikean partikkelin valinnassa ongelmia, mutta ristiviitteissä ja muissa automaattisesti generoituvissa teksteissä oikeaa partikkelia ei voi ennakoida. Oikeiden partikkelien lisääminen aina kun ristiviitteitä tai dokumementin osia muutetaan on liian työlästä. H\LaTeX{} poistaa käyttäjiltä tämän rasittavan ja virhealttiin työvaiheen. Jos on tarkoitus ainoastaan latoa koreankielistä tekstiä ilman muita korealaisia piirteitä, voidaan johdanto-osaan panna seuraava rivi: \begin{lscommand} \verb+\usepackage{hfont}+ \end{lscommand} Katso tarkempia yksityiskohtia dokumentista \emph{H\LaTeX{} Guide}. Korealaisten \TeX:n käyttäjien ryhmän (KTUG) WWW-sivu on osoitteessa \url{http://www.ktug.or.kr/}. Tästä oppaasta on saatavilla myös koreankielinen käännös. \subsection{Kyrillisen tekstin tuki} \secby{Maksym Polyakov}{polyama@myrealbox.com} Versiosta 3.7h lähtien on \pai{babel}-makropaketissa ollut tuki kyrillisille \fei{T2*}-merkistöille ja bulgarian, venäjän ja ukrainan kielten tuki. Kyrillisen kirjaimiston tuki perustuu \LaTeX:n standardimekanismeihin eli \pai{fontenc}- ja \pai{inputenc}-makropaketteihin. Mikäli kyrillistä kirjaimistoa tarvitaan matematiikkatilassa, täytyy käyttöön ottaa \pai{mathtext}-makropaketti ennen \pai{fontenc}-makroja:\footnote{Jos käytetään \AmS-\LaTeX-makropaketteja, on ne otettava käyttöön ennen \pai{fontenc}- ja \pai{babel}-makropakettia.} \begin{lscommand} \verb+\usepackage{mathtext}+\\ \verb+\usepackage[+\fei{T1}\verb+,+\fei{T2A}\verb+]{fontenc}+\\ \verb+\usepackage[+\iei{koi8-ru}\verb+]{inputenc}+\\ \verb+\usepackage[finnish,bulgarian,russian,ukranian]{babel}+ \end{lscommand} Yleensä \pai{babel} valitsee automaattisesti tarvittavan merkistön, joka yllä mainituille kolmelle slaavilaiselle kielelle on \fei{T2A}. Dokumenteissa voidaan kuitenkin käyttää useampia merkistöjä. Monikielisille dokumenteille, joissa on kyrillistä ja latinalaista kirjaimistoa käyttäviä kieliä on syytä erikseen mainita käytettävä latinalaisen kirjaimiston merkistö. \pai{babel} vaihtaa merkistön samalla kun tekstissä käytetään kielen vaihtavaa komentoa. \pai{babel} ottaa käyttöön bulgarian, venäjän tai ukrainan tavutuksen, kääntää automaattiset tekstit, ottaa käyttöön kielikohtaiset typografiset säännöt (kuten \ci{frenchspacing}) ja lisää käyttöön muutaman erikoiskomennon. Kaikissa kolmessa kielessä on käytössä erityisiä välimerkkejä. Kyrillinen ajatusviiva on vähän lyhyempi kuin englantilainen ajatusviiva ja vähän pitempi kuin väliviiva ja sen kummallakin puolella on välilyönti. Lisäksi käytetään pitempää ajatusviivaa osoittamaan suoraa lainaa puheesta (tätä viivaa käytetään myös suomalaisissa kirjoissa). Lisäksi käyttöön tulevat kielikohtaiset lainausmerkit sekä kommennot tavutusta ajatellen. Ks. taulukko \ref{Cyrillic}. % Table borrowed from Ukrainian.dtx \begin{table}[htb] \begin{center} \index{""-@\texttt{""}\texttt{-}} \index{""---@\texttt{""}\texttt{-}\texttt{-}\texttt{-}} \index{""=@\texttt{""}\texttt{=}} \index{""`@\texttt{""}\texttt{`}} \index{""'@\texttt{""}\texttt{'}} \index{"">@\texttt{""}\texttt{>}} \index{""<@\texttt{""}\texttt{<}} \caption[bulgarian, russian ja ukrainian]{Lisämääritykset \pai{babel}in optioihin bulgarian, russian ja ukrainian}\label{Cyrillic} \begin{tabular}{@{}p{.1\hsize}@{}p{.9\hsize}@{}} \hline \verb="|= & poistaa käytöstä ligatuurin. \\ \verb|"-| & tavumerkki, joka sallii sanan loppuosan tavutuksen. \\ \verb|"---| & kyrillinen ajatusviiva. \\ \verb|"--~| & kyrilinen yhdysviiva sukunimissä. \\ \verb|"--*| & kyrillinen ajatusviiva osoittamaan puhelainaa. \\ \verb|""| & kuten |"-|, mutta ei tulosta tavuviivaa (yhdyssanoihin joissa on yhdysviiva, e.g.\ |x-""y| tai muita merkkejä, kuten ''kyllä/ei''). \\ \verb|"~| & sanaliitto, jota ei saa katkaista. \\ \verb|"=| & yhdyssanan jälkiosan eteen tuleva yhdysviiva, joka sallii tavutuksen sanana loppuosassa. \\ \verb|",| & kapea väli sukunimen ja sitä edeltävän etunimen alkukirjaimen välissä. \\ \verb|"`| & saksalainen aloittava lainausmerkki (näyttää tältä: ,\kern-0.08em,). \\ \verb|"'| & saksalainen lopettava lainausmerkki (näyttää tältä: ``). \\%'' \verb|"<| & ranskalainen aloittava lainausmerkki (näyttää tältä: $<\!\!<$). \\ \verb|">| & ranskalainen lopettava lainausmerkki (näyttää tältä: $>\!\!>$). \\ \hline \end{tabular} \end{center} \end{table} \pai{babel}in optiot russian ja ukrainian määrittelevät komennot \ci{Asbuk} ja \ci{asbuk}, jotka käyttäytyvät aivan kuin \ci{Alph} ja \ci{alph}, mutta tulostavat kielestä riippuen venäjän tai ukrainan aakkosten isoja ja pieniä kirjaimia. \pai{babel}in optio bulgarian määrittelee komennot \ci{enumBul} ja \ci{enumLat} (\ci{enumEng}), jotka panevat komennot \ci{Alph} ja \ci{alph} tulostamaan joko bulgarian tai englannin kielen aakkosten mukaisia kirjaimia. Bulgariankielisessä ympäristössä \ci{Alph} ja \ci{alph} tulostavat oletusarvoisesti bulgarian aakkosten kirjaimia. \section{Sanavälit} Jotta \LaTeX{} saisi oikean reunan tasattua, se lisää sanojen väliin eripituisiä välejä. Englantia ladottaessa se lisää lauseiden perään hieman suuremman välin, luettavuuden helpottamiseksi. \LaTeX{} olettaa, että lause päättyy pisteeseen, kysysmerkkiin tai huutomerkkiin. Mikäli pistettä edeltää iso kirjain, ei piste päätä lausetta, sillä piste seuraa isoja kirjaimia vain lyhenteissä. Kirjoittaja voi määritellä kuitenkin poikkeuksia. Kenoviiva välilyönnin edessä latoo tavallisen sanavälin. \verb|~|-merkki latoo sanavälin joka estää rivinvaihdon. \verb|\@|-komento pisteen edessä kertoo, että piste lopettaa lauseen, vaikka se seuraisi isoa kirjainta. \cih{"@} \index{~@ \verb.~.} \index{tilde@tilde ( \verb.~.)} \index{., space after} \begin{example} Mr.~Smith oli iloinen\\ ks.~Kuva 5\\ I like BASIC\@. What about you? \end{example} Pisteen jälkeisen ylimääräisen välin voi estää komennolla \begin{lscommand} \ci{frenchspacing} \end{lscommand} \noindent joka kertoo \LaTeX:lle, että pisteen jälkeen ei tarvita pitempää väliä. Tämä on yleinen käytäntö muissa kielissä kuin englannissa, paitsi kirjallisuusluetteloissa. Kun \ci{frenchspacing}-käskyä käytetään, ei \verb|\@|-käsky ole tarpeen. \textsf{Babelin} \texttt{finnish}-optio lisää automaattisesti \ci{frenchspacing}-käskyn käyttöön. \section{Nimiöt, luvut ja osiot} Helpottaakseen lukijaa suunnistamaan tekstin läpi, kirjoittaja jakaa sen lukuihin, osioihin ja alaosioihin. \LaTeX:ssa on tätä varten erityiset käskyt, joiden argumenteiksi annetaan otsikon teksti. Kirjoittajan tehtävä on käyttää niitä oikeassa järjestyksessä. \texttt{article}-luokassa on käytössä seuraavat otsikointikäskyt: \nopagebreak \begin{code} \ci{section}\verb|{...} |\ci{paragraph}\verb|{...}|\\ \ci{subsection}\verb|{...} |\ci{subparagraph}\verb|{...} |\\ \ci{subsubsection}\verb|{...}| \end{code} Jos dokumentti halutaan jakaa isompiin osiin, jotka eivät vaikuta lukujen tai alaotsikoiden numerointiin, voidaan käyttää komentoa \ci{part}\verb|{...}| \texttt{report}- ja \texttt{book}-luokissa voidaan myös otsikointikäskyä: \ci{chapter}\verb|{...}| Koska \texttt{article}-luokka ei käytä lukuja, voidaan artikkeleita lisätä helposti kirjaan lukuina. \LaTeX hoitaa automaattisesti otsikoiden asemoinnin, numeroinnin ja kirjasimen koon valinnan. Otsikointikäskyistä pari on hieman erikoisia: \begin{itemize} \item \ci{part}-komento ei vaikuta lukujen numerointiin. \item \ci{appendix}-komennolle ei anneta argumentteja. Sen tehtävänä on ainoastaan vaihtaa lukujen numerointi kirjaimiksi.\footnote{Artikkeleissa se vaihtaaa osioiden numeroinnin.} \end{itemize} \LaTeX{} tekee sisällysluettelon otsikoiden teksteistä ja sivunnumeroista dokumentin edellisen prosessoinnin perusteella. Komento \begin{lscommand} \ci{tableofcontents} \end{lscommand} \noindent luo sisällysluettelon siihen paikkaan, jossa se annetaan. Uusi dokumentti täytyy ajaa \LaTeX:n läpi kahdesti, jotta \wi{sisällysluettelo} saadaan tulostumaan oikein. Joskus dokumentti täytyy kääntää kolmasti. \LaTeX{} kertoo kyllä, milloin tämä on tarpeen. Kaikista yllä mainituista otsikkokäskyistä on olemassa myös ''tähti''"-versiot. Komennon ''tähti''"-versio saadaan lisäämällä \verb|*| komennon nimen perään. Se luo otsikon, joka ei näy sisällysluettelossa ja jota ei numeroida. Komennosta \verb|\section{Apuva}| tulisi \verb|\section*{Apuva}|. Normaalisti otsikot tulostuvat sisällysluetteloon samalla tavoin kuin ne on kirjoitettu tekstiin. Joskus tämä ei ole mahdollista, kun otsikko on liian pitkä mahtuakseen sisällysluetteloon. Sisällysluetteloon menevä teksti voidaan antaa ylimääräisenä argumenttina varsinaisen otsikon edellä. \begin{code} \verb|\chapter[Lue! Tärkeää!]{Tämä on hyvin pitkä|\\ \verb| ja tylsä otsikko}| \end{code} Koko dokumentin nimiö tulostetaan käskyllä \begin{lscommand} \ci{maketitle} \end{lscommand} \noindent Nimiön sisältö täytyy ensin määritellä komennoilla \begin{lscommand} \ci{title}\verb|{...}|, \ci{author}\verb|{...}| ja mahdollisesti \ci{date}\verb|{...}| \end{lscommand} \noindent \ci{author}:n argumenteiksi voidaan antaa useita nimiä jotka on eroteltu komennolla \ci{and}. Esimerkki yllämainituista käskyistä löytyy kuvasta~\ref{artikkeli} sivulla~\pageref{artikkeli}. \begin{figure}[!bp] \begin{lined}{10cm} \begin{verbatim} \documentclass[a4paper,11pt]{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[finnish]{babel} % nimiön tiedot \author{T.~Hellgren} \title{Minimalismi} \begin{document} % kirjoita nimiö \maketitle % lisää sisällysluettelo \tableofcontents \section{Sananen aiheesta} Aloitan tässä artikkelini. \section{Tervemenoa} \ldots{} ja päätän sen tähän. \end{document} \end{verbatim} \end{lined} \caption{Esimerkki oikeasta lehtiartikkelista.} \label{artikkeli} \end{figure} Näiden otsikkokäskyjen lisäksi \LaTeX{} lisää \verb|book|-luokassa käyttöön kolme lisäkäskyä. Niistä on hyötyä julkaisun jakamisessa osiin. Nämä komennot muuttavat lukujen otsikointia ja sivunnumerointia niin kuin kirjoissa on tapana. \begin{description} \item[\ci{frontmatter}] pitäisi olla ensimmäisenä heti komennon \verb|\begin{document}| jälkeen. Sivut numeroidaan roomalaisilla numeroilla. Alaotsikoissa käytetään yleensä tähtikomentoja (esim.~\verb|\chapter*{Esipuhe}|), koska tämä estää \LaTeX{}ia numeroimasta niitä. \item[\ci{mainmatter}] käytetään ennen kirjan varsinaista ensimmäistä lukua. Sivut numeroidaan arabialaisilla numeroilla, ykkösestä alkaen. \item[\ci{appendix}] aloittaa liitemateriaalien osuuden. Tämän komennon jälkeen luvut numeroidaan kirjaimin. \item[\ci{backmatter}] käytetään ennen kirjallisuusluetteloa ja hakemistoa. Normaalisti tämä komento ei vaikuta ulkoasuun mitenkään. \end{description} \section{Ristiviitteet} Kirjoissa, raporteissa ja artikkeleissa on usein \index{ristiviittaukset} ristiviittauksia kuviin, taulukoihin ja tiettyihin tekstin osiin. \LaTeX tarjoaa ristiviittauksiin seuraavat komennot: \begin{lscommand} \ci{label}\verb|{|\emph{tunniste}\verb|}|, \ci{ref}\verb|{|\emph{tunniste}\verb|}| ja \ci{pageref}\verb|{|\emph{tunniste}\verb|}| \end{lscommand} \noindent joissa \emph{tunniste} on käyttäjän valitsema nimi viitattavalle kohteelle. \LaTeX{} korvaa \verb|\ref|:n sen otsikon, alaotsikon, kuvan, taulukon tai teoreeman numerolla, jonka perässä on vastaavanniminen \verb|\label|-komento. \verb|\pageref| tulostaa sen sivun numeron, jossa vastaava \verb|\label|-komento on.\footnote{Huomaa, että nämä komennot eivät tiedä viittaamistaan kohteista mitään. \ci{label} yksinkertaisesti tallentaa viimeksi automaattisesti generoidun numeron.} Ristiviittausten saamiseksi ajan tasalle on dokumentti ajettava \LaTeX:in läpi ainakin kahdesti. \begin{example} Viittaus tähän alaotsikkoon \label{sec:this} näyttää tältä: ''katso osiota~\ref{sec:this} sivulla~\pageref{sec:this}.'' \end{example} \section{Alaviitteet} Komennolla \begin{lscommand} \ci{footnote}\verb|{|\emph{alaviitteen teksti}\verb|}| \end{lscommand} \noindent alaviite tulostuu saman sivun alareunaan. Alaviitteet pitäisi aina panna\footnote{''panna'' on yleinen suomalainen kaksimielinen sana.} sen sanan tai lauseen perään, johon ne viittaavat. Selvyyden vuoksi lauseeseen tai osaan viittavat alaviitteet tulisi panna pilkun tai pisteen jälkeen.\footnote{Alaviitteet vievät lukijan huomion pois päätekstistä. Kaikki kyllä lukevat alaviitteitä, olemmehan uteliaita olentoja. Parempi olisi siis panna asiat itse päätekstiin.\footnotemark} \footnotetext{Älä tee niin kuin minä teen, vaan niin kuin minä sanon :-).} \begin{example} Alaviitteitä\footnote{Tämä on alaviite} käyttävät usein \LaTeX:n käyttäjät. \end{example} \section{Korostetut sanat} Kun teksti kirjoitetaan kirjoituskoneella, \texttt{\underline{alleviivausta} käytetään ko\-ros\-ta\-maan tärkeitä sanoja.} \begin{lscommand} \ci{underline}\verb|{|\emph{tekstiä}\verb|}| \end{lscommand} Painetuissa kirjoissa sanoja korostetaan kuitenkin latomalla ne \emph{kursiivilla}. \LaTeX:ssa voi käyttää komentoa \begin{lscommand} \ci{emph}\verb|{|\emph{tekstiä}\verb|}| \end{lscommand} \noindent tekstin korostamiseen. Komennon varsinainen tulos riippuun siitä, missä yhteydessä sitä on käytetty: \begin{example} \emph{Jos käytät korostusta korostetun tekstin sisällä, \LaTeX{} käyttää \emph{normaalia} kirjasinta korostamiseen.} \end{example} On eri asia käskeä \LaTeX:ia \emph{korostamaan} jotain ja käskeä sitä käyttämään erilaista \emph{kirjasinta}: \begin{example} \textit{Voit myös \emph{korostaa} tekstiä, joka on ladottu kursiivilla,} \textsf{\emph{groteskilla},} \texttt{tai \emph{kirjoituskonetyylillä}.} \end{example} \section{Ympäristöt} \label{env} Erityisten tekstien latomiseksi \LaTeX:ssa voidaan määritellä eri tavalla muotoiltuja \index{ympäristöt} ympäristöjä: \begin{lscommand} \ci{begin}\verb|{|\emph{nimi}\verb|}|\quad \emph{tekstiä}\quad \ci{end}\verb|{|\emph{nimi}\verb|}| \end{lscommand} \noindent joissa \emph{nimi} on ympäristön nimi. Ympäristöjä voidaan kutsua toistensa sisällä kunhan kutsujärjestys säilytetään. \begin{code} \verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}| \end{code} \noindent Seuraavissa osioissa selitetään kaikki tärkeät ympäristöt. \subsection{Numeroimaton, numeroitu ja määrittelyluettelo} \ei{itemize}-ympäristö sopii yksinkertaisiin luetteloihin, \ei{enumerate}-ympäristö numeroituihin luetteloihin ja \ei{description}-ympäristö määrittelyjen luetteloon. \cih{item} \begin{example} \flushleft \begin{enumerate} \item Voit sekoittaa makusi mukaan luetteloympäristöjä: \begin{itemize} \item Mutta se voi näyttää typerältä. \item[--] Ranskalainen viiva. \end{itemize} \item Muista siis: \begin{description} \item[Typeryys] ei muutu viisaudeksi luettelossa. \item[Viisaus] voidaan silti esittää kauniisti luettelossa. \end{description} \end{enumerate} \end{example} \subsection{Tasaus vasemmalle, oikealle ja keskitys} Ympäristöt \ei{flushleft} ja \ei{flushright} luovat joko vasemmalle tai \index{oikealle tasattu} oikealle tasattuja kappaleita. \index{vasemalle tasattu} \ei{center}-ympäristö luo keskitettyä tekstiä. Mikäli \ci{bs}-käskyä ei käytetä rivinvaihdon merkitsemiseen, \LaTeX{} vaihtaa riviä automaattisesti. \begin{example} \begin{flushleft} Tämä teksti on\\ vasemmalle tasattu. \LaTeX{} ei yritä tehdä kaikista riveistä saman pituisia. \end{flushleft} \end{example} \begin{example} \begin{flushright} Tämä teksti on oikealle\\ tasattu. \LaTeX{} ei yritä tehdä kaikista riveistä saman pituisia. \end{flushright} \end{example} \begin{example} \begin{center} Maapallon\\ keskustassa. \end{center} \end{example} \subsection{Lainaus, sitaatti ja säkeet} \ei{quote}-ympäristö on käyttökelpoinen lainausten, sitaattien ja esimerkkien esittämiseen. \begin{example} Typografinen nyrkkisääntö rivin pituudesta on: \begin{quote} Rivissä ei tulisi olla enemmän kuin 66~merkkiä. \end{quote} Tästä syystä \LaTeX:n sivuissa on oletuksena niin isot marginaalit ja samasta syystä sanomalehdissä käytetään usein useampaa palstaa. \end{example} Samanlaisia ympäristöjä ovat \ei{quotation} ja \ei{verse}. Pitemmissä, useamman kappaleen mittaisissa, lainauksissa on \texttt{quotation}-ympäristö hyödyllinen, sillä se sisentää kappaleet. Runoissa rivin vaihto on tärkeä määritellä käsin, joten niissä \texttt{verse}-ympäristö on hyödyllinen. Säkeet erotetaan \ci{\bs}:llä rivin lopussa ja säkeistöt tyhjällä rivillä. \begin{example} Tiedän ulkoa vain yhden englantilaisen runon. Se kertoo Humpty Dumptysta. \begin{flushleft} \begin{verse} Humpty Dumpty sat on a wall:\\ Humpty Dumpty had a great fall.\\ All the King's horses and all the King's men\\ Couldn't put Humpty together again. \end{verse} \end{flushleft} \end{example} \subsection{Tiivistelmä} Tieteellisissä julkaisuissa on tapana aloittaa tiivistelmällä, joka antaa lukijalle nopean yleissilmäyksen sisältöön. Tätä varten \LaTeX:ssa on ympäristö nimeltä \ei{abstract}. Normaalisti tätä ympäristöä käytetään artikkeleissa. \newenvironment{abstract}% {\begin{center}\begin{small}\begin{minipage}{0.8\textwidth}}% {\end{minipage}\end{small}\end{center}} \begin{example} \begin{abstract} Tiivis tiivistelmä. \end{abstract} \end{example} \subsection{Sananmukainen tulostus} \verb|\begin{|\ei{verbatim}\verb|}|:n ja \verb|\end{verbatim}|:n väliin jäävä teksti tulostuu niin kuin se on kirjoitettu käsikirjoitukseen ja niinkuin se olisi kirjoitettu kirjoituskoneella. Kaikki välilyönnit tulostuvat välilyönteinä. \LaTeX:n komentoja ei suoriteta. Kappaleen sisällä sama vaikutus saadaan komennolla \begin{lscommand} \ci{verb}\verb|+|\emph{tekstiä}\verb|+| \end{lscommand} \noindent \verb|+| on vain esimerkki rajana käytettävästä merkistä. Mitä tahansa muuta merkkiä voidaan käyttää paitsi kirjainta, \verb|*|-merkkiä tai välilyöntiä. Useat tämän kirjasen \LaTeX-esimerkeistä on ladottu tällä komennolla. \begin{example} \verb|\ldots|-komento \ldots \begin{verbatim} 10 PRINT "HELLO WORLD "; 20 GOTO 10 \end{verbatim} \end{example} \begin{example} \begin{verbatim*} verbatim-ympäristön tähtiversio korostaa välilyöntejä tekstissä \end{verbatim*} \end{example} \ci{verb}-komentoa voidaan käyttää samalla tavoin tähden kanssa: \begin{example} \verb*|näin ikkään :-) | \end{example} \texttt{verbatim}-ympäristöä ja \verb|\verb|-komentoa ei voida käyttää muiden komentojen parametreina. \subsection{Sarkaimet} \newcommand{\mfr}[1]{\framebox{\rule{0pt}{0.7em}\texttt{#1}}} \ei{tabular}-ympäristöllä voidaan latoa kauniita \index{taulukot} taulukoita, joissa on mahdollisesti vaaka"- tai pystyviivoja. \LaTeX{} laskee sarakkeiden leveyden automaattisesti. Komennon \begin{lscommand} \verb|\begin{tabular}[|\emph{sijainti}\verb|]{|\emph{table spec}\verb|}| \end{lscommand} \noindent \emph{table spec}"=argumentti määrittelee taulukon muodon. \mfr{l} käytetään sarakkeisiin, joissa teksti on tasattu vasemalle, \mfr{r} oikealle tasattuun tekstiin ja \mfr{c} keskitettyyn tekstiin; \mfr{p\{\emph{leveys}\}} on sarakkeeseen, jossa on molemmilta puolilta tasattua tekstiä ja rivinvaihtoja ja \mfr{|} on pystysuoralle viivalle. Jos palsta on liian leveä, \LaTeX{} ei rivitä sitä automaattisesti. Käyttämällä optiota \mfr{p\{\emph{leveys}\}} voidaan määritellä palsta, jossa teksti jatkuu seuraavalle riville aivan kuten normaalissa kappaleessa. \emph{sijainti} määrittää koko taulukon sijainnin sivulla seuraavasti: \mfr{t} sivun yläosassa, \mfr{b} sivun alaosassa ja \mfr{c} keskellä sivua. \texttt{tabular}-ympäristössä \texttt{\&} siirtää seuraavaan sarakkeeseen, \ci{\bs} aloittaa uuden rivin ja \ci{hline} lisää vaakasuoran viivan. Eri pituisia viivoja voidaan lisätä komennolla \ci{cline}\texttt{\{}\emph{j}\texttt{-}\emph{i}\texttt{\}}, jossa j ja i ovat niiden sarakkeiden numerot, johon viiva yltää. \index{"|@ \verb."|.} \begin{example} \begin{tabular}{|r|l|} \hline 7C0 & heksadesimaali \\ 3700 & oktaali \\ \cline{2-2} 11111000000 & binääri \\ \hline \hline 1984 & desimaali \\ \hline \end{tabular} \end{example} \begin{example} \begin{tabular}{|p{4.7cm}|} \hline Tervetuloa Kaken kappaleeseen. Toivomme että kaikki nauttivat esityksestä.\\ \hline \end{tabular} \end{example} Sarakkeiden erotin voidaan määritellä \verb|@{...}| rakenteella. Tämä komento korvaa sarakkeiden välisen tyhjän tilan aaltosulkeiden välissä olevalla materiaalilla. Komennon tyypillinen käyttöesimerkki on annettu alla desimaalisarkainta esiteltäessä. Toinen tyypillinen käyttötapa on poistaa edeltävät välilyönnit komennolla \verb|@{}|. \begin{example} \begin{tabular}{@{} l @{}} \hline ei edeltäviä välilyöntejä\\ \hline \end{tabular} \end{example} \begin{example} \begin{tabular}{l} \hline välit vasemalla ja oikealla\\ \hline \end{tabular} \end{example} % % This part by Mike Ressler % \index{desimaalisarkain} Koska LaTeX:ssa ei ole mitään sisäänrakennettua tapaa tasata numerosarakkeita desimaalipilkun kohdalta,\footnote{Jos 'tools'-makrokokoelma on asennettu systeemiin, kannattaa tutustua \pai{dcolumn}-makropakettiin.} täytyy turvautua ''huijaamiseen'' ja tehdä se kahta saraketta käyttämällä: tasaamalla kokonaisosa oikealle ja murto-osat vasemmalle. \verb|@{,}|-komento \verb|\begin{tabular}|-ympäristössä korvaa normaalin sarakkeiden välisen välin pilkulla, jolloin saadaan vaikutelma yhdestä, desimaalipilkkuun tasatusta sarakkeesta. Ei pidä unohtaa desimaalipilkun korvaamista numeroissa sarake-erottimella (\verb|&|)! Sarakkeen nimi voidaan asettaa numeerisen ''sarakkeen'' yläpuolelle \ci{multicolumn}-komennolla. \begin{example} \begin{tabular}{c r @{,} l} Piin merkintätapa & \multicolumn{2}{c}{Arvo} \\ \hline $\pi$ & 3&1416 \\ $\pi^{\pi}$ & 36&46 \\ $(\pi^{\pi})^{\pi}$ & 80662&7 \\ \end{tabular} \end{example} \begin{example} \begin{tabular}{|c|c|} \hline \multicolumn{2}{|c|}{Entten} \\ \hline tentten & teelikamentten! \\ \hline \end{tabular} \end{example} Sarkainympäristössä ladottu teksti pysyy aina samalla sivulla. Jos halutaan pitempiä taulukoita, kannattaa vilkaista ympäristöjä \pai{supertabular} ja \pai{longtabular}. \section{Kelluvat osat} Nykyään useimmissa julkaisuissa on paljon kuvia ja taulukoita. Nämä elementit kaipaavat erikoiskohtelua, sillä niitä ei voi jakaa eri sivuille. Eräs tapa olisi aloittaa uusi sivu aina kun kuva tai taulukko on liian iso mahtuakseen sivulle. Tämä tapa kuitenkin jättäisi sivut osittain tyhjäksi, mikä näyttää pahalta. Ratkaisu on siirtää mikä tahansa sivulle sopimaton kaavio tai taulukko, johonkin myöhemmälle sivulle ja samalla täyttää tyhjäksi jäävä tila tekstillä. \LaTeX:ssa on kaksi ympäristöä \index{kelluvat objektit} kelluville objekteille. Yksi taulukoille ja yksi kaavioille. Näiden ympäristöjen hyödyntämiseksi on ymmärrettävä suunnilleen kuinka \LaTeX{} käsittelee kelluvia osia. Muutoin niistä voi tulla turhautumisen kohde, sillä \LaTeX{} ei koskaan pane niitä siihen, mihin haluat. \bigskip Katsotaanpa ensiksi mitä komentoja \LaTeX{} tarjoaa kelluvalle materiaalille: Mikä tahansa aineisto, joka on \ei{figure}- tai \ei{table}-ympäristön sisällä, käsitellään kelluvana materiaalina. Kumpikin ympäristö tarjoaa vaihtoehtoisen parametrin \begin{lscommand} \verb|\begin{figure}[|\emph{sijoituksen määrittely}\verb|]| tai \verb|\begin{table}[|\emph{sijoituksen määrittely}\verb|]| \end{lscommand} \noindent jota kutsutaan \emph{sijoituksen määrittelyksi}. Tämä parametri kertoo \LaTeX:lle minne kelluvan objektin sallitaan siirtyvän. \emph{sijoituksen määrittely} rakentuu \emph{kelluvan objektin sallittujen sijaintien} merkkijonosta. Katso taulukko~\ref{tab:permiss}. \begin{table}[!bp] \caption{Kelluvan objektin sallitut sijainnit}\label{tab:permiss} \noindent \begin{minipage}{\textwidth} \medskip \begin{center} \begin{tabular}{@{}cp{10cm}@{}} Määrite&Sallittu sijainti \ldots\\ \hline \rule{0pt}{1.05em}\texttt{h} & juuri \emph{tässä} paikassa tekstiä. Tämä sopii pääasiassa pieniin kelluviin objekteihin.\\[0.3ex] \texttt{t} & sivun \emph{yläosassa}\\[0.3ex] \texttt{b} & sivun \emph{alaosassa}\\[0.3ex] \texttt{p} & erityisellä \emph{sivulla}, jossa on ainoastaan kelluvia objekteja\\[0.3ex] \texttt{!} & kyseisen kelluvan objektin asettelun estävistä sisäisistä parametreista\footnote{Kuten yhdellä sivulla sallittujen kelluvien objektien maksimimäärä} riippumatta. \end{tabular} \end{center} HUOM. \texttt{0pt} ja \texttt{1.05em} ovat \TeX:n mittayksiköitä. Näistä lisää taulukossa \ref{units}, sivulla \pageref{units}. \end{minipage} \end{table} Taulukko voisi alkaa esim. seuraavalla rivillä: \begin{code} \verb|\begin{table}[!hbp]| \end{code} \noindent \index{objektien sijoitus} Sijoituksen määrittely \verb|[!hbp]| sallii \LaTeX:n sijoittaa taulukko juuri tähän (\texttt{h}) tai jonkin sivun alaosaan (\texttt{b}) tai erityiselle sivulle (\texttt{p}) ja vieläpä niin, että lopputuloksen ei tarvitse näyttää erityisen hyvältä (\texttt{!}). Jos mitään määrityksiä paikan suhteen ei anneta, standardiluokat olettavat määrityksiksi \verb|[tbp]|. \LaTeX{} sijoittaa kaikki kelluvat objektit kirjoittajan antamien paikkamääritysten mukaisesti. Jos objektia ei voi sijoittaa samalle sivulle se pannaan joko \emph{kuvien} tai \emph{taulukoiden} jonoon\footnote{Nämä ovat ''ensimmäisenä sisään, ensimmäisenä ulos'' jonoja!}. Kun uusi sivu alkaa \LaTeX{} tarkistaa ensin, onko mahdollista täyttää kelluvilla objekteilla oma sivu. Jos tämä ei ole mahdollista joka jonon ensimmäistä objektia käsitellään aivan kuin se olisi juuri esiintynyt tekstissä: \LaTeX{} yrittää jälleen asemoida sitä paikanmäritysten mukaisesti (paitsi 'h':n, joka ei ole enää mahdollinen). Kaikki uudet tekstissä esiintyvät objektit siirtyvät vastaavaan jonoon. \LaTeX{} säilyttää kunkin objektityypin alkuperäisen järjestyksen. Tästä syystä, jos jotain kuvaa ei voida sijoittaa, se siirtää kaikkia muita kuvia dokumentin loppua kohden. Niinpä: \begin{quote} Jos \LaTeX{} ei sijoita objekteja odotetulla tavalla, on syynä usein yksi kelluva objekti joka tukkii jommankumman jonoista. \end{quote} Vaikka \LaTeX:lle on mahdollista antaa yksiselitteisiä sijoitusmääräyksiä, niistä seuraa ongelmia. Mikäli kelluva objekti ei mahdu sille tarkoitettuun paikkaan, se jää jumiin ja estää muita objekteja tulostumasta. Erityisesti \texttt{[h]}-optiota ei tulisi käyttää lainkaan. Viimeisimmissä \LaTeX:n versioissa se korvataankin automaattisesti optiolla \texttt{[ht]}. \bigskip \noindent Vaikean osan jäädessä taakse on mainittava vielä muutama jäljellä oleva asia \ei{table}- ja \ei{figure}-ympäristöistä. Komennolla \begin{lscommand} \ci{caption}\verb|{|\emph{kuvateksti}\verb|}| \end{lscommand} \noindent voidaan kelluvalle objektille määritellä kuvateksti. LaTeX{} lisää juoksevan numeron ja tekstin ''Kuva'' tai ''Taulukko''.\footnote{Englannin kielisissä dokumenteissa vastaavasti ''Figure'' ja ''Table''.} Komennot \begin{lscommand} \ci{listoffigures} ja \ci{listoftables} \end{lscommand} \noindent toimivat samoin kuin \verb|\tableofcontents|-komento tulostaen vastaavasti luettelon kuvista ja taulukoista. Näihin luetteloihin lisätään koko kuvateksti. Jos käytät pitkiä kuvatekstejä, on luetteloon siis saatava lyhyempi versio. Tämä on mahdollista lisäämällä lyhyt versio hakasulkeisiin \verb|\caption|-komennon perään. \begin{code} \verb|\caption[Lyhyt]{Piiiiiiiitkääääääää}| \end{code} Komennoilla \verb|\label| ja \verb|\ref| voidaan luoda viittaus kelluvaan objektiin. Seuraava esimerkki piirtää neliön ja lisää sen dokumenttiin. Tätä voidaan käyttää varaamaan tilaa kuville, jotka liimataan lopulliseen dokumenttiin. \begin{code} \begin{verbatim} Kuva~\ref{white} on esimerkki pop-taiteesta. \begin{figure}[!hbp] \makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} \caption{Viisi kertaa viisi cm} \label{white} \end{figure} \end{verbatim} \end{code} \noindent Yllä olevassa esimerkissä \LaTeX{} yrittää \emph{todella kovasti}~(\texttt{!}) asettaa kuvan juuri \emph{tähän}~(\texttt{h}).\footnote{Olettaen, että kuvien jono on tyhjä.} Mikäli tämä ei ole mahdollista, se yrittää asemoida kuvan sivun \emph{alaosaan}~(\texttt{b}). Jos kuva ei sovi sivulle, \LaTeX{} tarkistaa, olisiko mahdollista tehdä erillinen sivu kuvaa ja jonossa olevia taulukoita varten. \LaTeX{} aloittaa uuden sivun ja käsittelee kuvaa jälleen ikäänkuin se esiintyisi ensimmäistä kertaa. Jossain tilanteissa on tarpeen käyttää \begin{lscommand} \ci{clearpage}- tai jopa \ci{cleardoublepage} \end{lscommand} \noindent "=komentoa. Se pakottaa \LaTeX:n asemoimaan kaiken jonoissa olevan kelluvan materiaalin välittömästi ja aloittamaan sitten uuden sivun. Vasemanpuoleiselle sivulle saman tekee \ci{cleardoublepage}. Myöhemmin tässä johdannossa opetetaan lisäämään Postscript"-kuvia \LaTeXe-dokumentteihin. \section{Särkyvien komentojen suojaaminen} Kun tekstiä käytetään argumenttina komennoissa kuten \ci{caption} tai \ci{section}, voi se esiintyä useammin kuin kerran dokumentissa (esim. sisällysluettelossa sekä itse dokumentissa). Jotkin komennot sekoavat eli hajoavat kun niitä käytetään \ci{section}:n kaltaisten komentojen argumentteina. Tällaisia komentoja kutsutaan särkyviksi komennoiksi.\index{särkyvät komennot} Särkyviä ovat mm.~\ci{footnote} tai \ci{phantom}. Särkyvät komennot tarvitsevat suojelua (emmekö me kaikki?) Komennon voi suojata panemalla sen eteen komennon \ci{protect}. \ci{protect} viittaa vain sitä välittömästi seuraavaan komentoon, eikä edes sen argumentteihin. Useimmissa tapauksissa ylimääräinen \ci{protect} ei haittaa mitään. \begin{code} \verb|\section{Olen huomaavainen|\\ \verb| \protect\footnote{ja suojaan alaviitteitäni}}| \end{code} %%% Local Variables: %%% mode: latex %%% TeX-master: "lyhyt2e" %%% End: