%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Things you need to know % $Id: things.tex,v 1.2 2003/03/19 20:57:47 oetiker Exp $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Kaj vse je dobro vedeti} \begin{intro} Na začetku tega poglavja je kratek pregled filozofije in zgodovine \LaTeXe{}. V preostanku poglavja je poudarek na osnovni zgradbi dokumentov v \LaTeX{}u. Ko boste prebrali poglavje, boste v grobem vedeli, kako \LaTeX{} deluje, kar boste potrebovali, če boste želeli razumeti preostanek te knjige. \end{intro} \section{Imena programov} \subsection{\TeX} \TeX{} je računalniški program, ki ga je razvil \index{Knuth, Donald E.}Donald E. Knuth \cite{texbook}. Namenjen je za oblikovanje in izpis tekstov in matematičnih formul. Knuth je začel pisati tolmač za \TeX{} leta 1977, da bi izkoristil možnost digitalnega tiskanja, ki je v tem obdobju prodiralo med založniško industrijo. Še posebno je upal, da bo lahko zaustavil trend nazadovanja tiskarske kvalitete, ki ga je opazil pri svojih knjigah in člankih. \TeX{} v današnji obliki je nastal leta 1982, leta 1989 pa so drobni popravki omogočili boljšo podporo 8-bitnim znakom in različnim (naravnim) jezikom. \TeX{} je znan po tem, da je izredno stabilen, da teče na različnih operacijskih sistemih in da je skoraj brez napak. Oznaka različice \TeX{a} konvergira k $\pi$ in je trenutno $3.141592$. \TeX{} se izgovarja ">teh"<, kot na primer v besedi ">tehnologija"<. V ASCII okolju \TeX{} postane \texttt{TeX}. \subsection{\LaTeX} \LaTeX{} je paket dodatnih ukazov za \TeX{}, ki omogočajo avtorjem oblikovanje in izpisovanje njihovih dokumentov v najvišji tiskarski kvaliteti s pomočjo že pripravljenih profesionalnih vzorcev. V \LaTeX{}u lahko še naprej uporabljamo skoraj vse \TeX{}ove ukaze. \LaTeX{} je prvotno napisal \index{Lamport, Leslie}Leslie Lamport~\cite{manual}, sedaj pa zanj skrbi \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{} se izgovori kot ">La-teh"<. V ASCII okolju \LaTeX{} postane \texttt{LaTeX}. \LaTeXe{} se izgovori kot ">La-teh dva e"< in se v ASCII okolju piše kot \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{Osnove} \subsection{Avtor, knjižni oblikovalec in črkostavec} Ko želi kaj objaviti, avtor pošlje svoj rokopis založniku. Tam knjižni oblikovalec določi obliko dokumenta (širino stolpcev, obliko črk, velikost presledkov pred in po naslovih,~\ldots). Oblikovalec svoja navodila skupaj z rokopisom preda črkostavcu, ki na podlagi teh podatkov stavi knjigo. Človeški knjižni oblikovalec poskuša dojeti, kaj je avtor mislil, ko je pisal rokopis. Glede na njegove poklicne izkušnje in glede na vsebino rokopisa se odloči za naslove poglavij, citate, zglede, formule, itd. V \LaTeX{} okolju \LaTeX{} prevzame vlogo knjižnega oblikovalca, za stavljenje pa uporablja \TeX{}. Ker pa je \LaTeX{} ">samo"< računalniški program, potrebuje več vodenja. Avtor mora poskrbeti za dodatne podatke, ki opisujejo logično strukturo njegovega dela. Ti podatki se vpišejo med tekst v obliki \emph{\LaTeX{} ukazov}. To je povsem različen način dela od pristopa \wi{WYSIWYG}\footnote{What you see is what you get oz.~Kar vidiš, to tudi dobiš.}, ki ga uporablja večina sodobnih urejevalnikov besedil, kot sta npr.~\emph{MS Word} in \emph{Corel WordPerfect}. V teh programih avtor določi obliko dokumenta interaktivno med samim vnosom besedila v računalnik. Med celotnim procesom na zaslonu vidi, kakšna bo končna oblika, ko bo dokument natisnjen. Pri \LaTeX{}u ni možno videti končne oblike med samim tipkanjem besedila. Lahko pa vidimo končno obliko na zaslonu, potem ko datoteko prevedemo z \LaTeX{}om. Tako lahko popravke naredimo še preden dokument izpišemo s tiskalnikom. \subsection{Oblikovanje dokumenta} Oblikovanje besedila je prava spretnost. Neizkušeni avtorji pogosto naredijo resno napako, ko privzamejo, da je oblikovanje knjige vprašanje estetike (če ima dokument estetski zunanji videz, potem naj bi bil dobro oblikovan). Dokument je namenjen branju in ne temu, da visi v umetniški galeriji, zato sta čitljivost in razumljivost veliko pomembnejša od čudovitega izgleda. Npr.: \begin{itemize} \item Velikost črk in oštevilčenje naslovov je potrebno izbrati tako, da je struktura poglavij in razdelkov jasna razvidna. \item Vrstice morajo biti po eni strani dovolj kratke, da ne utrujajo oči bralcev, po drugi strani pa dovolj dolge, da lepo napolnijo strani. \end{itemize} Z \wi{WYSIWYG} sistemi avtorji pogosto generirajo všečne dokumente, ki pa so ali zelo slabo strukturirani ali pa imajo nepovezano strukturo. \LaTeX{} preprečuje tovrstne oblikovalske napake s tem, ko avtorja sili, da določi \emph{logično} strukturo njegovega dokumenta, \LaTeX{} pa potem izbere najprimernejšo obliko. \subsection{Prednosti in slabosti} Ko se srečajo uporabniki \wi{WYSIWYG} programov z uporabniki \LaTeX{}a, ponavadi razglabljajo o ">prednostih \LaTeX{}a pred normalnimi urejevalniki besedil"< in obratno. Pri tovrstnih diskusijah je najbolje ostati tiho, saj se pogosto izrodijo. Toda vedno se jim le ne morete izogniti \ldots \medskip\noindent \ldots in zato je tu nekaj iztočnic. Glavne prednosti \LaTeX{}a pred normalnimi urejevalniki besedil so: \begin{itemize} \item Na voljo so profesionalno oblikovani vzorci, zaradi katerih je končni rezultat tak, kot da bi res prišel iz tiskarne. \item Stavljenje matematičnih formul je podprto na preprost način. \item Uporabnik se mora naučiti le nekaj preprosto razumljivih ukazov, ki določajo logično strukturo dokumenta. Uporabniku skoraj nikoli ni potrebno brkljati po aktualni obliki dokumenta. \item Zapletene strukture, kot so npr.~opombe pod črto, reference, kazala in seznami literature, se dajo narediti na preprost način. \item Obstajajo številni prosto dosegljivi dodatni paketi za različne tiskarske naloge, ki niso direktno podprte z osnovnim \LaTeX{}om. Tako npr.~obstajajo paketi za vključevanje \textsc{PostScript} slik in paketi za stavljenje seznama literature po določenih standardih. Številni dodatni paketi so opisani v \companion. \item \LaTeX{} spodbuja avtorje, da pišejo dobro strukturirane tekste, saj je specifikacija strukture eden izmed osnovnih principov delovanja \LaTeX{}a. \item \TeX, na katerem sloni \LaTeXe, je zelo prenosljiv in prosto dostopen, kar pomeni, da sistem lahko poganjamo v skoraj vseh računalniških okoljih. % % Add examples ... % \end{itemize} \medskip \noindent\LaTeX{} ima seveda tudi nekaj slabosti, in čeprav sam težko poiščem kakšno smiselno, sem prepričan, da jih drugi poznajo na stotine \texttt{;-)} \begin{itemize} \item \LaTeX{} ni primeren za ljudi, ki so prodali svojo dušo \ldots \item Čeprav se da nekaj parametrov nastaviti znotraj privzetih oblik dokumentov, je načrtovanje popolnoma novega vzorca zapleteno opravilo, za katerega porabimo veliko časa.\footnote{Govori se, da bo to ena izmed poglavitnih reči, ki bo rešena v nastajajočem \LaTeX 3 sistemu.}\index{LaTeX3@\LaTeX 3} \item Težko je pisati nestrukturirane in neorganizirane dokumente. \item Spodbudnim začetnim korakom navkljub nikoli ne boste v celoti dojeli koncepta logičnih oznak. \end{itemize} \section{\LaTeX{}ova vhodna datoteka} Vhodni podatek za \LaTeX{} je navadna \texttt{ASCII} tekstovna datoteka. Datoteko lahko sestavimo v poljubnem \texttt{ASCII} urejevalniku. Datoteka poleg besedila dokumenta vsebuje še ukaze, ki povedo \LaTeX{}u, kako naj oblikuje tekst. \subsection{Presledki} Vse ">prazne"< znake, kot sta presledek in tabulator, \LaTeX{} obravnava enako kot \wi{presledek}. \emph{Zaporedni} \wi{presledki} se obravnavajo kot \emph{en} presledek. Vodilni presledki na začetku vrstice se na splošno ignorirajo, konec vrstice pa se obravnava kot en presledek. \index{presledek!na začetku vrstice} Prazna vrstica med dvema vrsticama teksta pomeni konec odstavka, pri čemer se \emph{zaporedne} prazne vrstice obravnava kot \emph{eno} prazno vrstico. Zgled je priložen spodaj. Na levi strani je tekst v vhodni datoteki, na desni strani pa prevedeni rezultat. \begin{example} Ni pomembno, če za besedo stoji en ali pa več presledkov. Prazna vrstica začenja nov odstavek. \end{example} \subsection{Posebni znaki} Naslednji simboli so \wi{rezervirani znaki}, ki ali imajo poseben pomen v \LaTeX{}u ali pa niso na voljo v vseh naborih znakov. Če naslednje znake direktno vstavimo v tekst, potem ne samo, da se ne bodo izpisali, v večini primerov bo \LaTeX{} vrnil nepričakovane rezultate. \begin{code} \verb.# $ % ^ & _ { } ~ \ . %$ \end{code} Kot vidite v nadaljevanju, lahko tudi te znake uporabljamo v svojih dokumentih, če prednje postavimo znak $\backslash$ (backslash): \begin{example} \# \$ \% \^{} \& \_ \{ \} \~{} \end{example} Ostale simbole in še več lahko natisnemo s posebnimi ukazi v matematičnih formulah ali pa kot akcente. Znak $\backslash$ \emph{ne} moremo vnesti kot (\verb|\\|), saj je to zaporedje rezervirano za zlom vrstice.\footnote{Raje poskusite \texttt{\$}\ci{backslash}\texttt{\$}, ki res vrne `$\backslash$'.} \subsection{Ukazi v \LaTeX{}u} \wii{ukazi}{Ukazi} v \LaTeX{}u so občutljivi na velike in male črke in imajo eno izmed naslednjih dveh oblik: \begin{itemize} \item Začnejo se z znakom \verb|\|, temu pa sledi ime sestavljeno le iz črk. Imena ukazov se končajo ali s presledkom, številko ali kakšnim drugim znakom, ki ni črka. \item Sestavljeni so iz znaka \verb|\| in natančno enega posebnega znaka (lahko je tudi številka). \end{itemize} % % \\* doesn't comply ! % % % Can \3 be a valid command ? (jacoboni) % \label{whitespace} \LaTeX{} ignorira presledke za ukazi. Če želite \index{presledek!za ukazom}presledek za ukazom, potem morate na konec ukaza dati ali \verb|{}| in presledek ali pa posebni ukaz za presledek. \verb|{}|{} prepreči \LaTeX{}u, da bi pojedel vse presledke za imenom ukaza. \begin{example} Bral sem, da Knuth deli ljudi, ki uporabljajo \TeX{} na \TeX{}nike in \TeX perte.\\ Danes je \today. \end{example} Nekateri ukazi potrebujejo še \wi{parameter}, ki ga lahko podamo med \wii{zaviti oklepaji}{zavitimi oklepaji} \verb|{ }| za imenom ukaza. Nekateri ukazi podpirajo tudi \wii{opcijski parametri}{opcijske parametre}, ki jih dodamo za imenom ukaza med \wii{oglati oklepaji}{oglatimi oklepaji}~\verb|[ ]|. V naslednjem zgledu so uporabljeni nekateri \LaTeX{}ovi ukazi. Nič hudega, če jih ne razumete, saj bodo razloženi v nadaljevanju. \begin{example} Lahko se \textsl{zanesete} name! \end{example} \begin{example} Začni z novo vrstico točno tukaj!\newline Hvala! \end{example} \subsection{Komentarji} \index{komentarji} Kadar \LaTeX{} v vhodni datoteki sreča znak \verb|%|, ignorira vse znake v nadaljevanju tekoče vrstice, zlom vrstice in vse presledke na začetku naslednje vrstice. To lahko uporabljamo za vnos komentarjev v vhodno datoteko, ki jih ne bo na končnem izpisu. \begin{example} To je % neumen % bolje: poučen <---- primer: Otorino% laringo% log \end{example} Z znakom \texttt{\%} lahko zlomimo dolgo vhodno vrstico v primeru, ko ne moremo uporabiti presledka ali prehoda v novo vrstico. Za daljše komentarje je bolje uporabiti okolje \ei{comment}, ki je definirano v paketu \pai{verbatim}. To pomeni, da moramo, če želimo uporabljati okolje \ei{comment}, v preambulo dokumenta dodati ukaz \verb|\usepackage{verbatim}|. \begin{example} To je nov \begin{comment} precej neumen, a koristen \end{comment} primer vstavljanja komentarja v dokument. \end{example} Upoštevati je potrebno, da našteto ne deluje znotraj kompleksnih okolij, kot je npr.~okolje za zapis matematičnih formul. \section{Struktura vhodne datoteke} Ko \LaTeXe{} prevaja vhodno datoteko, pričakuje, da ima ta določeno \wii{struktura}{strukturo}. Tako se mora vsaka vhodna datoteka začeti z ukazom \begin{code} \verb|\documentclass{...}| \end{code} Tu določimo vrsto dokumenta, ki ga pišemo. Sledijo lahko ukazi, ki vplivajo na stil celotnega dokumenta, lahko pa tudi vključimo dodatne \wii{paket}{pakete}, ki \LaTeX{} razširijo z novimi možnosti. Paket vključimo z ukazom \begin{code} \verb|\usepackage{...}| \end{code} Ko končamo z nastavitvami,\footnote{Del datoteke med \texttt{\bs documentclass} in \texttt{\bs begin$\mathtt{\{}$document$\mathtt{\}}$} se imenuje \emph{\wi{preambula}}.} začnemo telo dokumenta z ukazom \begin{code} \verb|\begin{document}| \end{code} Tu sedaj vnašamo tekst pomešan z različnimi koristnimi \LaTeX{} ukazi. Na koncu dokumenta mora stati ukaz \begin{code} \verb|\end{document}| \end{code} ki pove \LaTeX{}u, da je konec dela. Če temu ukazu sledi še kaj, bo \LaTeX{} to ignoriral. Slika~\ref{mini} kaže vsebino minimalne \LaTeXe{} datoteke. Za malenkost zapletenejša \wi{vhodna datoteka} je predstavljena na sliki~\ref{document}. Vsi ukazi iz tega zgleda bodo razloženi v nadaljevanju. \begin{figure}[!bp] \begin{lined}{6cm} \begin{verbatim} \documentclass{article} \begin{document} Majhno je lepo. \end{document} \end{verbatim} \end{lined} \caption{Minimalna \LaTeX{} datoteka.} \label{mini} \end{figure} \begin{figure}[!bp] \begin{lined}{10cm} \begin{verbatim} \documentclass[a4paper,11pt]{article} % definiramo naslov \author{H.~Partl} \title{Minimalizem} \begin{document} % vstavimo naslov \maketitle % vstavimo kazalo \tableofcontents \section{Začetek} Tukaj se začne moj dragi tekst. \section{Konec} \ldots{} in tukaj ga je konec. \end{document} \end{verbatim} \end{lined} \caption{Realističen primer članka za revijo.} \label{document} \end{figure} \section{Tipično poganjanje v ukazni vrstici} Gotovo vas že zelo mika preizkusiti čisto kratek primer \LaTeX{} vhodne datoteke s strani \pageref{mini}. Tukaj je kratka pomoč: \LaTeX{} sam ne vsebuje nobenega grafičnega vmesnika in nobenih razkošnih gumbov, na katere bi pritiskali. To je le program, ki prežveči vašo vhodno datoteko. Nekatere namestitve \LaTeX{}a vsebujejo tudi grafični vmesnik na katerem lahko kliknemo in tako prevedemo našo vhodno datoteko. Tukaj bomo pogledali, kako pripravimo \LaTeX{} do prevajanja vhodne datoteke preko ukazne vrstice. Pri tem bomo predpostavili, da je na našem računalniku že nameščen delujoči \LaTeX{}. \begin{enumerate} \item Najprej uredimo oz.~ustvarimo \LaTeX{} vhodno datoteko. To mora biti navadna ASCII datoteka. V Oknih je dobro preveriti, če bo datoteka res shranjena v ASCII oziroma \emph{Plain Text} obliki (primerna sta npr. programa \emph{Notepad} in \emph{Textpad}), na Unixu pa drugega niti ne moremo dobiti. Ko izbiramo ime datoteke, se prepričajmo, da ima končnico \eei{.tex}, npr.~\texttt{foo.tex}. \item Poženemo \LaTeX{} na vhodni datoteki. V primeru uspeha bomo dobili \texttt{.dvi} datoteko \texttt{foo.dvi}, sicer pa se bo \LaTeX{} ustavil in javil napako. Datoteko je ponavadi potrebno prevesti večkrat, da se uredijo notranje reference, kazalo in citiranje literature. \begin{lscommand} \verb+latex foo.tex+ \end{lscommand} \item Sedaj lahko na zaslonu pogledamo DVI datoteko z ustreznim programom \begin{lscommand} \verb+yap foo.dvi+ \end{lscommand} Če delamo na Unix sistemu, potem za pregled \texttt{.dvi} datotek uporabljamo program \texttt{xdvi}, v Oknih pa poleg \texttt{yap} lahko uporabljamo še \texttt{dviwin}. DVI datoteko lahko prevedemo v PostScript, ki ga lahko natisnemo ali gledamo s programom Ghostscript. \begin{lscommand} \verb+dvips -Pcmz foo.dvi -o foo.ps+ \end{lscommand} Če imamo srečo, je v naši namestitvi \LaTeX{} sistema tudi orodje \texttt{dvipdf}, s katerim lahko DVI datoteko direktno spremenimo v pdf datoteko. \begin{lscommand} \verb+dvipdf foo.dvi+ \end{lscommand} \end{enumerate} \section{Oblika dokumenta} \subsection {Vrste dokumentov}\label{sec:documentclass} Prva informacija, ki jo \LaTeX{} potrebuje za prevajanje vhodne datoteke, je vrsta dokumenta, ki jo želi avtor narediti. To je določeno z ukazom \ci{documentclass}. \begin{lscommand} \ci{documentclass}\verb|[|\emph{opcije}\verb|]{|\emph{razred}\verb|}| \end{lscommand} \noindent Tu \emph{razred} določa vrsto dokumenta. Tabela~\ref{documentclasses} prikazuje vrste dokumentov, ki so opisane v teh navodilih. Distribucija \LaTeXe{} vsebuje še dodatne razrede za druge vrste dokumentov, kot so npr. pisma in prosojnice. S parametri \emph{\wi{opcije}} lahko prilagodimo obnašanje vrste dokumenta. Če uporabimo več kot eno opcijo, jih moramo ločiti z vejicami. Najpogostejše opcije za standardne vrste dokumentov so predstavljene v tabeli~\ref{options}. \begin{table}[!bp] \caption{Vrste dokumentov.} \label{documentclasses} \begin{lined}{12cm} \begin{description} \item [\normalfont\texttt{article}] za članke v znanstvenih revijah, predstavitvah, kratka poročila, dokumentacije programov, povabila, \ldots, \index{razred!article} \item [\normalfont\texttt{proc}] za poročila referatov, zasnovan je na razredu article, \index{razred!proc} \item [\normalfont\texttt{minimal}] je najbolj osnoven razred. Nastavi le velikost strani in osnovni nabor črk. Uporablja se v glavnem pri odkrivanju in odpravljanju napak v programu. \item [\normalfont\texttt{report}] za daljša poročila z več poglavji, manjše knjige, disertacije, \ldots \index{razred!report} \item [\normalfont\texttt{book}] za prave knjige, \index{razred!book} \item [\normalfont\texttt{letter}] za pisma, \index{razred!letter} \item [\normalfont\texttt{slides}] za prosojnice. Ta razred uporablja večje znake v pisavi sans serif. Namesto tega lahko uporabljate paket Foil\TeX{}\footnote{% \texttt{CTAN:/tex-archive/macros/latex/contrib/supported/foiltex}}. \index{razred!slides}\index{foiltex} \end{description} \end{lined} \end{table} \begin{table}[!bp] \caption{Opcije za vrste dokumentov.} \label{options} \begin{lined}{12cm} \begin{flushleft} \begin{description} \item[\normalfont\texttt{10pt}, \texttt{11pt}, \texttt{12pt}] \quad Nastavi osnovno velikost črk v dokumentu. Če te opcije ne navedemo, je privzeta vrednost \texttt{10pt}. \index{velikost črk v dokumentu}\index{osnovna velikost črk} \item[\normalfont\texttt{a4paper}, \texttt{letterpaper}, \ldots] \quad Nastavi velikost papirja. Privzeta vrednost je \texttt{letterpaper}, poleg tega pa imamo še \texttt{a5paper}, \texttt{b5paper}, \texttt{executivepaper} in \texttt{legalpaper}. Ker pri nas uporabljamo papir A4, je to potrebno vedno nastaviti. \index{legal papir} \index{velikost strani}\index{velikost A4}\index{velikost letter} \index{velikost A5} \index{velikost B5}\index{velikost executive} \item[\normalfont\texttt{fleqn}] \quad S to nastavitvijo se formule stavijo levo namesto sredinsko poravnane. \item[\normalfont\texttt{leqno}] \quad Številčenje enačb je na levi strani namesto na desni. \item[\normalfont\texttt{titlepage}, \texttt{notitlepage}] \quad Določa, ali naj \wii{naslov dokumenta}{naslovu dokumenta} sledi nova stran ali ne. Razred \texttt{article} se privzeto ne začne z novo stranjo, razreda \texttt{report} in \texttt{book} pa se. \index{naslov} \item[\normalfont\texttt{onecolumn}, \texttt{twocolumn}] \quad Določa, ali naj \LaTeX{} stavi dokument z enim ali dvema stolpcema. \index{en stolpec}\index{dva stolpca} \item[\normalfont\texttt{twoside, oneside}] \quad Določa, ali bo končni izpis natisnjen enostransko ali dvostransko. Razreda \texttt{article} in \texttt{report} sta privzeto \wii{enostranski izpis}{enostranska}, razred \texttt{book} pa je \wii{dvostranski izpis}{dvostranski}. Ta opcija vpliva le na stil dokumenta, \emph{ne} vpliva pa na to, ali bo tiskalnik izpisal tekst eno ali dvostransko. \item[\normalfont\texttt{landscape}] \quad Spremeni obliko strani iz pokončne v ležečo obliko. \item[\normalfont\texttt{openright, openany}] \quad Ali naj se poglavja začenjajo vedno na desni strani ali na prvi naslednji prazni strani. To ne deluje v razredu \texttt{article}, ssaj ta razred nima poglavij. Razred \texttt{report} privzeto začenja poglavja na naslednji strani, razred \texttt{book} pa na naslednji desni strani. \item[\normalfont\texttt{final, draft}] \quad Ali gre za končno ali delovno verzijo. Pri delovni verziji so vse predolge vrstice označene s črnimi pravokotniki. \end{description} \end{flushleft} \end{lined} \end{table} Zgled: Vhodna \LaTeX{} datoteka se lahko začne z \begin{code} \ci{documentclass}\verb|[11pt,twoside,a4paper]{article}| \end{code} in to je navodilo \LaTeX{}u, da naj stavi dokument kot \emph{članek} z osnovno velikostjo črke \emph{11 pik}, prevedeni dokument pa naj bo primeren za \emph{dvostransko tiskanje} na \emph{papirju velikosti A4}. \pagebreak[2] \subsection{Paketi} \index{paketi} Med pisanjem svojih dokumentov boste verjetno odkrili, da nekaterih stvari ne morete narediti z osnovnim \LaTeX{}om. Če želite vključiti \wi{slike}, \wi{barvni tekst}, ali vključiti izvorno kodo iz neke datoteke v svoj tekst, morate razširiti zmožnosti \LaTeX{}a. Tovrstne izboljšave so paketi, vključimo pa jih z ukazom \begin{lscommand} \ci{usepackage}\verb|[|\emph{opcije}\verb|]{|\emph{paket}\verb|}| \end{lscommand} \noindent kjer je \emph{paket} ime paketa, \emph{opcije} pa seznam ključnih besed, ki nastavljajo določene opcije v paketu. Veliko paketov dobimo že ob osnovni namestitvi \LaTeXe{} (poglej tabelo~\ref{packages}). Ostali paketi so na voljo ločeno. Več informacij o nameščenih paketih na vašem računalniku lahko dobite v vašem \guide. Glavni vir podatkov o \LaTeX{} paketih je \companion. Vsebuje opise na stotine paketov skupaj z navodili, kako lahko razširimo \LaTeXe{} z novimi ukazi. \begin{table}[!hbp] \caption{Nekaj paketov, ki se namestijo poleg \LaTeX{}a.} \label{packages} \begin{lined}{11cm} \begin{description} \item[\normalfont\pai{doc}] Omogoča dokumentacijo \LaTeX{} programov.\\ Opisan je v \texttt{doc.dtx}\footnote{Ta datoteka naj bi bila nameščena na vašem sistemu, vi pa iz nje lahko dobite \texttt{dvi} datoteko če odtipkate \texttt{latex doc.dtx} v enem izmed imenikov, kjer imate dovoljenje za pisanje. Isto velja za vse ostale datoteke \texttt{*.dtx} v tej tabeli.} in v \companion. \item[\normalfont\pai{exscale}] Poskrbi za to, da je velikost matematičnih simbolov usklajena z velikostjo znakov.\\ Opisan je v \texttt{ltexscale.dtx}. \item[\normalfont\pai{fontenc}] Določa, katero \wii{kodna tabela}{kodno tabelo} naj \LaTeX{} uporablja.\\ Opisan je v \texttt{ltoutenc.dtx}. \item[\normalfont\pai{ifthen}] Omogoča \index{pogojni stavek}pogojne stavke oblike \\ `if\ldots then do\ldots otherwise do\ldots.'\\ Opisan je v \texttt{ifthen.dtx} in v \companion. \item[\normalfont\pai{latexsym}] S tem paketom pridemo do dodatnih simbolov iz \LaTeX{}ovega nabora simbolov. Opisan je v \texttt{latexsym.dtx} in v \companion. \item[\normalfont\pai{makeidx}] Doda ukaze za izdelavo indeksov. Opisan je v razdelku~\ref{sec:indexing} in v \companion. \item[\normalfont\pai{syntonly}] Prevede dokument brez stavljenja. \item[\normalfont\pai{inputenc}] S tem paketom lahko določimo vhodno kodno tabelo kot so npr.~ASCII, ISO Latin-1, ISO Latin-2, 437/850 IBM kodni tabeli, Apple Macintosh, Next, ANSI-Windows ali kaj poljubnega. Paket je opisan v \texttt{inputenc.dtx}. \end{description} \end{lined} \end{table} \subsection{Oblika strani} Posamezna stran je sestavljena iz \wii{glava strani}{glave}, \wii{telo strani}{telesa} in \wii{dno strani}{dna}. \LaTeX{} podpira tri vnaprej pripravljene kombinacije za glavo in dno, t.i.~\wi{oblike strani}. Parameter \emph{stil} ukaza \index{oblika strani!plain@\texttt{plain}}\index{plain@\texttt{plain}} \index{oblika strani!headings@\texttt{headings}}\index{headings@texttt{headings}} \index{oblika strani!empty@\texttt{empty}}\index{empty@\texttt{empty}} \begin{lscommand} \ci{pagestyle}\verb|{|\emph{stil}\verb|}| \end{lscommand} \noindent določa, kateri naj se uporablja. Tabela~\ref{pagestyle} vsebuje seznam že pripravljenih oblik strani. \begin{table}[!hbp] \caption{Vnaprej pripravljene oblike strani v \LaTeX{}u.} \label{pagestyle} \begin{lined}{12cm} \begin{description} \item[\normalfont\texttt{plain}] izpisuje številke strani na dnu strani na sredini. To je privzeta oblika strani. \item[\normalfont\texttt{headings}] izpisuje trenutni naslov poglavja in številko strani v glavi vsake strani, dno pa je prazno. (Ta oblika je uporabljena v tem dokumentu.) \item[\normalfont\texttt{empty}] nastavi, da sta tako glava kot dno strani prazna. \end{description} \end{lined} \end{table} Možno je spremeniti obliko strani le za tekočo stran z ukazom \begin{lscommand} \ci{thispagestyle}\verb|{|\emph{stil}\verb|}| \end{lscommand} Navodila za to, kako lahko naredimo lastno glavo in dno lahko najdete v \companion{} in v razdelku~\ref{sec:fancy} na strani~\pageref{sec:fancy}. % \section{Datoteke, ki jih lahko srečamo} Ko delamo z \LaTeX{}om se hitro znajdemo v zmešnjavi datotek z različnimi \index{končnice}končnicami, nimamo pa nobenega pojma, čemu služijo. Sledi seznam z različnimi \index{vrste datotek}vrstami datotek, ki jih lahko srečamo med delom s \TeX{}om. Seznam ni popoln in lahko srečamo še kakšne druge datoteke. \begin{description} \item[\wi{.tex}] \LaTeX{} ali \TeX{} vhodna datoteka. Prevedemo jo z \texttt{latex}. \item[\wi{.sty}] \LaTeX{} paket makro ukazov. To datoteko vključimo v \LaTeX{} dokument z ukazom \ci{usepackage}. \item[\wi{.dtx}] Dokumentirani \TeX{}. To je glavna oblika širjenja \LaTeX{}ovih paketov. Če prevedemo .dtx datoteko, dobimo dokumentirane makro ukaze v \LaTeX{} paketu vsebovanem v .dtx datoteki. \item[\wi{.ins}] Namestitev za datoteke v ustrezni .dtx datoteki. Če z interneta naložimo \LaTeX{} paket, potem ponavadi dobimo .dtx in .ins datoteko. Če poženemo \LaTeX{} na .ins datoteki, potem iz .dtx datoteke dobimo potrebne datoteke. \item[\wi{.cls}] Razredne datoteke določajo obliko dokumentov. Te datoteke izberemo z ukazom \ci{documentclass}. \item[\wi{.fd}] Opisi novih pisav. \end{description} Naslednje datoteke dobimo, ko poženemo \LaTeX{} na vhodni datoteki: \begin{description} \item[\wi{.dvi}] (Device Independent file). To je glavni rezultat prevajanja z \LaTeX{}om. Vsebino lahko pogledamo s programom za prikazovanje DVI datotek ali pa pošljemo v izpis na tiskalnik s pomočjo \texttt{dvips} ali podobnega programa. \item[\wi{.log}] Vrne podroben opis dogajanja med zadnjim prevajanjem (tu je tudi seznam napak v primeru le teh). \item[\wi{.toc}] Tu so shranjeni vsi naslovi poglavij. Prebere se pri vsakem zagonu prevajalnika in se porabi za generiranje kazala. \item[\wi{.lof}] Podobno kot .toc le da gre za kazalo slik. \item[\wi{.lot}] Podobno kot prej za kazalo tabel. \item[\wi{.aux}] Datoteka, kjer se shranjujejo podatki od enega prevajanja do drugega. Med drugim se tu shranijo tudi vse notranje reference. \item[\wi{.idx}] Če dokument vsebuje indeks, potem \LaTeX{} sem shrani vse besede, ki gredo v indeks. To datoteko je potrebno prevesti s programom \texttt{makeindex}. Poglejte razdelek \ref{sec:indexing} na strani \pageref{sec:indexing} za več informacij o indeksih. \item[\wi{.ind}] To je rezultat programa \texttt{makeindex} in to je datoteka z indeksom pripravljena za to, da se vstavi pri naslednjem prevajanju datoteke. \item[\wi{.ilg}] Opis dogajanja pri zadnjem prevajanju z \texttt{makeindex}. \end{description} \section{Obsežnejši projekti} Kadar delamo z obsežnimi dokumenti, lahko razdelimo vhodno datoteko na več delov. \LaTeX{} ima za to namenjena dva ukaza. \begin{lscommand} \ci{include}\verb|{|\emph{filename}\verb|}| \end{lscommand} \noindent uporabimo v telesu dokumenta, če želimo vstaviti vsebino datoteke z imenom \emph{filename.tex}. Pomembno je vedeti, da bo \LaTeX{} pred prevajanjem z datoteke \emph{filename.tex} začel z novo stranjo. Drugi ukaz lahko uporabljamo v preambuli. Z njim lahko \LaTeX{}u naročimo, da vključi vhodne datoteke le z nekaterih \verb|\include| datotek. \begin{lscommand} \ci{includeonly}\verb|{|\emph{datoteka}\verb|,|\emph{datoteka}% \verb|,|\ldots\verb|}| \end{lscommand} Ko se ta ukaz izvede v preambuli, se izvedejo ukazi \ci{include} le za tiste datoteke, ki so navedene kot argumenti v \ci{includeonly}. Med imeni datotek in vejicami ne sme biti nobenih presledkov. Ukaz \ci{include} začenja staviti vključeni tekst na novi strani. To je koristno kadar uporabljamo \ci{includeonly}, saj se prelomi strani ne spremenijo, tudi če izpustimo kakšno datoteko. V nekaterih primeri to ni zaželeno. V tem primeru lahko uporabimo ukaz \begin{lscommand} \ci{input}\verb|{|\emph{datoteka}\verb|}| \end{lscommand} \noindent Ta preprosto vključi navedeno datoteko. Če želimo da \LaTeX{} na hitro preveri naš dokument lahko uporabimo paket \pai{syntonly}. Ta povzroči, da \LaTeX{} na hitro oplazi dokument, saj preverja le pravilnost sintakse in uporabo ukazov, ne generira pa nobenega rezultata (DVI). V tem načinu \LaTeX{} teče hitreje in tako prihranimo dragocen čas. Uporaba je zelo preprosta: \begin{verbatim} \usepackage{syntonly} \syntaxonly \end{verbatim} Ko želimo, da pri prevajanju res nastanejo strani, le zakomentiramo drugo vrstico (dodamo znak za procent na začetek). % % Local Variables: % TeX-master: "lshort2e" % mode: latex % mode: flyspell % End: