Obsah
Užitečné balíčky (Jak psát v LaTeXu podle Jidáše)
Jak už jistě při čtení tohoto textu víte, balíčky se v LaTeXu importují pomocí \usepackage[parametry,oddelene=carkou]{nazevbalicku} (případně totéž s makrem \RequirePackage, pokud vytváříte balíček/třídu). Proto tu budeme uvádět většinou pouze názvy balíčků a názvy jejich parametrů.
Tato stránka se snaží popsat praktické dopady balíčků (tj. to, co z nich většinou chceme použít, ne všechno co umí nebo jak to všechno dělají). Pro detailnější popis balíčku si přečtěte jeho dokumentaci na https://ctan.org/.
Pokud balíček obsahuje (na konci nebo na začátku) písmeno x, pak toto písmeno většinou znamená „extra“, tedy rozšířenou/lepší/novější/jinou verzi původního balíčku. Takže na x nezapomínejte (nebo ho nepište navíc).
TODO popsat význam TODO :P
Nutné
babel nebo polyglossia
Pokud píšete v češtině, tak nezpomeňte na \usepackage[czech]{babel}. TeX totiž defaultně sází anglicky, což znamená nejen Figure místo Obrázek, ale také anglickou typografii. Bohužel však způsobuje nějaké problémy (např. rozbíjí makro \cline{2-3}).
Jestliže používáte XeLaTeX nebo LuaLaTeX, pak použijte radši \usepackage{polyglossia}\setdefaultlanguage{czech} (polyglossia je modernější a mocnější).
fontenc
Pokud je cílem PDF (a ne pouze papír), použijte v češtině \usepackage[T1]{fontenc}, aby se text dal z PDF zkopírovat i s diakritikou. (Jinak dostanete ˇceˇstinu.)
graphicx
Základní balíček pro práci s obrázky. Obrázek pak vložíte pomocí \includegraphics[spousta nastavítek]{cesta_k_obrazku}. Nejčastější nastavítka jsou width=0.5\textwidth, height=5cm, ale umožňuje i třeba angle=90 a daleko větší zběsilosti (např. oříznutí obrázku).
Abyste nemuseli psát celou cestu k obrázku, existuje makro \graphicspath, např.: \graphicspath{{}{../images/}{images/}}.
geometry
Nastavení rozměrů a okrajů stránky. (Pro a5 funguje také a5paper jako parametr \documentclass, cokoliv složitějšího potřebuje geometry). Nastavení se dá předat jako parametry \usepackage, nebo pomocí makra \geometry{nastaveni}. Viz Nastavení stránky.
hyperref
Pokud je cílem PDF (a ne pouze papír), jistě chcete použít hyperref pro proklikávatelné odkazy (i přímo v dokumentu, např. v obsahu nebo u makra \label). Poskytuje makra \href{URL}{vysázený text} a \url{URL}. Silně se doporučuje ho načítat (\usepackage nebo RequirePackage) jako poslední (aby zapůsobil i na odkazy vyrobené různými balíčky).
amsmath
Všemožná matematika (i když i samotný TeX má docela dobrou podporu matematiky), viz Matematika v LaTeXu.
icomma
V angličtině se místo desetinné čárky používá desetinná tečka, tudíž se v TeXu v matematice za čárkou automaticky přidává mezera (dostaneme 3, 14 místo 3,14). Tomu lze zabránit buď přidáním složených závorek ({,}) nebo právě tímto balíčkem, kde bude po čárce mezera právě tehdy, když je za ní mezera v kódu (což má nějaké negativní důsledky, ale pro nás asi OK).
Hodí se
Zvětšování písma (když \Huge nestačí) překvapivě nepotřebuje balíček mělo by stačit {\fontsize{50}{60}\selectfont Velké}.
Balíčky pro různé fonty rozebírat nebudu, k tomu je tato stránka. Nicméně k běžnému textu doporučuji použít defaultní font, případně \usepackage{lmodern} (speciálně z tohoto komentáře na stackexchange prakticky vyplývá, že s .
\usepackage[T1]{fontenc} je to nutnost, ale vypadá to (z praktického testu), že tímto problémem už netrpíme, ale je možné, že jsem něco přehlédl)
multicol
Více sloupců textu vedle sebe. \begin{multicols*}{pocetsloupcu} text \end{multicols*} (bez hvězdičky bude každý stejně vysoké). Rozdělení mezi sloupce zařídí \columnbreak. Šířku čáry mezi sloupci lze nastavit pomocí \setlength{\columnsep}{1cm} (default je 0, tedy „neviditelná“).
float, placeins, subcaption, caption, wrapfig
Balíčky na práci s floaty (obrázky, tabulkami, kódem atd.), viz Floats.
- float: přidává umístění
H(opravdu zde); - placeins: umožňuje lépe ovládat, kam se mohou floaty posunout (hlavně makro
\FloatBarrier); parametrsectionprý vkládá\FloatBarrierautomaticky při\section(ale doporučuji spíše ruční vkládání) - subcaption: více částí jednoho floatu (např. Obrázek 3a, 3b, 3c)
- caption: popisek obrázku i bez floatu (speciálně na místech, kde floaty nefungují, nebo pokud umisťujete obrázky bez floatů); umožňuje upravit styl popisků
- wrapfig: takové to obtékání textu, co znáte z Wordu
TODO? (flafter a endfloat viz https://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions)
fancyhdr
Balíček pro tvorbu záhlaví a zápatí stránek. Viz Záhlaví, zápatí, čísla stránek.
xcolor (případně color)
Balíček pro psaní barevného textu. Můžete mu přidat libovolnou podmnožinu parametrů dvipsnames, svgnames, x11names, čímž zvýšíte počet barev, které zná. Základní použití je \textcolor{barva}{text}.
TODO definice vlastních barev, míchání a průhlednost.
S parametrem table pak umí vybarvovat políčka v tabulkách. TODO jak?
csquotes
Balíček pro sázení citací (doslovného převzetí textu, ne odkazů na zdroje, o to se stará biblatex, viz Citace). TODO syntaxe.
tabularx, array, booktabs, multirow, longtable
Balíčky pro různé tabulky. Více v návodu Tabulky.
- tabularx: pevný poměr šířky sloupců tabulky (+ pevná šířka tabulky)
- array: pevná šířka sloupců tabulky (nebo tabulky)
- booktabs: husté tabulky (prý), vhodné pro komplikované tabulky s hodně čarami
- multirow: slití buněk v rámci řádků (v rámci sloupců to umí LaTeX sám)
- longtable: tabulky přes více stránek
listings (+ lstautogobble)
Balíček na psaní počítačového kódu v LaTeXu (daleko rozsáhlejší a lepší než samotné \verb nebo \begin{verbatim}\end{verbatim}). Viz Ukázky počítačového kódu.
Doporučuji použít spolu s balíčkem lstautogobble a nastavením \lstset{autogobble=true}, čímž můžete stále svůj LaTeX odsazovat, ale ukázky kódu si nastaví odsazení automaticky podle aktuální hladiny.
amsmath revisited (aneb mathtools, amsthm, amssymb, mathabx, esint)
- mathtools: Další věci k matematice, viz Matematika v LaTeXu.
mathtoolsjsou rozšířeníamsmathaamsmathjako takový importují. Tudíž stačí jen\usepackage{mathtools}. - amsthm: Definování vlastních stylů vět, důkazů, tvrzení apod. Viz Matematika v LaTeXu.
- amssymb: Spousta matematických symbolů. Detexify vám řekne, na kdy ho potřebujete (ale doporučuji importovat rovnou).
- amsfonts: Automaticky načten při
\usepackage{amssymb}. Obsahuje např. makro\mathbb.
V rámci svého studia matematiky jsem potřeboval i divnější symboly:
- esint: Všemožné integrály (speciálně škrtlé
\fint). - mathabx: Všemožné další matematické symboly a akcenty (především
\bigtimesawidecheck).
gensymb (textcomp), wasysym
Další množství symbolů (Detexify vám řekne, pokud potřebujete některý z těchto balíčků). Před gensymb je silně doporučeno načíst balíček textcomp (který by měl být součástí LaTeXu, ale zjevně se mi to někde rozbilo, protože ho importuji explicitně s komentářem, že se mi to nelíbí, ale nefungovalo to).
gensymb poskytují mimo jiné \degree (stupně), \celsius (stupně Celsia), \perthousand (promile), \ohm (Ohm, jednotka odporu).
siunitx
Balíček pro správné sázení jednotek. TODO více (M&M z něj používá hlavně správné mikro \micro).
lipsum
Balíček pro Lorem ipsum. Poskytuje makro \lipsum, které vysází 7 odstavců, a má dva nepovinné parametry: rozsah odstavců (až do 150) a případně rozsah vět z vybraných odstavců. Tj. např. \lipsum[149-150][4-17] vypíše 4. větu z 149 odstavce až 2. větu ze 150 (jako jeden odstavec).
enumitem, setspace, titlesec, titletoc
Balíčky pro úpravu sázení předdefinovaných LaTeXovských funkcí:
- enumitem: asi nejdůležitější z nich, umožňuje velkou konfiguraci seznamů (odrážkových i číselných); speciálně TODO mezery v seznamech
- setspace: umožňuje jednoduše přenastavit řádkování; TODO syntaxe
- titlesec: umožňuje přenastavit vzhled nadpisů; TODO syntaxe (možná spolu s dalšími věcmi na nové stránce?)
- Další možností je sectsty
- titletoc: umožňuje přenastavit chování obsahu; TODO syntaxe –||–
biblatex
Balíček pro sázení citací (odkazů na zdroje). Viz Citace.
glossaries
Balíček pro vytváření seznamu použitých zkratek (a dost možná i pojmů). TODO syntaxe.
qrcode
Sice ne úplně rychlé, ale generování QR kódů přímo v LaTeXu. Syntax: \qrcode[height=5cm]{text k zakódování, nejčastěji URL} (parametr width není podporován, ale je to vždy čtverec )
ulem
Balíček pro podtrhávání, přeškrtávání a podobné dekorace textu. Vždy používejte parametr normalem, jinak budete zvýrazňovat (\emph) podtržením (fuj!).
marginnote
Umožňuje psát poznámky do okraje stránky (takové ty bubliny). TODO použití.
V M&M se využívá k vkládání „zvonečků“ k úlohám a problémům.
tikz
Kreslení obrázku přímo v LaTeXu. Použijte ke kreslení něco jiného, např. Asymptote, InkScape nebo GeoGebru 5, pls. (TODO případně nějaká basic syntaxe, protože pro triviální obrázky se může hodit)
pgfplots
Vykreslování grafů funkcí přímo v LaTeXu. Použijte Python + matplotlib.pyplot, GeoGebru 5 nebo nějaký tabulkový procesor, pls. (TODO případně nějaká basic syntaxe, to se může hodit).
Hodí se použít \pgfplotsset{compat=1.18}, abyste zapli všechny featury.
Další zběsilosti
hyperref (a url a xurl) revisited
TODO různá nastavení hyperrefu a zalamování odkazů (např. \PassOptionsToPackage{hyphens}{url} zalamuje i ve spojovnících (laicky pomlčkách); unicode=true by měl být default; breaklinks=true je možná také default; pdfauthor={Organizátoři M\&M}; linktocpage=true a podobné umí přenastavit, co v obsahu bude klikatelné; allbordercolors=Dandelion a podobné změní barvu rámečků v PDF viewerech; bookmarksopen=true zotevírá obsah a bookmarksopenlevel=1 pouze do úrovně \section).
bookmarks
Dává lepší přístup k vytváření obsahu v PDF (ne přímo na stránce, ale přidaného k PDF, např. Firefox nebo Adobe Acrobat ho zobrazují při otevření PDF). Speciálně se s bookmarks (a dalšími featurami LaTeXu) dá udělat custom část obsahu, jako jsou „Úlohy a problémy“ v M&M od čísla 31.1.
Zároveň je tou výjimkou z pravidla, že hyperref jde poslední, neboť bookmarks musí jít až po hyperref.
mdframed
Rámečková prostředí, jako v mých poznámkách z MFF UK. TODO syntaxe.
framed
TODO popis a použití.
V M&M se s ním vytváří čára na levém okraji stránky označující „citaci“ řešení.
silence
Umožňuje utišit varování (warning) a chyby (error) LaTeXu a balíčků. \WarningFilter{baliceknebolatex}{Začátek chybové hlášky}.
tipa
Balíček na sázení znaků IPA (International Phonetic Alphabet, mezinárodní fonetická abeceda). Vždy používejte parametr safe, jinak budete nepříjemně překvapeni, co tipa předefinuje za makra (např. \|, \:, \;, \!).
lettrine
Sází iniciálu.
shapepar
Sází odstavec do zadaného tvaru.
microtype
Zlepší typografii různými drobnostmi. Ale co vím, umí jen anglickou typografii (tj. v češtině nepoužívat).
