diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/lshort-slovenian/src/typeset.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/lshort-slovenian/src/typeset.tex | 1263 |
1 files changed, 1263 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/lshort-slovenian/src/typeset.tex b/Master/texmf-dist/doc/latex/lshort-slovenian/src/typeset.tex new file mode 100644 index 00000000000..0e445df2baf --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-slovenian/src/typeset.tex @@ -0,0 +1,1263 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 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: |