%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Things you need to know % $Id: things.tex 193 2009-01-30 17:56:05Z oetiker $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Věci, které je dobré vědět} \begin{intro} První část této kapitoly předkládá krátký přehled filozofie a~historie systému \LaTeXe. Druhá část se soustřeďuje na základní strukturu dokumentu tohoto systému. Po dočtení kapitoly byste zhruba měli vědět, jak \LaTeX{} funguje. Ve zbytku knihy se předpokládá obeznámenost s~touto kapitolou. \end{intro} \section{Jméno hry aneb oč tu běží} \subsection{\TeX} \TeX{} je počítačový program vytvořený \index{Knuth, Donald E.}Donaldem E. Knuthem \cite{texbook}. Úkolem tohoto programu je sázet text a~matematické vzorce. Knuth začal \TeX{} vyvíjet v~roce 1977 s~cílem prozkoumat potenciál zařízení pro digitální tisk, která v~té době začala pronikat do vydavatelského oboru. Knuth chtěl obzvláště zastavit trend klesající kvality typografie, který ovlivnil jeho vlastní knihy a~články. \TeX{} v~dnešní podobě byl dokončen v~roce 1982, přičemž v~roce 1989 byla zlepšena podpora 8-bitových znaků a~sazby více jazyků. \TeX{} má pověst velmi stabilního systému fungujícího na mnoha odlišných typech počítačů, který je v~podstatě bez chyb. Čísla verzí \TeX u konvertují k~$\pi$, aktuální verze je $3.141592$. \TeX{} vyslovujeme \uv{tech}, což má původ v~řečtině ($\tau\varepsilon\chi$), kde \uv{X} je písmenem \uv{ch} nebo \uv{chi}. \TeX{} je zároveň první slabikou řeckého slova texnologia (technologie). Ve světě ASCII se ze zápisu \TeX{} stává \texttt{TeX}. \subsection{\LaTeX} \LaTeX{} umožňuje autorům sázet a~tisknout svá díla v~té nejvyšší typografické kvalitě, s~použitím předdefinovaných profesionálních layoutů. \LaTeX{} byl původně napsán \index{Lamport, Leslie}Lesliem Lamportem~\cite{manual}. Používá \TeX{} jako svůj sázecí stroj. Dnes je \LaTeX{} udržován \index{Mittelbach, Frank}Frankem Mittelbachem. %In 1994 the \LaTeX{} package was updated by the \index{LaTeX3@\LaTeX % 3}\LaTeX 3 team, led by \index{Mittelbach, Frank}Frank Mittelbach, %to include some long-requested improvements, and to re\-unify all the %patched versions which had cropped up since the release of %\index{LaTeX 2.09@\LaTeX{} 2.09}\LaTeX{} 2.09 some years earlier. To %distinguish the new version from the old, it is called \index{LaTeX %2e@\LaTeXe}\LaTeXe. This documentation deals with \LaTeXe. These days you %might be hard pressed to find the venerable \LaTeX{} 2.09 installed %anywhere. \LaTeX{} vyslovujeme \uv{lej tech} nebo \uv{lá tech}. Pomocí ASCII znaků zapisujeme \LaTeX{} jako \texttt{LaTeX}. \LaTeXe{} vyslovujeme \uv{lej-tech tů í} a~zapisujeme jako \texttt{LaTeX2e}. %Figure~\ref{components} above % on page \pageref{components} %shows how \TeX{} and \LaTeXe{} work together. This figure is taken from %\texttt{wots.tex} by Kees van der Laan. %\begin{figure}[btp] %\begin{lined}{0.8\textwidth} %\begin{center} %\input{kees.fig} %\end{center} %\end{lined} %\caption{Components of a \TeX{} System.} \label{components} %\end{figure} \section{Základy} \subsection{Autor, typograf a~sazeč} Tvorba dokumentu začíná u~autora, který vytvoří rukopis a~předá ho do nakladatelství. Tam se rukopisu ujme typograf a~navrhne rozložení stránek dokumentu (šířku sloupců, fonty, velikosti mezer před a~za záhlavími,~\ldots). Typograf připíše příslušné instrukce do rukopisu a~ten předá sazeči, který podle nich knihu vysází. Lidský knižní typograf se snaží přizpůsobit formu výsledného dokumentu obsahu rukopisu, přičemž samozřejmě vychází ze svých profesních znalostí. \LaTeX\ působí v~roli typografa a~používá služeb \TeX u -- \uv{sazeče}. Na rozdíl od lidského typografa potřebuje od nás -- autorů rukopisu -- \LaTeX\ více instrukcí. Musíme popsat logickou strukturu díla. Tato informace se zapisuje do textu dokumentu pomocí \LaTeX ových příkazů. To je podstatný rozdíl oproti přístupu, tzv. \wi{WYSIWYG}\footnote{What You See Is What You Get (vytiskne se přesně to, co vidíte na monitoru).}, který používá většina moderních textových procesorů, např. \emph{Microsoft Word}, \emph{Open\-Office.org Writer} nebo \emph{Corel WordPerfect}. Při práci s~těmito programy autor vytváří výsledný dokument interaktivně a~na obrazovce v~průběhu editace vidí, jak bude vytištěný výsledek vypadat. Naproti tomu při psaní \LaTeX ového dokumentu na obrazovce přímo nevidíte jeho výslednou podobu. Tu si ale můžete zobrazit po zpracování souboru \LaTeX em. Opravy je tedy možné udělat dříve, než je dokument vytištěn. \subsection{Layout} Typografický design je řemeslo. Neškolení autoři často dělají vážné formátovací chyby, když vycházejí z~domněnky, že knižní design je hlavně otázka estetiky -- \uv{dokument vypadá umělecky, tedy je dobře navržen}. Dokument má ale samozřejmě jiný účel než být pověšen na zeď v~galerii. Podstatné je, aby se dobře četl a~dobře se v~něm orientovalo. Příklad: \begin{itemize} \item Je potřeba vybrat velikost fontu a~číslování nadpisů, aby měl čtenář přehled o~struktuře kapitol a~sekcí. \item Řádek musí být dostatečně krátký, aby čtenáře neunavovalo přeskakování z~konce jednoho na začátek následujícího řádku; zároveň by měla být dost dlouhá na to, aby byla stránka zaplněna. \end{itemize} S~\wi{WYSIWYG} systémy autoři často vytvářejí dobře vypadající dokumenty, které ale mají minimální nebo dokonce nejednotnou strukturu. \LaTeX\ takovým formátovacím chybám předchází tím, že nutí autory explicitně značit \emph{logickou} strukturu svých dokumentů. \LaTeX\ potom na základě informace o~struktuře daného dokumentu zvolí vhodný layout. \subsection{Výhody a~nevýhody} Když \uv{\wi{WYSIWYG} lidé} potkají uživatele \LaTeX u, často se mluví o~\uv{výhodách a~nevýhodách \LaTeX u} oproti normálnímu textovému procesoru. Je lepší se v~takových chvílích držet zpátky, protože podobné diskuze se často zvrhnou. Někdy ale není vyhnutí\ldots \medskip\noindent Zde je trocha munice. Hlavní výhody \LaTeX u oproti normálnímu textovému procesory jsou tyto: \begin{itemize} \item K~dispozici jsou vytvořené layouty, pomocí kterých lze vytvořit dokument, jako kdyby byl vysázen profesionálně. \item Komfortní podpora sazby matematických vzorců. \item Uživatelům stačí naučit se pár snadno zapamatovatelných příkazů specifikujících logickou strukturu dokumentu. Téměř nikdy není potřeba zabývat se přímo layoutem dokumentu. \item Dokonce i~složité prvky (např. poznámky pod čarou, odkazy, obsahy a~bibliografie) lze vytvářet jednoduše. \item K~dispozici jsou přídavné balíky řešící řadu typografických úkolů, jejichž řešení není součástí základního \LaTeX u. Lze např. použít balíky pro vkládání obrázků ve formátu \PSib{} nebo pro sazbu bibliografií vyhovujících přesným standardům. Mnoho z~těchto přídavných balíků je popsáno v~\companion. \item \LaTeX{} vede autory k~psaní dobře strukturovaných textů -- specifikace struktury je hlavní částí přípravy textu pro zpracování v~\LaTeX u. \item \TeX, nízkoúrovňový formátovací nástroj použitý systémem \LaTeXe, je snadno přenositelný na nové hardwarové platformy a~je zadarmo. Je tedy k~dispozici téměř všude. % % Add examples ... % \end{itemize} \medskip \noindent\LaTeX{} má také nevýhody:\footnote{Já sice o~žádných nevím, ale jiní by vám určitě vyjmenovali stovky. \texttt{;-)}} \begin{itemize} \item \LaTeX{} není vhodný pro lidi, kteří prodali své duše\ldots \item Ačkoliv změny některých parametrů v~rámci předdefinovaných layoutů dokumentů můžete dělat snadno, navrhnout kompletní nový layout je obtížné a~časově náročné.\footnote{Proslýchá se v~\TeX ových kruzích, že toto je jedna z~hlavních věcí řešených v~připravovaném systému \LaTeX3.}\index{LaTeX3@\LaTeX3} \item Nestrukturované a~neorganizované dokumenty se píší velmi obtížně. \item Je možné, že navzdory několika počátečním úspěšným pokusům, si na koncept logického značkování nikdy nezvyknete. \end{itemize} \section{Vstupní soubory \LaTeX u} Vstupem pro \LaTeX{} je obyčejný textový soubor, který můžete vytvořit v~libovolném textovém editoru. Tento soubor obsahuje text dokumentu spolu s~příkazy, které říkají \LaTeX u, jak má být text vysázen. \subsection{Mezery} S~\uv{bílými} znaky, např. mezerou nebo tabulátorem, \LaTeX{} zachází jednotně jako s~\uv{\index{mezera}mezerou}. S~\emph{několika} \index{bílý znak}bílými znaky za sebou se zachází jako s~\emph{jednou} mezerou. Bílý znak na začátku řádku se většinou ignoruje a~s~koncem řádku se většinou zachází jako s~jedním bílým znakem. \index{bílý znak!na začátku řádku} Prázdná řádka mezi dvěma řádkami textu značí konec odstavce. S~\emph{několika} prázdnými řádky se zachází jako s~\emph{jednou}. V~příkladu níže je vlevo zobrazen text ze vstupního souboru a~na pravé straně příslušný naformátovaný výstup. \begin{example} Nezáleží na tom, jestli za slovem napíšete jednu nebo několik mezer. Prázdný řádek začíná nový odstavec. \end{example} \subsection{Speciální znaky} Následující symboly jsou \index{rezervovaný znak}rezervovanými znaky, které buď mají v~\LaTeX u zvláštní význam, nebo nejsou dostupné ve všech fontech. Pokud je uvedete ve vstupním souboru, ve většině případů tím nedocílíte jejich vysázení ve výsledném dokumentu; pravděpodobně tím naopak instruujete \LaTeX{} k~něčemu, co jste nezamýšleli. \begin{code} \verb.# $ % ^ & _ { } ~ \ . %$ \end{code} Jak uvidíte, lze tyto znaky přece jen do vašeho dokumentu vysázet, napíšete-li před ně zpětné lomítko: \begin{example} \# \$ \% \^{} \& \_ \{ \} \~{} \textbackslash \end{example} Zbylé symboly a~mnohem více lze vytisknout pomocí speciálních příkazů v~matematických vzorcích nebo jako akcenty. Znak zpětné lomítko (\textbackslash{}) ale \emph{nelze} přidáním dalšího zpětného lomítka zapsat (\verb|\\|); tato sekvence znaků je totiž použita pro ukončení řádku. Můžete ale použít příkaz \ci{textbackslash}. \subsection{\LaTeX ové příkazy} Ve jménech \LaTeX ových \index{příkaz}příkazů záleží na tom, jestli písmeno je velké nebo malé. Příkazy mají jednu ze dvou forem: \begin{itemize} \item Začínají \index{zpětné lomítko}zpětným lomítkem \verb|\| následovaným písmeny. První mezera, číslo nebo libovolný jiný \uv{nepísmenný} znak už netvoří jméno příkazu. \item Začínají zpětným lomítkem následovaným \emph{jedním} nepísmenným znakem. \end{itemize} % % \\* doesn't comply ! % % % Can \3 be a valid command ? (jacoboni) % \label{mezery} \LaTeX{} ignoruje bílé znaky za jmény příkazů. Pokud chcete, aby bílé znaky následující za jménem \LaTeX ového příkazu byly do vysázeného dokumentu opravdu vloženy\index{mezery!za příkazy}, buď za jméno příkazu napíšete \verb|{}| následované mezerou, nebo použijete speciální příkaz produkující mezeru, např. \verb*+\ +. Sekvence \verb|{}| řekne \LaTeX u, aby neignoroval následující mezery. \begin{example} Četl jsem, že Knuth dělí lidi pracující s~programem \TeX{} na \TeX{}niky a~\TeX perty.\\ Dnes je \today. \end{example} Některým příkazům je potřeba předat \wi{parametr}, který se uvádí mezi \wi{složené závorky} \verb|{ }| následující za jménem příkazu. Některé příkazy podporují \index{nepovinný parametr}nepovinné parametry, které se uvádí mezi \wi{hranaté závorky}~\verb|[ ]|. Následující příklady používají \LaTeX ové příkazy. Nedělejte si z~nich hlavu, později budou vysvětleny. \begin{example} Můžete mě \textsl{nahnout}! \end{example} \begin{example} Začněte, prosím, novou řádku právě tady!\newline Děkuji! \end{example} \subsection{Komentáře} \index{komentáře} Když \LaTeX{} při zpracování vstupního souboru narazí na znak \verb|%|, ignoruje všechny následující znaky až do konce daného řádku a~všechny bílé znaky na začátku řádku následujícího. Díky tomu je možno do vstupních souborů psát komentáře, které ve výsledném dokumentu nebudou vidět. \begin{example} Toto je % stupidní % nebo lépe: instruktivní <---- příklad: Supercal% ifragilist% icexpialidocious \end{example} Znak \texttt{\%} lze také použít k~rozdělení dlouhých řádků, ve kterých nejsou žádné bílé znaky ani dovolená místa zlomu. Pro delší komentáře můžete použít prostředí \ei{comment} z~balíku \pai{verbatim}. Jak je vysvětleno níže, do preambule vašeho dokumentu musíte přidat řádku \verb|\usepackage{verbatim}|, abyste příkaz \ei{comment} mohli použít. \begin{example} Toto je další \begin{comment} celkem stupidní, ale přesto užitečný \end{comment} příklad pro vložení komentářů do vašich dokumentů. \end{example} Prostředí \ei{comment} ale nebude fungovat uvnitř složitých prostředí, např. v~prostředí \verb|math|. \section{Struktura vstupního souboru} \LaTeXe{} u~souboru, který zpracovává, očekává určitou \index{struktura vstupního souboru}strukturu. Konkrétně každý vstupní soubor musí začínat příkazem \begin{code} \verb|\documentclass{...}| \end{code} Tímto specifikujete, jaký druh dokumentu vytváříte. Následují příkazy ovlivňující styl celého dokumentu nebo nahrávající \index{balík}balíky, které přidávají novou funkcionalitu k~základnímu \LaTeX u. Takový balík nahrajete příkazem \begin{code} \verb|\usepackage{...}| \end{code} Po provedení všech nastavení\footnote{Část dokumentu mezi \texttt{\bs documentclass} a~\texttt{\bs begin$\mathtt{\{}$document$\mathtt{\}}$} se nazývá \emph{\wi{preambule}}.} začíná tělo dokumentu příkazem \begin{code} \verb|\begin{document}| \end{code} Za tento příkaz napíšete text dokumentu spolu s~potřebnými \LaTeX ovými příkazy. Na konci dokumentu napíšete příkaz \begin{code} \verb|\end{document}| \end{code} který \LaTeX u říká, aby skončil. Cokoliv následuje za tímto příkazem bude \LaTeX em ignorováno. Obrázek~\ref{mini} ukazuje obsah minimálního vstupního souboru pro \LaTeXe{}. Trochu rozsáhlejší \wi{vstupní soubor} je ukázán na obrázku~\ref{document}. \begin{figure}[!bp] \begin{lined}{6cm} \begin{verbatim} \documentclass{article} \begin{document} Small is beautiful. \end{document} \end{verbatim} \end{lined} \caption{Minimální \LaTeX ový soubor.} \label{mini} \end{figure} \begin{figure}[!bp] \begin{lined}{10cm} \begin{verbatim} \documentclass[a4paper,11pt]{article} % define the title \author{H.~Partl} \title{Minimalism} \begin{document} % generates the title \maketitle % insert the table of contents \tableofcontents \section{Nějaká zajímavá slova} A~tady začíná náš článek. \section{Sbohem, světe} \ldots{} a~tady končí. \end{document} \end{verbatim} \end{lined} \caption[Příklad reálného článku z~časopisu.]{Příklad reálného článku z~časopisu. Všechny příkazy, které v~příkladu vidíte, jsou vysvětleny níže.} \label{document} \end{figure} \section{Typické použití z~příkazové řádky} Určitě už byste si rádi vyzkoušeli zpracovat malý \LaTeX ový vstupní soubor ukázaný na straně \pageref{mini}. Následuje stručný návod: \LaTeX{} se dodává bez GUI (grafického uživatelského rozhraní). Je to \uv{jen} program, který na pozadí zpracuje váš vstupní soubor. \emph{Některé} \LaTeX ové instalace \emph{obsahují} GUI, kde je tlačítko, kterým zpracování svého vstupního souboru odstartujete. Na jiných instalacích je ale nutné odstartování provést z~klávesnice, což nyní popíšeme. Upozorněme ještě, že předpokládáme, že máte \LaTeX{} na svém počítači už nainstalován.\footnote{Tak tomu je téměř u~všech Unixových systémů.} \begin{enumerate} \item Upravte/vytvořte svůj \LaTeX ový vstupní soubor. Tento soubor musí obsahovat jen obyčejný text. Všechny UNIXové editory vytvoří data právě v~tomto formátu. Na Windows budete možná muset explicitně zajistit, aby se soubor uložil ve formátu ASCII nebo \emph{plain text}. Jméno vašeho souboru by mělo mít příponu \eei{.tex}. \item Spusťte \LaTeX\ na svůj vstupní soubor. \begin{lscommand} \verb+latex foo.tex+ \end{lscommand} Pokud vše dopadne dobře, získáte soubor \texttt{.dvi}. Je možné, že bude třeba spustit \LaTeX\ víckrát, aby se obsah a~vnitřní odkazy vygenerovaly správně. Pokud váš vstupní soubor obsahuje chybu, \LaTeX\ vám to oznámí a~ve zpracování vašeho souboru přestane. Stiskněte \texttt{Ctrl-D}, abyste opět mohli zadávat příkazy z~příkazové řádky. \item Nyní si můžete prohlédnout DVI soubor. Máte několik možností, jak na to. Můžete si soubor prohlédnout na obrazovce pomocí \begin{lscommand} \verb+xdvi foo.dvi &+ \end{lscommand} Toto bude fungovat jen na Unixu s~X11. Na Windows můžete zkusit jiný zobrazovací program, \texttt{yap}. Zkonvertujte \verb|dvi| soubor do formátu \PSib, abyste si ho mohli vytisknout nebo prohlédnout v~programu~Ghostscript. \begin{lscommand} \verb+dvips -Pcmz foo.dvi -o foo.ps+ \end{lscommand} Možná, že v~rámci vašeho \LaTeX ového systému dokonce máte nainstalován program \texttt{dvipdf}, který umožňuje konvertovat \texttt{.dvi} soubory přímo do pdf. \begin{lscommand} \verb+dvipdf foo.dvi+ \end{lscommand} \end{enumerate} \section{Layout dokumentu} \subsection {Třídy dokumentů}\label{sec:documentclass} První informaci, kterou \LaTeX\ potřebuje při zpracování vstupního souboru vědět, je typ dokumentu, který chce autor vytvářet. Typ dokumentu se specifikuje pomocí příkazu \ci{documentclass}. \begin{lscommand} \ci{documentclass}\verb|[|\emph{options}\verb|]{|\emph{class}\verb|}| \end{lscommand} \noindent \emph{class} (třída) specifikuje typ dokumentu, který se má vytvořit. Tabulka~\ref{documentclasses} ukazuje třídy dokumentů rozebrané v~tomto úvodu. Distribuce \LaTeXe{} poskytuje přídavné třídy pro další dokumenty, včetně dopisu a~slajdů. Parametr \emph{options} upravuje chování třídy dokumentu. Jednotlivé options (volby) musí být odděleny čárkami. Nejčastější volby pro standardní třídy dokumentů jsou uvedeny v~tabulce~\ref{options}. \begin{table}[!bp] \caption{Třídy dokumentů.} \label{documentclasses} \begin{lined}{\textwidth} \begin{description} \item [\normalfont\texttt{article}] pro články do vědeckých časopisů, prezentace, krátké zprávy, dokumentaci k~programům, pozvánky, \ldots \index{třída article} \item [\normalfont\texttt{proc}] třída pro zápisy založené na třídě article. \index{třída proc} \item [\normalfont\texttt{minimal}] má minimální velikost. Umí jen nastavit velikost stránky a~základní font. Používá se hlavně pro ladění. \index{minimální třída} \item [\normalfont\texttt{report}] pro delší zprávy obsahující několik kapitol, pro malé knihy, dizertační práce\ldots \index{třída report} \item [\normalfont\texttt{book}] pro opravdové knihy.\index{třída book} \item [\normalfont\texttt{slides}] pro slajdy. Tato třída používá velká bezserifová písmena. Lepší alternativou může být třída \verb|Beamer|. \index{třída slides} \end{description} \end{lined} \end{table} \begin{table}[!bp] \caption{Nastavení tříd dokumentů.} \label{options} \begin{lined}{\textwidth} \begin{flushleft} \begin{description} \item[\normalfont\texttt{10pt}, \texttt{11pt}, \texttt{12pt}] \quad Nastaví velikost hlavního fontu dokumentu. Implicitní hodnotou je \texttt{10pt}.% \index{velikost fontu dokumentu}\index{velikost základního fontu} \item[\normalfont\texttt{a4paper}, \texttt{letterpaper}, \ldots] \quad Definuje velikost papíru. Implicitní hodnotou je \texttt{letterpaper}. Kromě ní a~\texttt{a4paper} lze specifikovat hodnoty \texttt{a5paper}, \texttt{b5paper}, \texttt{executivepaper} a~\texttt{legalpaper}.\index{úřední dokument} \index{velikost papíru}\index{velikost A4}\index{velikost \uv{dopis}}% \index{velikost A5}\index{velikost B5}\index{velikost exekutiva} \item[\normalfont\texttt{fleqn}] \quad Sází rovnice ve stylu display zarovnané doleva (namísto centrovaně). \item[\normalfont\texttt{leqno}] \quad Umístí čísla rovnic doleva (namísto doprava). \item[\normalfont\texttt{titlepage}, \texttt{notitlepage}] \quad Specifikuje, jestli se má za \index{titul dokumentu}titulem dokumentu přejít na novou stranu. Třída \texttt{article} implicitně na novou stranu nepřechází, zatímco třídy \texttt{report} a~\texttt{book} ano.\index{titulní stránka} \item[\normalfont\texttt{onecolumn}, \texttt{twocolumn}] \quad Říká \LaTeX u, aby dokument vysázel v~\index{sloupec -- jeden}jednom, resp. ve \index{sloupec -- více sloupců}více sloupcích. \item[\normalfont\texttt{twoside, oneside}] \quad Specifikuje, jestli výstup má být jedno- nebo oboustranný. Třídy \texttt{article} a~\texttt{report} jsou implicitně \index{jednostranný}jednostranné, zatímco třída \texttt{book} \index{oboustranný}oboustranná. Upřesněme, že tohle nastavení se týká pouze stylu dokumentu -- nastavení \texttt{twoside} \emph{neříká} tiskárně, aby papír potiskla z~obou stran. \item[\normalfont\texttt{landscape}] \quad Změní rozvržení dokumentu tak, že se bude tisknout v~módu landscape (po délce papíru, papír otočený o~90~stupňů). \item[\normalfont\texttt{openright, openany}] \quad Zařídí, aby kapitoly začínaly vždy na první následující pravé stránce (\texttt{openright}), resp. na první následující stránce (\texttt{openany}). S~třídou \texttt{article} toto nefunguje, protože \texttt{article} nepoužívá kapitoly. Třída \texttt{report} implicitně začíná kapitoly na následující dostupné stránce, zatímco třída \texttt{book} začíná na následující pravé stránce. \end{description} \end{flushleft} \end{lined} \end{table} Příklad: vstupní soubor pro \LaTeX{} může začínat řádkem \begin{code} \ci{documentclass}\verb|[11pt,twoside,a4paper]{article}| \end{code} který \LaTeX u říká, aby vysázel dokument jako článek (\emph{article}) se základním fontem o~velikosti \emph{jedenáct bodů} a~aby použil rozložení stránek vhodné pro \emph{dvoustranný} tisk na papír \emph{velikosti A4}. \pagebreak[2] \subsection{Balíky} \index{balík}Při psaní svého dokumentu můžete potřebovat věci, které základní \LaTeX{} nevyřeší, např. vkládání \index{grafika}grafiky, \index{barevný text}použití barevného textu nebo vysázení zdrojového kódu programu. V~tom případě je potřeba schopnosti \LaTeX u \uv{zdokonalit}. Toto zdokonalování se děje pomocí balíků. Balíky se aktivují pomocí příkazu \begin{lscommand} \ci{usepackage}\verb|[|\emph{options}\verb|]{|\emph{package}\verb|}| \end{lscommand} \noindent kde \emph{package} znamená jméno balíku a~\emph{options} je seznam klíčových slov, která zapínají speciální rysy balíku. Některé balíky jsou součástí základní distribuce \LaTeXe{} (viz tabulka~\ref{packages}). Jiné se získávají zvlášť. Více informací o~balících instalovaných na vašem počítači najdete ve své publikaci \guide. Základním zdrojem informací o~balících \LaTeX u je \companion. Zmíněná kniha obsahuje popisy stovek balíků, spolu s~informací o~tom, jak psát vlastní rozšíření \LaTeXe. Moderní \TeX ové distribuce mají mnoho balíků předinstalovaných. %Na Unixovém systému Po nainstalování nejpoužívanější \TeX ové distribuce \TeX~Live na všechny klíčové operační systémy (Microsoft Windows, Unix, Mac~OS~X) můžete dokumentaci k~balíkům získat příkazem \texttt{texdoc}. \begin{table}[btp] \caption{Některé z~balíků distribuovaných s~\LaTeX em.} \label{packages} \begin{lined}{\textwidth} \begin{description} \item[\normalfont\pai{doc}] Umožňuje dokumentovat \LaTeX ové programy.\\ Je popsán v~\texttt{doc.dtx}\footnote{Tento soubor by na vašem počítači měl být nainstalován a~mělo by být možné získat z~něj \texttt{dvi} soubor spuštěním \texttt{latex doc.dtx} v~kterémkoliv adresáři, do něhož máte právo pro zápis. To samé platí pro všechny ostatní soubory zmíněné v~této tabulce.} a~v~\companion. \item[\normalfont\pai{exscale}] Poskytuje zvětšené verze rozšířených matematických fontů.\\ Popsán v~\texttt{ltexscale.dtx}. \item[\normalfont\pai{fontenc}] Specifikuje, které \wi{kódování fontů} má \LaTeX{} použít.\\ Popsán v~\texttt{ltoutenc.dtx}. \item[\normalfont\pai{ifthen}] Poskytuje příkazy typu\\ `jestliže\ldots pak udělej\ldots, jinak udělej\ldots'\\ Popsán v~\texttt{ifthen.dtx} a~\companion. \item[\normalfont\pai{latexsym}] Zpřístupňuje \LaTeX ový font symbol. Popsán v~\texttt{latexsym.dtx} a~v~\companion. \item[\normalfont\pai{makeidx}] Poskytuje příkazy produkující indexy. Popsán v~sekci~\ref{sec:indexing} a~v~\companion. \item[\normalfont\pai{syntonly}] Zpracuje dokument bez toho, aby produkoval výstup. \item[\normalfont\pai{inputenc}] Umožňuje specifikovat vstupní kódování, lze se setkat např. s~kódováním ASCII, ISO \mbox{Latin-1}, ISO Latin-2, 437/850 IBM code pages, Apple Macintosh, Next, ANSI-Windows nebo uživatelsky definovaným. Balík je popsán v~\texttt{inputenc.dtx}. \end{description} \end{lined} \end{table} \subsection{Stránkové styly} \LaTeX{} podporuje tři předdefinované kombinace \index{záhlaví stránky}záhlaví/\index{pata stránky}paty stránek -- tzv. \wi{stránkové styly}. Parametr \emph{style} příkazu \index{stránkový styl!plain@\texttt{plain}}\index{plain@\texttt{plain}} \index{stránkový styl!headings@\texttt{headings}}\index{headings@texttt{headings}} \index{stránkový styl!empty@\texttt{empty}}\index{empty@\texttt{empty}} \begin{lscommand} \ci{pagestyle}\verb|{|\emph{style}\verb|}| \end{lscommand} \noindent definuje, který z~nich se má použít. Tabulka~\ref{pagestyle} ukazuje všechny tři předdefinované styly. \begin{table}[!hbp] \caption{Předdefinované stránkové styly \LaTeX u.} \label{pagestyle} \begin{lined}{\textwidth} \begin{description} \item[\normalfont\texttt{plain}] Vypisuje čísla stránek doprostřed pat stránek (implicitní styl). \item[\normalfont\texttt{headings}] Vypisuje název aktuální kapitoly a~číslo stránky do záhlaví každé stránky. Pata stránky je prázdná; styl použitý v~tomto dokumentu. \item[\normalfont\texttt{empty}] Záhlaví i~pata stránky jsou prázdné. \end{description} \end{lined} \end{table} Styl aktuální stránky je možné změnit příkazem \begin{lscommand} \ci{thispagestyle}\verb|{|\emph{style}\verb|}| \end{lscommand} Popis toho, jak vytvořit vlastní záhlaví a~paty najdete v~\companion{} a~v~sekci~\ref{sec:fancy} na straně~\pageref{sec:fancy}. % % Pointer to the Fancy headings Package description ! % \section{Soubory, na které můžete narazit} Při práci s~\LaTeX em se můžete setkat s~řadou typů souborů (např. soubory, ve kterých je uložen kód balíků nebo pomocné soubory vygenerované \LaTeX em při zpracování vašeho dokumentu). Jednotlivé typy souborů mají standardní přípony. Následující seznam stručně charakterizuje nejčastější \index{typ souboru}typy souborů. Seznam není úplný; pokud se vám zdá, že chybí důležitý typ, dejte mi prosím vědět. \begin{description} \item[\eei{.tex}] vstupní soubor pro \LaTeX{} nebo \TeX. Lze ho přeložit pomocí \texttt{latex}, resp. \texttt{tex}, \texttt{pdflatex}, \texttt{xelatex}, \texttt{lualatex}\ldots \item[\eei{.sty}] Balík \LaTeX ových maker. Do \LaTeX ového dokumentu si ho nahrajete pomocí příkazu \ci{usepackage}. \item[\eei{.dtx}] Dokumentovaný \TeX{}. Jedná se o~hlavní distribuční formát pro stylové soubory \LaTeX u. Přeložíte-li soubor s~příponou .dtx, obdržíte dokumentaci k~makrům daného balíku (obsaženým v~tomto .dtx souboru). \item[\eei{.ins}] Instalátor pro soubory obsažené v~příslušném .dtx souboru. Po stažení \LaTeX ového balíku ze sítě většinou získáte soubory s~příponami .dtx a~.ins. Spusťte \LaTeX{} na soubor .ins a~získáte soubor s~příponou .dtx. \item[\eei{.cls}] Soubory s~třídami definují, jak váš dokument vypadá. V~\LaTeX ovém dokumentu příslušnou třídu vyberete příkazem \ci{documentclass}. \item[\eei{.fd}] Soubor popisující font. \end{description} Následující soubory mohou být vygenerovány, spustíte-li \LaTeX{} na svém vstupním souboru: \begin{description} \item[\eei{.dvi}] Device Independent File (Soubor nezávislý na zařízení). Jde o~hlavní výstup kompilace pomocí \LaTeX u. Obsah souboru si můžete zobrazit pomocí prohlížeče DVI souborů nebo připravit pro tisk pomocí \texttt{dvips} nebo podobného programu. \item[\eei{.log}] Obsahuje detailní popis věcí, ke kterým došlo během posledního překladu. \item[\eei{.toc}] Obsahuje názvy všech oddílů dokumentu. Daný soubor je načten při příštím překladu a~vysází se pomocí něj obsah. \item[\eei{.lof}] Podobně jako .toc soubory, ale uchovává seznam obrázků. \item[\eei{.lot}] Podobně jako .toc a~.lof soubory, ale uchovává seznam tabulek. \item[\eei{.aux}] Další soubor předávající informace z~jednoho překladu do překladu dal\-ší\-ho. Kromě jiného jsou zde uloženy informace související s~křížovými odkazy. \item[\eei{.idx}] Obsahuje-li váš dokument rejstřík (index), \LaTeX{} uloží všechna slova, která byla v~dokumentu označena pro uložení do indexu, do souboru s~touto příponou. Tento soubor se zpracuje pomocí programu \texttt{makeindex} či \texttt{xindy}. Více informací o~indexování lze najít v~sekci~\ref{sec:indexing} na straně~\pageref{sec:indexing}. \item[\eei{.ind}] Výsledek zpracování souboru .idx programem \texttt{makeindex} či programem \texttt{xindy}. Tento soubor bude použit během další kompilace k~vložení rejstříku do dokumentu. \item[\eei{.ilg}] Logovací soubor programu \texttt{makeindex}. \end{description} % Package Info pointer % % % % Add Info on page-numbering, ... % \pagenumbering \section{Velké projekty} Při psaní velkého dokumentu je někdy výhodné rozdělit si vstupní soubor na několik částí. To lze udělat pomocí dvou \LaTeX ových příkazů. \begin{lscommand} \ci{include}\verb|{|\emph{filename}\verb|}| \end{lscommand} \noindent Uvedením tohoto příkazu v~těle dokumentu vložíte do aktuálního dokumentu obsah souboru \emph{filename.tex}. Před vložením souboru \LaTeX{} začne novou stránku. Druhý příkaz se používá v~preambuli a~říká \LaTeX u, aby vložil jen některé ze souborů uvedených v~dokumentu u~příkazu \verb|\include|. \begin{lscommand} \ci{includeonly}\verb|{|\emph{filename}\verb|,|\emph{filename}% \verb|,|\ldots\verb|}| \end{lscommand} Po provedení tohoto příkazu budou vloženy jen ty ze souborů použitých jako argumenty příkazů \ci{include}, které jsou uvedeny jako parametry příkazu \verb|\includeonly|. Mezi čárkami a~jmény souborů v~argumentu příkazu nesmí být žádné mezery. Příkaz \ci{include} začne sázet vložený text na nové stránce. To je při použití \ci{includeonly} výhodné, protože stránkové zlomy se nezmění, ani když budou některé z~vkládaných souborů vynechány. Pokud se vám ale toto chování nehodí, můžete použít příkaz \begin{lscommand} \ci{input}\verb|{|\emph{filename}\verb|}| \end{lscommand} \noindent Tento příkaz vloží zmíněný soubor bez přechodu na novou stránku. Pro rychlou kontrolu svého dokumentu \LaTeX em můžete použít balík \pai{syntonly}. \LaTeX{} projde vaším dokumentem a~zkontroluje syntax a~použití příkazů, nevytváří ale žádný (DVI či PDF) výstup. \LaTeX{} tímto způsobem zpracuje vstupní soubor rychleji. Použití balíku je následující: \begin{verbatim} \usepackage{syntonly} \syntaxonly \end{verbatim} Chcete-li, aby se výstup \emph{generoval}, stačí pomocí procenta na začátku řádku zakomentovat druhou zmíněnou řádku. % % Local Variables: % TeX-master: "lshort2e" % mode: latex % mode: flyspell % End: