Začínáme s LATEX em

Petr Aubrecht

24.2. 2001

Abstract

1 LATEX je textový procesor pro lidi, kterým nevadí se nejdřív něco naučit, aby pak mohli dělat práci lépe. Kteří raději obětují na začátku něco času, aby věděli, co vlastně dělají a jak se to má dělat správně. Je pro lidi, kteří chtějí vědět něco o typografii.

Rozhodně není pro lenochy. Není pro lidi, kteří se nechtějí obtěžovat pohledem čtenáře, který to musí číst. Není pro lidi, kteří mentálně porozuměli psacímu stroji a u toho zůstali (a s radostí dál používají podtrhávání a lomítek místo závorek). Není ani pro sekretářky, které moc netrápí, že dopis není typograficky správný.

Zkrátka LATEX není Word. Dovolte mi přirovnání - Word je jako mikrovlnná trouba, ve které se nejlépe ohřejete mražené jídlo koupené v supermarketu. Ale pořádné jídlo tam neuvaříte.

Text, který se chystáte číst, je taková pro ,,ohřívače mraženek,'' který by se chtěl naučit aspoň trošku vařit, ale má z toho trošku strach.

Důvody

Když jsem v létě roku 2000 nastupoval do školy jako zaměstnanec, stál jsem najednou před rozhodnutím, v jakém editoru budu psát zprávy. Jsem hodně zaujatý proti Microsoftu (a vím proč), takže jsem si na počítač Word nenainstaloval. Ke čtení souborů DOC používám Text602, který na základní věci stačí.

Stál jsem tedy před zásadním rozhodnutím. Jedna možnost byla pokorně se sklonit před monopolním suverénem, přijmout potupnou porážku ducha bezduchým programem.

Druhá možnost byla vzpomenout si na základy LATEX u, který jsem se v rámci několika předmětů na škole používal. Tato varianta vyžadovala náročnější instalaci, sehnání počeštění, rozhodnout se mezi různými instalacemi ap. Ne nepodobná situace jako u Linuxu.

Porovnával jsem možnosti, které oba programy nabízí. Word je používán naší skupinou a pravděpodobně v tomto formátu budete dostávat dokumenty. Potíž je v nutnosti mít poslední verzi, protože jinak si nepřečtete nic. To zpětně nutí lidi kolem vás si ji koupit taky. Zkrátka roztočený kolotoč, ve kterém všichni cpou peníze Microsoftu jako smyslů zbavení.

LATEX znamená nikomu nic neplatit. Naproti tomu vyžaduje hlubší studium, které se ovšem mnohokrát vrátí v pochopení podstaty problému. Jako když si kupujete sporák, který má spoustu funkcí - když umíte vařit, spíš si vyberete ten nejlepší.

Jako obrovskou výhodu jsem nakonec odhalil možnost dostat výsledek z LATEX u ve formátu PDF, PostScript nebo HTML, bylo rozhodnuto. Také podpora komunity (každý oslovený člověk mi vždy ochotně pomohl). A když se mi podařilo najít cestu, jak dostat alespoň text do Wordu (pro kolegy), bylo rozhodnuto. LATEX.

Chapter 1
První kroky

V celém následujícím textu si nekladu nároky na úplnost informací. Píšu pro lidi, kteří nechtějí vědět hned všechno (pečlivky odkazuji na literaturu na konci - začněte od Knutha). Většinou se dá dosáhnout cíle více cestami, ale nám postačí většinou jenom jedna.

První kroky do neznámé oblasti jsou vždycky trochu bolestné. Nainstalování LATEX u rozhodně budete muset nechat na někom, kdo tomu rozumí. Existuje instalace ve stylu Windows - MikTeX, ale čeština je tu trochu problém, takže zase věc odborníka (viz kapitola 1.2). Protože mám s tímto balíkem zkušenosti, budu se (bez újmy na obecnosti) odkazovat pouze na něj.

Máme tedy fungující instalaci. A vy máte první myšlenku, co byste chtěli napsat. Nebudeme se tedy zdržovat přílišnou teorií a vrhneme se do psaní.

Jediné, co musíme vědět dopředu, je, že LATEX je kompilátor. Tedy v jednom souboru něco napíšeme, spustíme kompilátor a ten vygeneruje jiný soubor (XX.dvi), který si zase jiným programem prohlížíme. Schéma je na obrázku 1.1.

