%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Typesetting Part of LaTeX2e Introduction
% $Id: typeset.tex,v 1.2 2003/03/19 20:57:47 oetiker Exp $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Stavljenje teksta}

\begin{intro}
  Če ste prebrali prejšnje poglavje, potem poznate
  osnovne sestavine \LaTeXe{} datotek. V tem poglavju bomo to
  dopolnili z dodatnimi podatki, ki jih potrebujete, če želite
  pisati  ">ta prave"< dokumente.
\end{intro}

\section{Zgradba teksta in jezika}
\secby{Hanspeter Schmid}{hanspi@schmid-werren.ch}
Glavni namen pisanja teksta je prenesti določene ideje, podatke, ali znanje na bralca. 
Le ta bo tekst razumel bolje, če bodo ideje dobro strukturirane, to strukturo pa bo videl in občutil
veliko bolje, če se bo v tiskani obliki zrcalila logična in semantična zgradba vsebine.

\LaTeX{} se razlikuje od ostalih urejevalnikov besedil v tem, da mu moramo 
podati logično in semantično zgradbo teksta. Na podlagi tega lahko iz
pravil, ki veljajo za izbrani razred dokumenta in iz ustreznih stilskih datotek,
prevede besedilo v obliko za tiskanje.

Najpomembnejša enota besedila v \LaTeX{}u (in pri stavljenju teksta) je 
\wi{odstavek}.  Odstavek predstavlja eno zaključeno misel ali eno idejo. V raz\-del\-kih, 
ki sledijo, se
bomo naučili, kako lahko prelomimo vrstico (npr.{} z \texttt{\bs\bs}) in kako pridemo do novega
odstavka (npr.{} tako, da v vhodnem besedilu pustimo prazno vrstico). Torej, če začenjamo novo
misel, potem naj se začne v novem odstavku, sicer pa v vhodni datoteki uporabljamo le 
prelome vrstic.  Če smo v dvomih ali naj naredimo nov odstavek ali ne, potem si predstavljamo
celotno besedilo kot tekoči trak idej in razmišljanj.  Če imamo v besedilu nov odstavek, a se misel
iz prejšnjega nadaljuje, potem v resnici ne potrebujemo novega odstavka. Če pa se znotraj odstavka pojavi
popolnoma nova misel, potem je potrebno začeti nov odstavek.

Večina popolnoma podcenjuje pomembnost dobro postavljenih prelomov
odstavkov. Veliko jih sploh ne pozna pomena odstavka ali pa, še 
posebno v \LaTeX{}u, dodajajo prelome odstavkov, ne da bi za to sploh vedeli.
Ta zadnjo napako je še posebno lahko zagrešiti kadar tekst vsebuje tudi enačbe.
Poglejte naslednji zgled in ugotovite, zakaj nekje pred in po enačbi
uporabljamo prazno vrstico (prelom odstavka), drugje pa ne.  (Če še ne
poznate dovolj ukazov, da bi lahko brez težav razumeli te zglede, preberite to in še 
naslednje poglavje, potem pa se vrnite na ta razdelek.)
\begin{example}
\ldots Preko Pitagorovega izreka
\begin{equation} 
  c^2 = a^2+b^2 
\end{equation} 
lahko izračunamo tretjo 
stranico pravokotnega trikotnika 
iz ostalih dveh. 
\end{example}

\begin{example}
\ldots iz česar sledi Kirchoffov 
zakon o toku:
\begin{equation} 
  \sum_{k=1}^{n} I_k = 0 \; .
\end{equation} 

Izpeljemo lahko tudi Kirchhoffov 
zakon o napetosti \ldots
\end{example}

\begin{example}
\ldots, ki ima številne prednosti.

\begin{equation} 
  I_D = I_F - I_R
\end{equation} 
je bistvo drugačnega modela 
tranzistorja. \ldots
\end{example}

Naslednja manjša enota je stavek. V angleških besedilih za piko, ki konča stavek, stoji 
daljši presledek kot za piko, ki označuje okrajšavo. 
\LaTeX{} sicer sam poskuša ugotoviti, kaj od tega želimo,
če pa mu to ne uspe zadovoljivo, mu moramo povedati, kaj želimo. 
To je razloženo v nadaljevanju tega poglavja.

Strukturiranje teksta se nadaljuje celo na dele stavkov. Večina jezikov 
ima zelo zapletena pravila za postavljanje ločil, v veliko jezikih 
(vključno z nemščino in angleščino), pa se da zadeti skoraj vsako vejico, če se zavedamo,
da predstavlja kratko zaustavitev toka jezika. Če niste prepričani, kam
postaviti vejico, preberite stavek naglas in za vsako vejico naredite malo
premora. Če to na kakšnem mestu ne zveni najbolje, tisto vejico odstranite.
Prav tako, če morate na kakšnem mestu zajeti zrak (ali se ustaviti), potem
na to mesto postavite vejico.

Odstavke je potrebno logično povezati v strukture na višjem nivoju v 
poglavja, razdelke, podrazdelke, in tako dalje. Kako deluje ukaz kot je npr.{} 
\verb|\section{|\texttt{Struktura teksta in jezika}\verb|}| je tako očitno,
da je skoraj samoumevno kako se uporablja te višje strukture.


\section{Prelomi vrstic in strani}
 
\subsection{Obojestransko poravnani odstavki}

Ponavadi so knjige stavljene tako, da imajo vse vrstice enako dolžino.
\LaTeX{} vstavi potrebne \wii{prelom vrstice}{prelome vrstic} in presledke med besedami 
tako, da optimizira vsebino celotnega odstavka. Če je potrebno, tudi deli
besede, ki jih ni možno udobno postaviti v vrstico.
Sama oblika odstavkov je odvisna od uporabljenega razreda.
Normalno je prva vrstica zamaknjena, med dvema odstavkoma pa ni dodatnega navpičnega 
presledka. 
Več podrobnosti o tem lahko najdete v razdelku~\ref{parsp}.

V posebnih primerih je potrebno ukazati \LaTeX{}u, da naj prelomi vrstico ali stran. Ukaz 
\begin{lscommand}
\ci{\bs} ali \ci{newline} 
\end{lscommand}
\noindent izsili prelom vrstice, ostanemo pa v istem odstavku. Ukaz
\begin{lscommand}
\ci{\bs*}
\end{lscommand}
\noindent dodatno preprečuje prelom strani za izsiljenim prelomom vrstice. Ukaz
\begin{lscommand}
\ci{newpage}
\end{lscommand}
\noindent začenja novo stran. Ukazi
\begin{lscommand}
\ci{linebreak}\verb|[|\emph{n}\verb|]|,
\ci{nolinebreak}\verb|[|\emph{n}\verb|]|, 
\ci{pagebreak}\verb|[|\emph{n}\verb|]| and
\ci{nopagebreak}\verb|[|\emph{n}\verb|]|
\end{lscommand}
\noindent naredijo to, kar pravijo njihova imena. Z dodatnim parametrom \emph{n} lahko vplivamo 
na njihovo obnašanje. Vrednost parametra je lahko med $0$ in $4$. 
Če nastavimo \emph{n} na vrednost pod 4, potem pustimo 
\LaTeX{}u možnost, da ignorira naš ukaz, če bo rezultat zgledal zelo slabo.
Teh ">break"< ukazov ne smemo zamenjevati z ">new"< ukazi. Celo kadar uporabimo
">break"< ukaz, bo \LaTeX{} še vedno poskušal poravnati desni rob oziroma skupno dolžino strani, kot je 
opisano v naslednjem razdelku. Če res želimo novo vrstico (new line), potem je potrebno 
uporabiti ustrezni ukaz. Uganite njegovo ime!

\LaTeX{} vedno poskuša narediti čim boljše prelome vrstic. Če vseeno
ne uspe zlomiti vrstice tako, da bi to zadoščalo njegovim visokim standardom,
potem pusti, da ena vrstica štrli ven na desni strani odstavka.
V tem primeru \LaTeX{} med prevajanjem vhodne datoteke izpiše opozorilo 
(">\wi{overfull hbox}"<). Najpogostejši razlog je, da \LaTeX{} ni
 uspel poiskati primernega mesta za 
