<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Customising LaTeX output
% $Id: custom.tex,v 1.2 2003/03/19 20:57:45 oetiker Exp $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Prilagajanje \LaTeX{}a}

\begin{intro}
Dokumenti narejeni z ukazi, ki smo jih spoznali do tega trenutka, bodo sprejemljivi za
veÄji del obÄinstva. Kljub temu da njihov videz ni razkoÅ¡en, se drÅ¾ijo vseh uveljavljenih 
pravil dobrega stavljenja, kar jih naredi lahko berljive in prijetnega videza.

Toda, obstajajo situacije v katerih \LaTeX{} nima na voljo ukaza ali okolja,
ki ustreza naÅ¡im potrebam, ali pa rezultat dobljen z obstojeÄimi ukazi ne
izpolni naÅ¡ih Å¾elja.

V tem poglavju bomo dali nekaj namigov, kako lahko \LaTeX{} nauÄimo novih trikov in kako
lahko naredimo dokumente z drugaÄnim videzom od obiÄajno privzetega.
\end{intro}

\section{Novi ukazi, okolja in paketi}

Verjetno ste Å¾e opazili, da so vsi ukazi, ko so prviÄ predstavljeni v knjigi, 
uokvirjeni, hkrati pa se pojavijo tudi v stvarnem kazalu na koncu knjige. 
Namesto direktne uporabe potrebnih \LaTeX{}ovih ukazov, s katerimi se da to doseÄi,
sem napisal \wi{paket}, v katerem so definirani novi ukazi in okolja za ta namen. 
Tako lahko preprosto napiÅ¡emo:

\begin{example}
\begin{lscommand}
\ci{dum}
\end{lscommand}
\end{example}

V tem zgledu smo uporabili novo okolje \ei{lscommand}, ki nariÅ¡e okvir okrog 
ukaza in nov ukaz \ci{ci}, ki zapiÅ¡e ime ukaza, hkrati pa ustrezni podatek 
vstavi Å¡e v stvarno kazalo. To lahko preverite tako, da v stvarnem kazalu na 
koncu knjige poiÅ¡Äete geslo \ci{dum}.
Tam boste pri \ci{dum} naÅ¡li referenco na vsako stran, kjer je v tekstu ukaz 
\ci{dum}.

ÄŒe se odloÄimo, da noÄemo veÄ imeti novih ukazov v okvirjih,
lahko preprosto popravimo definicijo okolja \texttt{lscommand} in naredimo nov videz. 
To je veliko enostavneje kot pa v celem dokumentu popravljati ustrezen tekst
na vseh mestih, kjer se direktno uporabljajo \LaTeX{}ovi ukazi za risanje okvirja okrog
besede.

\subsection{Novi ukazi}

Svoje nove ukaze lahko definiramo z ukazom 
\begin{lscommand}
\ci{newcommand}\verb|{|%
       \emph{ime}\verb|}[|\emph{num}\verb|]{|\emph{definicija}\verb|}|
\end{lscommand}
\noindent Ukaz potrebuje dva argumenta: \emph{ime} je ime ukaza, ki ga 
Å¾elimo definirati, \emph{definicija} pa je opis tega, kar Å¾elimo, da se izvede, zapisan 
z ustreznimi \LaTeX{} ukazi. Argument \emph{num} v oglatih oklepajih je neobvezen in 
doloÄa Å¡tevilo argumentov, ki jih potrebuje naÅ¡ novi ukaz (maksimalno moÅ¾no Å¡tevilo parametrov je 9).
ÄŒe tega argumenta ni, se privzame vrednost $0$, kar pomeni, da gre za ukaz brez 
argumentov.

Naslednja dva zgleda bosta zadevo Å¡e bolj razjasnila. V prvem zgledu
definiramo nov ukaz z imenom \ci{xvec}. Ta ukaz nam pride prav vsakiÄ ko je potrebno 
izpisati vektor $x_1,\ldots,x_n$. Namesto z \verb|$x_1,\ldots,x_n$| lahko sedaj
to naredimo z \verb|$\xvec$|.

\begin{example}
\newcommand{\xvec}{x_1,\ldots,x_n}
Vektor $\xvec$ \ldots
\end{example}

Naslednji zgled prikazuje, kako definiramo ukaz, ki potrebuje en argument. 
Denimo, da v tekstu poleg $x_1,\ldots,x_n$ veÄkrat potrebujemo tudi 
$y_1,\ldots,y_n$. Namesto definicije \verb|\yvec| definiramo sploÅ¡ni ukaz 
z enim argumentom. ZnaÄka \verb|#1| se zamenja z argumentom, ki ga podamo v zavitih oklepajih.
ÄŒe definiramo ukaz z veÄ kot enim argumentom, potem je naslednji oznaÄen z \verb|#2| in tako
naprej.