XX.tex Ţ LATEX Ţ XX.dvi Ţ prohlížeč

Figure 1.1: Zpracování LATEX ového dokumentu

1.1  Prázdný dokument

Jak jsem slíbil, tak plním. Prázdný dokument bude obsahovat pouze slovo , ale při kompilaci aspoň nebude hlásit chybu. Bude vypadat následovně:

Vstupní soubor
\documentclass{report}
\begin{document}
%tady budeme něco psát
Ahoj
\end{document}

Vytvořte textový soubor (pozor, musí být opravdu textový, tj. pokud si ho budete prohlížet Notepadem, musí se zobrazit dobře.

Celý text opište, uložte pod názvem pokus1.tex a spusťte LATEX. Sice ještě není co

Na disku by se vám měl vytvořit mimo jiné soubor pokus1.dvi. S ním je v MikTeXu svázán prohlížeč Yap, který jej dokáže zobrazit. Spusťte jej (např. dvojitým kliknutím na pokus1.dvi). Měla by se objevit prázdná stránka s jediným slovem vlevo nahoře (viz obr. 1.2).

Ahoj

Figure 1.2: Úplně první dokument

Gratuluji, toto je váš první dokument v LATEX u. Co která řádka v tomto dokumentu znamená, si vysvětlíme v následujících kapitolách. Tady jenom poznamenám, že znak procento začíná komentář, který se nebude zobrazovat. Lze tam napsat např. poznámky k textu a já tak budu popisovat některé rysy LATEX u.

1.1.1  Kam psát text

Když se dobře zadíváte na strukturu dokumentu, zjistíte, že na začátku je uvedena definice documentclass. Ta udává, jakým stylem bude dokument sázen. Hlavní možnosti jsou article - krátká zpráva, report - delší zpráva, book - kniha.

Za documentclass lze uvést různé volitelné doplňky. Některé zásadní si ukážeme v kapitole o češtině, některé v posledních kapitolách.

Text, který chceme psát, musí být umístěn mezi \begin{document} a \end{document}. NIKDY nelze psát jinam.

1.1.2  Slovo LATEX - makra

Systém LATEX je postaven na makrech. Makra se vyznačují tím, že začínají znakem zpětné lomítko (\) a pokračují nějakým textem.2 Pokud vás zajímá, jak se dá napsat taková věc, jako , pak stačí vědět, že existuje makro \LaTeX, které jej vypíše.

Druhým příkladem bude tedy trošku zajímavější text:

Vstupní soubor Výsledek
\documentclass{report}
\begin{document}
%tady budeme něco psát
Toto je \LaTeX.
\end{document}

Toto je LATEX.

Všechna makra začínají tedy znakem \. Ovšem mohou mít také argument. Příkladem je makro \documentclass, které má jako argument seznam balíčků. Všechny povinné argumenty se zapisují do složených závorek. Makro také může mít nepovinné parametry. Ty se pak zapisují do hranatých závorek: \usepackage[cp1250]{inputenc}.

Kromě maker disponuje LATEX také prostředími. Tato prostředí umožňují různé chování, jako například umístění obrázku (viz kapitola 2.3).

1.2  Čeština

Možná jste si všimli, že jsem se doposud pečlivě vyhýbal všem českým znakům. Ty nám sice dovolují téměř fonologický zápis řeči, ale v počítačích dělají stále problémy.

Pro řešení češtiny existují dvě cesty. První bude podpora češtiny přímo z MikTeXu (babel). Její zápis je:

\documentclass{report}
% píšeme ve Windows, kódová stránka 1250
\usepackage[cp1250]{inputenc}
% Zapne češtinu (nadpisy)
\usepackage[czech]{babel}
\begin{document}
...

Jediným mně dosud známým nedostatkem je nepohodlné použití českých uvozovek. Nicméně to vypadá, že babel nepodporuje dělení slov s diakritikou, což je ovšem tragédie.

Druhá cesta je použití CSLATEX u, který byl vyvinut tuzemskými silami a pravděpodobně (netroufám si rozhodovat) bude vytvářet dokumenty lépe odpovídajícím místním zvyklostem.

Záleží na Vás, případně odborníkovi, protože lze volit mezi několika instalacemi. Jako příklad uvedu pouze MikTeX, kde je třeba složitěji instalovat češtinu, oproti tomu teTeX má češtinu automaticky, ovšem s mnohem horším prohlížečem.

\documentclass{report}
% píšeme ve Windows, kódová stránka 1250
\usepackage[cp1250]{inputenc}
% Zapne češtinu (nadpisy, dělení slov)
\usepackage{czech}
\begin{document}
...

Protože je následující text nezávislý na zvolené cestě, nebudu se k tomuto problému již vracet. Zvolte dle svého uvážení (nebo na uvážení odborníka, který vám bude instalaci provádět).

1.3  Kapitoly, odstavce

1.3.1  Odstavec

Když už umíte vytvořit dokument s několika slovy, můžeme pokračovat. Písmena se skládají do slov oddělených mezerou, slova se skládají do odstavců. A odstavce se oddělují prázdným řádkem.

LATEX ignoruje více mezer za sebou, stejně jako více prázdných řádků. O tom, jak bude výsledný text vypadat (jak bude vysázen), rozhoduje LATEX.

Následující obrázek ukazuje dva odstavce za sebou:

První odstavec. text text text text text text text
Druhý odstavec.

Tyto odstavce je možné zapsat se stejnými výsledky mj. následujícími způsoby:

První odstavec. text text
text text text text text

Druhý odstavec.
První odstavec.
text text
text
text text          text text


Druhý odstavec.

1.3.2  Kapitoly a spol.

Teď, když jsem od slov postoupili k odstavcům, budeme pokračovat definováním kapitol. LATEX definuje makra pro kapitoly (uvádím jen ty, které nás zajímají):

Způsob vysázení kapitol se řídí stylem, definovaným v záhlaví (viz kapitola 1.1.1). Struktura tohoto článku je na následujícím obrázku:

\documentclass[a4paper,12pt,twoside,titlepage]{report}
...
\chapter{První kroky}
...
\section{Prázdný dokument}
...
\subsection{Kam psát text}
...

1.4  Drobky z typografie

Autoři píšící v LATEX u se liší od pisatelů ve Wordu minimálně několika znalostmi z typografie. Především nebudeme měnit velikost stránky. Od Guttenbergova vynálezu uplynula nějaká doba a vyvinula se metodika pro velikosti stránek. LATEX tuto metodiku obsahuje, takže ho necháme dělat jeho práci.

Velmi oblíbeným nešvarem autorů, kteří chtějí využít možnosti techniky až na dno, je používání velkého množství fontů. Myslí si, že dokument bude vypadat lépe. Naopak, bude vypadat jako vývěsní štít kolotočářů. Na jednu stranu by se měly použít maximálně tři fonty, a to ještě spíše výjimečně, řekněme pro titulní stránku. Jako rozdílné fonty se počítají i různé styly (bold, italic) i velikosti.

Při psaní se oprostěte od zvyků z psacího stroje! Používání podtrhávání tehdy mělo smysl, protože nebyla jiná cesta. Dnes, kdy můžete sázet tučně - \textbf{text} nebo zvýrazněně \emph{text}, nemá podtržení opodstatnění a ruší plynulost textu.

1.4.1  Pomlčka, rozdělovník, minus

Doba psacích strojů také setřela rozdíl mezi pomlčkou, rozdělovníkem a minusem, protože na stroji na to všechno byl jeden znak. Hrubé rozdělení je následující:

minus
Minus je nejjasnější, používá se v matematice. Proto se v LATEX u musí používat tedy $-1$ Ţ
rozdělovník
Rozdělovník je nejkratší. Používá se u spojky -li nebo při spojování slov (Rakousko-Uherský) a zapisuje se jednoduše znakem - Ţ
pomlčka
Pomlčka je v sazbě ve Wordu Popelka. Až novější verze ji samy rozpoznávají a nahrazují správným znakem. V LATEX u --- Ţ

1.4.2  Předložky na konci řádky

Hrubou chybou by bylo nechávat na konci řádky neslabičné předložky (k, v, s, z) a neměly by tam být ani jednohláskové předložky (o, u), ani spojky (a, i).

Protože je problematické výskyt takových znaků hlídat. Proto LATEX umožňuje zadávat tzv. mezeru. Je to znak ~. Takže můžeme psát: Tvrdá mezera se chová jako znak ve slově, takže nemůže zůstat na konci řádky.

A jelikož je i toto zadávání nám, líným to tvorům, dodává se s českou distribucí program vlnka nebo v novější verzi vlna, který tuto práci zvládne za nás.

Chapter 2
Know How

2.1  Obsah

Obsah lze vygenerovat příkazem \tableofcontents. Ovšem je zde jeden zádrhel. Protože zpracování je pouze jednoprůchodové, zapisuje se do zvláštního souboru obsah až při procházení jednotlivými kapitolami. Teprve při druhém průchodu se tyto informace mohou použít.

LATEX na tento problém upozorňuje hláškou LaTeX Warning: Label(s) may have changed. Rerun to get cross-.... Tak jste varováni, že máte překlad spustit ještě jednou.

2.2  Literatura

LATEX pochází z akademického prostředí, kde je otázka referencí velmi důležitá. Proto byla jistá pozornost věnována i literatuře.

Odkazy na literaturu se vždy provádí pomocí \cite{klíč}. Klíč je určen k označení dané publikace.

Teď je ještě potřeba sepsat seznam literatury. Jednodušší, ale jednorázová je možnost na konci uvést prostředí \thebibliography. Ovšem tak budete muset definice vždy mezi dokumenty kopírovat.

\begin{thebibliography}{nejširší-klíč}
 \bibitem[label]{klíč} Popis publikace
\end{thebibliography}

Druhá, trošku delší cesta, je sepsat seznam literatury do zvláštního souboru (databázi .bib), který se potom k dokumentu připojí. LATEX potom při první kompilaci uloží seznam citací (příkazů \cite). Potom musíte spustit bibtex, který seznam zpracuje, projde databázi a vypíše odpovídající definice. Při druhém průchodu LATEX zařadí tento seznam na místo příkazu bibliography.

...
\bibliographystyle{plain}
\begin{document}
...\cite{LatCompanion}
\bibliography{books}
\end{document}

Výhoda tohoto způsobu je v tom, že není třeba nic kopírovat a zápis se provádí pouze do databáze (v tomto případě books.bib). Při zpracování bude před koncem dokumentu uvedena literatura s klíčem LatCompanion. Příkladem tohoto způsobu je i tento dokument.

Pokud budete potřebovat, aby byl v literatuře odkaz i na publikaci, která není citována, můžete použít makro \nocite{klíč}.

2.3  Obrázky

Protože LATEX pracuje s vektorovým popisem stránky, je lepší používat také vektorové obrázky. Takovým formátem, navíc široce používaným, je encapsulated postscript (EPS). Do dokumentu jej uložíte takto:

\begin{figure}[h]
\epsfig{file=soubor.eps, width=0.9\textwidth}
\caption{Popis obrázku}
\label{klíč}
\end{figure}

Vloží se soubor soubor.eps, šířka obrázku bude 90% šířky stránky. Pod obrázkem bude popis a na číslo obrázku pomocí \ref{klíč}.

Další formáty lze vložit pomocí \includegraphics, viz jeho dokumentace.

2.4  Odkazy

Velmi mocným nástrojem jsou odkazy. Na místech, na která se chcete odkazovat, umístíte příkaz \label{klíč}. Odkazovat se na něj budete příkazy \pageref{klíč}, který uvede číslo stránky, a \ref{klíč}, který uvede číslo kapitoly nebo obrázku ap. podle umístění \label{klíč} (v textu, v obrázku, jinde).

Bonbónkem je balíček varioref, který umožňuje vkládat do textu odkazy typu: Detaily viz jeho dokumentace.

2.5  Drobnosti

Mezi drobnosti zařadím poznámku pod čarou. Užitečná pomůcka - stačí zadat \footnote{Poznámka pod čarou}3.

Chcete použít makro LATEX nebo podobné pro vygenerování textu a následující text se k němu LATEX totiž za makrem ignoruje mezery. Proto mu musíte mezeru pomocí ``\ ''. Správně je to - \LaTeX\ je dokonalý.

Pokud jste došli až sem a všechno tohle umíte, je čas pustit se do nějaké opravdové literatury. Určitě zjistíte, že možnosti jsou nekonečné (například The LATEX Companion je ohromný zdroj informací a inspirace). Hodně zdaru.


Footnotes:

1 Vše, co je dále popsáno, je pouze můj názor. Pokud máte připomínky, můžete je adresovat na aubrech.felk.cvut.cz.

2 Upozornění: LATEX rozlišuje malá a velká písmena!

3 Poznámka pod čarou


File translated from TEX by TTH, version 2.25.
On 04 Mar 2001, 14:14.