diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/lshort-czech/src/typeset.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/lshort-czech/src/typeset.tex | 1780 |
1 files changed, 1780 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/lshort-czech/src/typeset.tex b/Master/texmf-dist/doc/latex/lshort-czech/src/typeset.tex new file mode 100644 index 00000000000..3e6c4141d78 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-czech/src/typeset.tex @@ -0,0 +1,1780 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Typesetting Part of LaTeX2e Introduction +% $Id: typeset.tex 199 2009-04-20 06:29:16Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Sazba textu} + +\begin{intro} + Po přečtení předchozí kapitoly byste měli znát základní prvky + dokumentu systému \LaTeXe. V~této kapitole doplním + informace o~zbytku reálně potřebných věcí. +\end{intro} + +\section{Struktura textu a~jazyka} +\secby{Hanspeter Schmid}{hanspi@schmid-werren.ch} +Hlavním cílem psaní textu (vyjma některou + DAAC\footnote{Different At All Cost (Odlišný za každou cenu), + překlad zkratky UVA (Um's Verrecken Anders) ze švýcarské němčiny.} + moderní literaturu) + je předat myšlenky, informace nebo znalosti čtenáři. Text + je srozumitelnější, pokud jsou myšlenky dobře strukturované + a~typografická forma odpovídá logické a~významové struktuře + obsahu. + +\LaTeX{} se od jiných sázecích systémů liší v~tom, že od uživatele +vyžaduje popis logické a~sémantické struktury textu. \LaTeX{} sám potom +vytvoří typografickou reprezentaci textu podle \emph{pravidel} +uvedených v~souboru s~třídou dokumentu a~různých stylových souborech. + +Nejdůležitější \emph{jednotka textu} v~\LaTeX u (i~v~typografii) je +\wi{odstavec}. Odstavci se říká jednotka textu, protože +je typografickou formou, která by měla vyjadřovat jednu +soudržnou myšlenku nebo ideu. V~následujících sekcích +se dozvíte, jak vynutit řádkový zlom (např. pomocí \texttt{\bs\bs}) +a~konec odstavce (např. pomocí prázdného řádku v~zdrojovém souboru). +S~novou myšlenkou by měl začít i~nový odstavec. Pokud jste +ohledně dělení do odstavců na pochybách, představte si text +jako přepravce ideí a~myšlenek. Stejná myšlenka +by neměla být rozdělena do několika odstavců, naopak objeví-li +se v~textu odstavce myšlenka nová, měla by být přesunuta +do zvláštního odstavce. + +Většina lidí podceňuje význam správného dělení textu do odstavců. +Řada lidí dokonce neví, na základě čeho se toto dělení uskutečňuje +nebo, zvláště v~\LaTeX u, vytvářejí nové odstavce omylem. Tento +poslední případ je jednoduché udělat hlavně tehdy, když +jsou v~textu použity rovnice. Podívejte se na následující příklady +a~zkuste poznat, proč prázdné řádky (odstavcové zlomy) před a~za +rovnicí někdy uvedeny jsou a~někdy ne. (Pokud těmto příkladům ještě +úplně nerozumíte, přečtěte si nejdřív tuto a~následující kapitolu +a~k~této sekci se vraťte potom.) + +\begin{code} +\begin{verbatim} +% Example 1 +\ldots když Einstein přišel s~vzorcem +\begin{equation} + e = m \cdot c^2 \; , +\end{equation} +což je nejznámější a~zároveň nejméně pochopený +matematický vzorec. + + +% Example 2 +\ldots z~čehož plyne Kirchhoffův zákon o~uzlech: +\begin{equation} + \sum_{k=1}^{n} I_k = 0 \; . +\end{equation} + +Kirchhoffův zákon o~napětí lze odvodit\ldots + + +% Example 3 +\ldots což má několik výhod. + +\begin{equation} + I_D = I_F - I_R +\end{equation} +je jádrem velmi odlišného tranzistorového modelu. +\end{verbatim} +\end{code} + +Menší textovou jednotkou je věta. V~anglických textech bývá větší +mezera za tečkou ukončující větu než za tečkou uvedenou za zkratkou. +\LaTeX{} zkouší odhadnout, který z~těchto dvou významů každá tečka má. +Pokud je jeho odhad špatný, musíte udělat opravu. To je vysvětleno +níže v~této kapitole. + +Strukturování textu se týká dokonce i~částí vět. Většina jazyků +má komplikovaná interpunkční pravidla, ale v~mnoha jazycích +(včetně němčiny a~angličtiny) se můžete řídit jednoduchým vodítkem: +krátká pauza v~toku jazyka. Pokud si s~čárkami nejste jistí, +přečtěte si větu nahlas a~krátce se zastavte na každé čárce. +Pokud je někde pauza nepřirozená, vymažte příslušnou čárku. +Cítíte-li, že byste se v~některém místě měli nadechnout (nebo +krátce zastavit), přidejte čárku. + +Nakonec, odstavce textu by měly být logicky seskupeny do vyšších +celků (kapitol, sekcí, podsekcí atd.). Typografický efekt napsání např. +\verb|\section{| \texttt{Struktura textu a~jazyka}\verb|}| +je zřejmý a~je jasně vidět, jak se toto strukturování na vyšší +úrovni používá. + +\section{Řádkový a~stránkový zlom} + +\subsection{Zarovnané odstavce} + +Knihy se často sází tak, že každý řádek má stejnou délku. Aby toho +dosáhl, vkládá \LaTeX{} +nezbytné \index{řádkový zlom}řádkové zlomy a~mezery mezi slova a~přitom optimalizuje +s~ohledem na obsah celého odstavce. Navíc dělí slova, která +nelze dobře umístit na jednu řádku. To, jak jsou odstavce vysázeny, +závisí na třídě dokumentu. Obyčejně se odsazuje první řádek odstavce +a~mezi dva odstavce se nevkládá žádná dodatečná mezera. Více informací +je uvedeno v~sekci~\ref{parsp}%. + +Ve speciálních případech musíme \LaTeX u říct, aby rozdělil řádku: + +\begin{lscommand} +\ci{\bs} nebo \ci{newline} +\end{lscommand} +\noindent zahájí novou řádku (ale ne nový odstavec). + +\begin{lscommand} +\ci{\bs*} +\end{lscommand} +\noindent navíc zakáže stránkový zlom za specifikovaným řádkovým zlomem. + +\begin{lscommand} +\ci{newpage} +\end{lscommand} +\noindent zahájí stránku. + +\begin{lscommand} +\ci{linebreak}\verb|[|\emph{n}\verb|]|, +\ci{nolinebreak}\verb|[|\emph{n}\verb|]|, +\ci{pagebreak}\verb|[|\emph{n}\verb|]|, +\ci{nopagebreak}\verb|[|\emph{n}\verb|]| +\end{lscommand} +\noindent indikuje místa, kde je možné provést řádkový, resp. stránkový +zlom. Hodnotou nepovinného parametru je možné upřesnit, jak se má +\LaTeX{} zachovat. Hodnota může být mezi nula a~čtyři. Hodnota čtyři +znamená, že \LaTeX{} nemusí zlom udělat, pokud by výsledek vypadal +velmi špatně. Tyto \emph{příkazy zlomu} ale nejsou to samé jako +\emph{příkazy new} (např. \ci{newline}). Použijete-li některý +z~\uv{příkazů zlomu}, \LaTeX{} se pokusí vyrovnat na řádku text +před zlomem (jak je popsáno v~následující sekci); nepříjemným výsledkem +mohou být velké mezery na daném řádku. Pokud opravdu chcete začít +novou řádku, resp. novou stránku, použijte příslušný \uv{příkaz new}. + +\LaTeX{} se vždy snaží najít nejlepší možné řádkové zlomy. Pokud se +mu nepodaří najít takové, které by splňovaly jeho vysoké standardy, +nechá jednu z~řádek odstavce přečnívat přes pravý okraj a~vypíše varování +(\index{varování overfull hbox}\texttt{overfull hbox}). K~tomu dochází hlavně tehdy, když +se \LaTeX u nepodaří najít vhodné místo pro rozdělení slova.% +\footnote{Ačkoliv je vypsáno varování (\uv{Overfull hbox}) a~vypsán +problematický řádek, najít tento řádek v~dokumentu nemusí být snadné. +Použijete-li v~příkazu \ci{documentclass} volbu \texttt{draft}, budou +takového řádku označeny tlustou černou čárou v~pravém okraji.} Pomocí +příkazu \ci{sloppy} je možné \LaTeX u říct, aby trochu snížil své +standardy. Dá se tím zabránit výše zmíněným přečnívajícím řádkám +(pomocí zvětšení mezislovních mezer) a~je zobrazeno varování +(\index{varování underfull hbox}\texttt{underfull hbox}). +Výsledek většinou nevypadá moc dobře. +Příkazem \ci{fussy} vrátíme \LaTeX{} zpět k~jeho \uv{vysokým standardům}. + +\subsection{Dělení slov} \label{hyph} + +\LaTeX{} se pokouší dělit slova vždy, když by to vedlo k~\uv{lépe +vypadajícímu} odstavci. Pokud v~daném slově existují místa, kde lze +slovo korektně rozdělit, ale \LaTeX ový algoritmus dělení slov tato +místa nenajde, můžete pomocí následujících příkazů tato místa +\LaTeX u označit \uv{ručně}. + +Příkaz +\begin{lscommand} +\ci{hyphenation}\verb|{|\emph{word list}\verb|}| +\end{lscommand} +\noindent zařídí, že pro slova uvedená jako argument bude \LaTeX{} +uvažovat rozdělení jen v~místech ve slově označených pomocí \verb|-|. +Argumenty příkazu by měla být slova obsahující jen normální písmena +a~znaky, které jsou \LaTeX em za normální písmena považovány. Argument +příkazu (\uv{tipy} pro dělení daných slov) je uložen pro jazyk, který +je aktivní ve chvíli, kdy je příkaz spuštěn. Umístíte-li tedy tento +příkaz do preambule svého dokumentu, bude se vztahovat na angličtinu. +Pokud příkaz umístíte za \verb|\begin{document}| a~používáte balík +podporující sazbu v~jiném jazyku (např. \pai{babel}), pak se bude +argument příkazu \ci{hyphenation} vztahovat na jazyk daným balíkem +aktivovaný. + +Následující příkaz zařídí, že bude možno dělit jak \uv{hyphenation}, +tak \uv{Hyphenation} a~zakáže dělení slov \uv{FORTRAN}, \uv{Fortran} +a~\uv{fortran}. Argument příkazu \ci{hyphenation} nesmí obsahovat +žádné speciální znaky nebo symboly. + +Příklad: +\begin{code} +\verb|\hyphenation{FORTRAN Hy-phen-a-tion}| +\end{code} + +Příkaz \ci{-} vloží na dané místo do daného slova \uv{volitelné dělítko}. +Místa v~daném slově takto označená budou jedinými místy, kde smí +\LaTeX{} dané slovo rozdělit. Tento způsob popisu výjimek pro dělení +slov je obzvlášť užitečný u~slov, která obsahují speciální znaky +(např. znaky s~akcenty), protože \LaTeX{} sám by takováto slova +neumožnil dělit v~žádném místě. +%\footnote{Unless you are using the new +%\wi{DC fonts}.}. + +\begin{example} +nej\-ne\-ob\-hos\-po\-da\-% +\v{r}o\-v\'{a}\-va\-tel\-% +n\v{e}j\-\v{s}\'{\i}mu +\end{example} + +Chceme-li zabránit tomu, aby byla část textu rozdělena, můžeme +tento text zadat jako argument příkazu +\begin{lscommand} +\ci{mbox}\verb|{|\emph{text}\verb|}| +\end{lscommand} + +\begin{example} +Brzy budu mít nové telefonní +číslo. Bude to +\mbox{0116 291 2319}. + +Parametr +\mbox{\emph{filename}} by měl +obsahovat jméno daného souboru. +\end{example} + +Příkaz \ci{fbox} je podobný jako \ci{mbox}, ale navíc bude okolo +obsahu nakreslen rámeček. + + +\section{Předpřipravené řetězce} + +V~některých z~příkladů na předchozích stranách se objevily +jednoduché \LaTeX ové příkazy pro sazbu speciálních řetězců: + +\vspace{2ex} + +\noindent +\begin{tabular}{@{}lll@{}} +Příkaz&Možný výsledek&Popis\\ +\hline +\ci{today} & \today & Aktuální datum\\ +\ci{TeX} & \TeX & Váš oblíbený sazeč\\ +\ci{LaTeX} & \LaTeX & Jméno naší hry\\ +\ci{LaTeXe} & \LaTeXe & Její aktuální inkarnace\\ +\end{tabular} + +\section{Zvláštní znaky a~symboly} + +\subsection{Uvozovky} + +\index{uvozovky}Uvozovky byste \emph{neměli} sázet pomocí znaku \verb|"|\index{""@\texttt{""}}. +Pro otevírací a~uzavírací uvozovku místo toho používáme v~\LaTeX u speciální symboly: +dva znaky~\textasciigrave~(obrácený apostrof) pro otevírací uvozovku +a~dva znaky~\textquotesingle~(apostrof) pro uzavírací uvozovku. Pro jednoduché +uvozovky používáme jen jeden z~této dvojice znaků. +\begin{example} +``Press the key `x', please.'' +\end{example} +Vysázeno výše vpravo to nevypadá nejlépe, ale opravdu jsme použili zpětný +apostrof pro otevírací uvozovku a~normální apostrof pro zavírací. +Navzdory tomu, co zvolený font skutečně vysázel\ldots + +\TODO{add text about quotes in Czech} + +\subsection{Pomlčky a~spojovníky} + +Spojovník do \LaTeX ového dokumentu vložíme, uvedeme-li ve vstupním souboru +jeden znak \texttt{-}. Uvedením dvou, resp. tří za sebou následujících znaků +\texttt{-} vložíme pomlčky dvou různých velikostí. Uvedením znaku \texttt{-} +uvnitř matematického vzorce vložíme do dokumentu matematický znak mínus: +\index{-}\index{--}\index{---}\index{-@$-$}\index{matematické!mínus} + +\begin{example} +je-li, anglicko-německý\\ +na stranách 13--67\\ +yes---or no? \\ +$0$, $1$ a~$-1$ +\end{example} +Jména jednotlivých znaků jsou: +\wi{spojovník} (-), \wi{půlčtverčíková pomlčka} (--), \wi{čtverčíková pomlčka} (---) +a~\wi{matematický znak mínus} ($-$). + +\subsection{Tilda ($\sim$)} +\index{www}\index{URL}\index{tilda} +Ve webových adresách se často objevuje znak tilda. V~\LaTeX u +ho vygenerujete pomocí \verb|\~|, ale výsledek \~{} asi není to, +co chcete získat. Srovnejte: + +\begin{example} +http://www.rich.edu/\~{}bush \\ +http://www.clever.edu/$\sim$demo +\end{example} + +\subsection{Symbol stupně \texorpdfstring{($\circ$)}{}} + +Tisk symbolu \wi{stupeň} v~\uv{normálním} \LaTeX u. + +\begin{example} +Je-li opravdu +$-30\,^{\circ}\mathrm{C}$, +je asi zima\ldots +\end{example} + +Balík \pai{textcomp} generuje symbol stupně i~pomocí příkazu +\ci{textdegree} nebo -- v~kombinaci s~C -- pomocí \ci{textcelsius}. + +\begin{example} +30 \textcelsius{} je +86 \textdegree{}F. +\end{example} + +\subsection{Symbol Eura \texorpdfstring{(\officialeuro)}{}} + +Mnoho současných fontů obsahuje symbol Eura. Po nahrání balíku \pai{textcomp} +v~preambuli dokumentu +\begin{lscommand} +\ci{usepackage}\verb|{textcomp}| +\end{lscommand} +můžete tento symbol vysázet pomocí příkazu +\begin{lscommand} +\ci{texteuro} +\end{lscommand} + +Pokud váš font znak Eura neobsahuje, nebo pokud obsažen je, ale nelíbí se vám, +můžete použít balík \pai{eurosym}, který poskytuje oficiální podobu symbolu: +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}| +\end{lscommand} +Pokud byste chtěli symbol Eura, který se hodí k~vašemu fontu, použijte +\texttt{gen} místo \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''). + +%The \pai{marvosym} package also provides many different symbols, including a +%Euro, under the name \ci{EURtm}. Its disadvantage is that it does not provide +%slanted and bold variants of the Euro symbol. + +\begin{table}[!htbp] +\caption{Balík plný symbolů Eura.}\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{Výpustky (\texorpdfstring{\ldots}{...})} + +Na psacím stroji má znak \index{čárka}{čárky} a~\index{tečka}tečky stejnou šířku jako +každý jiný znak. U~sázených textů jsou tyto znaky mnohem užší a~sází +se velmi blízko k~předcházejícímu písmenu. Napsáním tří teček za sebou +tedy \index{výpustka}výpustku nezískáme. Získáme ji ale pomocí příkazu: + +\begin{lscommand} +\ci{ldots} +\end{lscommand} +\index{...@\ldots} + + +\begin{example} +Takto ne ... ale takto ano:\\ +New York, Tokyo, +Budapest, \ldots +\end{example} + +\subsection{Ligatury} + +Některé znaky, zapíšeme-li je ve vstupním souboru za sebou, budou +vysázeny jako jediný speciální symbol (doporučujeme v~ukázce využít zvětšení). +\begin{code} +{\large ff fi fl ffi\ldots}\quad +místo \quad {\large f{}f f{}i f{}l f{}f{}i \ldots} +\end{code} +Jedná se o~tzv. \index{ligatura}ligatury a~spojení jednotlivých znaků ve vstupním +souboru do speciálního symbolu (ligatury) dělá \LaTeX{} automaticky. Pokud si +tyto speciální symboly nepřejeme, můžeme napsat \ci{mbox}\verb|{}| +mezi příslušné dva znaky. Potlačit ligatury můžeme chtít u~slov +skládajících se ze dvou slov. + +\begin{example} +\Large Not shelfful\\ +but shelf\mbox{}ful +\end{example} + +\subsection{Akcenty a~speciální znaky} + +\LaTeX{} podporuje používání \index{akcent}akcentů +a~\index{speciální znak}speciálních znaků +mnoha jazyků. Tabulka~\ref{accents} ukazuje všechny druhy akcentů +aplikované na písmeno o. Akcenty jde samozřejmě stejně použít +i~na ostatní písmena. + +Při přidávání akcentů nad písmena i~a~j je navíc potřeba odstranit +tečky, které jsou součástí těchto písmen, aby s~těmito akcenty +nekolidovaly. Provede se to pomocí \verb|\i| a~\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 +\end{example} + +\begin{table}[bth] +\caption{Akcenty a~speciální znaky.} \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{\i{} a~\j{} bez tečky}\index{skandinávská písmena}% +\index{ae@\ae}\index{umlaut}\index{grave}\index{acute}% +\index{oe@\oe}\index{aa@\aa}% + +\bigskip +\end{lined} +\end{table} + + + +\section{Podpora pro neanglické jazyky} +\index{internacionalizace} Když píšete dokumenty v~\index{jazyk}jazycích +jiných než je angličtina, je potřeba nakonfigurovat tři aspekty +\LaTeX u: + +\begin{enumerate} +\item Všechny automaticky generované textové řetězce% + \footnote{Nadpis obsahu, seznamu obrázků, \ldots} je potřeba přizpůsobit + danému jazyku. Pro mnoho jazyků tak lze učinit pomocí balíku + \pai{babel} od Johanna Braamse. +\item Je potřeba nastavit pravidla pro dělení slov v~daném jazyce. + Tento aspekt je trochu komplikovanější. Je potřeba znovu přeložit + formátový soubor, který bude používat nové vzory dělení slov. + Váš \guide{} by měl obsahovat informace o~tom, jak to provést. +\item Je potřeba nastavit typografická pravidla specifická pro daný jazyk. Např. + ve francouzštině je povinné psát mezeru před každý výskyt znaku + dvojtečka (:). +\end{enumerate} + +%Pokud je +Je-li váš systém %řádně +nakonfigurován, aktivujte balík +\pai{babel} pomocí příkazu +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{language}\verb|]{babel}| +\end{lscommand} + +\noindent za příkazem \verb|\documentclass|. Na začátku každého překladu +pomocí \LaTeX u pak bude zobrazen seznam \emph{jazyků} zabudovaných do +vašeho \LaTeX ového systému. \textsf{Babel} automaticky aktivuje příslušné vzory +dělení slov pro jazyk, který si vyberete. Pokud váš \LaTeX ový formát +nepodporuje dělení slov v~jazyce, s~kterým pracujete, \textsf{babel} bude fungovat +i~tak, ale dělení slov samozřejmě prováděno nebude, což mívá negativní +vliv na vzhled vysázeného dokumentu. + +\textsf{Babel} také pro některé jazyky poskytuje příkazy, které zjednodušují +sazby speciálních znaků. Např. \wi{němčina} obsahuje mnoho přehlásek +(\"a\"o\"u). S~nahraným \textsf{babel}em vložíte znak \"o pomocí +\verb|"o| místo~\verb|\"o|. + +Používáte-li \textsf{babel} s~více jazyky, pak po provedení následujícího řádku +vašeho dokumentu +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{jazykA}\verb|,|\emph{jazykB}\verb|]{babel}| +\end{lscommand} + +\noindent bude aktivní poslední z~jazyků, uvedených jako argumenty +\ci{usepackage} (tj. \emph{jazykB}). Příkazem +\begin{lscommand} +\ci{selectlanguage}\verb|{|\emph{languageA}\verb|}| +\end{lscommand} + +\noindent pak můžete změnit aktivní jazyk. + +%Input Encoding +\newcommand{\ieih}[1]{% +\index{kódování!vstupní!#1@\texttt{#1}}% +\index{vstupní kódování!#1@\texttt{#1}}% +\index{#1@\texttt{#1}}} +\newcommand{\iei}[1]{% +\ieih{#1}\texttt{#1}} +%Font Encoding +\newcommand{\feih}[1]{% +\index{kódování!fontů!#1@\texttt{#1}}% +\index{font -- kódování!#1@\texttt{#1}}% +\index{#1@\texttt{#1}}} +\newcommand{\fei}[1]{% +\feih{#1}\texttt{#1}} + +Většina moderních počítačů umožňuje zapsat písmena národních jazyků +přímo z~klávesnice. \LaTeX{} na zacházení s~vstupními kódováními +různých skupin jazyků na různých platformách používá balík \pai{inputenc}: +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{encoding}\verb|]{inputenc}| +\end{lscommand} + +Při používání tohoto kódování byste měli vzít v~úvahu, že čtenáři vašeho +dokumentu nemusí být schopni si správně zobrazit vaše vstupní soubory, +protože používají jiné kódování. Např. německá přehláska \"a je na OS/2 +zakódována jako 132, na Unixových systémech používajících ISO-LATIN~2 +jako 228, zatímco v~kódování podle cyriliky cp1251 na Windows tento znak +vůbec neexistuje. S~\pai{inputenc} byste proto měli zacházet obezřetně. +Následující kódování mohou být užitečná (v~závislosti na tom, který +systém používáte).\footnote{Více se o~podporovaných vstupních kódováních +pro latinkové a~cyrilické jazyky můžete dočíst v~dokumentaci +k~\texttt{inputenc.dtx} a~k~\texttt{cyinpenc.dtx}. +Sekce~\ref{sec:Packages} ukazuje, jak vyrobit dokumentaci k~balíku.} + +\begin{center} +\begin{tabular}{l | r | r } +Operační & \multicolumn{2}{c}{kódování}\\ +systém & západní latinka & cyrilika\\ +\hline +Mac & \iei{applemac} & \iei{macukr} \\ +Unix & \iei{latin1} & \iei{koi8-ru} \\ +Windows & \iei{ansinew} & \iei{cp1251} \\ +DOS, OS/2 & \iei{cp850} & \iei{cp866nav} +\end{tabular} +\end{center} + +Obsahuje-li váš dokument texty ve více jazycích s~nekompatibilními +vstupními kódováními, můžete používat Unicode a~balík \pai{ucs}. + + +\begin{lscommand} +\ci{usepackage}\verb|{ucs}|\\ +\ci{usepackage}\verb|[|\iei{utf8x}\verb|]{inputenc}| +\end{lscommand} +\noindent vám umožní vytvářet \LaTeX ové vstupní soubory v~kódování +\iei{utf8x}, vícebytovém kódování kde každý znak je zakódován pomocí +jednoho až čtyř bytů. + +Jiným případem je kódování fontů, které definuje, na jakých pozicích +v~\TeX ovém fontu jsou uložené jednotlivé znaky. Více vstupních kódování +může být namapováno do jednoho kódování fontu, což redukuje počet +potřebných sad fontů. Kódování fontů se zařizuje pomocí balíku \pai{fontenc}:\label{fontenc} +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{encoding}\verb|]{fontenc}| \index{fonty -- kódování} +\end{lscommand} +\noindent kde \emph{encoding} je kódování fontu. Je možné nahrát více kódování. + +Implicitním kódováním fontů v~\LaTeX u je \label{OT1}\fei{OT1}, což je kódování +původních \TeX o\-vých fontů Computer Modern. Tyto fonty obsahují jen 128 znaků +7-bitové znakové sady ASCII. Když chceme používat akcentované znaky, můžeme +je \TeX em vytvořit kombinací normálních znaků s~akcenty. Výsledek sice vypadá +dobře, ale slova s~akcentovanými znaky nelze dělit. Navíc ne všechny latinkové +znaky lze vytvořit kombinací normálních znaků s~akcenty, nemluvě o~písmenech +nelatinkových abeced, např. v~řečtině nebo cyrilice. + +Za účelem odstranění těchto nedostatků bylo navrženo několik sad osmibitových +fontů odvozených z~fontů Computer Modern. Fonty \emph{Extended Cork} (EC) +v~kódování \fei{T1} obsahují písmena a~interpunkční znaky většiny evropských +jazyků založených na latince. Sada fontů LH obsahuje písmena potřebná k~sazbě +dokumentů v~jazycích používajících cyriliku. Kvůli velkému počtu znaků +cyriliky jsou tyto rozděleny do čtyř fontových kódování -- \fei{T2A}, \fei{T2B}, +\fei{T2C}, a~\fei{X2}.\footnote{Seznam jazyků podporovaných každým z~těchto +kódování lze najít v~\cite{cyrguide}.} Sada CB obsahuje fonty v~kódování +\fei{LGR} a~lze ji použít pro řecké texty. + +Používáním těchto fontů můžete zlepšit, resp. umožnit dělení slov v~neanglických +dokumentech. Další výhodou používání fontů odvozených z~CM je, že +jsou dostupné ve všech váhách, tvarech a~opticky škálované pro různé velikosti. + +\subsection{Podpora pro portugalštinu} + +\secby{Demerson Andre Polli}{polli@linux.ime.usp.br} +Aktivování dělení slov a~změnu všech automatických textů do portugalštiny +\index{Portugu\^es} provedete příkazem: +\begin{lscommand} +\verb|\usepackage[portuguese]{babel}| +\end{lscommand} +Pokud jste v~Brazílii, uveďte \texttt{\wi{brazilian}} místo \texttt{\wi{portuguese}}. + +Protože v~portugalštině existuje mnoho akcentů, může se vám hodit +\begin{lscommand} +\verb|\usepackage[latin1]{inputenc}| +\end{lscommand} +pomocí čehož je můžete snadno zadávat a~také +\begin{lscommand} +\verb|\usepackage[T1]{fontenc}| +\end{lscommand} +pomocí kterého získáte korektní dělení slov. + +V~tabulce~\ref{portuguese} je uveden text preambule, který je +pro práci s~portugalštinou potřeba použít. V~příkladech používáme vstupní kódování +\texttt{latin1}, takže nebudou fungovat na operačních systémech Mac nebo DOS. +Stačí ale nastavit stejné kódování, jako má váš systém. + +\begin{table}[!bth] +\caption{Preambule pro dokumenty v~portugalštině.} \label{portuguese} +\begin{lined}{6.5cm} +\begin{verbatim} +\usepackage[portuguese]{babel} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\end{verbatim} + +\bigskip +\end{lined} +\end{table} + +%\newpage +\subsection{Podpora pro francouzštinu} + +\secby{Daniel Flipo}{daniel.flipo@univ-lille1.fr} +Několik rad pro ty, kteří pomocí \LaTeX u vytvářejí dokumenty ve +\index{francouzština}francouzštině: Nahrajte podporu francouzštiny pomocí příkazu: + +\begin{lscommand} +\verb|\usepackage[frenchb]{babel}| +\end{lscommand} + +Všimněte si, že z~historických důvodů je jméno \textsf{babel}ovského +nastavení pro francouzštinu buď \emph{frenchb} nebo \emph{francais}, +nikoliv \emph{french}. + +Tím jsme umožnili francouzské dělení slov (je-li váš \LaTeX ový systém +řádně nakonfigurován). Také všechny automatické texty jsou převedeny +do francouzštiny. \verb+\chapter+ vysází Chapitre, \verb+\today+ +vysází aktuální datum ve francouzštině, atd. Je také aktivována sada +nových příkazů, pomocí kterých můžete vstupní soubory ve francouzštině +psát jednodušeji. Pro inspiraci se můžete podívat do tabulky +\ref{cmd-french}: + +\begin{table}[!htbp] +\caption{Speciální příkazy pro francouzštinu.} \label{cmd-french} +\begin{lined}{9cm} +\selectlanguage{french} +\begin{tabular}{ll} +\verb+\og guillemets \fg{}+ \quad &\og guillemets \fg \\[1ex] +\verb+M\up{me}, D\up{r}+ \quad &M\up{me}, D\up{r} \\[1ex] +\verb+1\ier{}, 1\iere{}, 1\ieres{}+ \quad &1\ier{}, 1\iere{}, 1\ieres{}\\[1ex] +\verb+2\ieme{} 4\iemes{}+ \quad &2\ieme{} 4\iemes{}\\[1ex] +\verb+\No 1, \no 2+ \quad &\No 1, \no 2 \\[1ex] +\verb+20~\degres C, 45\degres+ \quad &20~\degres C, 45\degres \\[1ex] +\verb+\bsc{M.~Durand}+ \quad &\bsc{M.~Durand} \\[1ex] +\verb+\nombre{1234,56789}+ \quad &\nombre{1234,56789} +\end{tabular} + +\selectlanguage{czech}% +\bigskip +\end{lined} +\end{table} + +S~přepnutím do francouzštiny se změní i~vzhled +seznamů. Více informací o~tom, co volba \texttt{frenchb} v~\textsf{babel}u +dělá a~jak lze přizpůsobit, spusťte \LaTeX{} na soubor \texttt{frenchb.dtx} +a~přečtěte si vytvořený soubor \texttt{frenchb.dvi}. + +\subsection{Podpora pro němčinu} + +Několik tipů pro ty, kteří v~\LaTeX u vytvářejí dokumenty v~\index{němčina}němčině\index{němčina}: +nahrajte podporu pro němčinu pomocí následujícího příkazu: + +\begin{lscommand} +\verb|\usepackage[german]{babel}| +\end{lscommand} + +Tím je umožněno německé dělení slov (je-li váš \LaTeX ový systém nakonfigurován +správně) a~změněny automatické texty do němčiny. Z~\uv{Chapter} se tak stává +\uv{Kapitel}. K~dispozici je navíc sada nových příkazů, pomocí kterých můžete +psát německé vstupní soubory rychleji dokonce i~tehdy, když nepoužíváte balík +\texttt{inputenc}. Pro inspiraci můžete nahlédnout do tabulky \ref{german}. +Jestliže ale balík \texttt{inputenc} používáte, je možná lepší psát speciální německé symboly +jednoduše vložením kódu daného znaku v~daném kódování. (Nevýhodou tohoto postupu by +snad mohly být komplikace při konverzi dokumentu do jiného kódování.) +% With inputenc, all this becomes moot, but your text also is locked in a particular encoding world.\TODO{what was meant?} + +\shorthandon{"} +\begin{table}[!htbp] +\caption{Speciální německé znaky.} \label{german} +\begin{lined}{8cm} +\selectlanguage{german} +\begin{tabular}{*2{ll}} +\verb|"a| & "a \hspace*{1ex} & \verb|"s| & "s \\[1ex] +\verb|"`| & "` & \verb|"'| & "' \\[1ex] +\verb|"<| nebo \ci{flqq} & "< & \verb|">| nebo \ci{frqq} & "> \\[1ex] +\ci{flq} & \flq & \ci{frq} & \frq \\[1ex] +\ci{dq} & " \\ +\end{tabular} +\selectlanguage{czech} +\bigskip +\end{lined} +\end{table} +\shorthandoff{"} + +V~německých knihách se často setkáte s~francouzskými uvozovkami (\flqq guil\-le\-mets\frqq). +Němečtí sazeči je ale používají jinak než francouzští. Citace v~německé knize +vypadá \frqq takto\flqq. V~německy mluvící části Švýcarska ale sazeči používají +\flqq guillemets\frqq~stejným způsobem jako francouzští. + +Vážným problémem vyskytujícím se při používání příkazů typu \verb+\flq+ je, že +jestliže používáte font OT1 (což je implicitní font), guillemets +vypadají jako matematický symbol ``$\ll$'', což žádného sazeče nepotěší. Naproti +tomu fonty kódované pomocí T1 obsahují příslušné symboly. Pokud tedy tento typ +citací používáte, užijte fontů v~kódování T1, \verb|\usepackage[T1]{fontenc}|. + +%\newpage +\subsection[Podpora pro korejštinu]{Podpora pro korejštinu\footnotemark}\label{support_korean}% +\footnotetext{% +Nastínění řady problémů, s~kterými se korejští uživatelé +\LaTeX u musejí vypořádat. Za korejský tým překladatelů +lshort tuto sekci sepsal Karnes KIM. Do angličtiny text +přeložil SHIN Jungshik a~zredukoval Tobi Oetiker.} + +Abychom %pomocí \LaTeX u +mohli sázet \index{korejština}korejštinu, musíme vyřešit tři problémy: + +\begin{enumerate} +\item +Musíme být schopni vytvořit \wi{vstupní soubory v~korejštině}. Tyto soubory musí mít +formát obyčejného textu, ale protože korejština používá vlastní znakovou +sadu odlišnou od US-ASCII, budou při prohlížení pomocí normálního ASCII +editoru tyto vstupní soubory vypadat \uv{divoce}. Dvě nejčastěji používaná +kódování korejštiny jsou EUC-KR a~shora kompatibilní rozšíření +používané na korejských MS-Windows, CP949/Windows-949/UHC. U~těchto +kódování kódy znaků US-ASCII reprezentují příslušné ASCII znaky, +podobně jako u~ostatních kompatibilních kódování jako např. +ISO-8859-\textit{x}, EUC-JP, Big5 nebo Shift\_JIS. Naopak, +slabiky Hangul, Hanjas (čínské znaky použité v~korejštině), Hangul Jamos, +Hiraganas, Katakanas, Greek a~cyrilické znaky a~další symboly a~znaky +odvozené z~KS~X~1001 jsou reprezentovány dvěma byty. První z~nich má +nastaven svůj nejvýznamnější bit. Do poloviny devadesátých +let minulého století bylo velmi obtížné nastavit korejské národní prostředí +na nelokalizovaných (nekorejských) operačních systémech. +Chcete-li mít představu o~tom, jak se tehdy +korejština na nekorejských operačních systémech používala, podívejte +se do dnes už velmi zastaralého dokumentu \url{http://jshin.net/faq}. + +\item \TeX{} a~\LaTeX{} byly původně navrženy pro písmové systémy +jejichž abecedy obsahovaly maximálně 256 znaků. Aby bylo možné sázet +i~jazyky s~mnohem více znaky, jako např. korejštinu% + \footnote{ + Korejský Hangul je systém založený na abecedě s~čtrnácti základními + souhláskami a~deseti základními samohláskami (\emph{jamos} [čamo]). Na rozdíl od latinky + nebo cyriliky musí být jednotlivé znaky seřazeny do obdélníkových bloků + velikých zhruba jako čínské znaky. Každý blok reprezentuje slabiku. + Z~konečného množství samohlásek a~souhlásek je tedy možno vytvořit + neomezeně mnoho slabik. Moderní korejské pravopisné standardy (pro + Severní i~Jižní Koreu) ale pro tvorbu uvádějí určitá omezení. Důsledkem + je existence pouze konečného počtu korektních slabik. Korejské znakové + kódování pro každou z~těchto slabik definuje kódové pozice + (KS~X~1001:1998 and KS~X~1002:1992). To znamená, že Hangul, i~když je + abecedního typu, se zpracovává jako čínština a~japonština, s~jejich + desetitisíci obrázkovými/slovními znaky. ISO~10646/Unicode + nabízí dvě cesty, jak Hangul použitý pro \emph{moderní} korejštinu + reprezentovat. První možností je pomocí zakódování spojených samohlásek Hangulu + (abecedy: \url{http://www.unicode.org/charts/PDF/U1100.pdf}). \par Druhou + možností je zakódování všech korektních slabik Hangulu \emph{moderní} + korejštiny (\url{http://www.unicode.org/charts/PDF/UAC00.pdf}). Jednou + z~nejobávanějších výzev sazby korejštiny pomocí \LaTeX u a~příslušného + sázecího systému je podpora středověké korejštiny -- a~případně + budoucích korejštin -- slabik, které lze reprezentovat jedině spojením + \emph{jamo} v~Unicode. Lze doufat, že budoucí \TeX ové systémy, + např. $\Omega$ a~$\Lambda$, přinesou řešení, takže i~korejští lingvisté + a~historici budou moct přejít z~Microsoft Wordu, který má pro středověkou + korejštinu slušnou podporu. + } +nebo čínštinu, byl vytvořen mechanismus subfontů. Ten dělí jeden ČJK font +s~tisíci nebo desetitisíci znaků na množinu subfontů po 256 znacích. +Pro korejštinu se široce používají tři balíky; \wi{H\LaTeX} +od UN~Koaunghiho, \wi{h\LaTeX{}p} od CHA~Jaechoona a~\wi{balík CJK} +od Wernera~Lemberga.\footnote{% +\raggedright% +Je možné je získat z~\CTANref|language/korean/HLaTeX/|, + \CTANref|language/korean/CJK/| +a~\texttt{http://knot.kaist.ac.kr/htex/}} +H\LaTeX{} a~h\LaTeX{}p jsou specifické pro korejštinu a~kromě podpory fontů +poskytují i~korejskou lokalizaci. Oba umějí zpracovat korejské vstupní soubory +zakódované v~EUC-KR. H\LaTeX{}, je-li použitý spolu se systémem $\Lambda$ nebo +$\Omega$, umí zpracovat dokonce i~vstupní soubory zakódované +v~CP949/Windows-949/UHC a~UTF-8. + +Balík CJK není specifický pro korejštinu. Umí zpracovat vstupní soubory +v~kódování UTF-8, EUC-KR a~CP949/Windows-949/UHC a~je možné s~ním +sázet vícejazyčné dokumenty (zvláště čínštinu, japonštinu a~korejštinu). +Na rozdíl od h\LaTeX u neobsahuje balík CJK korejskou lokalizaci a~nemá +ani tolik speciálních korejských fontů. + +Konečným cílem použití programů typu \TeX{} a~\LaTeX{} je vysázení dokumentů +,esteticky` uspokojivým způsobem. Lze tvrdit, že nejdůležitější částí +sazby je množina dobře navržených fontů. Distribuce H\LaTeX u obsahuje +fonty \index{korejský font!font UHC}UHC \PSi{} (deset rodin písem) +a~TrueType fonty Munhwabu\footnote{Korejské ministerstvo kultury.} +(pět rodin písem). Balík CJK pracuje s~množinou fontů používanou +dřívější verzí H\LaTeX u a~může používat cyberbit TrueType font +od Bitstreamu. +\end{enumerate} + +Abyste mohli své korejské texty vysázet pomocí balíku H\LaTeX, +vložte následující řádek do preambule svého dokumentu: +\begin{lscommand} +\verb+\usepackage{hangul}+ +\end{lscommand} + +Tímto příkazem se zapne korejská lokalizace. Názvy kapitol, sekcí, +podsekcí, obsah a~tabulka obrázků budou všechny přeloženy do korejštiny +a~formátování dokumentu bude přizpůsobeno korejským konvencím. Navíc +je aktivován automatický výběr \uv{částic}. Korejština +má dvojice částic-přípon, které jsou gramaticky ekvivalentní, ale +liší se formou. To, kterou z~nich použít závisí na tom, zda předcházející +slabika končí samohláskou nebo souhláskou (zjednodušeně řečeno). +Rodilí mluvčí nemají problém vybrat správnou částici, ale u~odkazů +a~dalších automatických textů je tento výběr nemožný. Ruční upravování +částic po každém přidání nebo odebrání odkazu nebo dalších úpravách +je únavné. H\LaTeX{} vás této zátěže zbaví. + +Pokud chcete sázet korejštinu, ale korejskou lokalizaci nepotřebujete, +stačí do preambule dokumentu vložit následující řádku: + +\begin{lscommand} +\verb+\usepackage{hfont}+ +\end{lscommand} + +Více informací o~sazbě korejštiny pomocí H\LaTeX u lze najít +v~návodu k~H\LaTeX u. Dalším zdrojem informací jsou stránky +korejské skupiny uživatelů \TeX u (KTUG) na \url{http://www.ktug.or.kr/}. +K~dispozici je také korejský překlad tohoto manuálu. + +\subsection{Sazba řečtiny} +\secby{Nikolaos Pothitos}{pothitos@di.uoa.gr} +Abyste mohli sázet \index{řečtina}řečtinu\index{Greek}, musíte do preambule svého dokumentu vložit +text uvedený v~tabulce~\ref{preamble-greek}. Potom bude umožněno dělení +řeckých slov a~změněny automatické texty.% +\footnote{Použijete-li volbu \texttt{utf8x} +balíku \texttt{inputenc}, \LaTeX{} bude umět číst řecké a~polytonické řecké +znaky Unicodu.} + +\begin{table}[!bthp] +\caption{Preambule pro řecké dokumenty.} \label{preamble-greek} +\begin{lined}{7cm} +\begin{verbatim} +\usepackage[english,greek]{babel} +\usepackage[iso-8859-7]{inputenc} +\end{verbatim} +\bigskip +\end{lined} +\end{table} + +Výše zmíněný text v~preambuli také zpřístupní množinu příkazů, pomocí které lze +jednodušeji psát vstup v~řečtině. Pro dočasné přepínání mezi řečtinou a~angličtinou +můžeme použít příkazy \verb|\textlatin{|\emph{anglický text}\verb|}| +a~\verb|\textgreek{|\emph{řecký text}\verb|}|, které oba vysázejí text +předaný jako argument pomocí požadovaného kódování. Pro \uv{dlouhodobé} +přepnutí použijte příkaz \verb|\selectlanguage| popsaný v~předchozí sekci. +Některé z~řeckých interpunkčních znaků jsou uvedené v~tabulce~\ref{sym-greek} +Použijte \verb|\euro| pro symbol Eura. + +\begin{table}[!htbp] +\caption{Greek Special Characters.} \label{sym-greek} +\begin{lined}{4cm} +\selectlanguage{french} +\begin{tabular}{*2{ll}} +\verb|;| \hspace*{1ex} & $\cdot$ \hspace*{1ex} & \verb|?| \hspace*{1ex}& ; \\[1ex] +\verb|((| & \og & \verb|))|& \fg \\[1ex] +\verb|``| & ` & \verb|''| & ' \\ +\end{tabular} +\selectlanguage{czech} +\bigskip +\end{lined} +\end{table} + + +\subsection{Podpora cyriliky} + +\secby{Maksym Polyakov}{polyama@myrealbox.com} +Verze~3.7h balíku \pai{babel} obsahuje podporu kódování \fei{T2*} +a~podporu sazby bulharských, ruských a~ukrajinských +textů pomocí písmen cyriliky. + +Podpora pro cyriliku je založena na mechanismech standardního \LaTeX u +a~balíků \pai{fontenc} a~\pai{inputenc}. Pokud ale chcete používat +cyriliku v~matematickém módu, budete potřebovat před balíkem \pai{fontenc} +nahrát balík \pai{mathtext}:\footnote{Používáte-li balíky \AmS-\LaTeX, +nahrajte je také před \pai{fontenc} a~\paih{babel}\textsf{babelem}.} + +\begin{lscommand} +\verb+\usepackage{mathtext}+\\ +\verb+\usepackage[+\fei{T1}\verb+,+\fei{T2A}\verb+]{fontenc}+\\ +\verb+\usepackage[+\iei{koi8-ru}\verb+]{inputenc}+\\ +\verb+\usepackage[english,bulgarian,russian,ukranian]{babel}+ +\end{lscommand} + +Balík \pai{babel} obecně automaticky vybere implicitní kódování fontů, +což pro výše zmíněné tři jazyky je kódování \fei{T2A}. Dokumenty ale +mohou obsahovat text ve více kódováních. Vícejazyčné dokumenty používající +jak cyrilické tak latinkové jazyky je rozumné explicitně vložit v~kódování +latinkového fontu. \paih{babel}\textsf{Babel} se postará o~přepnutí do příslušného kódování +fontů ve chvíli, kde je v~dokumentu vybrán jiný jazyk. + +Mimo zpřístupnění dělení slov, překladu automaticky generovaných +textů a~aktivování některých typografických pravidel týkajících se +konkrétních jazyků (podobně jako příkaz \ci{frenchspacing} ve standardním +\LaTeX u) \pai{babel} poskytuje příkazy umožňující sazbu +podle standardů bulharštiny, ruštiny nebo ukrajinštiny. + +K~dispozici jsou interpunkční symboly pro všechny tři jazyky: cyrilická +textová pomlčka (trochu užší než latinková a~obklopená drobnými mezerami), +pomlčka pro přímou řeč, uvozovky a~příkazy usnadňující dělení slov, +všechny jsou uvedeny v~tabulce~\ref{Cyrillic}. + +% Table borrowed from Ukrainian.dtx +\begin{table}[htb] + \begin{center} + \index{""-@\texttt{""}\texttt{-}} + \index{""---@\texttt{""}\texttt{-}\texttt{-}\texttt{-}} + \index{""=@\texttt{""}\texttt{=}} + \index{""`@\texttt{""}\texttt{`}} + \index{""'@\texttt{""}\texttt{'}} + \index{"">@\texttt{""}\texttt{>}} + \index{""<@\texttt{""}\texttt{<}} + \caption[Bulharština, ruština a~ukrajinština.]{Speciální definice pro + bulharské, ruské a~ukrajinské volby.\paih{babel}%\textsf{babelu}. + }\label{Cyrillic}\shorthandon{"} + \begin{tabular}{@{}p{.1\hsize}@{}p{.9\hsize}@{}} + \hline + \verb="|= & Zakaž ligaturu na tomto místě. \\ + \verb|"-| & Explicitní pomlčka, která nebrání + dělení v~daném slově. \\ + \verb|"---| & Pomlčka pro obyčejný text v~cyrilice. \\ + \verb|"--~| & Pomlčka pro složená jména (příjmení) v~cyrilice. \\ + \verb|"--*| & Pomlčka pro přímou řeč v~cyrilice. \\ + \verb|""| & Podobné jako \verb|"-|, ale nevytvoří žádný znak pomlčky + (pro složená slova s~pomlčkou, např.\verb|x-""y| + nebo některé jiné znaky jako \uv{zakaž/povol}. \\ + \verb|"~| & Pro složené slovo bez možnosti zlomu. \\ + \verb|"=| & Pro složené slovo s~možností zlomu, umožňující dělení + v~jednotlivých slovech. \\ + \verb|",| & Úzká mezera pro iniciály s~místem zlomu + v~následujícím příjmení. \\ + \verb|"`| & Pro německé levé dvojité uvozovky + (vypadají podobně jako: \quotedblbase). \\ + \verb|"'| & Pro německé pravé dvojité uvozovky (vypadají takto: ``). \\%'' + \verb|"<| & Pro francouzské levé dvojité uvozovky (vypadají jako: $<\!\!<$). \\ + \verb|">| & Pro francouzské pravé dvojité uvozovky (vypadají jako: $>\!\!>$). \\ + \hline + \end{tabular} + \end{center} +\end{table} +\shorthandoff{"} + +Ruské a~ukrajinské volby \paih{babel}\textsf{babelu} definují příkazy \ci{Asbuk} a~\ci{asbuk}, které +se chovají jako \ci{Alph} a~\ci{alph}, ale vytvoří velká a~malá písmena ruské nebo +ukrajinské abecedy (v~závislosti na tom, který z~těchto jazyků je právě aktivní). +Bulharská volba \paih{babel}\textsf{babelu} zpřístupňuje příkazy \ci{enumBul} a~\ci{enumLat} (\ci{enumEng}), +které předefinovávají \ci{Alph} a~\ci{alph} tak, že vytvoří písmena +bulharské nebo latinské (anglické) abecedy. Implicitní výstup příkazů +\ci{Alph} a~\ci{alph} pro bulharštinu jsou znaky z~bulharské abecedy. + +%Finally, math alphabets are redefined and as well as the commands for math +%operators according to Cyrillic typesetting traditions. + +\subsection{Podpora pro mongolštinu} + +Pro sazbu mongolštiny pomocí \LaTeX u máte dvě možnosti: buď vícejazyčný Babel, +nebo Mon\TeX{} Olivera Corffa. + +Mon\TeX{} podporuje jak cyrilici tak tradiční mongolské písmo. Abyste mohli použít +příkazy Mon\TeX u, přidejte: +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{language},\emph{encoding}\verb|]{mls}| +\end{lscommand} +\noindent do preambule. Pro generování popisů a~dat v~moderní mongolštině +zadejte \pai{xalx} jako volbu \emph{language}. Pro psaní celého dokumentu +v~mongolštině je třeba jako \emph{language} zadat hodnotu \pai{bicig}. +Volba jazyka \pai{bicig} umožňuje vstupní metody \uv{zjednodušené transliterace}. + +Latinkový transliterační mód lze povolit a~zakázat pomocí +\begin{lscommand} +\verb|\SetDocumentEncodingLMC| +\end{lscommand} +a~\begin{lscommand} +\verb|\SetDocumentEncodingNeutral| +\end{lscommand} + +Na \CTANalt|tex-archive/language/mongolian/montex/doc| získáte další informace o~Mon\TeX u. + +Mongolské cyrilické písmo je podporováno i~v~\paih{babel}\textsf{babelu}. Podporu +pro mongolštinu aktivujete pomocí příkazů: + +\begin{lscommand} +\verb|\usepackage[T2A]{fontenc}|\\ +\verb|\usepackage[mn]{inputenc}|\\ +\verb|\usepackage[mongolian]{babel}| +\end{lscommand} + +\noindent kde \iei{mn} je vstupní kódování \iei{cp1251}. Pro modernější přístup +místo toho použijte \iei{utf8}. + +\section{Mezery mezi slovy} + +Aby mohly být řádky vysázených odstavců zarovnané (tj. mít stejnou šířku), +\LaTeX{} mezi slova vkládá různě velké mezery. Na konci věty je obvykle +vložena větší mezera, čímž se zlepší čitelnost. \LaTeX{} předpokládá, že +věty končí buď tečkou, otazníkem nebo vykřičníkem. Pokud ale tečka +následuje za velkým písmenem, \LaTeX{} předpokládá, že se o~konec věty +\emph{nejedná} -- ve většině případů totiž tato situace opravdu nastává +u~zkratek (uvedených uprostřed věty). + +Chceme-li jiné chování než to popsané v~předchozím odstavci, musíme se +o~ně sami postarat: Backslash před mezerou generuje mezeru, která se +nikdy \uv{nenatáhne}. Znak tilda~`\verb|~|' vygeneruje mezeru, která +také nemůže být roztažena a~navíc v~ní ani nemůže dojít k~řádkovému +zlomu. Příkaz \verb|\@| uvedený před tečkou specifikuje, že tato tečka +ukončuje větu, i~když předchází velké písmeno. +\cih{"@}\index{~@ \verb.~.}\index{tilda@tilda ( \verb.~.)}\index{. (mezera za .)} + +\begin{example} +Prof.~Smith byl šťastný, že +ji vidí\\ +srv.~Obr.~5\\ +Mám rád BASIC\@. Co vy? +\end{example} + +Dodatečné mezery za tečkami lze zakázat pomocí příkazu +\begin{lscommand} +\ci{frenchspacing} +\end{lscommand} +\noindent který \LaTeX u řekne, aby za tečku vložil \emph{stejné množství} +mezery bez ohledu na to, jestli se nachází na +konci věty. To je běžné v~neanglických jazycích +(s~výjimkou bibliografií). Použijete-li (jednou) \ci{frenchspacing}, příkaz +\verb|\@| už pak není nutné nikdy uvádět. + +%\newpage +\section{Titulky, kapitoly, sekce} + +Rozdělením dokumentu do kapitol, sekcí a~podsekcí usnadníme čitateli +orientaci v~textu. \LaTeX{} pro tento účel nabízí několik příkazů, +které jako svůj argument přijímají název dané kapitoly, sekce, \ldots +\ Jen je nesmíte \uv{pomíchat}. + +Následující \emph{oddílové} příkazy jsou dostupné ve třídě dokumentů +\texttt{article}: \nopagebreak + +\begin{lscommand} +\ci{section}\verb|{...}|\\ +\ci{subsection}\verb|{...}|\\ +\ci{subsubsection}\verb|{...}|\\ +\ci{paragraph}\verb|{...}|\\ +\ci{subparagraph}\verb|{...}| +\end{lscommand} + +Chcete-li svůj dokument rozdělit do částí aniž byste ovlivnili číslování +sekcí nebo kapitol, použijte +\begin{lscommand} +\ci{part}\verb|{...}| +\end{lscommand} + +Používáte-li třídu \texttt{report} nebo \texttt{book}, máte na nejvyšší úrovni +k~dispozici ještě oddílový příkaz +\begin{lscommand} +\cialt{chapter}{cghapter}\verb|{...}| +\end{lscommand} + +Protože třída \texttt{article} neví nic o~kapitolách (chapters), je +jednoduché přidat články (articles) jako kapitoly do knihy +(book). Mezery mezi sekcemi, číslování a~velikost fontu nadpisů +\LaTeX{} přizpůsobí automaticky. + +Dva oddílové příkazy se trochu liší: +\begin{itemize} +\item Příkaz \ci{part} neovlivňuje sekvenci čísel kapitol. +\item Příkaz \ci{appendix} nemá argumenty, pouze změní značení + kapitol z~čísel na písmena.\footnote{Pro styl \emph{article} + se změní číslování sekcí.} +\end{itemize} + + + +Obsah je \LaTeX em vytvořen pomocí informací (jmen oddílů a~čísel stran, +kde jednotlivé oddíly začínají) shromážděných při předchozím překladu +dokumentu. Příkaz +\begin{lscommand} +\ci{tableofcontents} +\end{lscommand} +\noindent vytvoří obsah v~místě, kde je zapsán. Aby čísla stránek +uvedená v~obsahu byla správná, je obvykle potřeba nový dokument +\LaTeX em přeložit dvakrát. Někdy je dokonce potřeba +dokument přeložit třikrát -- \LaTeX{} vás na potřebu třetího přeložení +případně sám upozorní. + +Všechny oddílové příkazy zmíněné výše existují i~ve \uv{hvězdičkovaných} +verzích. Tyto verze zapíšeme tak, že za jméno příkazu uvedeme hvězdičku. +Tyto verze se liší v~tom, že nejsou uvedeny v~obsahu a~nejsou číslovány. +Ukázka hvězdičkované verzi příkazu: \verb|\section*{Help}|. + +Normálně jsou názvy oddílů v~obsahu zobrazeny stejně, jako jsou +vysázeny na začátku daného oddílu. Příliš dlouhé názvy by se do obsahu +nevešly a~v~takových případech je možné pomocí nepovinného argumentu +zadat kratší text, který pro danou kapitolu bude v~obsahu vysázen. + +\begin{code} +\verb|\chapter[Title for the table of contents]{A long|\\ +\verb| and especially boring title, shown in the text}| +\end{code} + +\index{titul}Titul celého dokumentu se generuje pomocí příkazu +\begin{lscommand} +\ci{maketitle} +\end{lscommand} +\noindent Text popisující titul se vkládá pomocí příkazů +\begin{lscommand} +\ci{title}\verb|{...}|, \ci{author}\verb|{...}| +a~případně \ci{date}\verb|{...}| +\end{lscommand} +\noindent před zavoláním \verb|\maketitle|. V~příkazu \ci{author} může být seznam jmen +oddělených příkazy \ci{and}. +% +Na obrázku~\ref{document} najdete ukázku použití některých z~příkazů +zmíněných výše. + +Kromě právě zmíněných oddílových příkazů má \LaTeXe{} tři další +příkazy ve třídě \verb|book|. Jsou užitečné pro dělení publikací. +Tyto příkazy mění názvy kapitol a~číslování stránek tak, jak +je obvyklé u~knih: + +\begin{description} +\item[\ci{frontmatter}] by měl být uveden jako úplně první příkaz + na začátku těla dokumentu (\verb|\begin{document}|). Tento + příkaz zapne číslování stránek římskými čísly a~sekce nebudou + číslovány, jako kdybyste používali hvězdičkované verze příkazů + (např. \verb|\chapter*{Preface}|). V~obsahu ale sekce uvedeny + \emph{budou}. +\item[\ci{mainmatter}] se píše před první kapitolou knihy. Zapne + číslování stránek arabskými čísly a~stránky začne číslovat + znovu od jedné. +\item[\ci{appendix}] značí místo, kde ve vašem dokumentu začíná + přídavný materiál. Případné následující kapitoly budou značeny + písmeny (a~ne čísly). +\item[\ci{backmatter}] by mělo být uvedeno před posledními položkami + vaší knihy (jako jsou seznam literatury a~rejstřík% +%bibliografie a~index +). V~standardních třídách + dokumentů nemá tento příkaz žádný efekt. +\end{description} + + +\section{Křížové odkazy} + +V~knihách, zprávách a~článcích se často odkazujeme (tj. používáme +\wi{křížové odkazy}) na obrázky, tabulky a~speciální části textu. +V~\LaTeX u jsou k~dispozici tyto příkazy pro křížové odkazy: + +\begin{lscommand} +\ci{label}\verb|{|\emph{marker}\verb|}|, \ci{ref}\verb|{|\emph{marker}\verb|}| +a~\ci{pageref}\verb|{|\emph{marker}\verb|}| +\end{lscommand} +\noindent kde \emph{marker} (též značka) je identifikátor vybraný uživatelem. \LaTeX{} +nahradí \verb|\ref| číslem sekce, podsekce, obrázku, tabulky nebo věty +za kterými se vyskytuje příslušný příkaz \verb|\label|. Příkaz \verb|\pageref| vypíše +číslo stránky, na které se vyskytl příkaz \verb|\label|.% +\footnote{Tyto příkazy neví, na co odkazují. \ci{label} jen uloží naposledy +vygenerované číslo.} Použijí se čísla vygenerovaná v~předchozím překladu +dokumentu, podobně jako u~názvů oddílů. + +\begin{example} +Odkaz na tuto sekci +\label{sec:this} vypadá takto: +\uv{viz sekce~\ref{sec:this} +na straně~\pageref{sec:this}.} +\end{example} + +\section{Poznámky pod čarou} +Příkazem +\begin{lscommand} +\ci{footnote}\verb|{|\emph{footnote text}\verb|}| +\end{lscommand} +\noindent vysázíme u~paty stránky poznámku (tzv. poznámku pod čarou). +Poznámky pod čarou vkládáme za\footnote{Upozornění: \emph{ne} před.} slovo +nebo větu, ke které se vztahují. Poznámky k~větě nebo její části bychom tedy +měli napsat za čárku nebo tečku.\footnote{Poznámky pod čarou odvádějí +čtenářovu pozornost od hlavní části dokumentu -- jsme nakonec zvědaví tvorové, +proč tedy neříct všechno v~hlavní části dokumentu?\footnotemark} +\footnotetext{Ukazatel směru nemusí sám jít tam, kam ukazuje. \texttt{:-)}} + +\begin{example} +Poznámky pod čarou\footnote{Toto + je jedna z~nich.} jsou + u~lidí používajících +\LaTeX{} časté. +\end{example} + +\section{Zdůrazněná slova} + +Na psacím stroji důležitá slova \texttt{zvýrazňujeme jejich \underline{podtržením}}. +\begin{lscommand} +\ci{underline}\verb|{|\emph{text}\verb|}| +\end{lscommand} +V~knihách se ale slova zvýrazňují vysázením pomocí \emph{italického} fontu. +\LaTeX{} ke zvýraznění textu poskytuje příkaz +\begin{lscommand} +\ci{emph}\verb|{|\emph{text}\verb|}| +\end{lscommand} +\noindent Záleží na kontextu, co tento příkaz se svým argumentem udělá: + +\begin{example} +\emph{Budete-li + zvýrazňovat uvnitř + zvýrazňovaného textu, + \LaTeX{} pro toto + zvýraznění použije + \emph{normální} font} +\end{example} + +Všimněte si rozdílu mezi \emph{zvýrazněním} a~změnou \emph{fontu}: + +\begin{example} +\textit{Máte možnost + \emph{zvýraznit} text + sázený pomocí italiky,} +\textsf{pomocí + \emph{bezserifového} fontu,} +\texttt{nebo pomocí + stylu \emph{psací stroj}.} +\end{example} + +\section{Prostředí} \label{env} + +% To typeset special purpose text, \LaTeX{} defines many different +% \wi{environment}s for all sorts of formatting: +\begin{lscommand} +\ci{begin}\verb|{|\emph{environment}\verb|}|\quad + \emph{text}\quad +\ci{end}\verb|{|\emph{environment}\verb|}| +\end{lscommand} +\noindent Kde \emph{environment} je jméno prostředí. Prostředí mohou být +vnořená, ale nesmí být \uv{pomíchaná}. +\begin{code} +\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}| +\end{code} + +\noindent V~následujících podsekcích vysvětlíme všechna důležitá prostředí. + +\subsection{Itemize, Enumerate a Description} + +Prostředí \ei{itemize} je užitečné pro jednoduché seznamy (také se říká výčty), prostředí \ei{enumerate} pro +číslované seznamy a~\ei{description} pro popisy. +\cih{item} + +\begin{example} +\flushleft +\begin{enumerate} +\item Seznamová prostředí můžete +míchat, jak se vám zlíbí: +\begin{itemize} +\item Ale výsledek nemusí +vypadat dobře. +\item[--] S~pomlčkou. +\end{itemize} +\item Proto vezměte v~úvahu: +\begin{description} +\item[Hloupé] věci +nezlepšíme tím, že je +dáme do seznamu. +\item[Chytré] věci ale +uvedením v~seznamu mohou získat. +\end{description} +\end{enumerate} +\end{example} + +\subsection{Flushleft, Flushright a Center} + +Prostředí \ei{flushleft} a~\ei{flushright} generují +odstavce s~řádky zarovnanými vlevo, resp. vpravo.\index{zarovnané +doleva} Prostředí \ei{center} generuje text s~vycentrovanými řádky. +Pokud nespecifikujete řádkový zlom sami, pomocí \ci{\bs}, \LaTeX{} +řádky zalomí automaticky. + +\begin{example} +\begin{flushleft} +Tento text je\\ zarovnaný +doleva. \LaTeX{} se nesnaží +zajistit, aby každý řádek +byl stejně široký. +\end{flushleft} +\end{example} + +\begin{example} +\begin{flushright} +Tento text je +zarovnaný\\doprava. +\LaTeX{} se nesnaží zajistit, +aby každý řádek byl stejně +široký. +\end{flushright} +\end{example} + +\begin{example} +\begin{center} +V~centru\\země +\end{center} +\end{example} + +\subsection{Citace, citáty a~verše} + +Prostředí \ei{quote} je užitečné pro citace, důležité fráze a~příklady. + +\begin{example} +Obecné pravidlo pro +délku řádku je: +\begin{quote} +V~průměru by žádný řádek +neměl být delší než 66~znaků. +\end{quote} +Proto mají \LaTeX ové stránky +implicitně tak široké okraje +a~proto se v~novinách tiskne +do sloupců. +\end{example} + +Existují dvě podobná prostředí: \ei{quotation} a~\ei{verse}. +Prostředí \texttt{quotation} je užitečné pro delší citace (přes několik odstavců), +protože odsadí první řádku každého z~těchto odstavců. Prostředí \texttt{verse} je +užitečné pro básně (jejichž rozdělení do řádek se nedá dělat automaticky). +Jejich řádky jsou odděleny pomocí \ci{\bs} na konci řádky a~prázdné +řádky oddělují sloky. + +\begin{example} +Nazpaměť znám pouze jednu +anglickou báseň. +Je o~Humpty Dumptym. +\begin{flushleft} +\begin{verse} +Humpty Dumpty sat on a~wall:\\ +Humpty Dumpty had a~great + fall.\\ +All the King's horses and all +the King's men\\ +Couldn't put Humpty together +again. +\end{verse} +\end{flushleft} +\end{example} + +\subsection{Abstrakty} + +Vědecké publikace obvykle začínají abstraktem -- rychlým přehledem obsahu. +\LaTeX{} pro tento účel poskytuje prostředí \ei{abstract}, které +obvykle používáme v~dokumentech sázených pomocí třídy \texttt{article}. + +\newenvironment{abstract}% + {\begin{center}\begin{small}\begin{minipage}{0.8\textwidth}}% + {\end{minipage}\end{small}\end{center}} +\begin{example} +\begin{abstract} +Abstraktní abstrakt. +\end{abstract} +\end{example} + +\subsection{Sazba doslovně} + +Text uzavřený mezi \verb|\begin{|\ei{verbatim}\verb|}| +a~\verb|\end{verbatim}| bude vysázen tak, jak je, jako kdyby byl napsán +na psacím stroji. Všechny řádkové zlomy a~mezery budou zachovány +a~jména \LaTeX ových příkazů budou vysázena, místo toho, aby se příslušné +příkazy vykonaly. + +Vprostřed normálního textu můžeme podobného chování docílit pomocí +\begin{lscommand} +\ci{verb}\verb|+|\emph{text}\verb|+| +\end{lscommand} +\noindent \verb|+| je jedním z~možných oddělovačů. Můžete použít +libovolný znak kromě písmen, \verb|*| a~mezery. Mnoho příkladů v~této +knize je sázeno pomocí tohoto příkazu. + +\begin{example} +Příkaz \verb|\ldots| \ldots + +\begin{verbatim} +10 PRINT "HELLO WORLD "; +20 GOTO 10 +\end{verbatim} +\end{example} + +\begin{example} +\begin{verbatim*} +hvězdičkovaná verze +doslovného prostředí +zdůrazňuje mezery +v~textu +\end{verbatim*} +\end{example} + +Příkaz \ci{verb} lze s~hvězdičkou použít také: + +\begin{example} +\verb*|like this :-) | +\end{example} + +Prostředí \texttt{verbatim} a~příkaz \verb|\verb| někdy nejdou použít +uvnitř parametru příkazu. + + +\subsection{Tabular} + +\newcommand{\mfr}[1]{\framebox{\rule{0pt}{0.7em}\texttt{#1}}} + +Pomocí prostředí \ei{tabular} lze sázet nádherné \index{tabulka}tabulky +s~případnými horizontálními a~vertikálními linkami. Šířku sloupců +\LaTeX{} určí automaticky. + +Argument \emph{table spec} příkazu +\begin{lscommand} +\verb|\begin{tabular}[|\emph{pos}\verb|]{|\emph{table spec}\verb|}| +\end{lscommand} +\noindent definuje formát tabulky. Sloupec tabulky zarovnaný vlevo +se specifikuje pomocí \mfr{l}, sloupec zarovnaný vpravo pomocí \mfr{r} +a~vycentrovaný sloupec pomocí \mfr{c}; sloupec obsahující zarovnaný +text (výsledek automatického řádkového zlomu \LaTeX u) pomocí +\mfr{p\{\emph{width}\}} a~vertikální linka pomocí \mfr{|}. + +Je-li text pro daný sloupec příliš široký, \LaTeX{} ho +\emph{nebude} automaticky lámat. Pro přizpůsobení textu šířce sloupce +je potřeba použít \mfr{p\{\emph{width}\}}, kde se pak s~textem +bude zacházet stejně, jako v~normálním odstavci. + +Argument \emph{pos} specifikuje vertikální pozici tabulky vzhledem +k~účaří okolního textu. Můžete použít některý ze znaků \mfr{t}, \mfr{b} +a~\mfr{c} (pro zarovnání horní části, resp. spodní části, resp. středu +tabulky). + +Uvnitř prostředí \texttt{tabular} znamená znak \texttt{\&} oddělovač +sloupců, \ci{\bs} začíná novou řádku a~\ci{hline} vloží horizontální +linku. Neúplné linky můžeme vložit pomocí +\ci{cline}\texttt{\{}\emph{i}\texttt{-}\emph{j}\texttt{\}}, +kde $i$~a~$j$~jsou čísla sloupců, mezi kterými by linka měla být natažena. +Při užití \texttt{czech} v~\textsf{babel}u vypneme navíc lokálně či globálně aktivní divis: \verb+\shorthandoff{-}+. + +\index{"|@{\me\char'174}} + +\begin{example} +\begin{tabular}{|r|l|} +\hline +7C0 & šestnáctkově \\ +3700 & osmičkově \\ \cline{2-2} +11111000000 & binárně \\ +\hline \hline +1984 & desítkově \\ +\hline +\end{tabular} +\end{example} + +\begin{example} +\begin{tabular}{|p{4.7cm}|} +\hline +Menší demonstrace odstavce +uvnitř tabulky. Výsledek snad +bude vypadat přijatelně.\\ +\hline +\end{tabular} +\end{example} + +Oddělovač sloupců lze specifikovat pomocí konstrukce \mfr{@\{...\}}. +Tento příkaz potlačí veškeré mezisloupcové mezery a~nahradí je +materiálem uvedeným mezi složenými závorkami. Jedno běžné použití +tohoto příkazu je vysvětleno níže (zarovnání desetinných čísel). +Jinou možnou aplikací je potlačení úvodních mezer v~tabulce pomocí +\mfr{@\{\}}. + +\begin{example} +\begin{tabular}{@{} l @{}} +\hline +žádné úvodní mezery\\ +\hline +\end{tabular} +\end{example} + +\begin{example} +\begin{tabular}{l} +\hline +úvodní a~závěrečné mezery\\ +\hline +\end{tabular} +\end{example} + +% +% This part by Mike Ressler +% + +\index{zarovnání desetinných čísel} V~\LaTeX u není vestavěna +podpora pro zarovnávání desetinných čísel\footnote{Pokud ale máte nainstalovánu +kolekci \textsf{tools}, podívejte se na balík \pai{dcolumn}.}, +jednou z~možností, jak čísla zarovnat je použít tabulku se dvěma sloupci: +vpravo zarovnaná celá část desetinného čísla a~vlevo zarovnaná příslušná +desetinná část. Příkaz \verb|@{,}| +ve specifikaci sloupců \verb|\begin{tabular}| nahradí normální mezisloupcové +mezery čárkou a~tabulka bude vypadat jako jeden sloupec čísel zarovnaných +na desetinnou čárku. Nezapomeňte oddělit celou a~desetinnou část jednotlivých +čísel místo desetinou čárkou oddělovačem sloupců (\verb|&|)! Název sloupce umístíme +nad náš číselný \uv{sloupec} pomocí příkazu \ci{multicolumn}. Více o~možnostech tabulkové sazby balíček \textsf{tabu}. + +\begin{example} +\begin{tabular}{c r @{,} l} +výraz obsahující Pi & +\multicolumn{2}{c}{Hodnota} \\ +\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} + +Materiál vysázený pomocí prostředí tabular vždy zůstane pohromadě na jedné +stránce. Chcete-li sázet vícestránkové tabulky, je třeba použít prostředí +\pai{longtable}. + +\LaTeX ové tabulky mohou někdy vypadat trochu \uv{zhuštěně}. \uv{Rozvolnění} +lze provést nastavením vyšších hodnot \ci{arraystretch} a~\ci{tabcolsep}. + +\begin{example} +\begin{tabular}{|l|} +\hline +Tyto řádky\\\hline +jsou namačkané\\\hline +\end{tabular} + +{\renewcommand{\arraystretch} + {1.5} +\renewcommand{\tabcolsep}{0.2cm} +\begin{tabular}{|l|} +\hline +méně namačkané\\\hline +rozložení tabulky\\\hline +\end{tabular}} + +\end{example} + +Pokud potřebujete zvětšit výšku jen jedné řádky tabulky, přidejte neviditelnou +vertikální podpěru\footnote{V~profesionální sazbě se jí často říká \wi{strut}.} +pomocí linky s~nulovou šířkou. + +\begin{example} +\begin{tabular}{|c|} +\hline +\rule{1pt}{4ex}Pitprop \ldots\\ +\hline +\rule{0pt}{4ex}Strut\\ +\hline +\end{tabular} +\end{example} + +\section{Plovoucí objekty} +Dnešní publikace často obsahují hodně obrázků a~tabulek. S~těmi se +musí zacházet zvláštním způsobem, protože na rozdíl od normálního +textu nemohou být vždy rozděleny na více stránek. Jednoduché ale +neuspokojivé řešení je začít novou stránku vždy, když je potřeba +vysázet obrázek nebo tabulku, které se nevlezou na aktuální stránku. +Problém tohoto přístupu je, že části stránek pak zůstávají prázdné, +což špatně vypadá. + +Uspokojivým řešením je nechat obrázky a~tabulky, které se nevlezou +na aktuální stránku, \uv{doplavat} na některou z~následujících +stránek, přičemž aktuální stránka se zaplní textem, který ve vstupním +souboru následuje za daným obrázkem nebo tabulkou. \LaTeX{} +pro \emph{plovoucí objekty} nabízí dvě prostředí -- jedno pro tabulky +a~jedno pro obrázky. Abychom mohli plně využít možností těchto dvou +prostředí, je důležité, abychom zhruba věděli, jak \LaTeX{} +s~plovoucími objekty vnitřně zachází. Jinak bychom měli problémy +odhadnout, kam \LaTeX{} konkrétní plovoucí objekty umístí. + + +\bigskip +Začneme náš výklad s~\LaTeX ovými příkazy, které jsou pro plovoucí objekty +k~dispozici. + +S~jakýmkoliv materiálem uvedeným v~prostředí \ei{figure} nebo \ei{table} +se bude zacházet jako s~plovoucím objektem. Obě prostředí pro +plovoucí objekty poskytují nepovinný parametr +\begin{lscommand} +\verb|\begin{figure}[|\emph{specifikace umístění}\verb|]| or +\verb|\begin{table}[|\ldots\verb|]| +\end{lscommand} +\noindent nazvaný \emph{specifikace umístění}. Tímto parametrem +můžeme \LaTeX u říct o~místech, do kterých smí daný plovoucí objekt +nechat doplavat. \emph{Specifikace umís\-tění} se skládá z~řetězce +\emph{povolenek pro umístění plovoucího objektu}. Viz tabulka~\ref{tab:permiss}. + +\begin{table}[!bp] +\caption{Povolenky pro umístění plovoucího objektu.}\label{tab:permiss} +\noindent \begin{minipage}{\textwidth} +\medskip +\begin{center} +\begin{tabular}{@{}cp{8cm}@{}} +Pozice&Povolení umístit plovoucí objekt\ldots\\ +\hline +\rule{0pt}{1.05em}\texttt{h} & \emph{Zde} (here) přesně na místo, kde byl daný + text uveden ve vstupním souboru. Toto je užitečné zejména při použití malých fontů.\\[0.3ex] +\texttt{t} & Na \emph{vrcholu} (top) strany.\\[0.3ex] +\texttt{b} & Na \emph{spodu} (bottom) strany.\\[0.3ex] +\texttt{p} & Na zvláštní \emph{stránce} (page), která bude obsahovat jen plovoucí objekty.\\[0.3ex] +\texttt{!} & Bez braní v~úvahu většiny vnitřních parametrů\footnote{Např. maximální + počet plovoucích objektů, který může být umístěn na jednu stranu.}, které by + mohly zabránit v~umístění tohoto plovoucího objektu. +\end{tabular} +\end{center} +Poznámka: \texttt{pt} a~\texttt{em} jsou \TeX ové jednotky. Více informací je uvedeno +v~tabulce~\ref{units} na straně \pageref{units}. +\end{minipage} +\end{table} + +Tabulku můžeme začít např. následujícím řádkem: +\begin{code} +\verb|\begin{table}[!hbp]| +\end{code} +\noindent \index{povolenka umístění}Povolenka umístění \verb|[!hbp]| říká \LaTeX u, že může +tabulku umístit buď přímo v~aktuálním místě (\texttt{h}), nebo naspodu nějaké +strany (\texttt{b}), nebo na zvláštní stránce obsahující jen plovoucí objekty +(\texttt{p}) -- to vše i~tehdy, když výsledek nebude vypadat nejlépe (viz \texttt{!}). +Neuvedeme-li žádnou povolenku, \LaTeX{} se chová, jako bychom uvedli \verb|[tbp]|. + +\LaTeX{} umístí každý plovoucí objekt, na který při +zpracování dokumentu narazí, podle povolenky umístění zadané autorem. +Nejde-li objekt přidat do aktuálního místa na stránce, je +přidán buď do fronty \emph{obrázků} nebo do fronty \emph{tabulek}% +\footnote{Fronty jsou klasické FIFO struktury -- \uv{Kdo první vejde, +první odejde.}}. Když zahájí novou stránku, \LaTeX{} nejdřív zkontroluje, +jestli je v~některé frontě \uv{na řadě} objekt, který má povoleno +být umístěn na zvláštní stránce (která obsahuje jen plovoucí objekty). +Jestliže takový objekt přítomen není, první objekt v~každé frontě +je uvažován jako kdyby se právě objevil ve vstupním souboru: \LaTeX{} +znovu zkouší umístit tento objekt podle příslušných povolenek +(kromě povolenky ,h`, která se už u~objektu ve frontě vyskytnout nemůže). +Jakýkoliv nový plovoucí objekt, který se objeví v~textu, je umístěn +do příslušné fronty. \LaTeX{} přidává plovoucí objekty do výstupu +přesně v~tom pořadí, v~kterém na ně ve vstupním +souboru narazí. Z~toho vyplývá, že obrázek, který se nepodaří umístit +na aktuální stranu, \uv{zablokuje} i~ostatní obrázky (protože ty nemohou být +umístěny dřív, než obrázek, který je ve frontě před nimi). + +Proto: + +\begin{quote} +Jestliže \LaTeX{} neumístí plovoucí objekt tak, jak jste očekávali, +často je to proto, že jeden z~plovoucích objektů zablokoval +jednu z~front plovoucích objektů. +\end{quote} + +\LaTeX{} sice umožňuje zadat povolenku umístění o~jedné položce, ale +ta způsobuje problémy. Jestliže plovoucí objekt nelze pomocí dané +položky umístit, jsou on i~všechny následující zablokovány. +Obzvlášť \emph{nevhodná} je položka [h] -- je to tak špatná možnost, +že v~novějších verzích \LaTeX u je dokonce automaticky změněna na [ht]. + +\bigskip +\noindent Tím jsme probrali to obtížné. Nyní se zmíníme o~několika +věcech souvisejících s~prostředími \ei{table} a~\ei{figure}. +Příkazem + +\begin{lscommand} +\ci{caption}\verb|{|\emph{caption text}\verb|}| +\end{lscommand} + +\noindent můžeme definovat titulek daného plovoucího objektu. \LaTeX{} +připojí pořadové číslo a~řetězec \uv{Obrázek} nebo \uv{Tabulka}. + +Příkazy + +\begin{lscommand} +\ci{listoffigures} a~\ci{listoftables} +\end{lscommand} + +\noindent pracují podobně jako příkaz \verb|\tableofcontents| -- +vysází seznam obrázků, resp. tabulek. Tyto seznamy zobrazí celý +text uvedený jako titulek jednotlivých objektů. Pokud tedy +používáte dlouhé titulky, měli byste zadat i~jejich kratší verze, +Krátkou verzi můžete uvést do hranatých závorek za příkazem +\verb|\caption|. +\begin{code} +\verb|\caption[Short]{LLLLLoooooonnnnnggggg}| +\end{code} + +Daný plovoucí objekt \uv{identifikujete} pomocí příkazu \ci{label} +a~můžete se pak na něj ve svém dokumentu odkazovat pomocí příkazu +\ci{ref}. Příkaz \ci{label} musí být uveden \emph{za} příkazem \ci{caption}, +aby se vztahoval na daný plovoucí objekt. + +Následující příklad nakreslí čtverec a~vloží ho do dokumentu. Takto +můžete v~dokumentu rezervovat místo pro obrázky, které budete později +do hotového dokumentu vkládat. + +\begin{code} +\begin{verbatim} +Obrázek~\ref{white} je příkladem pop artu. +\begin{figure}[!hbtp] +\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} +\caption{Pět krát pět centimetrů.\label{white}} +\end{figure} +\end{verbatim} +\end{code} + +\noindent V~předchozím příkladu \LaTeX{} udělá \emph{všechno možné}~(viz \texttt{!}) +pro to, aby obrázek umístil \emph{v~aktuálním místě}~(\texttt{h}).% +\footnote{Za předpokladu, že fronta obrázků je prázdná.} Pokud se to ani tak nepodaří, +\LaTeX{} zkusí obrázek umístit \emph{naspod}~(\texttt{b}) strany. +Pokud se nepodaří ani to, \LaTeX{} zkusí obrázek umístit +\emph{nahoru}~(\texttt{t}) na aktuální straně. Nepodaří-li se ani to, +\LaTeX{} zjistí, jestli je možné vytvořit \uv{plovoucí stránku} +obsahující tento obrázek a~případně některé z~tabulek ve frontě +tabulek. Není-li pro speciální stránku obsahující jen plovoucí +objekty dost těchto objektů k~dispozici, \LaTeX{} zahájí novou stranu a~opět zachází +s~obrázkem stejným způsobem, jako kdyby se právě objevil v~textu. + +Někdy je nutné použít příkaz + +\begin{lscommand} +\ci{clearpage} nebo dokonce \ci{cleardoublepage} +\end{lscommand} + +\noindent Tento příkaz říká \LaTeX u, aby hned umístil všechny plovoucí +objekty přítomné ve frontách a~potom začal novou stránku. +Příkaz \ci{cleardoublepage} udělá to samé, ale navíc přejde na novou pravou stranu (nejbližší lichou). + +Později se v~tomto dokumentu dočtete o~tom, jak do svého dokumentu \LaTeXe{} +vložit kresby ve formátu \PSi{}. + +\section{Chránění \uv{zranitelných} příkazů} + +Text, který zadáme jako argument příkazů typu \ci{caption} nebo \ci{section}, +se může v~dokumentu objevit na více místech (např. v~obsahu i~v~těle +dokumentu). Pokud některé příkazy uvedeme jako argumenty příkazů +typu \ci{section}, zpracování našeho dokumentu selže. Těmto příkazům, +které jako parametry selžou, říkám \wi{zranitelné příkazy}. Patří +mezi ně např. \ci{footnote} nebo \ci{phantom}. Pokud ale zranitelné příkazy +\uv{ochráníme} tím, že před nimi uvedeme příkaz \ci{protect}, +jako argumenty příkazů typu \ci{section} je už použít můžeme. + +Příkaz \ci{protect} se vztahuje jen na příkaz, který za ním bezprostředně následuje, +ale ne na jeho argumenty. Ve většině případu neuškodí, když \ci{protect} +uvedeme navíc. + +\begin{code} +\verb|\section{I am considerate|\\ +\verb| \protect\footnote{and protect my footnotes}}| +\end{code} + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: |