\begin{example}
% v preambuli: 
\newcommand{\lvec}[1]
 {#1_1,\ldots,#1_n}
% v telesu dokumenta: 
Skalarni produkt vektorjev
$\lvec{x}$ in $\lvec{y}$ je 
\ldots
\end{example}

\LaTeX{} ne dovoli da definiramo nov ukaz, ki bi povozil Å¾e obstojeÄega. ÄŒe to na vsak naÄin Å¾elimo
narediti, imamo na voljo ukaz \ci{renewcommand}.
NaÄin uporabe je povsem enak kot pri ukazu \verb|\newcommand|.

V nekaterih primerih pride v poÅ¡tev tudi ukaz \ci{providecommand}.
Deluje podobno kot \ci{newcommand}, toda Äe ukaz Å¾e obstaja, potem \LaTeXe{} tiho ignorira ukaz z definicijo 
in ohrani stari ukaz.

Tu se splaÄa Å¡e enkrat spomniti, kako je s presledki za \LaTeX{} ukazi. ÄŒe se ne spomnite veÄ, poglejte
na stran \pageref{whitespace}.


\subsection{Nova okolja}
Podobno kot ukaz \verb|\newcommand|, obstaja tudi ukaz, s katerim lahko definiramo 
nova okolja. Ukaz \ci{newenvironment} ima naslednjo obliko:

\begin{lscommand}
\ci{newenvironment}\verb|{|%
       \emph{ime}\verb|}[|\emph{num}\verb|]{|%
       \emph{preden}\verb|}{|\emph{potem}\verb|}|
\end{lscommand}

Podobno kot pri ukazu \verb|\newcommand|, lahko \ci{newenvironment} uporabljamo  z neobveznim argumentom
ali pa brez njega. To, kar navedemo v argumentu
\emph{preden}, se izvede pred procesiranjem teksta v okolju, vsebina \emph{potem} pa se procesira takrat,
ko sreÄamo ukaz \verb|\end{|\emph{ime}\verb|}|.

Spodnji primer prikazuje uporabo ukaza \ci{newenvironment}. 
\begin{example}
\newenvironment{kralj}
 {\rule{1ex}{1ex}%
      \hspace{\stretch{1}}}
 {\hspace{\stretch{1}}%
      \rule{1ex}{1ex}}

\begin{kralj} 
Moji skromni podloÅ¾niki \ldots
\end{kralj}
\end{example}

Argument \emph{num} ima podoben pomen kot pri ukazu \verb|\newcommand|. 
\LaTeX{} poskrbi za to, da ne moremo definirati okolja, ki Å¾e obstaja. ÄŒe Å¾elimo spremeniti
kakÅ¡no Å¾e obstojeÄe okolje, uporabimo ukaz \ci{renewenvironment}, ki ima enak naÄin uporabe kot 
ukaz \ci{newenvironment}.

Ukazi, uporabljeni v zgornjem primeru, bodo razloÅ¾eni v nadaljevanju.
Za ukaz \ci{rule} poglejte stran \pageref{sec:rule}, za \ci{stretch} stran \pageref{cmd:stretch},
veÄ informacij o \ci{hspace} pa dobite na strani \pageref{sec:hspace}.

\subsection{Presledki na zaÄetku in po koncu okolja}

Ko kreiramo novo okolje, se nam lahko zgodi, da se na zaÄetku ali na koncu brez 
kakÅ¡nega vidnega vzroka pojavijo
nezaÅ¾eleni presledki. Denimo, da Å¾elimo definirati okolje za naslov, 
ki ne bo zamaknjen, prav tako pa ne bo zamaknjen prvi odstavek za 
naslovom. Ukaz \ci{ignorespaces} na zaÄetku definicije okolja povzroÄi,
da se ignorirajo vsi morebitni presledki za ukazom 
\verb|\begin{|\emph{okolje}\verb|}|. Å&nbsp;e bolj
zapleteno je poskrbeti za dogajanje po koncu bloka, saj na koncu okolja pride
do posebne obdelave. Z ukazom 
\ci{ignorespacesafterend} lahko \LaTeX{}u naroÄimo, naj za ustreznim
\verb|\end{|\emph{okolje}\verb|}| ukazom, ko bo posebne obdelave konec, sproÅ¾i Å¡e ukaz 
\ci{ignorespaces}.

\begin{example}
\newenvironment{enostavno}%
 {\noindent}%
 {\par\noindent}

\begin{enostavno}
Pozor na presledek\\na levi strani.
\end{enostavno}
Enako\\tukaj.
\end{example}

\begin{example}
\newenvironment{pravilno}%
 {\noindent\ignorespaces}%
 {\par\noindent%
   \ignorespacesafterend}

\begin{pravilno}
Ni presledka\\na levi strani.
\end{pravilno}
Enako\\tukaj.
\end{example}

\subsection{Poganjanje \LaTeX{a} iz ukazne vrstice}

ÄŒe delate na operacijskem sistemu Unix oz.~podobnem, lahko za prevajanje
\LaTeX{} projektov uporabljate make datoteke. V tem primeru zna biti za
vas zanimivo, da lahko z uporabo dodatnih parametrov pri klicu prevajalnika
iz istega dokumenta dobite razliÄne razliÄice. Npr.~Äe v dokument dodamo
naslednjo strukturo:

\begin{verbatim}
\usepackage{ifthen}
\ifthenelse{\equal{\crnobelo}{true}}{
  % "Ärno bel" naÄin; naredi nekaj..
}{
  % "barvni" naÄin; naredi nekaj drugega..
}
\end{verbatim}

lahko potem dokument prevajamo iz ukazne vrstice z:
\begin{verbatim}
latex '\newcommand{\crnobelo}{true}\input{test.tex}'
\end{verbatim}

Na ta naÄin se najprej definira ukaz \verb|\blackandwhite|, potem pa 
se prevede Å¡e izbrana datoteka in v njej se prevedejo deli dokumenta v
Ärno belem naÄinu. ÄŒe bi namesto tega uporabili 
\begin{verbatim}
latex '\newcommand{\crnobelo}{false}\input{test.tex}'
\end{verbatim}
bi dobili barvno verzijo dokumenta.

\subsection{Lastni paketi}

ÄŒe definiramo veliko novih okolij in ukazov, potem bo preambula dokumenta 
postala kar dolga. V takem primeru je dobro narediti  nov 
\LaTeX{}ov paket, ki vsebuje vse definicije novih okolij in ukazov. 
V dokumentu potem uporabimo ukaz \ci{usepackage}, da naloÅ¾imo paket in
s tem v dokumentu omogoÄimo nove ukaze in okolja.
\begin{figure}[!htbp]
\begin{lined}{\textwidth}
\begin{verbatim}
% Demo Package by Tobias Oetiker and Bor Plestenjak
\ProvidesPackage{demopack}
\newcommand{\xvec}[1] {x_1,\ldots,x_n}
\newcommand{\lvec}[1] {#1_1,\ldots,#1_n}
\newenvironment{kralj}
  {\rule{1ex}{1ex}   \hspace{\stretch{1}}}
  {\hspace{\stretch{1}}  \rule{1ex}{1ex}}
\end{verbatim}
\end{lined}
\caption{Zgled paketa.} \label{package}
\end{figure}

Pisanje paketa v glavnem pomeni kopiranje vsebine preambule v loÄeno datoteko 
s konÄnico \texttt{.sty}. Poleg tega je Å¡e poseben ukaz 
\begin{lscommand}
\ci{ProvidesPackage}\verb|{|\emph{package name}\verb|}|
\end{lscommand}
\noindent ki ga je potrebno uporabiti povsem na zaÄetku datoteke s paketom. 
Ukaz \verb|\ProvidesPackage| sporoÄi \LaTeX{}u ime paketa in javi resno 
napako v primeru, ko Å¾elimo paket naloÅ¾iti dvakrat. Slika~\ref{package}
prikazuje majhen paket z ukazi, ki smo jih definirali v prejÅ¡njih zgledih.


\section{Pisave in velikosti Ärk}

\subsection{Ukazi za spreminjanje pisave}
\index{pisava}\index{velikost pisave} \LaTeX{} izbere pisavo in velikost Ärk glede na 
logiÄno strukturo dokumenta (razdelki, opombe, \ldots). V doloÄenih primerih pa 
bi radi roÄno spremenili pisavo in velikosti Ärk. To lahko naredimo z ukazi, 
navedenimi v tabelah~\ref{fonts} in~\ref{sizes}. Dejanska velikost vsake pisave
je oblikovalski problem in je odvisna od razreda dokumenta in uporabljenih opcij.
Tabela~\ref{tab:pointsizes} prikazuje absolutno velikost Ärk pri uporabljenih navedenih ukazih 
v standardnih razredih dokumentov.

\begin{example}
{\small The small and 
\textbf{bold} Romans ruled}
{\Large all of great big 
\textit{Italy}.}
\end{example}

Pomembna lastnost \LaTeXe{} je, da so vsi atributi pisave neodvisni. To pomen, da lahko 
vkljuÄimo ukaze za spreminjanje velikosti ali tipa pisave, pa se bodo Å¡e vedno ohranili
atributi za krepko ali poÅ¡evno pisavo, ki smo jih vkljuÄili prej.

V \emph{matematiÄnem naÄinu} lahko uporabljamo ukaze za spreminjanje pisave tako, da 
gremo zaÄasno ven iz \emph{matematiÄnega naÄina} in vnesemo normalen tekst. ÄŒe Å¾elimo pri
stavljenje formul uporabljati drugaÄno pisavo, potem za to obstajajo posebno ukazi. NaÅ¡teti so
v tabeli~\ref{mathfonts}.

\begin{table}[!bp]
\caption{Pisave.} \label{fonts}
\begin{lined}{12cm}
%
% Alan suggested not to tell about the other form of the command
% eg \verb|\sffamily| or \verb|\bfseries|. This seems a good thing to me.
%
\begin{tabular}{@{}rl@{\qquad}rl@{}}
\ci{textrm}\verb|{...}|        &amp;      \textrm{\wi{pokonÄna pisava}}&amp;
\ci{textsf}\verb|{...}|        &amp;      \textsf{\wi{gladka pisava}}\\
\ci{texttt}\verb|{...}|        &amp;      \texttt{pisalni stroj}\\[6pt]
\ci{textmd}\verb|{...}|        &amp;      \textmd{srednja pisava}&amp;
\ci{textbf}\verb|{...}|        &amp;      \textbf{\wi{krepka pisava}}\\[6pt]
\ci{textup}\verb|{...}|        &amp;       \textup{\wi{pokonÄna pisava}}&amp;
\ci{textit}\verb|{...}|        &amp;       \textit{\wi{kurzivna pisava}}\\
\ci{textsl}\verb|{...}|        &amp;       \textsl{\wi{nagnjena pisava}}&amp;
\ci{textsc}\verb|{...}|        &amp;       \textsc{\wi{velike male Ärke}}\\[6pt]
\ci{emph}\verb|{...}|          &amp;            \emph{poudarjena pisava} &amp;
\ci{textnormal}\verb|{...}|    &amp;    \textnormal{obiÄajna pisava} font
\end{tabular}

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


\begin{table}[!bp]
\index{velikost Ärk}
\caption{Velikosti Ärk.} \label{sizes}
\begin{lined}{12cm}
\begin{tabular}{@{}ll}
\ci{tiny}      &amp; \tiny        drobna pisava \\
\ci{scriptsize}   &amp; \scriptsize  velikost indeksov\\
\ci{footnotesize} &amp; \footnotesize  velikost opomb pod Ärto \\
\ci{small}        &amp;  \small            majhna pisava \\
\ci{normalsize}   &amp;  \normalsize  normalna velikost\\
\ci{large}        &amp;  \large       veliki znaki
\end{tabular}%
\qquad\begin{tabular}{ll@{}}
\ci{Large}        &amp;  \Large       veliki znaki \\[5pt]
\ci{LARGE}        &amp;  \LARGE       zelo veliki znaki \\[5pt]
\ci{huge}         &amp;  \huge        ogromni znaki \\[5pt]
\ci{Huge}         &amp;  \Huge        najveÄji znaki
\end{tabular}

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

\begin{table}[!tbp]
\caption{Absolutna velikost pisave v standardnih razredih.}\label{tab:pointsizes}
\label{tab:sizes}
\begin{lined}{12cm}
\begin{tabular}{lrrr}
\multicolumn{1}{c}{size} &amp;
\multicolumn{1}{c}{10pt (privzeto) } &amp;
           \multicolumn{1}{c}{11pt opcija}  &amp;
           \multicolumn{1}{c}{12pt opcija}\\
\verb|\tiny|       &amp; 5pt  &amp; 6pt &amp; 6pt\\
\verb|\scriptsize| &amp; 7pt  &amp; 8pt &amp; 8pt\\
\verb|\footnotesize| &amp; 8pt &amp; 9pt &amp; 10pt \\
\verb|\small|        &amp; 9pt &amp; 10pt &amp; 11pt \\
\verb|\normalsize| &amp; 10pt &amp; 11pt &amp; 12pt \\
\verb|\large|      &amp; 12pt &amp; 12pt &amp; 14pt \\
\verb|\Large|      &amp; 14pt &amp; 14pt &amp; 17pt \\
\verb|\LARGE|      &amp; 17pt &amp; 17pt &amp; 20pt\\
\verb|\huge|       &amp; 20pt &amp; 20pt &amp; 25pt\\
\verb|\Huge|       &amp; 25pt &amp; 25pt &amp; 25pt\\
\end{tabular}

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


\begin{table}[!bp]
\caption{MatematiÄne pisave.} \label{mathfonts}
\begin{lined}{\textwidth}
\begin{tabular}{@{}lll@{}}
\textit{Ukaz}&amp;\textit{Zgled}&amp;    \textit{Rezultat}\\[6pt]
\ci{mathcal}\verb|{...}|&amp;    \verb|$\mathcal{B}=c$|&amp;     $\mathcal{B}=c$\\
\ci{mathrm}\verb|{...}|&amp;     \verb|$\mathrm{K}_2$|&amp;      $\mathrm{K}_2$\\
\ci{mathbf}\verb|{...}|&amp;     \verb|$\sum x=\mathbf{v}$|&amp; $\sum x=\mathbf{v}$\\
\ci{mathsf}\verb|{...}|&amp;     \verb|$\mathsf{G\times R}$|&amp;        $\mathsf{G\times R}$\\
\ci{mathtt}\verb|{...}|&amp;     \verb|$\mathtt{L}(b,c)$|&amp;   $\mathtt{L}(b,c)$\\
\ci{mathnormal}\verb|{...}|&amp; \verb|$\mathnormal{R_{19}}\neq R_{19}$|&amp;
$\mathnormal{R_{19}}\neq R_{19}$\\
\ci{mathit}\verb|{...}|&amp;     \verb|$\mathit{ffi}\neq ffi$|&amp; $\mathit{ffi}\neq ffi$
\end{tabular}

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

V povezavi z ukazi za spreminjanje velikosti Ärk imajo velik pomen
\wi{zaviti oklepaji}. Z njimi gradimo \emph{skupine}.  Skupine
omejujejo obmoÄje delovanja \LaTeX{}ovega ukaza.\index{zdruÅ¾evanje}

\begin{example}
He likes {\LARGE large and 
{\small small} letters}. 
\end{example}
 
Ukazi za spreminjanje velikosti pisave spremenijo tudi razmike med vrsticami,
toda le, Äe se odstavek konÄa znotraj obmoÄja delovanja ukaza za velikost pisave. 
Desni zaviti oklepaj \verb|}| zato ne sme nastopati prezgodaj v tekstu. Primerjajte poloÅ¾aj ukaza
\ci{par}{} v naslednjih dveh primerih. \footnote{\texttt{\bs{}par}
je ekvivalentno prazni vrstici}


\begin{example}
{\Large Don't read this! It is not
true. You can believe me!\par}
\end{example}

\begin{example}
{\Large This is not true either.
But remember I am a liar.}\par
\end{example}

ÄŒe Å¾elimo, da ukaz za spremenjeno velikost pisave deluje za celotni odstavek 
ali celo za veÄji kos teksta, potem je priporoÄljivo uporabljati okolja 
za spreminjanje velikosti pisave.
\begin{example}
\begin{Large} 
This is not true.
But then again, what is these
days \ldots
\end{Large}
\end{example}
\noindent To nas lahko reÅ¡i pred Å¡tetjem velikega Å¡tevila zavitih oklepajev.


\subsection{Nevarnost na vidiku}

Kot smo omenili Å¾e na zaÄetku tega poglavja, je nevarno 
razmetati eksplicitne ukaze za spreminjanje oblike pisave vsepovsod po tekstu,
saj je to v nasprotju z osnovno idejo \LaTeX{}a, ki pravi, da je potrebno loÄiti oznake za logiÄni in vizualni 
del dokumenta. To pomeni, da Äe uporabljamo isti ukaz za spreminjanje pisave na veÄ mestih z namenom, 
da poudarimo doloÄen podatek, potem je bolje za to definirati nov ukaz preko
\verb|\newcommand| in tako logiÄno povezati vrsto podatka, ki ga poudarjamo 
s spreminjanjem pisave.

\begin{example}
\newcommand{\oops}[1]{\textbf{#1}}
Do not \oops{enter} this room,
it's occupied by a \oops{machine}
of unknown origin and purpose.
\end{example}

Ta pristop ima to prednost, da Äe se kdaj kasneje odloÄimo, da bomo za nevarnost uporabili 
drugaÄno pisavo kot pa \verb|\textbf|, potem to spremenimo na enem mestu. Sicer bi morali 
v celotnem dokumentu poiskati vse pojavitve ukaza \verb|\textbf|, potem pa bi se morali pri vsakem posamezno 
Å¡e odloÄiti, ali je ukaz \verb|\textbf| uporabljen zaradi nevarnosti in moramo pisavo zato zamenjati ali pa 
ukaz \verb|\textbf| pomeni kaj drugega in ga pustimo pri miru.

\subsection{Nasvet}

Za konec naÅ¡ega izleta v deÅ¾elo pisav in velikosti Ärk Å¡e kratek nasvet:\nopagebreak

\begin{quote}
  \underline{\textbf{Pomnite\Huge!}} \textit{ÄŒim}
  \textsf{V\textbf{\LARGE E} \texttt{ÄŒ}} pisav \Huge uporabljate
  \footnotesize \textbf{v} vaÅ¡em \small \texttt{dokumentu},
  \large \textit{tem} \normalsize laÅ¾je \textsc{berljiv} in
  \textsl{\textsf{lepÅ¡i} pos\large t\Large a\LARGE n\huge e}.
\end{quote}

\section{Presledki}
 
\subsection{Razmik med vrsticami}

\index{razmik med vrsticami} ÄŒe Å¾elimo uporabljati v dokumentu veÄje razmike 
med vrsticami, 
potem lahko to spremenimo z ukazom
\begin{lscommand}
\ci{linespread}\verb|{|\emph{factor}\verb|}|
\end{lscommand}
\noindent v preambuli dokumenta.
Vrednost \verb|\linespread{1.3}| ustreza "&gt;ena in poloviÄnemu"&lt;,
vrednost \verb|\linespread{1.6}| pa "&gt;dvojnemu"&lt; razmiku med vrsticami. Normalno
vrstice niso razmaknjene, zato je privzeta vrednost~1.\index{dvojni razmik med vrsticami}
 
Bodite pozorni na to, da je rezultat, ki ga dobimo z uporabo ukaza
\ci{linespread} dokaj drastiÄen in ni primeren za objavljena dela.
ÄŒe imate dober razlog za spreminjanje privzetih razmikov med vrsticami,
zato raje uporabljajte ukaz:
\begin{lscommand}
\verb|\setlength{\baselineskip}{1.5\baselineskip}|
\end{lscommand}

\begin{example}
{\setlength{\baselineskip}%
           {1.5\baselineskip}
This paragraph is typeset with
the baseline skip set to 1.5 of
what it was before. Note the par
command at the end of the
paragraph.\par}

This paragraph has a clear
purpose, it shows that after the
curly brace has been closed,
everything is back to normal.
\end{example}

\subsection{Oblikovanje odstavka}\label{parsp}

V \LaTeX{}u imamo dva parametra, ki vplivata na obliko odstavka.
Z vkljuÄitvijo definicije kot npr.
\begin{code}
\ci{setlength}\verb|{|\ci{parindent}\verb|}{0pt}| \\
\verb|\setlength{|\ci{parskip}\verb|}{1ex plus 0.5ex minus 0.2ex}|
\end{code}
v preambulo dokumenta lahko spremenimo obliko odstavkov. Prvi ukaz nastavi
zamik prve vrstice v odstavku na 0 (brez zamika), drugi ukaz pa nastavi navpiÄni razmik med
odstavki. \index{razmik med odstavki}\index{zamik odstavka}

Vrednosti navedeni za \texttt{plus} in \texttt{minus} povesta \TeX{}u, 
za koliko lahko maksimalno skrÄi oziroma razÅ¡iri predpisani razmik med odstavkoma,
da se bodo odstavki lepo poravnali na stran.

V Evropi so odstavki pogosto loÄeni z doloÄenim razmikom, zaÄetne vrstice pa niso zamaknjene.
Toda pazite, saj to vpliva tudi na kazalo. Vrstice v kazalu so sedaj loÄene z veÄjimi razmiki kot sicer.
Da se izognemo temu, je bolje dva zgornja ukaza iz preambule prestaviti na neko mesto za 
\verb|\tableofcontents| ali pa jih sploh ne uporabljati, saj veÄina knjig uporablja zaÄetni zamik in ne 
navpiÄni razmik za loÄevanje odstavkov.

ÄŒe Å¾elimo zamakniti odstavek, ki ni zamaknjen, to naredimo z ukazom
\begin{lscommand}
\ci{indent}
\end{lscommand}
\noindent na samem zaÄetku odstavka.\footnote{ÄŒe Å¾elite zamakniti prvi odstavek v vsakem razdelku, potem 
uporabite paket \pai{indentfirst} iz sveÅ¾nja `tools'.} To bo oÄitno imelo uÄinek le v primeru,
ko vrednost \verb|\parindent| ni nastavljena na $0$.

ÄŒe Å¾elimo nezamaknjen odstavek, potem uporabimo 
\begin{lscommand}
\ci{noindent}
\end{lscommand}
\noindent kot prvi ukaz v odstavku. To pride v poÅ¡tev, kadar zaÄnemo besedilo kar s tekstom in 
ne z ukazom za definiranje poglavja, razdelka, ipd.

\subsection{Vodoravni razmiki in zapolnjevalci}

\label{sec:hspace}
\LaTeX{} avtomatiÄno doloÄi presledek med besedami in stavki. ÄŒe Å¾elimo dodati
vodoravni razmik, uporabimo ukaz \index{vodoravni!presledek}
\begin{lscommand}
\ci{hspace}\verb|{|\emph{dolÅ¾ina}\verb|}|
\end{lscommand}

ÄŒe naj se ta presledek obdrÅ¾i tudi v primeru, ko pade na zaÄetek ali na konec vrstice,
uporabimo \verb|\hspace*| namesto \verb|\hspace|. Argument
\emph{dolÅ¾ina} je v enostavni obliki enak Å¡tevilu in merski enoti. NajpomembnejÅ¡e 
merske enote so naÅ¡tete v  tabeli~\ref{units}. 
\index{merska enota}\index{dolÅ¾ina}

\begin{example}
Ta\hspace{1.5cm}razmik ima 
dolÅ¾ino 1.5 cm.
\end{example}
\suppressfloats
\begin{table}[tbp]
\caption{\TeX{} Merske enote.} \label{units}\index{merske enote}
\begin{lined}{9.5cm} 
\begin{tabular}{@{}ll@{}}
\texttt{mm} &amp;  milimeter $\approx 1/25$~inch \quad \demowidth{1mm} \\
\texttt{cm} &amp; centimeter = 10~mm  \quad \demowidth{1cm}                     \\
\texttt{in} &amp; palec (inÄ) $=$ 25.4~mm \quad \demowidth{1in}\\
\texttt{pt} &amp; toÄka (pika) $\approx 1/72$~inÄa $\approx \frac{1}{3}$~mm  \quad\demowidth{1pt}\\
\texttt{em} &amp; pribliÅ¾na Å¡irina `M' v trenutni pisavi \quad \demowidth{1em}\\
\texttt{ex} &amp; pribliÅ¾na viÅ¡ina `x' v trenutni pisavi \quad \demowidth{1ex}
\end{tabular}

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

\label{cmd:stretch} 
Ukaz
\begin{lscommand}
\ci{stretch}\verb|{|\emph{n}\verb|}|
\end{lscommand} 
\noindent naredi poseben raztegljiv presledek. Razteza se dokler ne zapolni ves
preostali prostor na vrstici. ÄŒe uporabimo dva ukaza 
\verb|\hspace{\stretch{|\emph{n}\verb|}}| v isti vrstici, potem se bosta razÅ¡irila glede na faktor Å¡irjenja.

\begin{example}
x\hspace{\stretch{1}}
x\hspace{\stretch{3}}x
\end{example}

Ko uporabljamo vodoravne presledke med tekstom, je smiselno velikost 
presledkov relativno prilagoditi velikosti izbrane pisave. To lahko
doseÅ¾emo z merskima enotama \texttt{em} in
\texttt{ex}:

\begin{example}
{\Large{}velik\hspace{1em}y}\\
{\tiny{}drobni\hspace{1em}y}
\end{example}

Ukaz 
\begin{lscommand}
\ci{hfill}
\end{lscommand}
\noindent je okrajÅ¡ava za \verb|\hspace{\fill}|. Tu je \verb|\fill| posebna raztegljiva  dolÅ¾ina, ki se lahko od 0
raztegne do maksimalne moÅ¾ne Å¡irine. Ukaza
\begin{lscommand}
\ci{dotfill}\quad in\quad \ci{hrulefill}
\end{lscommand} 
\noindent delujeta tako kot \verb|\hfill|, le da vmesni prostor zapolnita s pikami oziroma z vodoravno Ärto.

\begin{example}
ZaÄetek \dotfill\ Konec\\
Levo\ \hrulefill\ Sredina\ 
  \hrulefill\ Desno\\
X\ \hfill\hfill Malo na desno 
  \ \hfill\ X
\end{example}

\subsection{NavpiÄni presledki}

Razmik med odstavki, razdelki, podrazdelki, \ldots\ je v \LaTeX{}u avtomatiÄno doloÄen.
Kadar je potrebno, lahko dodatni navpiÄni razmik \emph{med dvema odstavkoma} vstavimo z ukazom:
\begin{lscommand}
\ci{vspace}\verb|{|\emph{length}\verb|}|
\end{lscommand}

Ta ukaz naj bi bil normalno uporabljen med dvema praznima vrsticama.
ÄŒe Å¾elimo zadrÅ¾ati prostor na vrhu ali na dnu strani, potem lahko uporabljamo
ukaz \verb|\vspace*| namesto \verb|\vspace|.
\index{navpiÄni presledek}

Ukaz \verb|\stretch| v povezavi z ukazom \verb|\pagebreak| lahko uporabimo za to, 
da tekst vstavimo na zadnjo vrstico strani ali pa da tekst navpiÄno postavimo na 
sredo strani.
\begin{code}
\begin{verbatim}
Nekaj teksta \ldots

\vspace{\stretch{1}}
To gre na zadnjo vrstico strani.\pagebreak
\end{verbatim}
\end{code}

Dodatni razmik med dvema vrsticama v \emph{istem} odstavku je 
doloÄen z ukazom
\begin{lscommand}
\ci{\bs}\verb|[|\emph{dolÅ¾ina}\verb|]|
\end{lscommand}

Z ukazom \ci{bigskip} in \ci{smallskip} lahko naredimo navpiÄne razmike Å¾e vnaprej definiranih velikosti in nam
tako ni potrebno skrbeti za toÄna Å¡tevila.


\section{Oblika strani}

\begin{figure}[!hp]
\begin{center}
\makeatletter\@mylayout\makeatother
\end{center}
\vspace*{1.8cm}
\caption{Parametri oblike strani.}
\label{fig:layout}
\cih{footskip}
\cih{headheight}
\cih{headsep}
\cih{marginparpush}
\cih{marginparsep}
\cih{marginparwidth}
\cih{oddsidemargin}
\cih{paperheight}
\cih{paperwidth}
\cih{textheight}
\cih{textwidth}
\cih{topmargin}
\end{figure}
\index{oblika strani}
\LaTeXe{} nam omogoÄa da v ukazu \verb|\documentclass| podamo \wi{velikost strani}. 
Velikost \wii{robovi}{robov} za tekst se potem doloÄi avtomatiÄno.
V nekaterih primerih lahko nismo zadovoljni s privzetimi vrednostmi in te vrednosti se 
seveda da roÄno spremeniti.
%no idea why this is needed here ...
\thispagestyle{fancyplain}
Slika~\ref{fig:layout} prikazuje vse parametre, ki se jih da spremeniti.
Narejena je bila s paketom \pai{layout} iz sveÅ¾nja Â´tools'%
\footnote{\texttt{CTAN:/tex-archive/macros/latex/required/tools}}.

\textbf{POÄŒAKAJTE!} \ldots preden zaÄnete razmiÅ¡ljati v stilu 
"&gt;Naredimo to ozko stran malce  Å¡irÅ¡o"&lt;, si vzemite nekaj sekund za razmislek. 
Kakor velja za veÄino stvari v \LaTeX{}u, je tudi tu dober razlog za to, da je oblika 
strani takÅ¡na kot je 

Seveda, Äe jo primerjamo s stranjo, narejeno s programom MS Word, zgleda grozno ozka. 
Toda poglejte v vaÅ¡o priljubljeno knjigo\footnote{Tu mislim na pravo natisnjeno knjigo, ki jo je izdala priznana zaloÅ¾ba.} 
in preÅ¡tejte Å¡tevilo znakov v povpreÄni vrstici teksta. Opazili boste, da v vrstici ni veÄ kot 
66 znakov. Isto ponovite na vaÅ¡i \LaTeX{}ovi strani. Opazili boste, da je tudi tu okrog 66 znakov
na stran.  IzkuÅ¡nje kaÅ¾ejo, da branje postane teÅ¾je takoj, ko vrstica vsebuje
veÄ znakov. To je zaradi tega, ker je oÄi teÅ¾ko premikati od konca ene vrstice 
na zaÄetek naslednje. To je med drugim tudi en izmed razlogov, da je besedilo
v Äasopisu v veÄ stolpcih.

ÄŒe torej poveÄate Å¡irino telesa s tekstom, mislite tudi na to, 
da s tem oteÅ¾ujete Å¾ivljenje vaÅ¡im bralcem. Naj bo sedaj konec opozoril 
in si poglejmo, kako lahko vseeno spremenimo obliko strani.
 
Za spreminjanje parametrov ima \LaTeX{} na voljo dva ukaza. Ponavadi jih uporabljamo v 
preambuli dokumenta.

Prvi ukaz doloÄi fiksno vrednost izbranemu parametru:
\begin{lscommand}
\ci{setlength}\verb|{|\emph{parameter}\verb|}{|\emph{dolÅ¾ina}\verb|}|
\end{lscommand}

Drugi ukaz doda dolÅ¾ino izbranemu parametru: 
\begin{lscommand}
\ci{addtolength}\verb|{|\emph{parameter}\verb|}{|\emph{doÅ¾ina}\verb|}|
\end{lscommand} 

Drugi ukaz je bolj praktiÄen od \ci{setlength}, saj 
lahko obliko spreminjamo relativno glede na obstojeÄo obliko.
ÄŒe Å¾elimo Å¡irino teksta poveÄati za en centimeter, v preambulo dodamo
naslednje ukaze:
\begin{code}
\verb|\addtolength{\hoffset}{-0.5cm}|\\
\verb|\addtolength{\textwidth}{1cm}|
\end{code}

Tu se mogoÄe splaÄa pogledati paket \pai{calc}, ki nam omogoÄa
da v argumentih ukaza \ci{setlength} in drugih, kjer vnaÅ¡amo numeriÄne vrednosti, uporabljamo aritmetiÄne operacije.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\section{Å&nbsp;e veÄ zabave z dolÅ¾inami}

Kadarkoli se da, se izogibam uporabi absolutnih dolÅ¾in v 
\LaTeX{}ovih dokumentih. Raje uporabljam za osnovne mere Å¡irino ali viÅ¡ino
elementov na strani. Za Å¡irino slike je to npr.~\verb|\textwidth|, Äe Å¾elimo, da slika zapolni celo stran.

Naslednji trije ukazi doloÄajo Å¡irino, viÅ¡ino in globino tekstovnega niza.

\begin{lscommand}
\ci{settoheight}\verb|{|\emph{lscommand}\verb|}{|\emph{tekst}\verb|}|\\
\ci{settodepth}\verb|{|\emph{lscommand}\verb|}{|\emph{tekst}\verb|}|\\
\ci{settowidth}\verb|{|\emph{lscommand}\verb|}{|\emph{tekst}\verb|}|
\end{lscommand}

\noindent Naslednji zgled prikazuje moÅ¾no uporabo teh ukazov.

\begin{example}
\flushleft
\newenvironment{vardesc}[1]{%
  \settowidth{\parindent}{#1:\ }
  \makebox[0pt][r]{#1:\ }}{}

\begin{displaymath}
a^2+b^2=c^2
\end{displaymath}

\begin{vardesc}{Where}$a$, 
$b$ -- are adjunct to the right 
angle of a right-angled triangle.  

$c$ -- is the hypotenuse of 
the triangle and feels lonely.

$d$ -- finally does not show up 
here at all. Isn't that puzzling?
\end{vardesc}
\end{example}

\section{Å&nbsp;katle}
\LaTeX{} sestavlja svoje strani z zlaganjem Å¡katel. Kot prvo je vsaka Ärka
majhna Å¡katla, ta Å¡katla pa se zloÅ¾i z ostalimi Ärkami v Å¡katlo za besedo. Beseda se 
zloÅ¾i z ostalimi besedami, toda tokrat s posebnim vmesnim vezivom,
ki je raztegljiv, kar omogoÄa, da se vrsta besed tako skrÄi oziroma raztegne, da zapolnjuje
eno vrstico na strani.

Priznam, da je to zelo poenostavljen pogled na to, kar se v resnici dogaja,
toda bistvo je v tem, da \TeX{} res deluje s Å¡katlami in vmesnim vezivom.
Å&nbsp;katle so lahko ne samo Ärke, paÄ pa lahko v Å¡katlo vstavimo praktiÄno karkoli, 
vkljuÄno z drugimi Å¡katlami. Vsako Å¡katlo potem \LaTeX{} obravnava tako, kot da gre
za posamezno Ärko.

V prejÅ¡njih poglavjih smo se Å¾e sreÄali s Å¡katlami, le omenjali jih nismo eksplicitno. 
Tako npr.~okolje \ei{tabular} in ukaz \ci{includegraphics} naredita Å¡katlo. To pomeni, da lahko
zlahka dve tabeli ali sliki postavimo drugo zraven druge. Poskrbeti moramo le za to,
da njuna kombinacija ni Å¡irÅ¡a od Å¡irine teksta.

Poljuben odstavek lahko vloÅ¾imo v Å¡katlo ali z ukazom
  \begin{lscommand}  \ci{parbox}\verb|[|\emph{poloÅ¾aj}\verb|]{|\emph{Å¡irina}\verb|}{|\emph{tekst}\verb|}|
  \end{lscommand}
ali pa v okolju
  \begin{lscommand} \verb|\begin{|\ei{minipage}\verb|}[|\emph{poloÅ¾aj}\verb|]{|\emph{Å¡irina}\verb|}| tekst
  \verb|\end{|\ei{minipage}\verb|}|
\end{lscommand}
Vrednost parametra \texttt{poloÅ¾aj} je ena izmed Ärk 
\texttt{c, t} ali \texttt{b} ki pove, kako se Å¡katla navpiÄno poravna glede na osnovnico besedila v 
tekoÄi vrstici. Pri tem \texttt{t} pomeni poravnavo zgornjih robov, \texttt{c} sredinsko poravnavo in 
$\texttt{b}$ poravnana spodnja robova. Z argumentom 
\texttt{Å¡irina} podamo Å¡irino Å¡katle. Glavna razlika med 
\ei{minipage} in \ei{parbox} je, da znotraj \ei{parbox} ne moremo uporabljati vseh ukazov in okolij,
medtem ko je v okolju \ei{minipage} moÅ¾no skoraj vse.

Medtem, ko \ci{parbox} vstavi celoten odstavek tako, da prelamlja vrstice, 
obstaja tudi razred ukazov za Å¡katle, ki delujejo le na vodoravno poravnanih objektih.
Enega Å¾e poznamo. To je ukaz \ci{mbox}, ki vrsto Å¡katel sestavi v eno, ukaz pa 
ponavadi uporabljamo zato, da prepreÄimo \LaTeX{}u, da bi prelomil vrstico med dvema besedama. 
Ker lahko Å¡katle vstavljamo v nove Å¡katle, nam ti ukazi za vodoravno 
sestavljanje Å¡katel omogoÄajo zelo veliko moÅ¾nosti.

V ukazu
\begin{lscommand}
\ci{makebox}\verb|[|\emph{Å¡irina}\verb|][|\emph{poloÅ¾aj}\verb|]{|\emph{tekst}\verb|}|
\end{lscommand}
argument \emph{Å¡irina} definira Å¡irino Å¡katle, kot je vidna od zunaj.\footnote{To pomeni, da je Å¡katla lahko
  manjÅ¡a kot pa je Å¡irina objektov, ki jo sestavljajo. Å&nbsp;irino lahko postavimo celo na 0pt, s Äimer doseÅ¾emo,
  da se tekst izpiÅ¡e, a nima nobenega vpliva na sosednje Å¡katle.} Poleg numeriÄnih vrednosti za dolÅ¾ino lahko
  v argumentu \emph{Å¡irina} uporabljamo tudi ukaze \ci{width}, \ci{height}, \ci{depth} in
  \ci{totalheight}. Njihove vrednosti so odvisne od dimenzij stavljenega besedila v parametru \emph{tekst}. 
  Parameter \emph{poloÅ¾aj} ima 
za vrednost eno Ärko: \textbf{c} pomeni sredinsko poravnavo, \textbf{l} levo poravnavo,
  \textbf{r} desno poravnavo in \textbf{s} obojestransko poravnavo teksta znotraj Å¡katle.

Ukaz \ci{framebox} deluje tako kot \ci{makebox}, le da dodatno nariÅ¡e Å¡e okvir okrog teksta.

Naslednji zgledi prikazujejo, kaj vse se da narediti z ukazoma 
\ci{makebox} in \ci{framebox}.

\begin{example}
\makebox[\textwidth]{%
    s r e d i n s k o}\par
\makebox[\textwidth][s]{%
    o b o j e s t r a n s k o}\par
\framebox[1.1\width]{Sedaj sem 
    pa uokvirjen!} \par
\framebox[0.8\width][r]{Smola, 
    jaz sem pa preÅ¡irok!} \par
\framebox[1cm][l]{NiÄ hudega,
    tudi jaz sem} 
Kdor prebere to ni osel!
\end{example}

Sedaj poznamo vodoravne Å¡katle in naslednji korak je, da se lotimo navpiÄnih Å¡katel.\footnote{Popoln
nadzor lahko dobimo le s hkratno vodoravno in navpiÄno kontrolo \ldots}
Tudi tu ni teÅ¾av za \LaTeX{}. Z ukazom

\begin{lscommand}
\ci{raisebox}\verb|{|\emph{dvig}\verb|}[|\emph{globina}\verb|][|\emph{viÅ¡ina}\verb|]{|\emph{tekst}\verb|}|
\end{lscommand}

\noindent lahko doloÄimo navpiÄne lastnosti Å¡katle. V prvih treh parametrih lahko uporabljamo tudi 
\ci{width}, \ci{height}, \ci{depth} in \ci{totalheight}, da velikost doloÄimo glede na 
velikost teksta v argumentu \emph{tekst}.

\begin{example}
\raisebox{0pt}[0pt][0pt]{\Large%
\textbf{Aaaa\raisebox{-0.3ex}{a}%
\raisebox{-0.7ex}{aa}%
\raisebox{-1.2ex}{r}%
\raisebox{-2.2ex}{g}%
\raisebox{-4.5ex}{h}}}
se je drl, toda tudi naslednji v 
vrsti ni opazil, da se mu je 
dogodilo nekaj groznega.
\end{example}


\section{Poljubne Ärte}
\label{sec:rule}

Nekaj strani nazaj ste mogoÄe opazili ukaz
\begin{lscommand}
\ci{rule}\verb|[|\emph{dvig}\verb|]{|\emph{dolÅ¾ina}\verb|}{|\emph{viÅ¡ina}\verb|}|
\end{lscommand}
ki nariÅ¡e Ärno Ärto z dano \emph{dolÅ¾ino} in debelino \emph{viÅ¡ina} v viÅ¡ini
\emph{dvig} nad osnovnico tekoÄe vrstice. Parameter \emph{dvig} je lahko
tudi negativen.

\newpage
\begin{example}
\rule{3mm}{.1pt}%
\rule[-1mm]{5mm}{1cm}%
\rule{3mm}{.1pt}%
\rule[1mm]{1cm}{5mm}%
\rule{3mm}{.1pt}
\end{example}

\noindent Ta ukaz uporabljamo za risanje navpiÄnih in vodoravnih Ärt. 
ÄŒrta na naslovnici je bila tako npr. narejena z ukazom \ci{rule}.

Poseben primer Ärte je takÅ¡na, ki nima Å¡irine, a ima doloÄeno viÅ¡ino. V 
tiskarstvu se to imenuje \wi{preÄnik}. Uporabimo ga za to, da poskrbimo,
da za doloÄeni objekt na strani podamo minimalno viÅ¡ino. 
Uporabljamo ga lahko tudi v okolju \texttt{tabular}, s Äimer poskrbimo,
da imajo vse vrstice doloÄeno minimalno viÅ¡ino.

\begin{example}
\begin{tabular}{|c|}
\hline
\rule{1pt}{4ex}S Ärto \ldots\\
\hline
\rule{0pt}{4ex}Z nevidnim 
preÄnikom \ldots \\
\hline
\end{tabular}
\end{example}

\bigskip
{\flushright Konec.\par}

%

% Local Variables:
% TeX-master: "lshort2e"
% mode: latex
% mode: flyspell
% End:
</pre></body></html>