delitev besede.\footnote{Čeprav \LaTeX{} izpiše opozorilo
   (Overfull hbox) in izpiše predolgo vrstico, takih vrstic ni preprosto poiskati. 
   Če pri ukazu \ci{documentclass} označimo opcijo \texttt{draft}, potem bodo predolge
   vrstice označene z debelo črno črto na desnem robu.}
\LaTeX{}u lahko naročimo, da malo omili svoj kriterij z ukazom \ci{sloppy}. 
Ta prepreči predolge vrstice tako, da poveča presledke med posameznimi besedami, pa čeprav končni izgled
ni optimalen. Tudi v tem primeru \LaTeX{} pri prevajanju izpiše opozorilo (">\wi{underfull hbox}"<). 
V večini takšnih primerov rezultat ne zgleda najboljše. Ukaz \ci{fussy} vrne \LaTeX{} nazaj na privzeto nastavitev.

\subsection{Deljenje besed} \label{hyph}

\LaTeX{} deli besede, kadar je to potrebno. Če algoritem za deljenje ne najde pravilnega mesta deljenja,
lahko takšno situacijo popravimo tako, da \TeX{}u povemo za to izjemo.

Ukaz
\begin{lscommand}
\ci{hyphenation}\verb|{|\emph{seznam besed}\verb|}|
\end{lscommand}
\noindent povzroči, da se besede, ki so navedene v seznamu, delijo le na mestih označenih
z ">\verb|-|"<.  Argument ukaza naj vsebuje samo besede zgrajene iz normalnih črk oziroma znakov, ki se
v trenutnem kontekstu obnašajo kot normalne črke. Namigi za deljenje se shranijo za tisti jezik, ki je aktiven,
ko je uporabljen ukaz \texttt{hyphenation}. To pomeni, da če ukaz \texttt{hyphenation} stoji v preambuli, potem 
so to namigi za deljenje besed v angleščini. Če pa ukaz uporabimo 
za \verb|\begin{document}| in uporabljamo kakšen paket za podporo svojega jezika kot npr.~\pai{babel}, potem 
bodo namigi za deljenje aktivirani v okviru paketa \pai{babel}.

Spodnji primer omogoča, da se beseda ">hyphenation"< deli in prav tako 
">Hyphenation"<, preprečuje pa vsakršno deljenje besed ">FORTRAN"<, ">Fortran"< in ">fortran"<. 
V argumentu ukaza ni dovoljeno uporabljati posebnih znakov, posamezne besede pa ločimo
s presledki.
\begin{code}
\verb|\hyphenation{FORTRAN Hy-phen-a-tion}|
\end{code}

Namesto \texttt{hyphenation} lahko na samem mestu, kjer potrebujemo deljenje besede, 
uporabimo ukaze \ci{-}, ki označujejo potencialna mesta deljenja v besedi. 
Ta ukaz je še posebno uporaben za besede, ki vsebujejo posebne znake
(npr.{} znake z akcenti), saj \LaTeX{} ne zna avtomatično deliti besed, ki vsebujejo posebne znake.
%\footnote{Unless you are using the new
%\wi{DC fonts}.}.

\begin{example}
I think this is: su\-per\-cal\-%
i\-frag\-i\-lis\-tic\-ex\-pi\-%
al\-i\-do\-cious
\end{example}

Če ne želimo deljenja besede oziroma želimo, da več besed stoji skupaj v eni vrstici brez preloma vrstice, uporabimo ukaz 
\begin{lscommand}
\ci{mbox}\verb|{|\emph{text}\verb|}|
\end{lscommand}
\noindent Ukaz povzroči, da argument stoji skupaj v eni vrstici ne glede na okoliščine.

\begin{example}
Moja telefonska številka je 
spremenjena. Nova številka 
je \mbox{0116 291 2319}.

Parameter
\mbox{\emph{filename}} naj vsebuje 
ime datoteke.
\end{example}

Ukaz \ci{fbox} je podoben \ci{mbox}, dodatno pa nariše še vidni pravokotnik okrog
vsebine.


\section{Že pripravljeni nizi}

V nekaterih primerih na prejšnjih straneh ste lahko opazili nekaj zelo preprostih 
\LaTeX{}ovih ukazov, ki izpišejo tekstovni niz z določeno vsebino:

\vspace{2ex}

\noindent
\begin{tabular}{@{}lll@{}}
Ukaz&Primer&Opis\\
\hline
\ci{today} & \today   &  Trenutni datum v izbranem jeziku\\
\ci{TeX} & \TeX       & Ime vašega priljubljenega programa \\
\ci{LaTeX} & \LaTeX   & Glavna zadeva\\
\ci{LaTeXe} & \LaTeXe & Trenutna inkarnacija \LaTeX{}a\\
\end{tabular}

\section{Specialni znaki in simboli}
 
\subsection{Narekovaji}

Za \wii{narekovaji}{narekovaje} se \emph{ne} uporablja \verb|"| 
\index{""@\texttt{""}} kot na pisalnem stroju. Pri tisku poznajo 
posebne začetne in zaključne narekovaje. V \LaTeX{}u
uporabimo dva znaka ~\verb|`| za začetne narekovaje in
dva znaka~\verb|'| (apostrof) za zaključne narekovaje. Za enojne narekovaje 
uporabimo po en znak \verb|`| in \verb|'|.
\begin{example}
``Prosim, pritisnite `x' tipko.''
\end{example}
Seveda to velja le za narekovaje v angleščini. Za pravilen zapis
narekovajev v slovenščini si poglejte razdelek \ref{slovenscina}.

\subsection{Pomišljaji in vezaji}

\LaTeX{} pozna štiri vrste \wii{vezaj}{vezajev}. Do treh lahko pridemo tako, da  vnesemo 
od enega do tri zaporedne pomišljaje. Četrti znak v bistvu sploh ni vezaj, saj gre
za matematični simbol minus: \index{-}
\index{--} \index{---} \index{-@$-$} \index{matematični minus}

\begin{example}
daughter-in-law, X-rated\\
pages 13--67\\
yes---or no? \\
$0$, $1$ and $-1$
\end{example}
Imena so naslednja: 
`-' \wi{vezaj}, `--' \wi{pomišljaj}, `---' \wi{dvodelni pomišljaj} in
`$-$' \wi{minus}.

\subsection{Tilda ($\sim$)}
\index{www}\index{URL}\index{tilda ( \verb.~.)}
Znak, ki se pogosto pojavlja v internetnih naslovih, je tilda. V 
\LaTeX{}u jo lahko dobimo z \verb|\~|, vendar rezultat \~{} ni povsem to, kar želimo. Namesto tega lahko
poskusite:

\begin{example}
http://www.rich.edu/\~{}bush \\
http://www.clever.edu/$\sim$demo
\end{example}  
 
\subsection{Znak za stopinje ($\circ$)}

Kako v \LaTeX{}u izpišemo znak za stopinje, prikazuje naslednji primer.

\begin{example}
Pri $-30\,^{\circ}\mathrm{C}$
se bo kmalu začela superprevodnost.
\end{example}

Uporabimo lahko tudi paket \pai{textcomp}, kjer je znak za stopinje na voljo kot \ci{textcelsius}.


\subsection{Znak za valuto evro \texorpdfstring{(\officialeuro)}{}}

Za pisanje denarnih zneskov potrebujemo znak za evro. Ta je vključen
v številne pisave. Če v preambuli dokumenta
naložimo paket \pai{textcomp} z ukazom
\begin{lscommand}
\ci{usepackage}\verb|{textcomp}| 
\end{lscommand}
imamo potem na voljo ukaz
\begin{lscommand}
\ci{texteuro}
\end{lscommand}
za znak za evro.

Če v naši pisavi ni simbola za evro oziroma je na voljo, pa
nam ni všeč, imamo na voljo še dve dodatni možnosti.

Prva je paket \pai{eurosym}. V njem je na voljo uradni simbol
za evro:
\begin{lscommand}
\ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}|
\end{lscommand}
Če bi raje uporabili simbol za evro, ki bi se ujemal z izbrano pisavo, 
lahko uporabimo opcijo 
\texttt{gen} namesto opcije \texttt{official}.

%If the Adobe Eurofonts are installed on your system (they are available for
%free from \url{ftp://ftp.adobe.com/pub/adobe/type/win/all}) you can use
%either the package \pai{europs} and the command \ci{EUR} (for a Euro symbol
%that matches the current font).
% does not work
% or the package
% \pai{eurosans} and the command \ci{euro} (for the ">official Euro"<).

V paketu \pai{marvosym} je na voljo mnogo različnih simbolov, 
vključno z znakom za evro, ki ima ime \ci{EURtm}. Slabost tega paketa je,
da ne podpira nagnjenih in krepkih variant znaka za evro..

\begin{table}[!htbp]
\caption{Polna vreča znakov za evro} \label{eurosymb}
\begin{lined}{10cm}
\begin{tabular}{llccc}
LM+textcomp  &\verb+\texteuro+ & \huge\texteuro &\huge\sffamily\texteuro
                                                &\huge\ttfamily\texteuro\\
eurosym      &\verb+\euro+ & \huge\officialeuro &\huge\sffamily\officialeuro
                                                &\huge\ttfamily\officialeuro\\
$[$gen$]$eurosym &\verb+\euro+ & \huge\geneuro  &\huge\sffamily\geneuro
                                                &\huge\ttfamily\geneuro\\
%europs       &\verb+\EUR + & \huge\EURtm        &\huge\EURhv
%                                                &\huge\EURcr\\
%eurosans     &\verb+\euro+ & \huge\EUROSANS  &\huge\sffamily\EUROSANS
%                                             & \huge\ttfamily\EUROSANS \\
marvosym     &\verb+\EURtm+  & \huge\mvchr101  &\huge\mvchr101
                                               &\huge\mvchr101
\end{tabular}
\medskip
\end{lined}
\end{table}

\subsection{Tri pike ( \ldots )}

Na pisalnem stroju \wi{vejica} in \wi{pika} zavzameta enako velik prostor
kot katerikoli drug znak.
V knjigah ta znaka zavzameta le malo prostora in stojita zelo blizu
predhodnih črk. 
Zaradi tega ne moremo vnesti \wii{tri pike}{tri pike} tako, da bi le vnesli tri pike, saj bi bili presledki napačni. Za tri pike imamo poseben ukaz

\begin{lscommand}
\ci{ldots}
\end{lscommand}
\index{...@\ldots}


\begin{example}
Ne tako ... ampak tako:\\
New York, Tokio, Budimpešta, \ldots
\end{example}

\subsection{Ligature}

Nekatere kombinacije črk se ne stavijo s postavljanjem različnih črk druge k drugi,
temveč se uporabi posebne simbole.
\begin{code}
{\large ff fi fl ffi\ldots}\quad
namesto\quad {\large f{}f f{}i f{}l f{}f{}i \ldots}
\end{code}
Te t.i.~\wi{ligature} lahko preprečimo, če med ustrezni dve črki vrinemo \ci{mbox}\verb|{}|. To je lahko 
pomembno, če je beseda sestavljena iz dveh samostojnih besed.
\begin{example}
Not shelfful\\
but shelf\mbox{}ful
\end{example}

\subsection{Akcenti in posebni znaki}
 
\LaTeX{} podpira uporabo \wii{akcenti}{akcentov} in \wii{posebni znaki}{posebnih znakov},
ki jih poznajo neangleški jeziki. Tabela~\ref{accents} prikazuje vse možne akcente, s katerimi
lahko opremimo črko o. Seveda to deluje tudi za ostale črke.

Če želimo postaviti akcent na vrh črke i ali j, potem moramo najprej odstraniti piko.
To naredimo z ukazom \verb|\i| oziroma \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, 
\v{s}\v{c}epec soli 
\end{example}

\begin{table}[!hbp]
\caption{Akcenti in posebni znaki.} \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} \\[6pt]
\A{\o}  & \A{\O} & \A{\l} & \A{\L} \\
\A{\i}  & \A{\j} & !` & \verb|!`| & ?` & \verb|?`| 
\end{tabular}
\index{gola \i{} in \j}\index{skandinavski znaki}
\index{šumniki}
\index{ae@\ae}\index{preglas}
\index{oe@\oe}

\bigskip
\end{lined}
\end{table}

\section{Podpora drugih jezikov}
\index{mednarodne nastavitve}Če pišemo besedila v \wi{jezik}u, ki ni angleščina, potem 
moramo \LaTeX{} na treh mestih pravilno nastaviti:

\begin{enumerate}
\item Vsi nizi, ki se avtomatično generirajo\footnote{npr.~Table of
    Contents, List of Figures, \ldots} morajo biti prilagojeni novemu jeziku. Za večino jezikov,
    med njimi tudi za slovenščino, lahko to dosežemo z uporabo paketa \pai{babel}, ki ga je napisal Johannes Braams.
\item \LaTeX{} mora poznati pravila za deljenje besed za novi jezik. Za večino jezikov (tudi za slovenščino) je to
  že vključeno v paket \texttt{babel}, le pri namestitvi je \LaTeX{}u potrebno povedati, da naj jih uporablja, kar
  je odvisno od operacijskega sistema lahko malce bolj zapleteno opravilo. Če podpore za jezik ni, 
  je potrebno ročno zgraditi datoteko pravil za deljenje. 
\item Potrebno je nastaviti specifična pravila za stavljenje teksta. 
Npr.,~v francoščini mora obvezno stati presledek pred vsakim dvopičjem (:).
\end{enumerate}

Če je sistem že pravilno nastavljen, potem lahko paket 
\pai{babel} aktiviramo z ukazom
\begin{lscommand}
\ci{usepackage}\verb|[|\emph{jezik}\verb|]{babel}| 
\end{lscommand}
\noindent za ukazom \verb|\documentclass|. Argument \emph{jezik} je ime jezika,
ki ga podpira sistem. V primeru slovenščine je to \texttt{slovene}. 
Pri vsakem klicu prevajalnika se izpiše seznam jezikov, ki so vgrajeni v naše
\LaTeX{} okolje.
Babel 
avtomatično vključi ustrezna pravila za deljenje za izbrani jezik. Če \LaTeX{} ne podpira
deljenja v izbranem jeziku, bo \textsf{babel} še vedno delal, toda deljenje besed bo ali izključeno ali pa nepravilno, kar ima lahko negativne posledice
na sam videz prevedenega dokumenta.

Pri nekaterih jezikih \textsf{babel} tudi definira nove ukaze, ki poenostavijo vnos posebnih znakov
oziroma lokalnih črk. V slovenščini tako lahko šumnike pišemo 
kot \verb|"c|, \verb|"s|, \verb|"z|, \verb|"C|, \verb|"S|, \verb|"Z| 
namesto
\verb|\v{c}|, \verb|\v{s}|, \verb|\v{z}|, \verb|\v{C}|, \verb|\v{S}|, \verb|\v{Z}|.
V vseh novejših različicah \LaTeX{}a lahko šumnike vnašamo 
tudi kot \verb|č|, \verb|š|, \verb|ž|, \verb|Č|, \verb|Š|, \verb|Ž|,
podrobnosti najdete v nadaljevanju.

Če pri klicu paketa babel navedemo več jezikov
\begin{lscommand}
\ci{usepackage}\verb|[|\emph{jezikA}\verb|,|\emph{jezikB}\verb|]{babel}| 
\end{lscommand}
\noindent potem bo aktiven zadnji jezik iz seznama (v zgornjem primeru 
jezikB). Z ukazom 
\begin{lscommand}
\ci{selectlanguage}\verb|{|\emph{jezikA}\verb|}|
\end{lscommand}
\noindent lahko spremenimo aktivni jezik.

%Input Encoding
\newcommand{\ieih}[1]{%
\index{encodings!input!#1@\texttt{#1}}%
\index{input encodings!#1@\texttt{#1}}%
\index{#1@\texttt{#1}}}
\newcommand{\iei}[1]{%
\ieih{#1}\texttt{#1}}
%Font Encoding
\newcommand{\feih}[1]{%
\index{encodings!font!#1@\texttt{#1}}%
\index{font encodings!#1@\texttt{#1}}%
\index{#1@\texttt{#1}}}
\newcommand{\fei}[1]{%
\feih{#1}\texttt{#1}}

Večina modernih operacijskih sistemih dopušča, da posebne znake 
nacionalne abecede vnašamo kar direktno s tipkovnico. 
Za obdelavo različnih vhodnih kodnih tabel, ki jih potrebujemo
za različne skupine jezikov in različna računalniška okolja,
\LaTeX{} uporablja paket
\pai{inputenc}, ki ga vključimo z ukazom
\begin{lscommand}
\ci{usepackage}\verb|[|\emph{kodna tabela}\verb|]{inputenc}| 
\end{lscommand}

Pri uporabi tega paketa moramo razmišljati o tem, da zaradi uporabe različnih kodnih tabel na
različnih operacijskih sistemih, dokument s takim kodiranjem mogoče ne bo možno 
predelati na drugem računalniku. Tipičen primer so šumniki, ki imajo pod Okni na PC
drugačne kode kot pa na Unixu. 
Naslednja tabela prikazuje nekatera 
imena kodnih tabel, ki jih lahko uporabimo kot argument v 
paketu \textsf{inputenc}:\footnote{Več o podprtih
vhodnih kodiranjih za jezike, ki uporabljajo latinico in
cirilico, lahko najdete v v dokumentaciji 
\texttt{inputenc.dtx} oziroma \texttt{cyinpenc.dtx}.
 V razdelku~\ref{sec:Packages} preberite, kako se
pripravi navodila za pakete iz \texttt{.dtx} datotek.}
\begin{center}
\begin{tabular}{l | r}
operacijski sistem & kodna tabela\\
\hline
Mac     &  \texttt{applemac} \\
Unix    &  \texttt{latin1} \\ 
Windows &  \texttt{ansinew} \\
OS/2    &  \texttt{cp850} \\
MS-DOS (šumniki) & \texttt{cp852} \\ 
Windows (šumniki) & \texttt{cp1250} \\
Unix (šumniki) & \texttt{latin2} \\
\end{tabular}
\end{center}

Če imate večjezični dokument, v katerem se iste kode znakov uporabljajo
v različnih jezikih za različne črke, je mogoče bolje, da preklopite na kodiranje
unicode z uporabo paketa \pai{ucs}. Ukaza

\begin{lscommand}
\ci{usepackage}\verb|{ucs}|\\ 
\ci{usepackage}\verb|[|\iei{utf8x}\verb|]{inputenc}| 
\end{lscommand}
\noindent vam omogočata kreiranje \LaTeX{}ove vhodne datoteke v kodiranju
\iei{utf8x}, kjer je vsak znak predstavljen z najmanj enim in največ štirimi
bajti. 

Samo kodiranje pisave je druga zadeva. Ta pove, na katerem položaju v 
\TeX{}ovih pisavah je shranjen posamezni znak. Več vhodnih kodiranj se
lahko preslika na isto kodiranje pisave, kar zmanjša število potrebnih 
pisav. Za kodiranje pisav skrbi paket \pai{fontenc}: \label{fontenc}
\begin{lscommand}
\ci{usepackage}\verb|[|\emph{kodiranje}\verb|]{fontenc}| \index{font encodings}
\end{lscommand}
\noindent kjer je \emph{kodiranje} izbrano kodiranje pisave. 
Možno je naložiti več kodiranj pisav naenkrat.

Privzeto \TeX{}ovo kodiranje pisave je \label{OT1} \fei{OT1}, 
kar ustreza originalni Computer Modern pisavi. Ta
 vsebuje le 128 znakov 7-bitnega ASCII nabora znakov. 
Ko potrebujemo znake z akcenti, jih \TeX{} naredi tako, da kombinira normalno črko z ustreznim 
akcentom. Čeprav rezultat zgleda sijajno, pa tak pristop preprečuje avtomatično deljenje besed,
ki vsebujejo znake z akcenti. Poleg tega nekaterih znakov v latinici ni možno
sestaviti s kombiniranjem akcenta in normalne črke, da grških črk in cirilice sploh ne omenjamo.

Za odpravo te pomanjkljivosti so razvili 
nekaj 8 bitnih pisav, ki so podobne Computer Modern (CM). Tako
\emph{Extended Cork} (EC) pisave v \fei{T1} kodiranju vsebujejo 
črke in ločila za večino evropskih jezikov, ki uporabljajo latinico.
Pisave LH vsebujejo črke za pisavo dokumentov v cirilici. 
Ker je znakov v cirilici veliko, so urejeni v štiri kodiranja---\fei{T2A}, \fei{T2B}, \fei{T2C}
in~\fei{X2}.\footnote{Seznam jezikov, ki jih podpira vsako izmed teh
kodiranj, lahko najdete v \cite{cyrguide}.} Skupina CB vsebujejo 
pisave v \fei{LGR} kodiranju za sestavljanje grških tekstov.

Z uporabo teh pisav lahko izboljšamo deljenje besed v neangleških besedilih. 
Še ena prednost je tudi, da imamo na voljo CM pisave vseh debelin,
nagibov in poljubne optične povečave. 

\subsection{Podpora za slovenščino}\label{slovenscina}

Tu je nekaj kratkih napotkov za pisanje \index{slovenščina}slovenskih dokumentov. Najprej je potrebno
naložiti paket \textsf{babel} in izbrati slovenščino.

\begin{lscommand}
\verb|\usepackage[slovene]{babel}|
\end{lscommand}

To vključi slovenska pravila za deljenje besed, če je \LaTeX{} pravilno nameščen (če ni, poglejte
navodila \cite{slotex}.) Teksti, ki jih 
\TeX{} avtomatično generira, so prevedeni. Tako npr.~">Chapter"< postane ">Poglavje"<. 
Poleg tega imamo sedaj na voljo nekaj novih ukazov za lažji zapis slovenskih tekstov, ki so prikazani v tabeli
\ref{german}. 

\begin{table}[!hbp]
\caption{Posebni znaki v slovenščini.} \label{german}
\begin{lined}{5cm}
\begin{tabular}{*2{cl}}
\verb|"c| & "c \hspace*{1ex} & \verb|"C| & "C \\[1ex]
\verb|"s| & "s \hspace*{1ex} & \verb|"S| & "S \\[1ex]
\verb|"z| & "z \hspace*{1ex} & \verb|"Z| & "Z \\[1ex]
\verb|"`| & \glqq & \verb|"'| & \grqq \\[1ex]
\verb|"<| & \flqq  & \verb|">| & \frqq 
\end{tabular}
\bigskip
\end{lined}
\end{table}

Namesto \verb|"c|, \verb|"s|, \ldots, lahko do šumnikov pridemo tudi tako, da v vhodno 
datoteko kar direktno pišemo šumnike, če pravilno nastavimo
vhodno kodno tabelo. Se pa moramo zavedati, da so potem takšni vhodni dokumenti prenosljivi le
znotraj istega operacijskega sistema. Za rezultate to ni pomembno, saj so DVI datoteke neodvisne
od kodne tabele v vhodnih podatkih. 

Priporočljivo je tudi vedno uporabljati pisave EC, zaradi deljenja besed s šumniki.

Kratek dokument v slovenščini (pomebna je le preambula) je prikazan na sliki~\ref{sloslika}. Pomembno
je tudi, da v ukazu \texttt{documentclass} uporabimo opcijo \texttt{a4paper}, saj je privzeta velikost
papirja \texttt{letter}, medtem ko pri nas uporabljamo papir A4.

\begin{figure}[!bp]
\begin{lined}{10cm}
\begin{verbatim}
\documentclass[a4paper]{article}
\usepackage[slovene]{babel}
\usepackage[cp1250]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
To je zelo zelo preprosto besedilo v slovenščini.
\end{document}
\end{verbatim}
\end{lined}
\caption{Primer vhodne \LaTeX{} datoteke v slovenščini.} \label{sloslika}
\end{figure}

\section{Razmiki med besedami}

Da bi bilo besedilo tudi na desni strani poravnano, \LaTeX{} vstavlja med besede različno široke razmike. 
Na koncu stavka vstavi malo večji presledek, da je tekst lažje berljiv. \LaTeX{}
predpostavlja, da se stavek konča s piko, vprašajem ali klicajem. Če pika sledi veliki črki, potem 
to ne vzame za konec stavka, saj se velike črke in pika normalno pojavljajo v okrajšavah.

Vsako odstopanje od teh pravil mora avtor sam izrecno navesti.
Znak $\backslash$ pred presledkom
naredi presledek, ki ga \LaTeX{} ne bo raztegnil. Znak \verb|~| se prevede v presledek, ki ga ni moč povečati,
na tem mestu pa tudi ni moč zlomiti vrstice. Ukaz 
\verb|\@| pred piko pomeni, da ta pika končuje stavek, ne glede na to, da je pred njo 
velika črka.
\cih{"@} \index{~@ \verb.~.} \index{tilda ( \verb.~.)}
\index{., presledek za}

\begin{example}
Mr.~Smith was happy to see her\\
cf.~Fig.~5\\
I like BASIC\@. What about you?
\end{example}

Dodatne presledke za vejico lahko izključimo z ukazom
\begin{lscommand}
\ci{frenchspacing}
\end{lscommand}
\noindent ki pove \LaTeX{}u, da naj za vejico ne vstavlja večji presledek kot za normalno črko. To je zelo pogosto
v neagleških jezikih, razen v seznamu literature. Če uporabimo ukaz
\ci{frenchspacing}, potem ukaza \verb|\@| ne potrebujemo.

\section{Naslovi, poglavja in razdelki}

Da se bo bralec lažje znašel v vašem dokumentu, se ga spodobi razdeliti na logične enote, kot so 
poglavja, razdelki in podrazdelki. \LaTeX{} ima na voljo posebne ukaze, kjer kot argument
navedemo naslov enote. Paziti moramo na to, da jih uporabljamo v pravilnem vrstnem redu.

Naslednji ukazi za logične enote so na voljo v razredu \texttt{article}: \nopagebreak
\begin{code}
\ci{section}\verb|{...}           |\ci{paragraph}\verb|{...}|\\
\ci{subsection}\verb|{...}        |\ci{subparagraph}\verb|{...}|\\
\ci{subsubsection}\verb|{...}|
\end{code}

Kadar želimo razdeliti dokument na dele, ki na ne vplivajo na oštevilčenje
razdelkov oziroma poglavij, uporabimo
\begin{code}
\ci{part}\verb|{...}|
\end{code}

V razredih \texttt{report} in \texttt{book} je na voljo še dodatni
višji nivo za deljenje dokumentov:
\begin{code}
\ci{chapter}\verb|{...}|
\end{code}

Ker razred \texttt{article} ne pozna poglavij, je zelo preprosto iz posameznih člankov narediti
poglavja knjige. Za presledke med enotami, njihovo oštevil\-čen\-je in velikost pisave
avtomatično skrbi \LaTeX. 

\pagebreak[3]
Dva ukaza za logično delitev besedila sta posebna: 
\begin{itemize}
\item Ukaz \ci{part} ne vpliva na oštevilčenje poglavij.  
\item Ukaz \ci{appendix} je brez argumenta. Vse kar naredi je, da oštevilčenje poglavij 
  spremeni v črke.\footnote{V razredu \texttt{article} spremeni oštevilčenje razdelkov.}
\end{itemize}

\LaTeX{} sam naredi kazalo iz naslovov logičnih enot, številke strani pa vzame iz prejšnjega prevajanja dokumenta. 
Ukaz 
\begin{lscommand} 
\ci{tableofcontents}
\end{lscommand} 
\noindent na mestu uporabe pripravi kazalo. Zaradi morebitnih sprememb 
strani je 
potrebno vhodni dokument prevesti z \LaTeX{}om dvakrat, da bodo strani v kazalu pravilne, 
v nekaterih primerih pa so potrebna tudi tri prevajanja. Pri prevajanju \LaTeX{} sam opozori,
kdaj je priporočljivo dokument še enkrat prevesti.

Vsi ukazi za logične enote imajo tudi različico ">z zvezdico"<. Dobimo jih tako, da 
ustreznemu ukazu na koncu dodamo zvezdico \verb|*|. Tak ukaz pripravi naslov enote, vendar se 
ta naslov ne pojavi v kazalu in ni oštevilčen. Ukaz \verb|\section{Pomoč}|  lahko tako spremenimo
v \verb|\section*{Pomoč}|, če želimo neoštevilčeni razdelek, ki se ne bo pojavil v kazalu.

Normalno se naslovi enot pojavijo v kazalu v takšni obliki kot so vnešeni v tekst.
V nekaterih primerih to ni možno, saj je lahko naslov predolg za eno vrstico v kazalu. V takšnem primeru
lahko naslov, ki naj se izpiše v kazalu, podamo kot dodatni argument pred dejanskim naslovom

\begin{code}
\verb|\chapter[Kratek naslov za kazalo]{Dolg|\\
\verb|    in še posebno dolgočasen naslov,|\\
\verb|    ki se izpiše na začetku poglavja}|
\end{code} 

\index{naslov}Naslov celotnega dokumenta se naredi z ukazom 
\begin{lscommand}
\ci{maketitle}
\end{lscommand}
\noindent Vsebino naslova je potrebno definirati z ukazoma
\begin{lscommand}
\ci{title}\verb|{...}|, \ci{author}\verb|{...}| 
in po želji tudi z ukazom \ci{date}\verb|{...}| 
\end{lscommand}
\noindent še preden kličemo ukaz \verb|\maketitle|. Kot argument ukaza \ci{author} lahko podamo več
imen, ki jih ločimo z ukazom \ci{and}. 

Primer uporabe nekaterih izmed naštetih ukazov je na sliki~\ref{document} na strani~\pageref{document}.

Poleg že omenjenih ukazov \LaTeXe{} pozna še nekaj dodatnih ukazov, ki jih lahko uporabimo v razredu \verb|book|. 
Primerni so za razdelitev publikacije na tri dele in spremenijo 
naslove poglavij in oštevilčenje strani, kot je to v navadi v knjigi:
\begin{description}
\item[\ci{frontmatter}] naj bi bil čisto prvi ukaz za 
  \verb|\begin{document}|. Ta ukaz spremeni oštevilčenje strani v rimske številke. Na začetku
    knjige uporabljamo neoštevilčene logične enote, kot npr. \verb|\chapter*{Predgovor}|, ki ne nastopajo v
    kazalu, strani pa so oštevilčene z rimskimi številkami.
\item[\ci{mainmatter}] uporabimo takoj za prvim poglavjem v knjigi (za poglavjem z rimskimi številkami),
  ukaz pa spremeni oštevilčenje strani na arabske številke in postavi števec strani na začetek.
\item[\ci{appendix}] Označuje začetek dodatka v knjigi. Od tu naprej so poglavja oštevilčena s črkami.
\item[\ci{backmatter}] vstavimo pred zadnjimi stvarmi v knjigi, kot sta seznam literature in stvarno kazalo,
  ukaz pa izklopi oštevilčenje logičnih enot. V preostalih standardnih razredih dokumentov ukaz nima nobenega učinka.
\end{description}

\section{Sklicevanja}

V knjigah, poročilih in člankih se velikokrat \wii{sklicevanja}{sklicujemo} na slike, tabele in druge dele teksta.
\LaTeX{} ima na voljo naslednje ukaze za sklicevanja
\begin{lscommand}
\ci{label}\verb|{|\emph{marker}\verb|}|, \ci{ref}\verb|{|\emph{marker}\verb|}| 
in \ci{pageref}\verb|{|\emph{marker}\verb|}|
\end{lscommand}
\noindent kjer je \emph{marker} oznaka, ki jo izbere uporabnik in mora biti seveda enolična.
\LaTeX{} zamenja \verb|\ref| z oznako razdelka, podrazdelka, slike, tabele, ali izreka, kjer smo uporabili
ustrezni ukaz \verb|\label|. Ukaz \verb|\pageref| izpiše številko strani, na kateri je med besedilom ukaz 
\verb|\label|.\footnote{Ti ukazi ne vedo, na kaj se sklicujejo. \ci{label} shrani le zadnjo avtomatično narejeno
  oznako.} Kot pri naslovih enot in straneh v kazalu, se tudi tu uporabijo oznake iz prejšnjega prevajanja 
  besedila.

\begin{example}
Sklic na ta podrazdelek
\label{sec:this} ima obliko:\\
">poglej podrazdelek~\ref{sec:this} 
na strani ~\pageref{sec:this}."<
\end{example}
 
\section{Opombe}
Z ukazom
\begin{lscommand}
\ci{footnote}\verb|{|\emph{footnote text}\verb|}|
\end{lscommand}
\noindent izpišemo opombo pod črto na dnu tekoče strani.  Opombe vedno vstavljamo 
za besedo oziroma stavkom, na katerega se nanašajo. Opombe na del stavka je 
zato potrebno postaviti za piko ali vejico.\footnote{Opombe odmikajo bralca od glavnega besedila. Res je,
da vsi beremo opombe, ker smo radovedni, ampak ali ni bolje vsega, kar želimo povedati,  vstaviti v 
glavni dokument?\footnotemark}
\footnotetext{Pred dajanjem nasvetov bi bilo mogoče dobro pomesti pred lastnim pragom \ldots.}

\begin{example}
Opombe\footnote{To je 
opomba.} se v \LaTeX{}u 
pogosto uporabljajo.
\end{example}
  
\section{Poudarjene besede}

Če tekst pišemo na pisalnem stroju, potem pomembne besede poudarimo tako, da jih
\underline{podčrtamo}. Za podčrtanje je v \LaTeX{}u na voljo ukaz
\begin{lscommand}
\ci{underline}\verb|{|\emph{text}\verb|}|
\end{lscommand}
\noindent V natisnjenih knjigah so besede ponavadi poudarjene tako, da so zapisane
s \emph{poševno} pisavo.  V \LaTeX{}u imamo za poudarjanje besed na voljo ukaz
\begin{lscommand}
\ci{emph}\verb|{|\emph{text}\verb|}|
\end{lscommand}
\noindent Rezultat ukaza je odvisen od konteksta, kjer ga uporabimo:

\begin{example}
\emph{Če poudarimo
  tekst znotraj poudarjenega 
  tekst, potem ga \LaTeX{} 
  poudari z \emph{normalno} 
  pisavo.}
\end{example}

Bodite pozorni na razliko med tem, ko \LaTeX{}u naročimo, da naj \emph{poudari} tekst in
tem, ko mu naročimo, da naj uporablja drugačno \emph{pisavo}:

\begin{example}
\textit{Tudi v poševni pisavi
  lahko \emph{poudarimo} tekst,} 
\textsf{prav tako v \emph{gladki}
  (sans serif) pisavi,}
\texttt{in v pisavi 
  \emph{pisalnega stroja}.}
\end{example}

\section{Okolja} \label{env}

Za izpis teksta posebne oblike (naštevanja, sredinsko poravnani tekst,\ldots) so v  
\LaTeX{}u na voljo številna \wi{okolja}. Okolje se začne z
\verb|\begin{ime okolja}| in konča z \verb|\end{ime okolja}|, vmes pa postavimo 
tekst, za katerega želimo poseben izpis:
\begin{lscommand}
\ci{begin}\verb|{|\emph{okolje}\verb|}|\quad
   \emph{tekst}\quad
\ci{end}\verb|{|\emph{okolje}\verb|}|
\end{lscommand}
\noindent Tu je \emph{okolje} naziv okolja. Okolja lahko gnezdimo enega v drugega vse dokler 
uporabljamo pravilni vrstni red, kot npr.
\begin{code}
\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}|
\end{code}

\noindent V naslednjih podrazdelkih so opisana vsa pomembnejša okolja.

\subsection{Seznami}

Okolje \ei{itemize} je primerno za preproste sezname, kjer navajamo stvari, okolje 
\ei{enumerate} je namenjeno za oštevilčene sezname, okolje 
\ei{description} pa za sezname, kjer opisujemo zadeve.
\cih{item}

\begin{example}
\flushleft
\begin{enumerate}
\item Različna okolja lahko mešamo 
po lastnem okusu:
\begin{itemize}
\item Toda to lahko postane smešno. 
\item[-] To se začne s pomišljajem.
\end{itemize}
\item Zapomnite si:
\begin{description}
\item[Neumne] zadeve ne bodo 
postale pametne, če so v 
seznamu.
\item[Pametne] zadeve, za razliko,
pa lahko čudovito prikažemo 
s seznamom.
\end{description}
\end{enumerate}
\end{example}

 
\subsection{Levo, desno in sredinsko poravnan tekst}

Okolji \ei{flushleft} in \ei{flushright} naredita odstavke, ki so 
levo oziroma desno poravnani.\index{leva poravnava}\index{desna poravnava}
Tekst v okolju \ei{center} je sredinsko poravnan. Če z ukazom 
\ci{\bs} ne povemo, kje so prelomi, bo \LaTeX{} sam določil prelome vrstic.

\begin{example}
\begin{flushleft}
Ta tekst je \\ levo poravnan. 
\LaTeX{} se ne trudi narediti 
vrstic z enakimi dolžinami.
\end{flushleft}
\end{example}

\begin{example}
\begin{flushright}
Ta tekst je desno \\poravnan.
Kot prej tudi tu vrstice nimajo
enakih dolžin.
\end{flushright}
\end{example}

\begin{example}
\begin{center}
V središču\\sveta
\end{center}
\end{example}

\subsection{Navedki in verzi}

Okolje \ei{quote} uporabljamo za navedke, pomembne fraze in primere.

\begin{example}
Splošno tiskarsko pravilo za 
dolžino vrstice je:
\begin{quote}
V povprečju ne sme imeti nobena
vrstica več kot 66 znakov.
\end{quote}
Zaradi tega imajo strani v 
\LaTeX{}u privzete tako velike 
robove in zato se v časopisih 
uporablja več stolpcev.
\end{example}

Dve podobni okolji sta \ei{quotation} in
\ei{verse}. Okolje \texttt{quotation} uporabljamo za daljše navedke,
ki so lahko sestavljeni iz več odstavkov, saj so v tem okolju odstavki zamaknjeni.
Okolje \texttt{verse} pa je pomembno za pisanje pesmi, kjer so prelomi vrstic pomembni. 
Vrstice ločimo z ukazom \ci{\bs} na koncu vrstice, kitice pa s prazno vrstico.

\begin{example}
Tole pesem najbrž vsi poznamo.
\begin{flushleft}
\begin{verse}
Barčica po morju plava,\\
drevesa se priklanjajo.\\ 
O le naprej, o le naprej,\\
dokler je še vetra kej.

Barčica po morju plava \ldots
\end{verse}
\end{flushleft}
\end{example}

\subsection{Povzetek}

V znanstvenih publikacijah je običajno na začetku povzetek (abstrakt), v 
katerem je kratek pregled vsebine dokumenta. \LaTeX{} ima v ta namen na voljo okolje 
\ei{abstract}. Okolje \ei{abstract} uporabljamo
v dokumentih, ki so napisani v razredu article.

\newenvironment{abstract}%
        {\begin{center}\begin{small}\begin{minipage}{0.8\textwidth}}%
        {\end{minipage}\end{small}\end{center}}
\begin{example}
\begin{abstract}
To je povzetek.
\end{abstract}
\end{example}

\subsection{Dobesedni izpis}

Tekst med \verb|\begin{|\ei{verbatim}\verb|}| in
\verb|\end{verbatim}| bo natisnjen tako, kot da bi ga natisnili s pisalnim strojem,
z vsemi prelomi vrst in presledki vred in brez izvajanja morebitnih \LaTeX{}ovih ukazov.

Znotraj odstavka lahko podobno dosežemo z 
\begin{lscommand}
\ci{verb}\verb|+|\emph{text}\verb|+|
\end{lscommand}
\noindent Črka \verb|+| je le ena možnost, v resnici lahko uporabimo poljuben par enakih znakov za označitev začetka in konca,
razen črk, znaka \verb|*| ali presledka. Veliko \LaTeX{} zgledov v tej knjigi 
je natisnjenih ravno s tem ukazom.

\begin{example}
Ukaz \verb|\ldots| naredi \ldots

\begin{verbatim}
10 PRINT "HELLO WORLD ";
20 GOTO 10
\end{verbatim}
\end{example}

\begin{example}
\begin{verbatim*}
različica z zvezdico
okolja     verbatim   
poudari   presledke
v besedilu
\end{verbatim*}
\end{example}

Podobno lahko tudi ukazu \ci{verb} dodamo na konec zvezdico:

\begin{example}
\verb*|kot kaže  ta    primer :-) |
\end{example}

Okolja \texttt{verbatim} in ukaza \verb|\verb| ne moremo uporabljati znotraj
argumentov drugih ukazov.

\subsection{Tabele}

\newcommand{\mfr}[1]{\framebox{\rule{0pt}{0.7em}\texttt{#1}}}

Okolje \ei{tabular} uporabljamo za stavljenje lepih \wii{tabele}{tabel},
ki imajo lahko tudi vodoravne in navpične črte. Širino stolpcev \LaTeX{}
določi avtomatično (če ni podano drugače).

Argument \emph{stolpci} v ukazu
\begin{lscommand}
\verb|\begin{tabular}[|\emph{pos}\verb|]{|\emph{table spec}\verb|}|
\end{lscommand} 
\noindent določa število stolpcev in poravnavanje v vsakem stolpcu. Pri tem \mfr{l}, \mfr{r} in \mfr{c}  pomenijo 
stolpec z levo, desno oziroma sredinsko poravnanim tekstom;
\mfr{p\{\emph{širina}\}} pomeni stolpec z dano širino in z obojestransko 
poravnanim tekstom, kjer se predolg tekst
avtomatično zlomi v več vrstic, znak \mfr{|} pa pomeni navpično črto.

Če je tekst znotraj stolpca preširok, ga \LaTeX{} ne bo avtomatično prelomil
v novo vrstico. Z ukazom \mfr{p\{\emph{širina}\}} definiramo
posebno vrsto stolpca, kjer se tekst lomi kot v normalnem odstavku,
 
Argument \emph{pos} določa vertikalno poravnavo tabele 
relativno glede na dno besedila, ki jo obkroža. Z vrednostmi
\mfr{t}, \mfr{b} oziroma \mfr{c} nastavimo poravnavo tabele
glede na vrh, dno ali sredino.

V okviru okolja \texttt{tabular} znak \verb|&| pomeni konec stolpca in začetek naslednjega,
\ci{\bs} začenja novo vrstico, z ukazom \ci{hline} pa vstavimo vodoravno črto.
Če želimo vodoravno črto, ki se razteza le čez nekaj stolpcev, uporabimo ukaz \ci{cline}\verb|{i-j}|, kjer sta \verb|i| in 
\verb|j| indeksa stolpcev kjer se črta začne oziroma konča.
\index{"|@ \verb."|.}

\begin{example}
\begin{tabular}{|r|l|}
\hline
7C0 & hexadecimal \\
3700 & octal \\ \cline{2-2}
11111000000 & binary \\
\hline \hline
1984 & decimal \\
\hline
\end{tabular}
\end{example}

\begin{example}
\begin{tabular}{|p{4.7cm}|}
\hline
Dobrodošli v škatlastem odstavku.
Upam, da ste zaenkrat zadovoljni
s tem, kar berete.\\
\hline 
\end{tabular}
\end{example}

Ukaz \verb|@{besedilo}|
v vsaki vrstici med stolpcema namesto praznega prostora izpiše besedilo med zavitimi oklepaji.  
Zgled za uporabo je v nadaljevanju predstavljen kot rešitev problema poravnavanja števil na decimalni piki.
Druga možna uporaba je, kadar želimo tabelo brez začetnega praznega prostora v prvem stolpcu oziroma 
končnega praznega prostora v zadnjem stolpcu. V ta namen uporabimo \mfr{@\{\}}.

\begin{example}
\begin{tabular}{@{} l @{}}
\hline 
brez presledka 
na začetku in na koncu\\
\hline
\end{tabular}
\end{example}

\begin{example}
\begin{tabular}{l}
\hline
presledek na začetku in koncu\\
\hline
\end{tabular}
\end{example}

%
% This part by Mike Ressler
%

\index{poravnava na decimalni piki} Ker ni na voljo nobenega vgrajenega orodja,
ki bi vsebino stolpcev z decimalnimi števili poravnalo na decimalni piki,\footnote{Poravnavo decimalnih števil na piki omogoča
dodatni paket \pai{dcolumn}.}
lahko malo ">goljufamo"< in to naredimo z uporabo dveh stolpcev: desno poravnanega z celim delom števila in 
levo poravnanega z decimalnim delom. Ukaz \verb|@{.}| v \verb|\begin{tabular}| zamenja 
normalni presledek med dvema stolpcema s piko `.' in dobimo videz enojnega stolpca, kjer so podatki
poravnani po decimalni piki. Pri vnosu decimalnih števil v takšno tabelo ne smemo pozabiti
decimalne pike zamenjati z znakom za ločevanje stolpcev \verb|&|. Naslov stolpca nad stolpcem, ki je v resnici
sestavljen iz dveh stolpcev, dobimo z ukazom \ci{multicolumn}.
 
\begin{example}
\begin{tabular}{c r @{.} l}
izraz s številom $\pi$       &
\multicolumn{2}{c}{vrednost} \\
\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|}{Ene} \\
\hline
Mene & Muh! \\
\hline
\end{tabular}
\end{example}

Vsebina okolja \texttt{tabular} vedno ostane na eni strani, saj v tem okolju ni preloma strani. 
Če potrebujemo dolge tabele, ki se raztezajo čez več strani, si lahko pomagamo s paketom 
\pai{longtable}.

\section{Plavajoči objekti}
Večina sodobnih publikacij vsebuje veliko slik in tabel. Ti objekti potrebujejo 
posebno obdelavo, saj jih ni možno deliti med stranmi. En način bi bil, da bi vedno, ko je tabela ali slika
prevelika, da bi se jo še dalo spraviti na tekočo stran, naredili novo stran. Omenjeni pristop bi pustil 
strani delno nezapolnjene, to pa bi zgledalo grdo.

Rešitev je, da sliko oziroma tabelo, ki je premajhna za tekočo stran, pustimo za naslednjo stran,
prostor na tekoči strani pa zapolnimo z naslednjim tekstom. Tako si lahko predstavljamo slike in 
tabele kot telesa, ki plavajo med tekstom, postavimo pa jih na prvo naslednjo stran, na kateri 
imamo za objekt dovolj prostora.
\LaTeX{} ponuja dve okolji za \wii{plavajoči objekti}{plavajoče objekte}: \ei{table} za tabele in \ei{figure} za slike.
Da lahko ti dve okolji čim bolj izkoristimo, moramo najprej vsaj približno razumeti, kako \LaTeX{} interno 
vodi plavajoče objekte. V nasprotnem primeru lahko plavajoči objekti postanejo glavni vzrok
frustracij, saj jih \LaTeX{} nikoli ne postavi tam, kjer bi mi to želeli.

\bigskip
Najprej si poglejmo ukaze, ki jim imamo v \LaTeX{}u za plavajoče objekte:

Vse kar je znotraj okolja \ei{figure} oziroma \ei{table} se obravnava kot en plavajoči objekt.
Obe okolji poznata še opcijske parametre v obliki
\begin{lscommand}
\verb|\begin{figure}[|\emph{lega}\verb|]| ali
\verb|\begin{table}[|\emph{lega}\verb|]|
\end{lscommand}
\noindent ki določajo lego objekta. Parameter \emph{lega} pove \LaTeX{}u, kam je 
dovoljeno postaviti objekt. Vrednost parametra je niz sestavljen iz ene ali več črk, ki označujejo 
dovoljene položaje. Možne oznake so navedene v tabeli~\ref{tab:permiss}.

\begin{table}[!bp]
\caption{Oznake za dovoljene položaje plavajočega objekta.}\label{tab:permiss}
\noindent \begin{minipage}{\textwidth}
\medskip
\begin{center}
\begin{tabular}{@{}cp{10cm}@{}}
Oznaka&Objekt lahko stoji \ldots\\
\hline
\rule{0pt}{1.05em}\texttt{h} & \emph{tukaj} na mestu v tekstu, kjer je vstavljen. 
  To pride v poštev za majhne plavajoče objekte.\\[0.3ex]
\texttt{t} & na \emph{vrhu} strani.\\[0.3ex]
\texttt{b} & na \emph{dnu} strani.\\[0.3ex]
\texttt{p} & na posebni \emph{strani}, ki vsebuje le plavajoče objekte.\\[0.3ex]
\texttt{!} & brez upoštevanja večine vgrajenih parametrov\footnote{Kot npr.
    maksimalno število plavajočih objektov na strani.}, ki bi lahko preprečile, da je objekt postavljen 
    na to mesto.
\end{tabular}
\end{center}
\end{minipage}
\end{table}

Tabela se lahko začne npr. z naslednjo vrstico
\begin{code}
\verb|\begin{table}[!hbp]|
\end{code}
\noindent Niz \verb|[!hbp]| dovoljuje \LaTeX{}u da postavi to tabelo 
točno na to mesto (\texttt{h}), na dno  strani (\texttt{b}) ali pa  
na posebno stran, na kateri so le plavajoči objekti (\texttt{p}), to vse pa lahko naredi tudi,
če rezultat ni najlepši (\texttt{!}). Če ne podamo opcijskega argumenta z lego, potem 
standardni razredi privzamejo lego \verb|[tbp]|.

\LaTeX{} bo vsak plavajoči objekt, ki ga sreča, postavil na tak položaj, kot ga je 
predpisal avtor. Če objekta ne more postaviti na tekočo stran, se prenese v ustrezno 
čakalno vrsto (ena za tabele in ena za slike)\footnote{Vrsti sta tipa fifo -
  `first in first out', oziroma, objekt, ki prej pride, gre tudi prej ven.}.  Ko se začne nova stran,
\LaTeX{} najprej preveri, če lahko celo stran zapolni z objekti iz obeh čakalnih vrst in tako naredi posebno
stran le s tabelami in s slikami. Če to ni možno, potem v vsaki vrsti prvi objekt obravnava 
tako, kot da bi se ravnokar pojavil v besedilu in ga poskusi postaviti na ustrezno mesto (razen lege \verb|h|, 
ki ni več možna). Vsak nov objekt, ki se pojavi v tekstu, gre v ustrezno čakalno vrsto. \LaTeX{} ves čas vzdržuje
vrstni red objektov v takšnem vrstnem redu, kot se pojavijo v dokumentu. Zaradi tega slika, ki je ni možno
postaviti na predpisano mesto, porine vse preostale slike proti koncu dokumenta.
Torej:

\begin{quote}
Če \LaTeX{} ne razporedi plavajočih objektov po željah, potem je pogosto vzrok
v tem, da je en plavajoči objekt zamašil eno izmed dveh čakalnih vrst.
\end{quote}     

Čeprav je možno pri določanju lege objekta uporabiti le  en znak, to povzroča težave.
Če je objekt prevelik za prostor, ki je na voljo, potem se zatakne in blokira 
plavajoče objekte, ki mu sledijo.
Zaradi tega ne smemo za lego nikoli uporabiti le \verb|[h]|, saj je to zelo 
slabo; tako zanič, da novejše različice \LaTeX{a} pri prevajanju \verb|[h]| avtomatično
spremenijo v \verb|[ht]|.

\bigskip
\noindent Sedaj, ko smo obdelali težavni del, lahko omenimo še nekaj 
stvari, ki se tičejo okolij \ei{table} in \ei{figure}. Z ukazom

\begin{lscommand}
\ci{caption}\verb|{|\emph{pojasnilo}\verb|}|
\end{lscommand}

\noindent lahko definiramo pojasnilo za objekt, kjer za oštevilčenje in 
niz ">Figure"< oziroma ">Table"< (v slovenščini ">Slika"< in ">Tabela"<) poskrbi \LaTeX.


\begin{lscommand}
\ci{listoffigures} in \ci{listoftables} 
\end{lscommand}

\noindent delujeta podobno kot \verb|\tableofcontents|,
izpišeta pa kazalo slik oziroma tabel. V teh kazalih se še enkrat ponovijo celotna pojasnila.
Če uporabljamo dolga pojasnila, lahko podobno kot pri logičnih enotah kot dodatni parameter
v oglatih oklepajih zapišemo kratko pojasnilo za kazalo.
\begin{code}
\verb|\caption[Kratko]{Doooooooooooooollllgooo}| 
\end{code}

S pomočjo ukazov \verb|\label| in \verb|\ref| se lahko v besedilu sklicujemo na plavajoči objekt. 

Naslednji primer nariše kvadrat in ga vstavi v dokument. To lahko npr. naredimo,
če v besedilu želimo rezervirati prostor za bodoče slike.

\begin{code}
\begin{verbatim}
Figure~\ref{white} is an example of Pop-Art.
\begin{figure}[!hbp]
\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}}
\caption{Five by Five in Centimetres.} \label{white}
\end{figure}
\end{verbatim}
\end{code}

\noindent V zgornjem primeru se \LaTeX{} trudi \emph{zares trudi}~(\texttt{!}) postaviti sliko \emph{točno} 
na to mesto~(\texttt{h}).\footnote{Tu smo predpostavili, da je čakalna vrsta za slike prazna.} 
Če to ne gre, poskuša postaviti sliko na dno strani. Ko ne uspe slike postaviti na tekočo stran,
ugotavlja naprej, če je možno narediti stran s samimi plavajočimi objekti na naslednji strani. 
Če za takšno posebno stran ni dovolj objektov, potem \LaTeX{} začne novo stran
in spet obravnava sliko, kot da bi se ravnokar pojavila v besedilu.


Pod določenimi pogoji je bolje uporabljati ukaza

\begin{lscommand}
\ci{clearpage} ali celo \ci{cleardoublepage} 
\end{lscommand}

\noindent Ukaza naročata \LaTeX{}u, da takoj razmesti vse preostale plavajoče objekte in nato začne novo stran. 
Razlika med ukazoma je, da se \ci{cleardoublepage} vedno nadaljuje na novi desni strani.

\section{Zaščita krhkih ukazov}

Tekst, ki je v argumentu nekaterih ukazov, kot npr.~\ci{caption} ali \ci{section}, se lahko v dokumentu 
pojavi več kot enkrat (npr.~enkrat kot naslov med tekstom in drugič v kazalu). Nekateri ukazi
ne delujejo, če jih uporabimo v argumentu ukazov kot je npr.~\ci{section}. Takšnim ukazom
pravimo \wi{krhki ukazi}. 
Krhka ukaza sta npr.~\ci{footnote} in \ci{phantom}. Takšni krhki ukazi potrebujejo 
zaščito, da ">ne razpadejo"< in to dobimo z ukazom \ci{protect}, ki ga postavimo pred krhki ukaz.

Ukaz \ci{protect} deluje samo za ukaz, pred katerim stoji, ne velja pa niti za njegove argumente. V 
večini primerov preveč uporabljenih ukazov \ci{protect} ne more škoditi. Če v spodnjem primeru ne bi 
bilo ukaza \verb|\protect|, bi \LaTeX{} pri prevajanju javil napako.

\begin{code}
\verb|\section{Delujem premišljeno|\\
\verb|      \protect\footnote{in varujem svoje opombe}}|
\end{code}


% Local Variables:
% TeX-master: "lshort2e"
% mode: latex
% mode: flyspell
% End:
