%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Things you need to know % $Id: things.tex 536 2015-06-26 06:41:33Z oetiker $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Asjad, mida tuleks teada} \begin{intro} Peatüki esimeses pooles anname lühikese ülevaate \LaTeXe{} filosoofiast ja ajaloost. Teises pooles keskendume \LaTeX i-dokumendi põhistruktuurile. Selle peatüki läbilugemisel peaks tekkima \LaTeX i töötamisest üldine arusaam, mida läheb vaja raamatu ülejäänud osa mõistmiseks. \end{intro} \section{Nimed} \subsection{\TeX} \TeX{} on \index{Knuth, Donald E.}Donald E. Knuthi kirjutatud arvutiprogramm \cite{texbook} teksti ja valemite ladumiseks. Knuth alustas trükiladumisprogrammi \TeX{} loomist aastal 1977, et uurida võimalusi, mida pakkusid tol ajal kirjastamistööstuses levima hakanud digitaalsed trükiseadmed, iseäranis lootuses pöörata ümber trüki"-kvaliteedi järkjärguline langus, mida ta nägi omaenda raamatute ja artiklite peal. \TeX{} sellisel kujul, nagu me teda tänapäeval kasutame, valmis aastal 1982. Väikesi täiendusi tehti veel 1989. aastal, kui parandati 8-bitiste märkide ja mitmekeelsuse tuge. \TeX i kuulsus põhineb sellel, et ta on äärmiselt stabiilne, töötab paljudel arvutitüüpidel ja on sama hästi kui veavaba. \TeX i versiooninumber läheneb arvule $\pi$ ja on praegu $3{,}141592653$. Nime \TeX{} hääldatakse kui "`tehh"', kus "`hh"' hääldub nagu saksa sõnas \emph{ach}\footnote{Saksa keeles on \emph{ch} hääldamiseks õieti kaks viisi ja võiks arvata, et \emph{ch} pehme hääldus sõna \emph{Pech} moodi on sobivam. Sellekohasele küsimusele vastas Knuth saksa Vikipeedia andmetel: "`Ma ei pahanda, kui inimesed hääldavad sõna \TeX{} nii, nagu neile meeldib [\,-\,-\,-\,] ning Saksamaal ütlevad paljud pehme "`ch"', sest X järgneb vokaalile e, mitte kõva "`ch"', mis järgneb vokaalile a. Vene keeles on sõna \emph{tex} väga tavaline ja hääldub nagu "`tjeh"'. Kuid ma usun, et kõige sobivam hääldus on kreeka keeles, kus "`ch"' on kaledam nagu sõnades \emph{ach} ja \emph{loch}."'} või \v{s}oti sõnas \emph{loch}. Hääldus "`hh"' tuleneb kreeka tähestikust, kus X on täht h ehk hii. \TeX{} on ka kreeka sõna {\greektext teqnik'h} `tehnika' esimene silp. ASCII-keskkonnas kirjutatakse \TeX{} kujul \texttt{TeX}. \subsection{\LaTeX} \LaTeX{} on makrode pakett, mis võimaldab autoritel oma kirjatööd vormistada ja trükkida kõige kõrgemal tüpograafilisel kvaliteeditasemel, rakendades eeldefineeritud professionaalset kujundust. \LaTeX i on loonud \index{Lamport, Leslie}Leslie Lamport~\cite{manual} ning see kasutab ladumismootorina küljendusprogrammi \TeX. Praegusel ajal haldab \LaTeX i \index{Mittelbach, Frank}Frank Mittelbach. %In 1994 the \LaTeX{} package was updated by the \index{LaTeX3@\LaTeX % 3}\LaTeX 3 team, led by \index{Mittelbach, Frank}Frank Mittelbach, %to include some long-requested improvements, and to re\-unify all the %patched versions which had cropped up since the release of %\index{LaTeX 2.09@\LaTeX{} 2.09}\LaTeX{} 2.09 some years earlier. To %distinguish the new version from the old, it is called \index{LaTeX %2e@\LaTeXe}\LaTeXe. This documentation deals with \LaTeXe. These days you %might be hard pressed to find the venerable \LaTeX{} 2.09 installed %anywhere. \LaTeX{} hääldub kui "`La-tehh"' või "`Lei-tehh"'. ASCIIs kirjutatakse \LaTeX{} kujul \texttt{LaTeX}. \LaTeXe{} hääldatakse "`La-tehh kaks e"' ja kirjutatakse \texttt{LaTeX2e}. %Figure~\ref{components} above % on page \pageref{components} %shows how \TeX{} and \LaTeXe{} work together. This figure is taken from %\texttt{wots.tex} by Kees van der Laan. %\begin{figure}[btp] %\begin{lined}{0.8\textwidth} %\begin{center} %\input{kees.fig} %\end{center} %\end{lined} %\caption{Components of a \TeX{} System.} \label{components} %\end{figure} \section{Põhialused} \subsection{Autor, kujundaja ja laduja} Käsikirja avaldamiseks annab autor selle kirjastamisfirmale. Firma kujundaja paneb seejärel paika teose kujunduse (veerulaius, kirjatüübid, vahed enne ja pärast pealkirja,~\ldots). Kujundaja kirjutab oma juhised käsikirjale ja annab selle siis ladujale, kes teose vastavalt nendele juhistele valmis laob. Inimkujundaja püüab aru saada, mida autor käsikirja kirjutamise ajal mõtles. Peatükkide pealkirjade, viidete, näidete, valemite jne üle otsustab ta oma professionaalsete teadmiste ja käsikirja sisu põhjal. \LaTeX i keskkonnas on kujundaja rollis \LaTeX{} ja ladujaks \TeX. Kuid et \LaTeX{} on "`ainult"' programm, vajab ta seetõttu rohkem abi. Autor peab talle andma täiendavat informatsiooni, kirjeldades teose loogilist struktuuri. See informatsioon kirjutatakse teksti sisse "`\LaTeX i käskudena"'. Selline lähenemine erineb üsnagi \index{visuaalredaktorid}visuaalredaktorite\footnote{\wi{WYSIWYG} (\emph{What you see is what you get} `Mida näed, seda saad').} omast, mida järgib enamik tänapäeva tekstitöötlusprogramme, nagu \wi{MS Word} ja \wi{LibreOffice}. Nendes programmides määrab autor dokumendi kujunduse interaktiivselt teksti sisestamise käigus. Autor näeb ekraanil, kuidas teos prindituna paistab. \LaTeX i puhul autor lõppväljundit tavaliselt teksti kirjutamise ajal ei näe, kuid lõppväljundit saab vaadata ekraanil pärast faili töötlemist \LaTeX iga. Siis on võimalik enne printimist teha dokumendis parandusi. \subsection{Küljenduse kujundus} Tüpograafiline kujundamine on oskustöö. Oskusteta autorid teevad tihti tõsiseid vormistamisvigu eeldades, et teose kujundamine on eeskätt esteetika küsimus: "`Kui dokument näeb ilus välja, siis on ta hästi kujundatud"'. Aga kuivõrd dokument on mõeldud lugemiseks, mitte seinale riputamiseks, on loetavus ja arusaadavus palju olulisemad kui ilus välimus. Näiteks:\enlargethispage{1.3\baselineskip} \begin{itemize} \item pealkirjade kirjasuurus ja nummerdus tuleb valida nii, et peatükkide ja jaotiste struktuur oleks lugejale selge; \item reapikkus peab olema piisavalt väike, et mitte lugeja silmi kurnata, samas aga piisavalt suur, et lehekülg kenasti täita. \end{itemize} Visuaalredaktoritega\index{visuaalredaktorid} loovad kasutajad tihti esteetiliselt kauneid dokumente, millel struktuur peaaegu puudub või pole kooskõlaline. \LaTeX{} ennetab selliseid vormistusvigu, sest sunnib autorit kirjeldama dokumendi \emph{loogilist} struktuuri ja valib selle järgi ise kõige sobivama kujunduse. \subsection{Eelised ja puudused} Kui visuaalredaktorite ja \LaTeX i kasutajad omavahel kokku saavad, tekib tihti arutelu teemal "`\index{LaTeXi eelised@\LaTeX i eelised}\LaTeX i eelised tavalise tekstitöötlusprogrammi ees"' või vastupidi. Kui selline arutelu käivitub, siis on kõige parem hoida madalat profiili, sest sageli kipuvad need mõttevahetused käest ära minema. Kuid mõnikord ei ole pääsu \ldots Seega on siin natuke laskemoona. \LaTeX i peamised eelised tavaliste tekstitöötlusprogrammide ees on järgmised. \begin{itemize} \item Saab kasutada professionaalseid kujundusi, tänu millele näeb dokument välja tõesti nagu "`trükitud"'. \item Valemite vormistamine on mugav. \item Vaja on selgeks õppida ainult mõned lihtsasti arusaadavad käsud, mis määravad ära dokumendi loogilise struktuuri. Peaaegu mitte kunagi pole vaja jännata dokumendi tegeliku kujundusega. \item Lihtsasti saab luua ka keerulisi struktuure nagu allmärkusi, ristviiteid, sisukordi ja kirjandusnimestikke. \item Tüpograafiliste ülesannete jaoks, mida baas-\LaTeX{} ei toeta, on olemas vabalt kasutatavad lisapaketid. Näiteks on olemas paketid dokumenti \PSi i graafika lisamiseks ja kindlat standardit järgivate kirjandusnimestike vormistamiseks. Paljusid neist pakettidest on kirjeldatud raamatus \companion. \item \LaTeX{} soodustab hea struktuuriga tekstide kirjutamist, sest see on viis, kuidas \LaTeX{} töötab -- struktuuri määrates. \item \LaTeXe{} ladumismootor \TeX{} on väga portatiivne ja vaba. Seetõttu töötab süsteem peaaegu igal riistvaraplatvormil. % % Add examples ... % \end{itemize} \LaTeX il on samuti mõningaid puudusi. Ma arvan, et minul on veidi raske leida ühtki mõistlikku, kuid olen kindel, et teised suudavad neid välja tuua sadu \texttt{;-)} \begin{itemize} \item \LaTeX{} ei aita eriti inimesi, kes on müünud oma hinge \ldots \item Kuigi valmis dokumendikujundustes saab sättida mõningaid parameetreid, on terve uue kujunduse loomine raske ja võtab palju aega.\footnote{Kuuldused räägivad, et see on üks peamistest küsimustest, mida puudutab valmiv \LaTeX 3 süsteem.}\index{LaTeX3@\LaTeX 3} \item Väga raske on kirjutada struktureerimata ja organiseerimata tekste. \item Lubavatest esimestest sammudest hoolimata ei tarvitse sinu lemmikhamster kunagi täielikult mõista loogilise märgendamise põhimõtet. \end{itemize} \section{\LaTeX i sisendfailid} \LaTeX i sisendiks\index{sisendfail} on tavaline tekstifail. Unixis/Linuxis on tekstifailid üsna tavalised. Windowsis saab tekstifaile moodustada Notepadiga. Sisendfail sisaldab nii teose teksti kui ka käske, mis ütlevad \LaTeX ile, kuidas teksti vormistada. Kui tegutseda \LaTeX i integreeritud keskkonnas, siis on seal olemas vahendid tekstivormingus sisendfaili loomiseks \LaTeX i jaoks. \subsection{Tühikud} "`Tühisümboleid"' nagu tühikut ja tabulatsioonimärki käsitleb \LaTeX{} ühtviisi \wi{tühik}una. \emph{Mitu järjestikust} \wi{tühisümbol}it loetakse \emph{üheks} tühikuks. Rea alguses olevat tühikut üldiselt ignoreeritakse ja ühte reavahetust loetakse samuti tühikuks.\index{tühik!rea alguses} Tühi rida kahe tekstirea vahel märgib lõigu lõppu. \emph{Mitu} tühja rida on sama mis \emph{üks} tühi rida. Seda illustreerib järgmine näide. Vasakul on sisendfaili tekst ja paremal vormindatud väljund. \begin{example} Pole oluline, kas sõna järele lisada üks või mitu tühikut. Tühi rida alustab uut lõiku. \end{example} \subsection{Erimärgid} Järgmised märgid on \wi{reserveeritud sümbolid}, millel on \LaTeX is kas eritähendus või pole nad kõigis kirjades kättesaadavad. Kui sisestada need märgid otse teksti, siis tavaliselt neid ei trükita, vaid nad panevad \LaTeX i tegema asju, mida kasutajal ilmselt polnud plaanis. \begin{code} \verb.# $ % ^ & _ { } ~ \ . %$ \end{code} Nagu edaspidi näeme, saab neid märke siiski teksti lisada, kui kirjutada nende ette \wi{langjoon}: \begin{example} \# \$ \% \^{} \& \_ \{ \} \~{} \textbackslash \end{example} Teisi sümboleid ja palju muud saab trükkida erikäskudega valemire\v{z}iimis või diakriitiliste märkidena. \index{langjoon}Langjoone märki \textbackslash{} \emph{ei saa} sisestada teist langjoont selle ette lisades (\verb|\\|); see märgijärjend on mõeldud rea murdmiseks. Selle asemel võib kasutada käsku \ci{textbackslash}. \subsection{\LaTeX i käsud} \LaTeX i \index{käsk}käsud on tõstutundlikud ning nad esinevad emmal-kummal järgmisest kahest kujust. \begin{itemize} \item Käsk algab \wi{langjoon}ega \verb|\| ja sellele järgneb ainult tähtedest koosnev nimi. Käsu nime lõpetab tühik, number või ükskõik milline muu mittetäht. \item Käsk koosneb langjoonest ja täpselt ühest mittetähest. \end{itemize} Paljudel käskudel on olemas ka tärnkuju, mille puhul käsu nime järele on lisatud tärn.\index{käsk!tärniga}\index{tärniga käsk} % % \\* doesn't comply ! % % % Can \3 be a valid command ? (jacoboni) % \label{whitespace} \LaTeX{} ignoreerib tühikuid käskude järel. Kui on vaja panna käsu järele \index{tühik!käsu järel}tühik, tuleb käsu nime järele kirjutada kas tühi argument \verb|{}| ja tühik või siis spetsiaalne tühja vahe käsk. Tühi argument \verb|{}| ei lase \LaTeX il pärast käsu nime tulevaid tühikuid ära süüa. \begin{example} Algajatel võib \TeX tühikud käsu järel vahele jätta. % valesti Edasijõudnutele \TeX{} sobib, sest nemad on \TeX perdid ja teavad, kuidas tühikuid lisada. % õigesti \end{example} Mõned käsud nõuavad \index{argument}argumenti, mis tuleb anda \index{looksulud}looksulgudes \verb|{ }| pärast käsu nime. Mõned käsud tunnistavad ka \index{valikuline argument}\index{argument!valikuline}valikulist argumenti, mis lisatakse käsu nime järele \index{nurksulud}nurksulgudes~\verb|[ ]|. \begin{code} \verb|\|\textit{käsk}\verb|[|\textit{valikuline argument}\verb|]{|\textit{argument}\verb|}| \end{code} Järgmistes näidetes on kasutatud mõningaid \LaTeX i käske. Nende pärast pole vaja muretseda, neid selgitatakse hiljem. \begin{example} Sa võid mulle \textsl{toetuda}! \end{example} \begin{example} Palun alusta uut rida just siit!\newline Tänan! \end{example} \subsection{Kommentaarid} \index{kommentaarid} Kui \LaTeX{} kohtab sisendfaili töödeldes protsendimärki \index{%@\texttt{\%}}\verb|%|, siis ignoreerib ta käsiloleva rea ülejäänud osa, reavahetust ja kõiki tühisümboleid järgmise rea alguses. Nii saab sisendfaili kirjutada märkusi, mis trükiversioonis ei ilmu. \begin{example} See on % rumal % Parem: õpetlik <---- näide: kuulilen% nuteetun% neliluuk \end{example} Märgi \verb|%| abil saab ka tükeldada pikki sisendridu, kus tühikud ega reavahetused pole lubatud. Pikemate kommentaaride jaoks on olemas keskkond \ei{comment} paketist \pai{verbatim}. Selle keskkonna kasutamiseks tuleb dokumendi preambulisse lisada rida \verb|\usepackage{verbatim}|, nagu selgitatakse edaspidi. \begin{example} See on üks teine \begin{comment} üsna rumal, kuid kasulik \end{comment} näide kommentaaride lisamisest dokumenti. \end{example} \noindent See ei tööta keerulisemate keskkondade sees, nagu valemikeskkond. \section{Sisendfaili struktuur} \label{sec:structure}\index{sisendfail} Kui \LaTeXe{} töötleb sisendfaili, siis eeldab ta, et see järgib teatavat \index{sisendfaili struktuur}struktuuri. Sellest tulenevalt peab iga sisendfail algama käsuga\cih{documentclass} \begin{code} \verb|\documentclass{...}| \end{code} See määrab, mis liiki dokumendiga on tegu. Selle järel tulevad käsud, mis mõjutavad kogu dokumendi välimust, või loevad sisse \wi{pakett}e, mis lisavad \LaTeX i süsteemile uusi võimalusi. Pakett loetakse sisse käsuga\cih{usepackage} \begin{code} \verb|\usepackage{...}| \end{code} Kui kogu seadistustöö on tehtud,\footnote{Käskude \texttt{\bs documentclass} ja \texttt{\bs begin$\mathtt{\{}$document$\mathtt{\}}$} vahele jäävat dokumendi osa nimetatakse \emph{\wi{preambul}iks}.} siis algab dokumendi põhisisu käsuga \begin{code} \verb|\begin{document}| \end{code} Nüüd võib sisestada teksti vaheldumisi igasuguste kasulike \LaTeX i käskudega. Dokumendi lõppu pannakse käsk \begin{code} \verb|\end{document}| \end{code} mis ütleb \LaTeX ile, et töö on läbi. Kõike, mis veel järgneb, \LaTeX{} ignoreerib. Joonisel~\ref{mini} on kujutatud minimaalse \LaTeX i faili sisu. Veidi keerukam \wi{sisendfail} on joonisel~\ref{document}.\index{sisendfail} \begin{figure}[tp] \begin{lined}{6cm} \begin{verbatim} \documentclass{article} \begin{document} Minimaalne on ilus. \end{document} \end{verbatim} \end{lined} \caption{Minimaalne \LaTeX i fail} \label{mini} \end{figure} \begin{figure}[tp] \begin{lined}{10cm} \begin{verbatim} \documentclass[a4paper,11pt]{article} % seadistused eesti keele jaoks \usepackage[estonian]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} % määra pealkiri \author{H.~Partl} \title{Minimalism} \begin{document} % moodustab pealkirja \maketitle % lisab sisukorra \tableofcontents \section{Mõned huvitavad sõnad} Nii, siin algab minu armas artikkel. \section{Nägemiseni} \ldots{} ja siin ta lõpeb. \end{document} \end{verbatim} \end{lined} \caption[Realistliku ajakirjaartikli näide]{Realistliku ajakirjaartikli näide. Kõiki selles näites esinevaid käske tutvustame hiljem.} \label{document} \end{figure} \section{Tüüpiline käsureasessioon} Arvatavasti on nüüd tekkinud suur tahtmine leheküljel \pageref{mini} olevat kena väikest \LaTeX i sisendfaili ise järele proovida. Siin on veidi juhiseid: \LaTeX il endal puuduvad graafiline liides ja peened vajutatavad nupud. Ta on lihtsalt programm, mis töötleb sisendfaili. Mõnes \LaTeX i installatsioonis on olemas graafiline kasutajaliides, kus sisendfaili kompileerimiseks on olemas nupp \LaTeX. Teistes süsteemides võib olla vaja midagi klaviatuurilt trükkida, seega näitame siin, kuidas meelitada \LaTeX i kompileerima sisendfaili tekstipõhises süsteemis. Tähelepanu: see kirjeldus eeldab, et arvutis on olemas töötav \LaTeX i installatsioon.\footnote{See on nii enamikus hästi hallatud Unixi süsteemides ning \ldots{} Tõelised Mehed kasutavad Unixit, nii et \ldots{} \texttt{;-)}} \begin{enumerate} \item Ava/loo \LaTeX i sisendfail. See fail peab olema lihtne ASCII tekst. Unixis teevad kõik tekstiredaktorid just seda. Windowsis tuleks hoolt kanda, et fail salvestatakse ASCII või lihtteksti vormingus. Faili nime valides tuleks jälgida, et laiendiks saaks \eei{tex}. \item Ava käsurida või \texttt{cmd} aken, mine kataloogi, kus sisendfail asub, ja käivita \LaTeX{} sisendfailil. \begin{lscommand} \verb+latex foo.tex+ \end{lscommand} Õnnestumise korral tekib töö tulemusena fail laiendiga \eei{dvi}. Vajalik võib olla sisendfail \LaTeX ist läbi lasta mitu korda, et sisukord ja kõik ristviited õigeks muutuksid. Kui sisendfailis on mõni viga, siis teatab \LaTeX{} sellest ja peatab faili töötlemise. Vajuta Ctrl+D, et käsureale tagasi saada. \item Nüüd võib \wi{DVI-fail}i vaadata. Selleks on mitu võimalust. Faili vaatamiseks ekraanil on käsk\index{Xdvi} \begin{lscommand} \verb+xdvi foo.dvi &+ \end{lscommand} See töötab ainult Unixis X11-ga. Windowsis võib proovida programmi \wi{Yap} (\emph{Yet another previewer}). Võib ka teisendada DVI-faili \PSi iks, mida saab printida või vaadata \wi{Ghostscript}iga, andes käsu\index{dvips@\texttt{dvips}}\index{PS-fail} \begin{lscommand} \verb+dvips -Pcmz foo.dvi -o foo.ps+ \end{lscommand} Kui veab, siis võib \LaTeX i süsteem sisaldada isegi tööriista \index{dvipdf@\texttt{dvipdf}}\texttt{dvipdf}, millega saab DVI-faili teisendada otse PDF-iks.\index{PDF-fail} \begin{lscommand} \verb+dvipdf foo.dvi+ \end{lscommand} \end{enumerate} \section{Dokumendi kujundus} \subsection {Dokumendiklassid}\label{sec:documentclass} Esimene informatsioon, mida \LaTeX{} sisendfaili töötlemisel vajab, on loodava dokumendi liik. See määratakse käsuga \ci{documentclass}. \begin{lscommand} \ci{documentclass}\verb|[|\emph{suvandid}\verb|]{|\emph{klass}\verb|}| \end{lscommand} \noindent Argument \emph{klass} määrab dokumendi liigi. Tabelis~\ref{documentclasses} on loetletud dokumendiklassid, mida käesolevas sissejuhatuses mainitakse. \LaTeXe{} distributsiooni kuulub muidki dokumendiklasse, sealhulgas klassid kirjade ja esitluste jaoks. Argument \index{suvand}\emph{suvandid} täpsustab dokumendiklassi käitumist. Suvandid tuleb üksteisest eraldada komadega. Standardsete dokumendiklasside kõige tavalisemad suvandid on kirjas tabelis~\ref{options}. \begin{table}[!bp] \caption{Dokumendiklassid} \label{documentclasses} \begin{lined}{\textwidth} \begin{description} \item [\normalfont\pai{article}] teadusajakirjade artiklid, ettekanded, lühiaruanded, programmidokumentatsioon, infolehed, \ldots{} \index{klass!article@\textsf{article}} \item [\normalfont\pai{proc}] artikliklassil põhinevate dokumentide kogumikud (toimetised). \index{klass!proc@\textsf{proc}} \item [\normalfont\pai{minimal}] nii väike kui saab olla. Määrab ainult tekstiploki mõõtmed ja põhikirja tüübi. Kasutatakse peamiselt silumise eesmärgil. \index{klass!minimal@\textsf{minimal}} \item [\normalfont\pai{report}] pikemad mitmepeatükilised aruanded, väiksemad raamatud, väitekirjad, \ldots{} \index{klass!report@\textsf{report}} \item [\normalfont\pai{book}] päris raamatud. \index{klass!book@\textsf{book}} \item [\normalfont\pai{slides}] slaidid. Tekstikirjaks on suur seriifideta kiri. Slaidide jaoks on eelistatum klass \pai{beamer}. \index{klass!slides@\textsf{slides}}\index{klass!beamer@\textsf{beamer}} \end{description} \end{lined} \end{table} \begin{table}[tp] \caption{Dokumendiklasside suvandid} \label{options} \begin{lined}{\textwidth} % \begin{flushleft} \begin{description} \item[\normalfont\texttt{10pt}, \texttt{11pt}, \texttt{12pt}] \quad Määrab dokumendi põhikirja suuruse. Kui suvandit pole antud, siis võetakse selleks \texttt{10pt}.% \index{kirjasuurus}\index{dokumendi kirjasuurus}\index{põhikirja suurus}% \index{10pt@\texttt{10pt}}\index{11pt@\texttt{11pt}}\index{12pt@\texttt{12pt}} \item[\normalfont\texttt{a4paper}, \texttt{letterpaper}, \ldots] \quad Määrab paberi formaadi. Vaikeformaat on \texttt{letterpaper}. Veel on olemas \texttt{a5paper}, \texttt{b5paper}, \texttt{executivepaper} ja \texttt{legalpaper}. \index{paberi formaat}% \index{formaat!A4}\index{formaat!letter}\index{formaat!A5}% \index{formaat!B5}\index{formaat!executive}\index{formaat!legal}% \index{a4paper@\texttt{a4paper}}\index{letterpaper@\texttt{letterpaper}}% \index{a5paper@\texttt{a5paper}}\index{b5paper@\texttt{b5paper}}% \index{executivepaper@\texttt{executivepaper}}\index{legalpaper@\texttt{legalpaper}} \item[\normalfont\texttt{fleqn}] \quad Rajastab eraldi real olevad valemid vasakule, mitte keskele. \index{fleqn@\texttt{fleqn}} \item[\normalfont\texttt{leqno}] \quad Paneb valeminumbrid valemist vasakule, mitte paremale. \index{leqno@\texttt{leqno}} \item[\normalfont\texttt{titlepage}, \texttt{notitlepage}] \quad Määrab, kas pärast dokumendi \index{tiitel}tiitlit alustada uut lehekülge või mitte. Klass \pai{article} vaikimisi ei alusta uut lehekülge, klassid \pai{report} ja \pai{book} alustavad. \index{tiitel} \index{titlepage@\texttt{titlepage}}\index{notitlepage@\texttt{notitlepage}} \item[\normalfont\texttt{onecolumn}, \texttt{twocolumn}] \quad Küljendab dokumendi teksti \index{üheveeruline trükk}ühes veerus või \index{kaheveeruline trükk}kahes veerus. \index{onecolumn@\texttt{onecolumn}}\index{twocolumn@\texttt{twocolumn}} \item[\normalfont\texttt{twoside}, \texttt{oneside}] \quad Määrab, kas genereerida kahepoolselt või ühepoolselt trükitavate lehekülgedega väljund. Vaikimisi on klassid \pai{article} ja \pai{report} \index{ühepoolne trükk}ühepoolsed, klass \pai{book} aga \index{kahepoolne trükk}{kahepoolne}. See suvand puudutab ainult dokumendi stiili. Suvand \texttt{twoside} \emph{ei anna} kasutatavale printerile korraldust printida dokument välja kahepoolselt. \index{oneside@\texttt{oneside}}\index{twoside@\texttt{twoside}} \item[\normalfont\texttt{landscape}] \quad Muudab dokumendi kujunduse sobivaks rõhtpaigutuses printimise jaoks. \index{landscape@\texttt{landscape}}\index{rõhtpaigutus} \item[\normalfont\texttt{openright}, \texttt{openany}] \quad Seab peatükid algama kas ainult parempoolsel leheküljel või järgmisel vabal leheküljel. Ei tööta klassiga \pai{article}, mis peatükke ei tunne. Vaikimisi algavad peatükid klassis \pai{report} järgmisel vabal leheküljel ja klassis \pai{book} parempoolsel leheküljel. \index{openright@\texttt{openright}}\index{openany@\texttt{openany}} \end{description} % \end{flushleft} \end{lined} \end{table} Näiteks võib \LaTeX i sisendfail alata reaga \begin{code} \ci{documentclass}\verb|[11pt,twoside,a4paper]{article}| \end{code} Sellega vormistab \LaTeX{} dokumendi \emph{artiklina} põhikirja suurusega \emph{11 punkti} küljenduses, mis sobib \emph{kahepoolseks} printimiseks \emph{A4-lehele}. \subsection{Paketid} \index{pakett}Dokumenti kirjutades võib mõnes valdkonnas ilmneda probleeme, mida baas-\LaTeX{} lahendada ei suuda. Kui on vaja dokumenti lisada graafikat, moodustada värvilist teksti või lugeda failist sisse programmi lähtekoodi, siis tuleb \LaTeX i võimeid laiendada. Selliseid laiendusi nimetatakse pakettideks. Pakett võetakse kasutusele käsuga \begin{lscommand} \ci{usepackage}\verb|[|\emph{suvandid}\verb|]{|\emph{pakett}\verb|}| \end{lscommand} \noindent kus \emph{pakett} on paketi nimi ja \emph{suvandid} nimekiri võtmesõnadest, mis käivitavad paketis spetsiaalseid funktsioone. Käsk \ci{usepackage} pannakse dokumendi preambulisse. Täpsemalt vaadeldi seda jaotises \ref{sec:structure}. Mõned paketid tulevad kaasa \LaTeXe{} baasdistributsiooniga (vt tabelit~\ref{packages}), teised on saadaval eraldi. Oma arvutisse installitud pakettide kohta peaks rohkem infot andma \guide. Põhiline infoallikas \LaTeX i pakettide kohta on \companion, mis sisaldab sadade pakettide kirjeldusi, samuti juhiseid, kuidas \LaTeXe{} jaoks ise laiendusi kirjutada. Kaasaegses \TeX i distributsioonis on suur hulk pakette juba eelinstallitud. Unixis saab paketi dokumentatsiooni kätte käsuga \index{texdoc@\texttt{texdoc}}\texttt{texdoc}. \begin{table}[tp] \caption{Mõned \LaTeX iga kaasatulevad paketid} \label{packages} \begin{lined}{\textwidth} \begin{description} \item[\normalfont\pai{doc}] Võimaldab \LaTeX is koostatud programme dokumenteerida. Kirjeldatud failis \texttt{doc.dtx}\footnote{See fail peaks olema süsteemis installitud ning \wi{DVI-fail}i peaks saama genereerida käsuga \texttt{latex doc.dtx} ükskõik millises kataloogis, kus kasutajal on kirjutamisõigus. Sama kehtib kõigi teiste selles tabelis nimetatud failide kohta.} ja raamatus \companion. \item[\normalfont\pai{exscale}] Teeb kättesaadavaks laiendatud valemikirjade skaleeritud variandid. Kirjeldatud failis \texttt{ltexscale.dtx}. \item[\normalfont\pai{fontenc}] Määrab, millist \wi{kirjakodeering}ut \LaTeX{} peaks kasutama. Kirjeldatud failis \texttt{ltoutenc.dtx}. \item[\normalfont\pai{ifthen}] Teeb kättesaadavaks käsud kujul "`kui \ldots{} siis \ldots{} muidu \ldots"'. Kirjeldatud failis \texttt{ifthen.dtx} ja raamatus \companion. \item[\normalfont\pai{latexsym}] \LaTeX i sümbolikirja kasutamiseks tuleks sisse lugeda pakett \pai{latexsym}. Kirjeldatud failis \texttt{latexsym.dtx} ja raamatus \companion. \item[\normalfont\pai{makeidx}] Muudab kättesaadavaks aineregistri moodustamise käsud. Kirjeldatud jaotises~\ref{sec:indexing} ja raamatus \companion. \item[\normalfont\pai{syntonly}] Töötleb dokumenti ilma seda ladumata. \item[\normalfont\pai{inputenc}] Lubab määrata sisendkodeeringut, nagu ASCII, ISO Latin-1, ISO Latin-2, 437/850 IBM koodileheküljed, Apple Macintosh, Next, ANSI-Windows või kasutaja defineeritud kodeering. Kirjeldatud failis \texttt{inputenc.dtx}. \end{description} \end{lined} \end{table} \subsection{Leheküljestiilid} \LaTeX{} toetab kolme eeldefineeritud \wi{päis}e/\wi{jalus}e kombinatsiooni ehk nn \wi{leheküljestiil}i. Käsu \begin{lscommand} \ci{pagestyle}\verb|{|\emph{stiil}\verb|}| \end{lscommand} \noindent argument \emph{stiil} määrab, millist stiili kasutada. Eeldefineeritud stiilid on loetletud tabelis~\ref{pagestyle}. \begin{table}[tp] \caption{\LaTeX i eeldefineeritud leheküljestiilid} \label{pagestyle} \begin{lined}{\textwidth} \begin{description} \item[\normalfont\texttt{plain}] trükib lehekülje alaäärde, jaluse keskele, leheküljenumbrid. Vaikestiil. \index{leheküljestiil!plain@\texttt{plain}}\index{plain@\texttt{plain}} \item[\normalfont\texttt{headings}] trükib iga lehekülje päisesse jooksva peatüki pealkirja ja leheküljenumbri, jalus jääb tühjaks. (See on käesolevas dokumendis kasutatav stiil.) \index{leheküljestiil!headings@\texttt{headings}}\index{headings@\texttt{headings}} \item[\normalfont\texttt{empty}] jätab nii päise kui ka jaluse tühjaks. \index{leheküljestiil!empty@\texttt{empty}}\index{empty@\texttt{empty}} \end{description} \end{lined} \end{table} Jooksva lehekülje stiili on võimalik muuta käsuga \begin{lscommand} \ci{thispagestyle}\verb|{|\emph{stiil}\verb|}| \end{lscommand} Kirjelduse, kuidas luua oma päiseid ja jaluseid, leiab raamatust \companion{} ning jaotisest~\ref{sec:fancy} leheküljel~\pageref{sec:fancy}. % % Pointer to the Fancy headings Package description ! % \section{Esineda võivad failid} \LaTeX iga töötades võib kasutaja kiiresti leida end eri \index{laiendid}laienditega failide labürindist ilma juhtlõngata. Järgmises loendis on kirjas mitmesugused \wi{failitüübid}, mis \TeX iga töötades võivad ette tulla. See tabel ei ole kindlasti täielik laiendite nimekiri, kuid kui puudu on midagi olulist, siis võiks mulle teada anda. \begin{description} \item[\eei{tex}] \LaTeX i või \TeX i sisendfail. Saab kompileerida käsuga \texttt{latex}. \item[\eei{sty}] \LaTeX i makropakett. Saab käsuga \ci{usepackage} \LaTeX i dokumenti sisse lugeda. \item[\eei{dtx}] Dokumenteeritud \TeX{}. See on \LaTeX i stiilifailide peamine distributsioonivorming. Kui DTX-fail kompileerida, siis on tulemuseks DTX-failis sisalduva \LaTeX i paketi dokumenteeritud makrokood. \item[\eei{ins}] Vastavas DTX-failis sisalduvate failide installija. Laadides \LaTeX i paketi võrgust alla, saab tavaliselt DTX-faili ja INS-faili. Käivitades \LaTeX i INS-failil, saab DTX-faili lahti pakkida. \item[\eei{cls}] Klassifail, mis määrab, kuidas dokument välja näeb. Klassifail valitakse käsuga \ci{documentclass}. \item[\eei{fd}] Kirjadefinitsioonide fail, mis tutvustab \LaTeX ile uusi kirju. \end{description} Järgmised failid genereerib \LaTeX{} sisendfaili töötlemisel. \begin{description} \item[\eei{dvi}] Seadmest sõltumatu fail (\emph{Device Independent File}). See on \LaTeX i kompileerimistöö põhitulemus. Faili sisu saab vaadata \wi{DVI-fail}ide vaatamisprogrammiga või saata printerile programmiga \index{dvips@\texttt{dvips}}\texttt{dvips} või muu sarnase programmiga. \item[\eei{log}] Sisaldab detailset aruannet sellest, mis viimase kompileerimise jooksul juhtus. \item[\eei{toc}] Säilitab kõigi jaotiste pealkirju. Loetakse sisse järgmise kompileerimise käigus, kui moodustatakse sisukord. \item[\eei{lof}] Nagu TOC, aga jooniste loetelu jaoks. \item[\eei{lot}] Sama tabelite loetelu jaoks. \item[\eei{aux}] Veel üks fail, mis kannab informatsiooni ühelt kompileerimiskorralt järgmisele. Muu hulgas säilitatakse AUX-failis ristviidetega seotud informatsiooni. \item[\eei{idx}] Kui dokument sisaldab aineregistrit, siis salvestab \LaTeX{} kõik registrisse minevad sõnad sellesse faili. Seda faili tuleb töödelda programmiga \wi{MakeIndex}. Aineregistri kohta leiab rohkem infot jaotisest \ref{sec:indexing} leheküljel \pageref{sec:indexing}. \item[\eei{ind}] Töödeldud IDX-fail, valmis järgmises kompileerimistsüklis dokumenti sisselugemiseks. \item[\eei{ilg}] Logifail, mis ütleb, mida \wi{MakeIndex} tegi. \end{description} % Package Info pointer % % % % Add Info on page-numbering, ... % \pagenumbering \section{Suured projektid} Suuri dokumente luues võib tekkida soov jaotada \wi{sisendfail} mitmeks osaks. Selleks on \LaTeX is kaks käsku. \begin{lscommand} \ci{include}\verb|{|\emph{failinimi}\verb|}| \end{lscommand} \noindent Selle käsuga saab lisada faili \emph{failinimi}\verb|.tex| sisu käsiloleva dokumendi sisse. Enne faili \emph{failinimi}\verb|.tex| materjali töötlemist alustab \LaTeX{} uut lehekülge. Teist käsku saab kasutada preambulis ning selle toimel loeb \LaTeX i sisse ainult mõned käskude \verb|\include| argumentideks olevad failid. \begin{lscommand} \ci{includeonly}\verb|{|\emph{failinimi}\verb|,|\emph{failinimi}% \verb|,|\ldots\verb|}| \end{lscommand} \noindent Pärast selle käsu täitmist dokumendi preambulis täidetakse \ci{include}-kä\-sud ainult nende failinimede puhul, mis on loetletud käsu \ci{includeonly} argumendis. Käsk \ci{include} alustab sisseloetava teksti ladumist uuelt leheküljelt. See sobib hästi käskude \ci{includeonly} jaoks, sest leheküljepiirid ei muutu, isegi kui mõned sisseloetavad failid välja jäävad. Kuid mõnikord pole see soovitav. Sel juhul võib kasutada käsku \begin{lscommand} \ci{input}\verb|{|\emph{failinimi}\verb|}| \end{lscommand} \noindent See käsk lihtsalt loeb antud faili sisse. Ei mingeid kirjusid kostüüme ega kuljuseid. Paketi \pai{syntonly} abil saab lasta \LaTeX il kiiresti dokumendi üle kontrollida: \LaTeX{} vaatab dokumendi läbi, kontrollib ainult süntaksit ja käskude kasutamise korrektsust, aga ei moodusta (DVI) väljundit. Kuna selles re\v{z}iimis töötab \LaTeX{} kiiremini, võib see hoida kokku väärtuslikku aega. Kasutamine on väga lihtne: \begin{code} \begin{verbatim} \usepackage{syntonly} \syntaxonly \end{verbatim} \end{code} Soovides saada tegelikke lehekülgi, tuleb lihtsalt teine rida välja kommenteerida (lisades selle ette protsendimärgi). % % Local Variables: % TeX-master: "lshort2e" % mode: latex % mode: flyspell % End: