LaTeX
Poslední aktualisace 15. 10. 2020
Účelem tohoto návodu je vysvětlit základy $\LaTeX$u uživateli s nulovou předchozí zkušeností s TeXem nebo jiným složitějším softwarem. Návod se snaží být takový, aby ho pochopil opravdu každý, snad není zbytečně obsáhlý. Ze začátku jsou čtenáři představeny nutné všeobecné základy psaní s $\LaTeX$em, později je nastíněno použití pro specifičtější účely, jako je psaní matematických textů.
Očekávám, že při čtení tohoto návodu vezmete do ruky myš a klávesnici, sami si $\LaTeX$ nainstalujete a budete zkoušet tvořit ukázkové dokumenty společně s návodem. Nejlépe se jej totiž člověk naučí používáním.
Jiné návody v angličtině lze najít zde, seznam symbolů v $\LaTeX$u lze najít zde, či pomůže vyhledávání symbolů na Detexify. Ukázky toho, co všechno lze pomocí TeXu udělat, lze najít zde, ale také zde.
Proč se vyplatí se naučit $\LaTeX$?
X v názvu TeX znamená řecké písmeno chí a čte se jako české ch.
Začněmě tím nejtěžším pro začínajícího uživatele TeXu – jeho instalací. Věřím, že jakmile si TeX nainstalujete, budete se s ním už moci hravě seznámit, načež už jej můžete jen využívat ke své službě.
V instalace počítám s tím, že používáte operační systém Windows 10, a že máte na disku volných cca 3GB místa (proč tolik, je vysvětleno níže).
V tomto návodu ukazuji základní workflow pro práci s TeXem. Power-useři nechť se uchýlí k používání vimu.
Používáte-li Linux, lze instalační kroky nahradit jediným řádkem do terminálu. Pro Ubuntu:
Pro Arch Linux:
Místo Texlive je možné nainstalovat si tzv. MikTeX a místo Texmakeru zase např. TeXworks. Texlive a Texmaker jsou však dle mne nejsolidnější (Miktex obsahuje chyby a Texmaker je přehledný a má hodně funkcionalit.) Musím nicméně přiznat, že MikTeX instaluje balíčky on-the-fly, pročež zabírá méně místa na počítači.
$\LaTeX$ je ve zkratce program na vytváření pdf souborů. Pdf soubor $\LaTeX$ vytvoří podle textového souboru, který mu podáme, tento textový soubor má charakteristickou příponu .tex. Práce v TeXu následně probíhá tak, že v nějakém textovém editoru (mohli bychom použít i např. microsoftí poznámkový blok) napíšeme zdrojový kód našeho dokumentu, ten následně tzv. přeložíme programem $\LaTeX$u a obdržíme požadované pdf.
Pro práci tedy potřebujeme dvě věci: program na překlad souborů .tex a textový editor na tvoření souborů .tex. Na překlad si nainstalujte Texlive, jako editor zase texmaker.
Texlive zabírá cca 3GB, neboť obsahuje všechna možná rozšíření $\LaTeX$u zvaná balíčky, které mnohdy obsahují svá vlastní písma nebo glyfy. Po instalaci tento program zůstane na vašem disku a vy s ním již nebudete muset nikdy viditelně interagovat. Texmaker je program, ve kterém se budete pohybovat při sázení dokumentů.
Přejděte na plochu nebo do vaší oblíbené složky. Vytvořte si zde složku s libovolným názvem, řekněme třeba Prvni_dokument. Pro jeden pdf soubor musíte v $\LaTeX$u mít minimálně jeden .tex soubor, ale ještě i jiné, které se automaticky vytvoří při kompilaci (třeba .log soubor, kde se uchovává zápis o tom, jak kompilace proběhla), proto se vyplatí mít všechny soubory týkající se jednoho dokumentu v jedné složce, a k tomuto slouží práve složka Prvni_dokument.
Přejděte do složky Prvni_dokument (v Průzkumníku souborů) a vytvořte zde soubor .tex, třeba prvni.tex. Na Windows to uděláte tak, že si nejprve nastavíte zobrazování přípon souborů, načež kliknete pravým tlačítkem, dále nový, dále textový dokument. Následně pomocí tlačítka F2 nebo menu vzniklého z kliknutí pravého tlačítka myši můžete právě vytvořený soubor přejmenovat.
Soubor otevřte pomocí Texmakeru. Pravé kliknutí, otevřít v programu,
vybrat jiný program, zaškrtnutí použít jako výchozí program, výběr
Texmakeru a ok se postará o tuto práci, alternativě lze otevřít
Texmaker a soubor do něj přetáhnout.
Nyní byste měli mít otevřený Texmaker s prázdným souborem podle obrázku.
Lze nastavit, aby okna pro výstup a vstup byla opravdu oddělená okna. To se hodí zejména pro malé displeje.
Texlive je tzv. backendový program, zatímco Texmaker je tzv. frontendový program.
Levá část programu tedy slouží na psaní již zmiňovaného kódu, který se následně přeloží na pdf. Výsledné pdf se zobrazí na pravé straně programu. Ježto však zatím žádný kód nemáme, zkusme napsat toliko jednoduchou větu, třeba:
Větu můžeme zkusit přeložit pomocí tlačítka Quick build či Rychlý překlad,
pro které je v programu klávesová zkratka F1.
Jak jste možná očekávali, dokument se nepřeložil úspěšně. Psaní dokumentů v $\LaTeX$u vyžaduje
dodržovat určitá pravidla, stejně jako když píšeme kód např. v html nebo v c++.
Možná vám přijde poněkud zdrcující začínat s $\LaTeX$em chybovou hláškou, nicméně sledování těchto
hlášek tvoří důležitou součást správné práce s TeXem. Můžete si povšimnout, že hláška se vám snaží
napovědět, kde jste udělali chybu – na řádku č.1. Dále se dočteme, že chybí formule
\begin{document}
, kterou můžeme vzápětí doplnit.
Než však doplním potřebné formality, všimněte si, že v naší složce Prvni_dokument se vygeneroval soubor prvni.log. V tomto souboru je uložené vše, co Texlive při překladu považoval za důležité. Čtení tohoto souboru může někdy pomoci odhalit chyby, když ho však smažeme, nic se nestane. Při dalším postupu se vytvoří podobně ještě další soubory. Ty pomáhají $\LaTeX$u s kompilací, můžete je poklidně smazat, ale je to zbytečné.
Nahraďme tedy Ahoj světě!
správnou verzí kódu.
K tomu kliněte na Wizard, Quick sTart a následně na ok. V české verzi
na Průvodce, Pomocník pro dokument a ok. Objeví se vám následující
kód, který již po doplnění Ahoj světe! na správné místo můžete přeložit.
Výhoda $\LaTeX$u oproti ostatním programům na psaní dokumentů je, že v něm lze tvořit dokumenty přehledně, neboť nabízí separaci obsahu od formy. Tato přehlednost je nedocenitelná, nicméně vyžaduje, aby si ji uživatel uvědomoval a aktivně o ní pečoval, např. správným odsazováním bloků kódu.
Trochu vysvětlivek. Podobně jako html dokument, .tex dokument je členěn na hlavičku,
kde se nastavují obecné vlastnosti jako velikost fontu či velikost okrajů
a na samotné tělo dokumentu, kde může uživatel vkládat svůj text. Toto členění
má za cíl dokument zpřehlednit. V hlavičce se načítají balíčky pomocí příkazu
\usepackage{balíček}
, což
jsou kusy kódu, které napsal někdo jiný, a jsou uložené někde na vašem počítači,
a které rozšiřují funkčnosti programu. Třeba balíček inputenc zajišťuje, že
TeX ví, že používáte kódování souboru UTF8, balíček geometry zajišťuje okraje
stránek.
Tělo dokumentu je (narozdíl od hlavičky) ohraničené \begin{document}
a \end{document}
. Kód, který
se píše mezi tyto dva řádky, znamená obsah dokumentu.
$\LaTeX$ obsahuje dva druhy příkazů, neboli sekvencí znaků, které můžete použít,
abyste mohli dosáhnout nějakého speciálního efektu. První druh je ve tvaru
\příkaz[nepovinný_argument]{povinný_argument}
,
přičemž každý příkaz může a nemusí mít povinný i nepovinný argument
– musíte ten příkaz znát. Druhý zase v následujícím tvaru:
Prvním jednoduchým příkazem dosáhnete jednorázové věci jako např. načtení balíčku. Druhému příkazu se také někdy říká prostředí (environment) a funguje tak, že cokoliv se vyskytne v prostředí, tak je různým způsobem pozměněno.
V předchozích částech návodu jste se snad naučili, jak si vytvořit vlastní texový dokument. Nyní si ukážeme, jak do dokumentu zakomponovat stylistické prvky. Bude to stručný výčet, protože to asi jinak podat nejde. Abyste si tedy ty příkazy zapamatovali, tak experimentujte a zkoušejte, co dělají sami.
Nejprve praktické věci: do kódu lze vkládat komentáře, které neovlivní výsledek,
tak, že před komentovaným segmentem je znak %
.
Samotný znak % se vloží pomocí \%
.
Dále jedno zalomení řádku se chová jako mezera. Pro tvoření odstavců musí člověk
zmáčknout enter dvakrát, nebo dát na konec odstavce příkaz \\
.
Oba způsoby odstavce se liší tím, že \\
dělá odstavec bez odsazení. Pro rušení odsazení nebo jeho zavedení jsou příkazy
\indent
a \noindent
.
Tip: lze vytvořit prázdné prostředí pomocí { }. Tedy
{\itshape kurzíva}
vyprodukuje to samé jako \textit{kurzíva}
,
nicméně oba příkazy fungují jinak.
\emph{kurzíva}
nebo pomocí \textit
.
Pomocí příkazu \itshape
se všechen následující
text (v daném prostředí) dá do kurzívy.\textbf{tučné}
a \bfseries
.\documentclass[10pt,a4paper]{article}
,
kde pt je jednotka velikosti.\Huge
,
\huge
, \large
,
\normalsize
, \small
a \tiny
.\section{jméno sekce}
,
podsekce \subsection{jméno}
a podpodsekce
\subsubsection{jméno}
. Sekce se číslují automaticky.\section*{nečíslovaná sekce}
.\tableofcontents
.Stalo se vám někdy, že jste do Wordu vložili obrázek a jeho změna zničila celý dokument? V $\LaTeX$u by se toto mělo stávat méně často. Je sice pravda, že je těžké zacházet s obrázky bez grafického rozhraní, nicméně $\LaTeX$ má rozumné defaultní nastavení, které můžete používat.
Pro všechnu manipulaci s obrázky musíte mít obrázek ve stejné složce jako zdrojový .tex soubor. Nechť se jmenuje obr.png.
Příkaz \textwidth
znamená šířku řádku. Např. půlka řádku je 0.5\textwidth
.
\includegraphics[width=10cm]{obr.png}
vloží na místo kódu obrázek obr.png o šířce 10 cm.h
znamená here (zde). Obrázek se vloží na místo, kde se vyskytuje v kódu.
Lze ještě použít t
jako top (nahoře) a b
jako bottom (dole).
$\LaTeX$ je vyhlášený tím, jak lehce se v něm píše matematika. Abyste napsali nějakou
matematickou rovnici, musíte všechnu matematiku obklopit znakem dolaru takto:
$x=2+3x$
→ $x=2+3$.
Pokud je vaše rovnice významná a chcete, aby zabírala řádek sama pro sebe, tak
ji obklopte ve dvou dolarech:
Nedoporučuji používat \frac
v řádkové matematice, neboť je tam moc málo prostoru. Stačí použít lomeno → a/b
.
$\frac{a}{b}$
→ $\frac{a}{b}$.$x_i^6$
→ $x_i^6$; $\sqrt[3]{27}$
→ $\sqrt[3]{27}$.\exp
→ $\exp$, podobně
pro goniometrické funkce atp.\left( \right)
.\vspace*{2cm}
vloží 2 cm vertikálního
místa. Obdobně \hspace*{2 cm}
pro horizontální.center
zarovnává věci na střed.\phantom{text}
vyvoří průhledný
text. Může se hodit na místech, kde je potřeba pro formátovací účely mít text, ale
nic by tam nemělo být vidět.flushright
.V tomto návodu jsem toho stihl popsat mnoho, nicméně jsem neměl místo popsat věci jako různé balíčky jako je memoir, varwidth nebo fancyhdr, ani jsem nemohl vysvětlit, jak si vytvořit svá vlastní makra, což pomůže, když pracujete na velkém projektu.
Soubor, ve kterém je shrnuto několik začátečnických funkcí $\LaTeX$u naleznete zde. Vypadá-li soubor divně, tak si změňte kódování prohlížeče, což např. v Chromu zajišťuje rozšíření Charset. Zkuste si jej zkompilovat a přesvědčte se, že již všemu opravdu rozumíte. Jestli ano, tak máte za sebou základy psaní v $\LaTeX$u a s pomocí internetu můžete dokázat téměř cokoliv!
Jiné tutoriály naleznete na Learn X in Y minutes (to je podobný texový soubor jako můj, jen rozsáhlejší) nebo na platformě pro psaní Cloudových texových dokumentů Overleaf.
Nejlépe však uděláte, pokud se v TeXu rovnou rozhodnete něco vytvořit. Třeba leták na oslavu, pravidla mariáše, aby se nikdo nehádal, plkát pro ztracenou kočku, možnosti jsou nekonečné. Já jsem například tvořil zpěvník. Když si s něčím nebudete vědět rady, pomůže vyhledání v DuckDuckGoGo a následně Stack Overflow nebo Detexify pro neznámé symboly.
Pomohl Vám článek o LaTeXu? Třeba Vám pomůže i moje návody na Gnuplot a na Asymptote nebo si můžete přečíst některý z mých článků např. o učení se cizích jazyků či diferenciálním počtu.