Ne příliš stručný úvod do systému L^{A}TEX 2ε

Neboli L^{A}TEX2e v 73 minutách

Tobias Oetiker

Hubert Partl, Irene Hyna a Elisabeth Schlegl Michal Kočer, Pavel Sýkora

Verze 2.2-Beta, 25 leden 1996

Verze překladu CZ-0.9-Beta, prosinec 1998 \underline{ii}

Tento dokument je ţpublic domain�. Může být tištěn a distribuován zdarma ve svém původním tvaru spolu se seznamem autorů. Je-li dokument měněn nebo je-li jeho část užita v jiném dokumentu, potom seznam autorů musí obsahovat jména všech původních autorů a také jména autorů, kteří provedli tyto změny. Je-li dokument užit komerčně platí zásady uvedené v GNU Public Licence.

Poděkování

Většina materiálu v této příručce užívá původního rakouského dokumentu Úvod do L^{A}TEXu 2.09, jehož autory jsou:

Hubert Partl <partl@mail.boku.ac.at> Zentraler Informatikdienst der Universität für Bodenkultur Wien

Irene Hyna <Irene.Hyna@bmwf.ac.at> Bundesministerium für Wissenschaft und Forschung Wien

Elisabeth Schlegl <no email> in Graz

Zajímá-li vás původní německy psaná verze, upravená Jörgem Knappenem pro L^{A}TEX 2ε, zkuste se podívat na libovolné zrcadlo archivu CTAN do adresáře CTAN: /tex-archive/info/lkurz. V České republice je archiv CTAN zrcadlen na server ftp://ftp.cstug.cz/tex/CTAN/

Během přípravy tohoto textu se autor anglické verze Tobias Oetiker dotazoval na comp.text.tex, a dostal mnohé odpovědi. Následující osoby pomohly s textem, jeho korekcemi a radami přispěli ke zkvalitnění tohoto textu. Autor anglické verze jim mnohokráte děkuje za cenné rady. Autor anglického textu se činí odpovědným za všechny chyby anglické verze a tvrdí, že veškerá slova, jež jsou zapsána správně, jsou jistě od lidí, kteří radili.

Rosemary Bailey, David Carlisle, Chris McCormack, David Dureisseix, Elliot, Robin Fairbairns, Alexandre Guimond, Cyril Goutte, Neil Hammond, Rasmus Borup Hansen, Martien Hulsen, Eric Jacoboni, Alan Jeffrey, Byron Jones, David Jones, Andrzej Kawalec, Christian Kern, Jörg Knappen, Maik Lehradt, Claus Malten, Hubert Partl, John Refling, Mike Ressler, Brian Ripley, Young U. Ryu, Chris Rowley, Craig Schlenter, a Josef Tkadlec.

Při překladu do češtiny bylo neustále přihlíženo k příručce L^{A}TEX Stručný popis Pavla Sýkory [10]. Tato příručka popisující starý L^{A}TEX 2.09 byla po dlouhou dobu jedinou volně šiřitelnou dokumentací k L^{A}TEXu v češtině; je dosud šířena spolu s instalací CSTEXu. Autor české verze by chtěl touto cestou poděkovat P.Sýkorovi za jeho užitečnou příručku. Nemalý dík patří korektorům T. Koubovi, T. Davídkovi, A. Štědrému a M. Kočerové. Další dík patří rozhodně CSTUGu, který umožnil užití krás TEXu v našem rodném jazyce. Především je třeba poděkovat propagátorům a tvůrcům československého TEXu P. Olšákovi, J. Wágnerovi, L. Lhotkovi, J. Chlebíkové a P. Sojkovi. Zvláštní dík patří Petru Olšákovi za knihu TEXbook naruby [13], která je překrásnou exkurzí do tajů vnitřností TEXu.

Předmluva

L^{A}TEX[1] je typografickým systémem, který je určen k sazbě vědeckých a matematických dokumentů vysoké typografické kvality. Systém je rovněž vhodný pro tvorbu všech možných druhů jiných dokumentů, od jednoduchých dopisů po složité knihy. Systém L^{A}TEX je postaven na typografickém formátovacím programu TEX[2] Donalda E. Knutha.

Tento stručný úvod popisuje L^{A}TEX 2ε a měl by čtenáři dostačovat pro většinu aplikací L^{A}TEXu. Úplný popis systému L^{A}TEX lze nalézt v knihách [1, 3].

L^{A}TEX lze užívat na širokém spektru platforem od IBM PC výše. Na většině universitních počítačových sítích, většinou na platformě operačního systému UNIX, bývá L^{A}TEX již předinstalován. Informace o tom, jakým způsobem užívat lokální instalaci L^{A}TEXu, by měli být v Local Guide [5]. Máte-li problémy začít, zeptejte se toho, kdo vám doporučil tuto brožurku, případně vašeho systémového administrátora. Mnohé otázky v češtině vám velice rádi zodpoví lidé v elektronické diskusní skupině CsTeX@cs.felk.cvut.cz. Účelem tohoto dokumentu není vysvětlovat proceduru instalace a nastavení systému. Tento úvod si však klade za cíl naučit čtenáře psaní dokumentů pomocí systému L^{A}TEX.

Příručka je rozdělena do čtyř kapitol:

Kapitola 1 popisuje základní strukturu dokumentu systému L^{A}TEX 2ε. Čtenář je stručně poučen o historii L^{A}TEXu. Po přečtení této kapitoly by měl mít čtenář hrubou představu o tom co je to L^{A}TEX. Tato představa bude pouze rámcová a bude rozšiřována a doplňována v dalších kapitolách.

Kapitola 2 popisuje detaily sazby dokumentů. Naučí čtenáře práci se základními příkazy a prostředími L^{A}TEXu. Po přečtení této kapitoly by měl být čtenář schopen sestavit svůj první dokument v L^{A}TEXu.

Kapitola 3 se zabývá sazbou matematických rovnic pomocí L^{A}TEXu. Mnohé příklady napomohou čtenáři porozumět jedné z nejmocnějších stránek L^{A}TEXu, sazbě matematických rovnic. Na konci této kapitoly jsou uvedeny tabulky se seznamem všech matematických symbolů užívaných v L^{A}TEXu.

Kapitola 4 rozšíří znalost některých méně užívaných, přesto užitečných, příkazů L^{A}TEXu. Mezi jinými se čtenář naučí vkládat do dokumentu grafiku ve formátu EPS (Encapsulated PostScript) a vytvářet rejstřík.

Považujeme za důležité číst kapitoly v uvedeném pořadí. Kniha není zas tak rozsáhlá, aby se nedala přečíst celá. Zvláštní pozornosti doporučujeme řešené příklady, jelikož velká část informace je obsažena právě v nich.

Pro ty čtenáře, kteří hledají další materiály o, a k L^{A}TEXu doporučujeme hledat v některém z ftp archivů CTAN. V U.S.A. je archiv na ctan.tug.org, v Německu na ftp.dante.de, ve Spojeném Království je na ftp.tex.ac.uk a v České republice na ftp.cstug.cz.

Veškeré nápady, rady, rozšíření a připomínky k tomuto textu jsou netrpělivě očekávány na adresách autorů i překladatele. Specielně autory zajímá zpětná vazba od nováčků L^{A}TEXu, zvláště co se jim zdá býti vysvětleno málo jasně a které části by bylo dobré rozšířit.

Tobias Oetiker <oetiker@ee.ethz.ch>

Department of Electrical Engineering, Swiss Federal Institute of Technology

Michal Kočer <kocer@ipex.cz>

Obsah

Poděkování iii

Předmluva v

1 Co je dobré vědět 1

1.1 The Name of the Game . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 L^{A}TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Základy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.1 Autor, typograf a sazeč . . . . . . . . . . . . . . . . . . . . . 2 1.2.2 Úprava textu . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.3 Výhody a nevýhody . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Vstupní soubory L^{A}TEXu . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3.1 Mezery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3.2 Speciální znaky . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3.3 Příkazy L^{A}TEXu . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.4 Komentáře ve vstupním souboru . . . . . . . . . . . . . . . . 6

1.4 Struktura vstupního souboru . . . . . . . . . . . . . . . . . . . . . . 6 1.5 Struktura dokumentu . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.5.1 Třídy dokumentů (Document Classes) . . . . . . . . . . . . . 7 1.5.2 Balíky maker . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.5.3 Styly stránek . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.6 Rozsáhlé projekty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Sázení textu 13

2.1 Řádkový a stránkový zlom . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.1 Zarovnání odstavců . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.2 Dělění slov . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2 Speciální znaky a symboly . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.1 Uvozovky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.2 Pomlčky a podobné znaky . . . . . . . . . . . . . . . . . . . . 15 2.2.3 Výpustky, elipsy ( …) . . . . . . . . . . . . . . . . . . . . . . 16 2.2.4 Slitky a podřezávání (kerning) . . . . . . . . . . . . . . . . . 16 2.2.5 Akcenty a speciální znaky . . . . . . . . . . . . . . . . . . . . 17

2.3 Mezislovní mezery . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4 Sazba českých textů . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.1 Dělení slov . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.2 Písmena s akcenty . . . . . . . . . . . . . . . . . . . . . . . . 19

viii  OBSAH

2.4.3 Uvozovky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.4 Nadpisy a data . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.5 Nadpisy, kapitoly a jejich dělení . . . . . . . . . . . . . . . . . . . . . 20 2.6 Křížové odkazy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.7 Poznámky pod čarou . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.8 Zvýraznění slov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.9 Prostředí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.9.1 Výčty (itemize, enumerate a description) . . . . . . . . . . . 23 2.9.2 Sazba na praporek a centrování . . . . . . . . . . . . . . . . . 23 2.9.3 Citace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.9.4 Přímý výstup . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.9.5 Tabular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.10 Plovoucí objekty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.11 Přidání nových příkazů a prostředí . . . . . . . . . . . . . . . . . . . 30

2.11.1 Nové příkazy . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.11.2 Nové prostředí . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Sázení matematických vzorců 33 3.1 Obecný úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2 Tvorba skupin v matematickém režimu . . . . . . . . . . . . . . . . . 35 3.3 Objekty matematických vzorců . . . . . . . . . . . . . . . . . . . . . 35 3.4 Mezery v matematice . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.5 Sazba na více řádků . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.6 Velikost písma při sazbě matematiky . . . . . . . . . . . . . . . . . . 41 3.7 Popis proměnných . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.8 Věty, zákony, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.9 Tučné symboly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.10 Seznam matematických symbolů . . . . . . . . . . . . . . . . . . . . 46

4 Speciality 53 4.1 Druhy a velikosti písma . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2 Mezery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4.2.1 Mezery mezi řádky . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.2 Formátování odstavce . . . . . . . . . . . . . . . . . . . . . . 56 4.2.3 Horizontální mezery . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.4 Vertikální mezery . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.3 Vzhled stránky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4 Sazba seznamu použité literatury . . . . . . . . . . . . . . . . . . . . 59 4.5 Tvorba rejstříku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.6 Vkládání obrázků ve formátu EPS . . . . . . . . . . . . . . . . . . . 62

Seznam obrázků

1.1 Minimální soubor L^{A}TEXu . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Příklad odborného článku . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1 Parametry ovlivňující vzhled stránky . . . . . . . . . . . . . . . . . . 60

Seznam tabulek

1.1 Třídy dokumentů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Nepovinné paramtry tříd dokumentů . . . . . . . . . . . . . . . . . . 9 1.3 Balíky distribuované spolu s L^{A}TEXem . . . . . . . . . . . . . . . . . 10 1.4 Předdefinované styly L^{A}TEXu . . . . . . . . . . . . . . . . . . . . . . . 11

2.1 Akcenty a zvláštní znaky . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Znaky povolení umístění . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1 Matematické akcenty . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.2 Malá řecká písmena . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.3 Velká řecká písmena . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4 Binární relace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.5 Binární operátory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.6 Velké operátory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.7 Šipky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.8 Závorky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.9 Velké závorky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.10 Různé symboly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.11 Nematematické symboly . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.12 AMS — závorky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.13 AMS — řecké a hebrejské znaky . . . . . . . . . . . . . . . . . . . . 49 3.14 AMS — binární relace . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.15 AMS — šipky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.16 AMS — negované binární relace a šipky . . . . . . . . . . . . . . . . 51 3.17 AMS — binární operátory . . . . . . . . . . . . . . . . . . . . . . . . 51 3.18 AMS — různé symboly . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.19 Matematická abeceda . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.1 Druhy písma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2 Velikosti písma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.3 Matematická písma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.4 Jednotky délky užívané v TEXu . . . . . . . . . . . . . . . . . . . . . 58 4.5 Zvláštní vertikální mezery . . . . . . . . . . . . . . . . . . . . . . . . 58 4.6 Příklady položek vkládaných do rejstříku . . . . . . . . . . . . . . . 62 4.7 Názvy klíčů pro balík graphicx . . . . . . . . . . . . . . . . . . . . . . 63

Kapitola 1

Co je dobré vědět

V první části této kapitoly je čtenáři předložen stručný přehled filosofie a historie systému L^{A}TEX 2ε. Druhá část kapitoly se zaměřuje na základní strukturu L^{A}TEXovského dokumentu. Po přečtení této kapitoly by měl čtenář získat přehled o tom jak L^{A}TEX funguje. Při dalším čtení to umožní čtenáři napojovat všechny nově získané informace do širšího kontextu.

1.1 The Name of the Game

1.1.1 TEX

TEX je počítačový program vytvořený profesorem Donaldem E. Knuthem [2]. Je určen pro sazbu textu a matematických rovnic, při zachování vysoké typografické úrovně výsledného dokumentu.

TEX vyslovujeme ţtech�; ţX� pochází z řeckého χ, proto jej vyslovujeme jako ţch�. Logo TEX přepisujeme do ASCII jako TeX.

1.1.2 L^{A}TEX

L^{A}TEX je balík maker, který umožňuje autorům sázet a tisknout jejich díla v nejvyšší možné typografické kvalitě, přičemž autor používá profesionály předdefinovaných vzhledů dokumentů. L^{A}TEX byl původně napsán Leslie Lamportem [1]. L^{A}TEX užívá programu TEX jako sázecího stroje.

V současné době je L^{A}TEX rozšiřován týmem L^{A}TEX3, vedeným Frankem Mittelbachem. Tento tým se znaží sjednotit všechny rozšiřující verze L^{A}TEXu, které postupně vznikaly od vzniku L^{A}TEXu 2.09. Aby byla nějakým způsobem odlišena stará verze od nové, tak byla označena L^{A}TEX 2ε. Tento dokument se zaobírá verzí L^{A}TEX 2ε.

Slovo L^{A}TEX se vyslovuje ţlej-tech� nebo ţla-tech.� Při odkazech na L^{A}TEX v prostředí ASCII se L^{A}TEX přepisuje jako LaTeX. L^{A}TEX 2ε se vyslovuje ţlejtech tů í� a zapisuje se jako LaTeX2e.

1.2 Základy

1.2.1 Autor, typograf a sazeč

Pro publikaci předává autor nakladateli obvykle rukopis psaný na stroji. Typograf nakladatelství pak rozhodne o úpravě písemnosti (délka řádku, druh písma, odstupy před a za kapitolou atd.) a napíše sazeči k tomu nezbytné příkazy a sazeč podle těchto příkazů tiskovinu vysází.

V našem případě přebírá roli typografa L^{A}TEX a TEX přebírá úlohu sazeče.

Typograf-člověk pozná úmysly autora (např. nadpisy kapitol, citace, příklady, vzorce, …) z obsahu rukopisu hlavně na základě svých odborných znalostí. L^{A}TEX naproti tomu je ţjen� program, proto zde potřebuje doplňkové informace autora, které udávají logickou strukturu textu. Tyto informace se zadávají ve formě tzv. ţpříkazů� v textu.

V protikladu k tomu stojí příprava písemností pomocí programů pro zpracování textu jako je např. Word for Windows, WordPerfect nebo Text602. V tomto případě autor určuje úpravu textu interaktivně. Přitom vidí na obrazovce (údajně) přesně to, co bude vytištěno na stránce. Takové systémy, které podporují optický návrh, se nazývají WYSIWIG^{1}.

Při práci s L^{A}TEXem autor při psaní vstupního souboru obvykle nevidí jak text bude po formátování vypadat. Výsledek však lze po zpracování L^{A}TEXem prohlížet na obrazovce grafického terminálu případně vytisknout. A podle tohoto výstupu může svůj vstupní soubor patřičně upravit a pokračovat v práci.

1.2.2 Úprava textu

Typografický návrh je ruční práce, které se musí člověk naučit. Necvičení autoři dělají často vážné chyby formátování. Mnoho laiků se nesprávně domnívá, že tento návrh je především otázka estetiky — když dokument vypadá dobře z umělecké stránky, je dobře navržen. Poněvadž ale dokumenty nebudou pověšeny v muzeu, nýbrž je lidé budou číst, je snadná čitelnost a dobrá srozumitelnost důležitější než umělecký vzhled.

Například bychom měli zvolit takovou výška písma a číslování nadpisů, aby byla zřetelná struktura kapitol a podkapitol. Délky řádků bychom měli zvolit takové, aby nedocházelo k namáhavým pohybům očí čtenáře, nikoliv takové, aby byl papír co nejkrásněji zaplněn.

Pomocí interaktivních WYSIWYG systémů autoři obvykle snadno tvoří z estetického hlediska hezké dokumenty ale často velice špatně strukturované. L^{A}TEX takovým chybám formátování zabraňuje, neboť je v něm autor nucen zadat logickou strukturu textu a pak pro něj použít nejvhodnější formát.

1z angl. what you see is (all) what you get

\underline{1.2 Základy 3}

1.2.3 Výhody a nevýhody

Častým tématem vášnivých diskusí milovníků WYSIWYG systému a milovníků L^{A}TEXu jsou výhody případně nevýhody L^{A}TEXu oproti normálním textovým procesorům. Nejlepší věc, kterou lze udělat, když taková diskuse začíná, je držet se zpět, jelikož se taková diskuse velice často vymkne člověku z rukou. Avšak jsou chvíle, kdy se nedá nikam utéct…

Oproti ostatním textovým procesorům se L^{A}TEX vyznačuje následujícími výhodami:

• Je k dispozici několik profesionálně vytvořených formátů, se kterými dokumenty vypadají ţjako profesionálně vytištěné�.

• Zvlášť dobře je podporována sazba matematických vzorců.

• Uživatel musí zadávat jen několik lehce srozumitelných příkazů, které se týkají logické struktury dokumentu, a (téměř) nepotřebuje zabývat se technickými detaily tisku.

• Bez velké námahy mohou být vytvořeny také složité struktury jako poznámky pod čarou, seznamy literatury, obsahy, tabulky atd. stejně jako odkazy na stránku, čísla kapitol tabulek, obrázků, rovnic atd.

• Pro mnoho typografických funkcí, které nejsou přímo podporovovány základním L^{A}TEXem exitují snadno připojitelné nadstavby, tzv. balíky maker. Například lze používat balík umožňující práci z grafickým formátem ve formě PostScriptu či balík pro sazbu bibliografie splňující přesně daný standard. Většina podobných balíků je popsána v The L^{A}TEX Companion [3].

• TEX, základní program pro práci L^{A}TEXu, je přenositelný na všechny užívané operační systémy^{2}, proto jej lze používat na libovolném hardware, a navíc TEX i L^{A}TEX jsou i přes své vysoké kvality zdarma.

L^{A}TEX má i své nevýhody:

• Dokonalejší algoritmy pro formátování kladou větší nároky na čas zpracování a paměť než u jednodušších programů pro zpracování textu. Kompletní instalace zabírá poměrně mnoho diskového prostoru. Avšak vzhledem k tomu, že v současné době se objevují textové procesory Word for Windows 6.0 užívající daleko více diskové kapacity než běžný L^{A}TEX, není tento zápor nutné brát v úvahu. Pokud se týče využití procesoru (CPU) L^{A}TEX poráží každý WYSIWYG systém, jelikož potřebuje procesor pouze v okamžiku zpracovávání zdrojového textu, zatímco WYSIWYG spotřebovává čas procesoru po celou dobu své činnosti.

2TEX lze provozovat dokonce i na systémech takového typu jeko je MS-DOS či MS-Windows

• Výstup textu je možný pouze na grafických zařízeních (laserové, inkoustové nebo jehličkové tiskárny, grafické obrazovky), nikoliv na levných znakově orientovaných rychlotiskárnách.

• Ačkoli lze v předem připravených dokumentních stylech snadno přizpůsobit jednotlivé parametry, zásadní změny předem stanovených formátů vyžadují větší námahu (návrh nového dokumentního stylu).^{3}

1.3 Vstupní soubory L^{A}TEXu

Vstupním souborem L^{A}TEXu je čistý textový ASCII soubor, vytvořený libovolným textovým editorem. Tento soubor obsahuje kromě vlastního textu, který má být vytištěn, i ţpříkazy�, které napoví L^{A}TEXu, jak má text vysázet.

1.3.1 Mezery

ţNeviditelné� znaky jako mezera (blank), tabulátor či konec řádku (carriage return) jsou zpracovány L^{A}TEXem jako mezera. Několik po sobě následujících neviditelných znaků, mezer, je zpracováno jako jedna mezera. Neviditelné znaky na počátku řádky jsou L^{A}TEXem ignorovány.

Prázdný řádek mezi textovými řádky označuje konec odstavce. Několik prázdných řádků je zpracováno jako jeden prázdný řádek.

Následuje příklad. Napravo je text vstupního textového souboru a nalevo je L^{A}TEXem formátovaný výstup.

Je naprosto jedno, zda vložíme jednu či několik mezer mezi slovy. Prazdný řádek uvozuje nový odstavec.

Je  naprosto  jedno,  zda

vložíme jednu či několik mezer mezi slovy.

Prazdný  řádek  uvozuje

nový odstavec.

1.3.2 Speciální znaky

Následující symboly jsou rezervované znaky, které mají v L^{A}TEXu zvláštní význam nebo je nelze použít ve všech druzích písma. Napíšete-li některý z nich přímo do vstupního souboru, obvykle se na výstupu neobjeví, ale pravděpodobně donutí L^{A}TEX dělat něco co jste vůbec nechtěli.

$ & % # ˙ – ˝  ˜  ˆ “

3Říká se, že právě tento problém má vyřešit vznikající systém L^{A}TEX3

Následující znaky mohou být vytištěny zadáním dvojice znaků ţobrácené lomítko�^{4} (“) a požadovaného znaku:

$ & % # { }  “$ “& “% “# “˙ “– “˝

Zbývající symboly a ještě mnoho dalších znaků lze vytisknout speciálními příkazy jako akcenty (diakritická znaménka) nebo v matematických vzorcích^{5}.

1.3.3 Příkazy L^{A}TEXu

V příkazech L^{A}TEXu se rozlišují malá a velká písmena (case sensitivity) a většinou mají následující formát:

• Začínají znakem zpětné lomítko “ následovaným jménem příkazu složeným pouze z písmen. Jméno příkazu pak končí mezerou nebo prvním znakem, jež není písmenem, například číslicí či jiným nealfanumerickým znakem.

• Zkládají se ze znaku zpětné lomítko následovaným právě jedním zvláštním znakem

L^{A}TEX ignoruje veškeré neviditelné znaky, např. mezery, za příkazy. Chceteli získat za příkazem mezeru je třeba příkaz ukončit buď znaky –˝ následovanými mezerou, nebo specielním příkazem pro vložení mezery následujícím za jménem příkazu.

Donald Knuth píše, že lidé pracující s programem TEX se dělí na TEXniky a TEXperty.

Dnes je 7. března 1997. Nebo: Dnes je 7. března 1997. Špatně: Dne 7. března 1997prší. Správně: Dne 7. března 1997 sněží. Nebo: Dne 7. března 1997 neprší.

Donald Knuth píše, že lidé pracující s programem “TeX–˝ se dělí na “TeX–˝ niky a “TeX perty.““

Dnes je “today.

Nebo: Dnes je “today .

Špatně: Dne “today prší.

Správně: Dne “today–˝ sněží.

Nebo: Dne “today“ neprší.

Některé příkazy vyžadují ke své činnosti ještě parametr, jež se uzavírají do složených závorek – ˝ těsně za jménem příkazu. Některé příkazy umožňují navíc zadávat nepovinné parametry, které se zadávají za jménem příkazu do hranatých závorek [ ]. Následující příklad ukazuje užití několika příkazů L^{A}TEXu. Význam těchto příkazů bude vysvětlen později.

4angl. backslash

5V L^{A}TEXu existuje také prostředí verbatim, ve kterém se všechny znaky včetně vícenásobných mezer opisují do výstupního textu.

Můžete se o mě opřít!  Můžete se o mě “textit–opřít˝ !

Prosím,  začněte  no-

vou řádku tady a hned! Děkuji!

Prosím, začněte novou řádku tady a hned!“linebreak[4] Děkuji!

1.3.4 Komentáře ve vstupním souboru

Narazí-li L^{A}TEX ve vstupním souboru na znak % vše co stojí za tímto znakem je až do konce řádku ignorováno. To se autorům hodí pro vkládání komentářů, jež nemají být součástí výstupu, do vstupních souborů.

To je příklad.

To je % hloupý % Lépe: poučný ¡---- příklad.

1.4 Struktura vstupního souboru

Když L^{A}TEX 2ε zpracovává vstupní soubor očekává, že tento soubor bude mít pevně danou structuru. Proto každý vstupní soubor musí začínat příkazem

“documentclass–...˝

Tímto příkazem autor specifikuje, jakého druhu bude vytvářený dokument. Za tímto příkazem mohou následovat příkazy, které mají vliv na vzhled celého dokumentu, případně lze načíst balík maker příkazem:

“usepackage–...˝

Balíky maker lze rozšířit chování L^{A}TEXu o nové funkce, vlastnosti a příkazy. Je-li vše potřebné nastaveno^{6} lze příkazem

“begin–document˝

označit začátek vlastního těla dokumentu.

Tělo dokumentu obsahuje vlastní text dokumentu promýchaný s příkazy L^{A}TEXu. Tělo dokumentu se ukončí příkazem

“end–document˝ Tím je L^{A}TEXu řečeno, že je to vše co jsme po něm chtěli. Vše co následuje za tímto příkazem je proto L^{A}TEXem ignorováno.

6Oblast mezi “documentclass a “begin{document} je označována preambule

Obrázek 1.1 ukazuje minimální vstupní soubor pro L^{A}TEX 2ε. Poněkud složitější vstupní soubor je uveden na obrázku 1.2.

1.5 Struktura dokumentu

1.5.1 Třídy dokumentů (Document Classes)

První informací, kterou L^{A}TEX potřebuje vědět při zpracovávání vstupního souboru je informace o typu dokumentu, který autor hodlá vytvářet. Tuto informaci autor předá L^{A}TEXu právě příkazem “documentclass.

“documentclass[options]–class˝

Kde class vyznačuje typ (třídu) vytvářeného dokumentu. V tabulce 1.1 je uveden přehled tříd dokumentu. Distribuce systému L^{A}TEX 2ε zavádí další

“documentclass–article˝ “begin–document˝ Co je malé, to je hezké. “end–document˝

Obrázek 1.1: Minimální soubor L^{A}TEXu

“documentclass[a4paper,11pt]–article˝ “usepackage–czech˝ “usepackage–latexsym˝ “author–A.˜ Utor˝ “title–Krátce˝ “frenchspacing “begin–document˝ “maketitle “tableofcontents “section–Úvod˝ Tady začíná můj skvělý článeček“ldots–˝ “section–Závěr˝ “ldots–˝ a tady je úplný konec. “end–document˝

Obrázek 1.2: Příklad odborného článku rozšíření tříd dokumentu o dokumenty dopisů (letter) a blán (slides). Nepovinný parametr option blíže určuje vlastnosti třídy dokumentu. Lze dokonce užít několika nepovinných parametrů najendou s tím, že je oddělíme čárkou. V tabulce 1.2 jsou uvedeny nejužívanější volitelné parametry pro standardní třídy dokumentů.

Příklad: Vstupní soubor pro L^{A}TEX může začít, například, takovouto řádkou:

“documentclass[11pt,twoside,a4paper]–article˝

Tím se L^{A}TEX dozví, že bude sázet článek (article) o základní velikosti písma jedenáct bodů (11pt) a bude formátovat výstup tak, aby byl vhodný pro oboustranný (double sided) tisk na stránku o velikosti a4.

1.5.2 Balíky maker

Při psaní dokumentu se někdy stane, že základní prostředky L^{A}TEXu neumožní vyřešit nějaký problém. Je-li třeba do dokumentu vložit grafiku, barevný text nebo zdrojový text nějakého programu je potřeba nějakým způsobem rozšířit schopnosti L^{A}TEXu. Taková rozšíření se nazývají balíky maker (packages). Balík maker se aktivuje užitím příkazu

“usepackage[options]–package˝

Kde package je jméno balíku maker a options je seznam klíčových slov, které zjemňují, upřesňují či spouštějí některé specielní rysy balíku maker. Některé balíky maker jsou nedílnou součástí každé distribuce systému L^{A}TEX 2ε (viz tabulku 1.3). Mnohé balíky jsou však distribuovány samostatně. Více informací o naistalovaných balících maker se lze dočíst v lokálním průvodci instalací Local Guide [5]. Hlavním zdrojem informací o L^{A}TEXu je The L^{A}TEX

Tabulka 1.1: Třídy dokumentů

article pro odborné články, prezentace, krátké zprávy, dokumetaci k pagramům, pozvánky, …

report pro delší zprávy obsahující několik kapitol, menší knihy, diplomové práce, …

book pro skutečné knihy

slide pro blány (slides). Tato třída užívá velkého bezpatkového písma, jež je pro zpětnou projekci nejvhodnější.

Tabulka 1.2: Nepovinné paramtry tříd dokumentů

10pt, 11pt, 12pt Nastavuje velikost hlavního písma dokumentu. Není-li tato volba explicitně uvedena použije se pro základní písmo velikost 10pt.

a4paper, letterpaper, … Nastavuje velikost stránky, na níž je provedena sazba výsledného dokumentu. Základní velikost je letterpaper. Mimo to lze užít a5paper, b5paper, executivepaper, a legalpaper.

fleqn Matematické rovnice se budou zarovnávat vlevo namísto do středu.

leqno Čísla rovnic se nebudou sázet vpravo, ale vlevo na stránku.

titlepage, notitlepage Určuje zda se bude sázet samostatná titulní strana či nikoli. Třída article neužívá samostatnou titulní stranu zatímco třídy report a book tak činí.

twocolumn L^{A}TEX bude sázet dokument do dvou sloupců. .

twoside, oneside Určuje zda má být generován jedno- či oboustranný výstup. Třídy article a report normálně užívají jednostranné a třída book oboustranné sazby. Jednostranná sazba od oboustranné se liší rozdílnou velikostí okraje pravé a levé strany pro vazbu případně umístěním čísla stránky.

openright, openany Specifikuje zda má nová kapitola začít vždy na nové pravé stránce či není-li to nutné. Tato volba nespolupracuje s třídou article, jelikož tato třída nerozpoznává pojem kapitola (chapter). Třída report normálně začíná novou kapitolu na další volné stránce (je jedno zda pravé či levé) a třída book začíná sázet novou kapitolu na nejbližší pravé stránce.

Companion [3]. Tato kniha obsahuje spolu s popisem více než stovky balíků maker i popis toho jakým způsobem tvořit vlastní rozšíření L^{A}TEX 2ε.

Tabulka 1.3: Balíky distribuované spolu s L^{A}TEXem

doc Umožňuje přehledné dokumentování L^{A}TEXovských maker, programů. Balík je popsán v doc.dtx^{a} a v The L^{A}TEX Companion [3].

exscale Umožňuje zvětšovatelné verze matematických fontů. Popsán v ltexscale.dtx.

fontenc Specifikuje jaké kódování fontů má L^{A}TEX užít. Popsán v ltoutenc.dtx.

ifthen Umožňuje příkazy typu ve formě ‘if… then do… otherwise do. …’ Popsán v ifthen.dtx a The L^{A}TEX Companion [3].

latexsym Ke spřístupnění fontů symbolů L^{A}TEXu. Popsán v latexsym.dtx a v The L^{A}TEX Companion [3].

makeidx Umožňuje pomocí rozšířených příkazů jednoduše vytvářet restříky. Popsán v oddíle 4.5 a v The L^{A}TEX Companion [3].

syntonly Umožňuje zpracovat dokument bez vysázení. Popsán v syntonly.dtx a v The L^{A}TEX Companion [3]. Tento styl se hodí pro rychlou kontrolu chyb.

inputenc Umožňuje specifikovat kódování vstupu jako ASCII, ISO Latin-1, ISO Latin-2, 437/850 IBM code pages, Apple Macintosh, Next, ANSI-Windows či uživatelem definované. Popsán v inputenc.dtx.

aTento soubor my měl být instalován spolu s vaším systémem. Dokumentaci ve formě souboru dvi získáte jednoduše ţpřeložením� L^{A}TEXem, obvykle příkazem systému latex doc.dtx. To samé platí i pro další balíky v této tabulce.

1.5.3 Styly stránek

L^{A}TEX nabízí tři předdefinované kombinace záhlaví/paty stránek — tzv. stránkové styly. Parametr style příkazu

“pagestyle–style˝

definuje, který ze stránkových stylů se užije. Tabulka 1.4 dává přehled o předdefinovaných stylech stránek.

Tabulka 1.4: Předdefinované styly L^{A}TEXu

plain tiskne čísla stránek na spodním okraji stránky ve středu paty stránky. Toto je základní stánkový styl.

headings tiskne jméno aktuální kapitoly a číslo stránky v záhlaví každé stránky a pata stránky zůstává prázdná. (To je style stránky použitý v tomto dokumentu)

empty nastavuje prázdné záhlaví i patu stánky.

Změnu stylu aktuální stránky lze provést příkazem

“thispagestyle–style˝

V The L^{A}TEX Companion [3] je uveden popis toho jak lze tvořit vlastní vzhled stránky.

1.6 Rozsáhlé projekty

Pracujete-li na rozsáhlém dokumentu, je dobré rozdělit vstupní soubor na několik částí. L^{A}TEX poskytuje dva příkazy, které autorům pomáhají v tomto případě.

“include–filename˝

tento příkaz se užije v těle dokumentu, v místě kam chceme vložit obsah jiného souboru. Je třeba podotknout, že L^{A}TEX začne novou stránku před tím než začne spracovávat vstupní soubor filename.

Druhý příkaz se užívá v preambuli dokumentu. Umožňuje autorovi nařídit L^{A}TEXu vložit pouze některé ze souborů vkládaných příkazem “include.

“includeonly–filename,filename,… ˝

Poté co se provede v preambuli dokumentu tento příkaz jsou dále provedeny příkazy “include pouze pro jména souborů (filename), která jsou uvedena v argumentu příkazu “includeonly. Je třeba si dát pozor na to, že mezi čárkou a jménem souboru nesmí být mezera.

Po provedení příkazu “include se vkládaný text začne sázet na nové stránce. To je užitečné, když se užije příkaz “includeonly, jelikož stránkové zlomy se nepřesouvají ani, když se některé vkládané soubory přeskočí. Avšak někdy tato vlastnost není příjemná. V takovém případě lze užít příkazu

“input–filename˝

Tento příkaz jednoduše vloží soubor filename do hlavního vstupního souboru.

Sázení textu

Předchozí kapitola seznámila čtenáře se základními pojmy tvorby dokumentu v L^{A}TEXu. Tato kapitola slouží k prohloubení těchto znalostí a v něterých směrech je rozvíjí tak, aby byl čtenář schopen sázet dokumenty použitelné k běžné práci.

2.1 Řádkový a stránkový zlom

2.1.1 Zarovnání odstavců

Většina knih je sázena tak, že všechny řádky mají stejnou délku. L^{A}TEX sám vkládá potřebné řádkové zlomy a mezery mezi slova a optimalizuje naráz vzhled celého odstavce. V případech, kdy nemůže vhodně vložit řádkové zlomy mezi slova, začne automaticky podle předepsaných pravidel slova dělit. To jak bude nakonec vysázený odstavec vypadat záleží i na třídě sázeného dokumentu, tj. na parametru příkazu “documentclass. V běžných případech je první řádek odstavce odsazen a mezi jednotlivými odstavci není vynechané místo; viz též oddíl 4.2.2.

Ve výjimečných případech je však třeba L^{A}TEXu řádkový zlom nařídit příkazem

““ či “newline

nařídí vložení řádkového zlomu bez toho, aby začal nový odstavec.

““*

navíc zakáže stránkový zlom po tomto řádkovém zlomu.

“newpage

nařídí v daném místě dokumentu stránkový zlom.

“linebreak[n], “nolinebreak[n], “pagebreak[n] and “nopagebreak[n]

dělají přesně to co říkají jejich anglická jména. Dávají autorům do ruky možnost ovlivňovat svoji činnost pomocí nepovinného parametru n. Tento parametr může nabývat hodnot nula až čtyři. Nastaví-li se n na hodnotu nižší než 4 nemusí L^{A}TEX žádanou akci provést, kdyby výsledek sazby nebyl hezký.

L^{A}TEX vždy zkouší provádět řádkové zlomy v co nejvhodnějším místě. Nelze-li nalézt vhodné místo pro zlom řádky způsobem, který by splňoval poměrně vysoké nároky na řádkové zlomy, ponechá se jeden řádek přečnívat vpravo z odstavce a L^{A}TEX vypíše chybové hlášení (ţoverfull hbox�). To se stává zejména tehdy, když L^{A}TEX nemůže nalézt vhodné místo pro rozdělení některého slova. Zadáním příkazu “sloppy lze L^{A}TEXu nařídit, aby snížil nároky na kvalitu sazby. L^{A}TEX poté řeší tento problém tak, že vkládá větší mezery mezi slovy i v případě, že konečný výstup není optimální. V případě, že TEX není spokojen se sazbou, uvědomí uživatele upozorněním (ţunderfull hbox�). V mnoha případech však výsledek nevypadá úplně nejhůře. Příkaz “fussy pracuje zcela opačně, užívá se v případě, kdy chceme, aby si L^{A}TEX stěžoval úplně na vše.

2.1.2 Dělění slov

V případě potřeby L^{A}TEX automaticky dělí slova. Pokud jednotlivé výsledky automatického dělení slov nejsou správné, můžete tyto ţvýjimky� napravit níže uvedenými příkazy^{1}.

Příkaz

“hyphenation–word list˝

vymezuje slova, která lze dělit pouze v místech označených ţ-�. Tento příkaz je třeba užít v preambuli vstupního souboru a může obsahovat slova složená pouze z písmen, přičemž se ignoruje jejich velikost. V níže uvedeném příkladu je dovoleno dělení slova ţrozdělení� stejným způsobem jako slova ţRozdělení� a zakázáno dělení nejen slova ţFORTRAN�, ale i ţFortran� či ţfortran�. V argumentu příkazu nelze užívat speciální znaky a symboly.

Příklad:

“hyphenation–FORTRAN Roz-dě-le-ní˝

Příkaz “- umožňuje označit místo pro rozdělení slova. Takto označené místo se pro dané slovo stane jediným možným místem pro rozdělení. Tento způsob je vhodný především pro slova, která obsahují speciální znaky, jelikož L^{A}TEX taková slova automaticky nedělí.

1Obzvláště to může být nutné při použití cizojazyčných slov nebo např. u složených slov v němčině.

Jedno z nejdelších slov je: nejneobhospodařovatelnějšími Jedno z˜ nejdelších slov je: nej“-% ne“-ob“-hos“-po“-da“-řo“-va“-% tel“-něj“-ší“-mi

Několik slov lze udržet pospolu na stejné lince příkazem

“mbox–text˝

Příkaz zajistí, že jeho argumenty budou za všech okolností považovány L^{A}TEXem za jedno nedělitelné slovo.

Mé telefonní číslo se brzy změní na +420 38 570 91 Parametr filename určuje jméno souboru.

Mé telefonní číslo se brzy změní na “mbox–+420 38 570 91˝

Parametr

“mbox–“emph–filename˝ ˝ určuje jméno souboru.

2.2 Speciální znaky a symboly

2.2.1 Uvozovky

Píšete-li text na psacím stroji, můžete jako uvozovky použít pouze znak ţuvozovky nahoře� (”). V knihtisku se však otevírací a uzavírací uvozovky sázejí různými znaky. Navíc jsou otevírací i uzavírací uvozovky v anglickém textu odlišné od příslušných uvozovek v textu českém, slovenském, německém apod. Ve vstupním souboru s anglickým textem se otevírací uvozovky zadávají jako dva znaky ţobrácený apostrof� (‘), uzavírací jako dva znaky ţapostrof� (’). Zapamatujte si, že uvozovky v textu se nikdy nezadávají pomocí klávesy ”. Při úpravách textů původně určených pro jiný sázecí systém nebo textový procesor nezapomeňte takto zadané uvozovky opravit. Špatně zadané uvozovky nevypadají v hotovém dokumentu vůbec dobře.

“Please press the ‘x’ key.”  ‘‘Please press the ‘x’ key.’’

Uvozovky v češtině, němčině apod. vypadají jinak a mohou se zadávat několika způsoby (viz kap. 2.4.3).

2.2.2 Pomlčky a podobné znaky

V typografii se užívají pomlčky různých délek. Nejkratší je spojovník (-), pak následuje krátká půlčtverčíková pomlčka (--), pak dlouhá čtverčíková pomlčka (---). Odlišné je i matematické znaménko ţmínus� ($-$).

Chceme-li, aby hotový dokument vypadal esteticky, je nezbytné pomlčky používat správně. Krátkou pomlčku používáme pro znázornění intervalu.

Od ostatního textu ji neoddělujeme mezerou^{2}. Dlouhá pomlčka naznačuje přestávku v řeči nebo od sebe výrazně odděluje části textu; významově je rovna čárce^{3}. V českých a německých textech se sází s mezerami z obou stran, v anglických bez mezer. Při řádkovém zlomu zůstává na konci řádku, nový řádek jí nesmí začínat.

půjde-li to ; 10–16 hodin ; yes—or no? ; 0, 1 či −1 půjde-li to““ 10--16˜ hodin““ yes---or no? ““ $0$, $1$ či $-1$

2.2.3 Výpustky, elipsy ( …)

Na rozdíl od strojopisného textu, kde každá tečka nebo čárka zabírá stejnou šířku jako ostatní znaky, při knihtisku se tečky a čárky sázejí užší. Pro tři tečky ve smyslu ţa tak dále�, tzv. ţelipsy�, se zde používá příkazů

“ldots

Takto ne ... nýbrž takto: Praha, Plzeň, … Takto ne ... nýbrž takto: ““ Praha, Plzeň,˜ “ldots

Před výpustku se sází normání nebo zúžená mezera.

2.2.4 Slitky a podřezávání (kerning)

V knižním tisku je zvykem sázet některé kombinace písmen jako jeden znak — tzv. slitky neboli ligatury.

ff fi fl ffi … namísto ff fi fl ffi …

Podřezávání (kerning) je přiblížení některých dvojic znaků k sobě (přesněji řečeno přes sebe), aby text opticky vypadal lépe.

AV Te … místo AV Te …

L^{A}TEX (resp. TEX) vytváří slitky i podřezávání automaticky. Slitky se však nepoužívají ve složených slovech (nebo ve slovech s předponou či příponou), jejichž části se stýkají kombinací písmen ff, fl apod. Toto se týká pouze několika velmi málo anglických slov a nemnoha slov německých. V takovém případě lze tvorbě slitků zamezit například vložením “mbox–˝ nebo –˝ mezi písmena, která by mohla ligaturu utvořit.

2Někdy kolem půlčtverečníkové pomlčky sází zúžená mezera (“,)

3Tato pomlčka přežívá z viktoriánské éry a je postupně nahrazována půlčtverečníkovou pomlčkou oddělenou od ostatního textu mezerou

Nikoli shelfful nebo Auflage (Au-fl-age) ale shelfful nebo Auflage (Auf-lage)

Nikoli shelfful ““

nebo Auflage (Au-fl-age)““ ale shelf“mbox–˝ ful ““ nebo Auf–l˝ age (Auf-lage)

2.2.5 Akcenty a speciální znaky

L^{A}TEX umožňuje použít akcenty (diakritická znaménka) a zvláštní znaky mnohých jazyků (viz tab. 2.1). Akcenty jsou zde demonstrovány na příkladě písmena o, ovšem principiálně není vyloučeno jejich použití s kterýmkoli jiným písmenem. Pokud má být akcent vysázen nad písmenem i nebo j, musí být použito písmeno ţi bez tečky� nebo ţj bez tečky�. Tyto znaky se vysázejí pomocí příkazu “i nebo “j.

Hôtel, naïve, élève, smørrebrød, ¡Señorita!, Schönbrunner Schloß Straße H“ˆ otel, na“”“i ve, “’el“‘eve,““ sm“o rrebr“o d, !‘Se“˜ norita!,““ Sch“”onbrunner Schlo“ss–˝ Stra“ss e

Tabulka 2.1: Akcenty a zvláštní znaky

ò “‘o  ó “’o  ô “ˆ o  õ “˜ o
ō “=o  ȯ “.o  ö “”o
ŏ “u o ǒ “v o ő “H o  o̧ “c o
o. “d o ō “b o oo “t oo
œ “oe  Œ “OE æ “ae  Æ “AE
å “aa  Å “AA
ø “o  Ø “O  l “l  L “L
ı “i  ȷ “j  ¡ !‘  ¿ ?‘

2.3 Mezislovní mezery

Aby bylo dosaženo zarovnaného pravého okraje, L^{A}TEX zvětšuje nebo zmenšuje mezery mezi slovy. Při sazbě anglických textů navíc sází po tečkách, otaznících apod. na konci věty větší mezeru^{4}, což zvyšuje čitelnost textu. V českých a německých textech se sází mezery stejné. L^{A}TEX předpokládá, že tečka, která následuje za velkým písmenem, označuje zkrácení (např. křestního jména), a že všechny ostatní tečky ukončují větu.

4Jedná se opět o hystorický přežitek

Výjimky z těchto pravidel musíme L^{A}TEXu sdělit následujícími příkazy: Obrácené lomítko následované mezerou označuje, že mezera ve výsledném textu v tomto místě nesmí být širší. Znak ˜ (vlnka, tilda) označuje mezeru, která nesmí být širší a v tomto místě nesmí dojít k řádkovému zlomu. V českých textech bychom neměli nechávat jednohláskové předložky a spojky i, I, A, na konci řádku. Za těmito spojkami a předložkami tedy místo mezery píšeme vlnku. Pan Petr Olšák napsal program “vlna, který tuto činnost provádí automaticky. Další případ nepovoleného řádkového zlomu, kdy tedy musíme použít vlnku, je například mezera mezi číselnou hodnotou a jednotkou, mezera mezi titulem nebo zkratkou jména a příjmením apod. Příkaz “@ před tečkou označuje, že touto tečkou končí věta, ačkoli je před ní velké písmeno.

Firma Čtverec a spol. Vám dodá kval. kolečka. … 5 m široký. Dr. Šedý bydlí v 1. patře. Potřebuji vitamín C. Ty ne?

Firma Čtverec a spol.“ Vám dodá kval.“ kolečka. ““ “dots“ 5˜ m široký. ““ Dr.˜ Šedý bydlí v˜ 1.˜ patře. ““ Potřebuji vitamín˜ C“@. Ty ne?

Příkazem

“frenchspacing

L^{A}TEXu oznámíme, aby nevkládal na konec věty dodatečnou mezeru. Toho se užívá při sazbě v neanglickém jazyce, v tomto případě není nutno používat příkazu “@.

Při vytváření českých textů se používá předdefinovaný formát czech.sty, který příkaz “frenchspacing aktivuje automaticky. K obnovení konvence sázení mezer anglických textů slouží příkaz

“nonfrenchspacing

2.4 Sazba českých textů

V této kapitole je popsáno zpracování českých textů systémem CSTEX (systém TeX upravený pro češtinu), který šíří Československé sdružení uživatelů TEXu (CSTUG) pro všechny nejčastěji užívané platformy. Bližší informace o CSTEXu naleznete na http://www.cstug.cz/.

Originální americká verze TEXu podporuje pouze dokumenty v angličtině. CSTEX podporuje standardně češtinu a angličtinu, navíc jej lze snadno upravit pro podporu dokumentů v češtině, angličtině i němčině.

Při zpracování dokumentů různými instalacemi L^{A}TEXu bude nutné připojit použité nestandardní styly.

2.4.1 Dělení slov

Při spuštění L^{A}TEXu je určeno, zda se bude dělit podle pravidel českého, anglického, německého případně jiného jazyka. Výjimky lze v daném dokumentu zadat pomocí příkazů uvedených v kap. 2.1.2. Při správném vytváření vícejazyčných dokumentů se pravidla pro dělení přepínají podle příslušného jazyka.

2.4.2 Písmena s akcenty

Původní verze L^{A}TEXu obsahuje jak příkazy pro umístění akcentů nad (v některých jazycích i pod) písmena, tak i umožňuje použití písmen speciálních. Nicméně používat tyto příkazy je dosti nepohodlné. V dokumentech zpracovávaných L^{A}TEXem obsaženým v CSTEXu lze proto při použití “usepackage– czech˝ v preambuli vstupního souboru používat rozšířenou sadu ASCII znaků. Toto řešení umožňuje použít dělicí algoritmus a příkaz “hyphenation i na slova s diakritickými znaménky.

2.4.3 Uvozovky

Uvozovky v českém textu vypadají jinak než v anglickém. Pokud použijeme stylu czech.sty, můžeme použít pro české uvozovky příkaz

“uv–text, který má být v uvozovkách˝

Pro anglické uvozovky platí původní příkazy — ‘‘ pro otevírací a ’’ pro zavírací. Jinou možností je na začátku textu použít příkaz “csprimeson, po kterém příkazy ‘‘ (dva obrácené apostrofy) a ’’ (dva apostrofy) vytvářejí uvozovky české. V textu se ovšem mohou vyskytnout slova s apostrofem (např. l’Hospitalovo pravidlo), který by byl v tomto případě vysázen nesprávně. Pak je možné použít příkaz “csprimesoff, který obnoví původní chování příkazů ‘‘ a ’’ a tedy i apostrofu. Jiné možnosti vytváření a kombinací anglických a českých uvozovek jsou uvedeny v dokumentaci ke stylu czech.sty

ţNe,� řekl, ţnevím nic!� Jiný způsob: ţuvozovky�.

“uv–Ne,˝ řekl, “uv–nevím nic!˝ ““ Jiný způsob: “clqq uvozovky“crqq.

2.4.4 Nadpisy a data

V originální verzi L^{A}TEXu jsou použity pro nadpisy kapitol, obsahu, označení tabulek a obrázků a názvy měsíců v datech anglické termíny. Jejich použití by bylo v českém textu krajně nevhodné. Použitím stylu czech.sty se tyto názvy automaticky změní na jejich české ekvivalenty.

2.5 Nadpisy, kapitoly a jejich dělení

Pro lepší orientaci čtenáře v autorově díle, je vhodné dílo rozdělit na kapitoly, podkapitoly a oddíly. L^{A}TEX umožňuje označit logickou strukturu díla speciálními příkazy, které jako argument mají název daného logického oddílu díla. Je pouze na autorovi, aby tyto příkazy užil ve správném pořadí.

Ve třídě article lze užít následujích příkazů vymezujících logickou strukturu článku:

“section–...˝ “paragraph–...˝ “subsection–...˝ “subparagraph–...˝ “subsubsection–...˝ “appendix

Třídy report a book rozpoznávají navíc tyto příkazy:

“part–...˝ “chapter–...˝

Velikost mezer mezi jednotlivými oddíly velikost fontů jednotlivých úrovní nadpisů je nastavena automaticky L^{A}TEXem.

Dva z těchto příkazů mají poněkud jsou poněkud zvláštní:

• Příkaz “part nemá vliv na číslování pořadí kapitol.

• Příkaz “appendix nemá žádný argument. Pouze změní označení kapitol (pro třídu article označení oddílů) z čísel na písmena.

Příkaz

“tableofcontents

zajistí vytištění obsahu. Nadpisy a čísla stran se dozví L^{A}TEX z předcházejícího zpracování vstupního souboru. Proto při úpravách nebo doplnění kapitoly je nutno zpracovat dokument programem L^{A}TEX dvakrát (někdy i třikrát), aby bylo dosaženo správného výstupu.

Všechny příkazy pro logické dělení dokumentu existují také v tzv. ohvězdičkované verzi, tzn. za jméno příkazu se přidá znak hvězdička (*). Jméno oddílu vytvořeného příkazem v ohvězdičkované verzi se neočísluje a neuvede v obsahu. Například příkaz “section–Předmluva˝ v ohvězdičkované verzi bude vypadat takto “section*–Předmluva˝

Standardně jsou názvy oddílů v obsahu uvedeny přesně v té samé formě jako v textu. Někdy je však název daného oddílu příliž dlouhý na to, aby byl ve stejné formě uveden v obsahu. Proto lze položku, tak jak má být vysázena v obsahu, specifikovat jako volitelný parametr daného příkazu pro strukturalizaci.

“chapter[Položka do obsahu]–Zde je velmi dlouhý a obzvláště nudný nadpis˝

Nadpis celého dokumentu se vysází příkazem

“maketitle

přičemž obsah titulní strany nebo nadpisu musí být předem zadán příkazy:

“title–...˝ , “author–...˝ a volitelně i “date–...˝

před voláním příkazu“maketitle. Jako argument příkazu “authors lze zadat několik jmen oddělenných příkazem “and.

Příklad některých výše uvedených příkazů lze nalézt na obrázku 1.2 na straně 7.

Vedle již vysvětlených příkazů pro logické dělení dokumentu L^{A}TEX 2ε poskytuje ve třídě book další tři příkazy:

“frontmatter, “mainmatter and “backmatter

ty slouží pro hrubší rozdělení knihy. Příkazy mění nadpisy a číslování stránek způsobem u knih běžným.

2.6 Křížové odkazy

V knihách, referátech a článcích jsou velice běžné křížové odkazy na obrázky, tabulky, rovnice či jiné oddíly textu.

L^{A}TEX nabízí pro křížové odkazy pohodlný aparát, totiž příkazy:

“label–návěští˝ , “ref–návěští˝ a “pageref–návěští˝

Kde návěští je jednoznačné označení vybrané uživatelem. L^{A}TEX zamění “ref číslem takového oddílu, pododdílu, obrázku, tabulky či rovnice, jež byl označen odpovídajícím příkazem “label, tj. příkazem “label, který má jako argument stejné návěští jako příslušný odkaz “ref. Namísto “pageref se vysází číslo stránky na níž se nachází odpovídající příkaz “label. Čísla stránek L^{A}TEX získává z pomocného souboru vytvořeného v předchozím průběhu překladu programem TEX, proto i při použití křížových odkazů je někdy třeba překládat vstupní soubor programem TEX několikrát.

22  Sázení textu

Odkaz na tento pododdíl vypadá takto: ţviz též oddíl 2.6 na straně 22.� Odkaz na tento pododdíl “label–sec:tato˝ vypadá takto: “uv–viz též oddíl˜ “ref–sec:tato˝ na straně˜ “pageref–sec:tato˝ .˝

2.7 Poznámky pod čarou

Příkazem

“footnote–text poznámky pod čarou˝

lze vysázet poznámku pod čarou, tj. text vysázený v dolní části stránky oddělený od hlavního textu horizontální čarou a označený stejnou značkou jako odkaz na tuto poznámku v textu.

Začínající L^{A}TEXisté^{a} používají poznámek pod čarou velice často.

aL^{A}TEXista je člověk užívající L^{A}TEX

Začínající “LaTeX–isté˝ “footnote–% “LaTeX–˝ ista je člověk užívající “LaTeX˝ používají poznámek pod čarou velice často.

2.8 Zvýraznění slov

V rukopisech psaných na psacím stroji se důležitá, zdůrazněná, slova \underline{podtrhují}. V tištěných knihách se však tato slova zvýrazňují. Sazba se do zvýrazněného typu písma přepíná příkazem

“emph–text˝

Argumentem tohoto příkazu je text, který má být zvýrazněn.

Užije-li se zvýraznění v již zdůrazněném textu, potom L^{A}TEX užije pro zdůraznění namísto kurzívy vzpřímený typ písma “emph–Užije-li se

“emph–zvýraznění˝ v˜ již

zdůrazněném textu, potom

“LaTeX–˝ užije pro zdůraznění namísto kurzívy “emph–vzpřímený˝ typ písma˝

2.9 Prostředí (Environments)

K označení zvláštních částí textu, které mají být vysázeny jinak než běžný text, slouží tzv. prostředí. Prostředí ve vstupním textu mají tvar:

“begin–jméno˝ text “end–jméno˝

kde jméno je jméno daného prostředí. Platí, že prostředí se mohou vyskytovat jedno v druhém, přičemž je třeba dbát na správné pořadí. Jednotlivá prostředí se nemohou křížit.

“begin–aaa˝ ...“begin–bbb˝ ...“end–bbb˝ ...“end–aaa˝

V následujících oddílech budou vysvětlena všechna důležitá prostředí L^{A}TEXu.

2.9.1 Výčty (itemize, enumerate a description)

Prostředí itemize je vhodné pro jednoduché výčty, prostředí enumerate pro číslované výčty a prostředí description pro popisné výčty.

1. Jednotlivé typy výčtů lze libovolně kombinovat:

• Avšak výsledek pak může vypadat hrozně.

- S pomlčkou.

2. Proto si pamatujte:

Hloupé věci se nestanou moudřejšími, když jsou seřazeny do výčtu.

Chytré věci však je dobré prezentovat právě ve výčtech.

“begin–enumerate˝

“item Jednotlivé typy výčtů lze libovolně kombinovat: “begin–itemize˝ “item Avšak výsledek pak může vypadat hrozně. “item[-] S˜ pomlčkou. “end–itemize˝ “item Proto si pamatujte: “begin–description˝ “item[Hloupé] věci se nestanou moudřejšími, když jsou seřazeny do výčtu. “item[Chytré] věci však je dobré prezentovat právě ve výčtech. “end–description˝ “end–enumerate˝

2.9.2 Sazba na prapor a centrování (Flushleft, Flushright, Center)

V prostředí flushleft resp. flushright se sázený text doráží na levý resp. pravý okraj (tzv. ţsazba na praporek� — tj. bez zarovnávání okraje). Prostředí center slouží k centrování sazby. Pokud není použit příkaz ““, určí L^{A}TEX řádkové zlomy sám.

24  Sázení textu

Text zarovnaný vlevo. L^{A}TEX nezkouší zalomit všechny řádky na stejnou délku.

“begin–flushleft˝ Text zarovnaný ““ vlevo. “LaTeX–˝ nezkouší zalomit všechny řádky na stejnou délku. “end–flushleft˝

Text zarovnaný

vpravo. L^{A}TEX nezkouší zalomit všechny řádky na stejnou délku.

“begin–flushright˝ Text zarovnaný ““ vpravo. “LaTeX–˝ nezkouší zalomit všechny řádky na stejnou délku. “end–flushright˝

V ose tiskového

zrcadla.

“begin–center˝ V““ose tiskového““zrcadla. “end–center˝

2.9.3 Citace (Quote, Quotation, Verse)

Prostředí quote se používá pro kratší citace, zdůrazněné věty a příklady.

Jedno typografické pravidlo pro délku řádku říká:

“No line should contain more than 66 characters.” ţŽádný řádek by neměl obsahovat více než 66 písmen.�

Důsledkem tohoto pravidla je to, že noviny se sází do více sloupců vedle sebe.

Jedno typografické pravidlo pro délku řádku říká: “begin–quote˝ “emph–‘‘No line should contain more than 66˜ characters.’’˝

“uv–Žádný řádek by neměl obsahovat více než 66 písmen.˝ “end–quote˝ Důsledkem tohoto pravidla je to, že noviny se sází do více sloupců vedle sebe.

Vedle prostředí quote existují další dvě prostředí: quotation a verse. Prostředí quotation je vhodné pro citace, které zahrnují několik odstavců, jelikož narozdíl od quote odsazuje quotation jednotlivé odstavce. Prostředí verse je užitečné pro sazbu poezie, kde je dělení na řádky předem známé. Jednotlivé verše se oddělují příkazem ““ na konci řádku a jednotlivé sloky prázným řádkem mezi slokami.

2.9 Prostředí  25

Jára Cimrman se vždy snažil ukazovat svět takový jaký je se všemi krásami i ošklivostmi:

Šel medvídek na

procházku, uviděl tam sedmikrásku. Sedmikráska hezká, medvídek si pleská. ţPlesk, plesk. Plesk!� Míšu zabil blesk!

Jak vidíme nebránil se tomu ani v tvorbě pro nejmenší.

Jára Cimrman se vždy snažil ukazovat svět takový jaký je se všemi krásami i ošklivostmi: “begin–flushleft˝ “begin–verse˝ Šel medvídek na procházku,““ uviděl tam sedmikrásku.

Sedmikráska hezká,““ medvídek si pleská.

“emph–“uv–Plesk, plesk. Plesk!˝ ˝ ““ Míšu zabil blesk! “end–verse˝ “end–flushleft˝ Jak vidíme nebránil se tomu ani v˜ tvorbě pro nejmenší.

2.9.4 Přímý výstup (verbatim, verb)

Text, který je uzavřen mezi “begin–verbatim˝ a “end–verbatim˝ bude vysázen přesně tak, jak byl zapsán ve zdrojovém souboru, tj. se všemi mezerami, tisknutelnými symboly, konci řádků a bez interpretace všech příkazů L^{A}TEXu; tedy samozřejmě kromě “end–verbatim˝ . Toho lze s výhodou použít např. pro vytištění výpisů krátkých počítačových programů.

Uvnitř odstavce podobnou funkci plní příkaz

“verb+text+

Znak + je pouze příklad oddělovacího znaku. Jako oddělovací znak lze užít libovolný znak kromě písmen, znaků * a mezery. Většina příkladů příkazů L^{A}TEXu v tomto dokumentu byla vysázena právě tímto příkazem.

Příkaz “ldots …

#include ¡stdio.h¿

void main(void) –

printf( ”Hello World!“n”); ˝ Příkaz “verb—“ldots— “ldots

“begin–verbatim˝ #include ¡stdio.h¿

void main(void) –

printf( ”Hello World!“n”); ˝ “end–verbatim˝ Ohvězdičkovaná verze prostředí verbatim používá speciálního symbolu (vaničky) pro zvýraznění mezer.

“begin–verbatim*˝ Ohvězdičkovaná verze prostředí verbatim používá speciálního symbolu (vaničky) pro zvýraznění mezer. “end–verbatim*˝

Příkaz “verb lze užít podobným způsobem, tj. v ohvězdičkované verzi:

jako  zde :-)  “verb*—jako  zde :-) —

Prostředí verbatim a příkaz “verb se nesmí užívat v parametrech jiných příkazů.

2.9.5 Tabular

Prostředí tabular se užívá k sazbě tabulek. Jím vysázené tabulka může být vysázena spolu s volitelnými horizontálními a vertikálními linkami. L^{A}TEX sám určí šířku sloupečků.

Argumentem specifikace příkazu

“begin–tabular˝ –specifikace˝

se definuje formát tabulky. V argumentu specifikace užití l znamená sloupec s textem zarovnaným vlevo, r sloupec zarovnaný vpravo, c sloupec s centrovaným textem, p–šířka˝ sloupec zadané šířky s víceřádkovým textem (text se formátuje do odstavce) a — svislou čáru.

Uvnitř prostředí tabular znamená & skok na další sloupec tabulky, ““ konec řádky tabulky, “hline (jako samostatný řádek) sází vodorovnou čáru v šířce tabulky.

“begin–tabular˝ –—r—l—˝ “hline

7CE & hexadecimálně ““ 3716 & oktalově ““

11111001110 & binárně ““ “hline “hline

1998 & decimálně ““ “hline “end–tabular˝ Vítejte v Krabičkově odstavci Věříme, že si zde užijete hodně pěkné podívané.

7CE hexadecimálně 3716 oktalově 11111001110 binárně

1998 decimálně

“begin–tabular˝ –—p–4.7cm˝ —˝

“hline

Vítejte v˜ Krabičkově odstavci Věříme, že si zde užijete hodně pěkné podívané.““ “hline “end–tabular˝

Pomocí konstrukce @–...˝ lze specifikovat oddělovač mezi danými sloupci. Tento příkaz potlačí sazbu mezisloupcových výplní (mezer) a namísto nich vysází to, co je vloženo mezi složené závorky konstrukce @–...˝ . Nejčastěji používaný případ použití této konstrukce, zarovnávání desetinných čísel, je uveden níže. Dalším případem užití je potlačení sazby mezisloupcových mezer vložením konstrukce @–˝ .

bez mezer kolem “begin–tabular˝ –@–˝ l @–˝ ˝ “hline bez mezer kolem““ “hline “end–tabular˝

mezery vpravo i vlevo “begin–tabular˝ –l˝ “hline mezery vpravo i vlevo““ “hline “end–tabular˝

Jelikož L^{A}TEX nemá vestavěnou podporu pro zarovnávání desetinných čísel v tabulkách na desetinnou čárku^{5}, je třeba užít švindl — použijeme dva sloupce: vpravo zarovnaný sloupec pro celočíselnou část a vlevo zarovnaný sloupec pro část desetinnou. Příkaz @–,˝ nahradí mezisloupcové výplně symbolem pro desetinnou čárku. Při sazbě pak nesmíme zapomenout nahradit desetinnou čárku odělovačem sloupců, tedy symbolem &. Popis takového zdvojeného sloupce lze vytvořit pomocí příkazu “multicolumn.

výraz s π Hodnota

“begin–tabular˝ –c r @–,˝ l˝ výraz s˜ $“pi$ & “multicolumn–2˝ –c˝ –Hodnota˝ ““ “hline $“pi$ & 3&1416 ““ $“piˆ –“pi˝ $ & 36&46 ““ $(“piˆ –“pi˝ )ˆ –“pi˝ $ & 80662&7 ““ “end–tabular˝

π  3,1416

π^{π}  36,46

(π^{π})^{π}  80662,7

5Je-li v systému naistalován soubor balíků ţtools� lze užít balíku dcolumn.

2.10 Plovoucí objekty (Floating Bodies)

V dnešní době většina publikací obsahuje množství různých obrázků a tabulek. Tyto objekty vyžadují speciální zpracování, jelikož je většinou nelze rozdělit na několik stránek. Jednou z metod by mohlo být vždy při sazbě obrázku či tabulky, které se již nevejdou na aktuálně sázenou stránku začít stránku novou. Tento přístup by však vedl k tomu, že by některé stránky zůstávaly poloprázné což by jistě nevypadalo moc pěkně.

Vhodným řešením tohoto problému je to, že se obrázek či tabulka, které se již na aktuálně sázenou stránku nevejdou, prostě na této stránce nevysází a z jejich sazbou se posečká až na další vhodné místo na některé z následujích stránek. L^{A}TEX pro takové plovoucí objekty nabízí dvě prostředí. Jedno pro obrázky a druhé pro tabulky. K tomu abychom mohli plně využít těchto prostředí je potřeba alespoň přibližně porozumnět jak L^{A}TEX vnitřně s těmito prostředími pracuje. Jinak v nás tato prostředí neustále budou vyvolávat pocity marnosti, jelikož nikdy nevysází náš obrázek či tabulku na místo, kam bychom to zrovna potřebovali.

Nejprve se podívejme na to jak vypadají příkazy pro práci s plovoucími objekty:

Libovolný materiál uzavřený v prostředí figure či table je považován za plovoucí objekt. Obě prostředí mají ještě nepovinný parametr specifikace umístění

“begin–figure˝ [specifikace umístění] či “begin–table˝ [specifikace umístění]

Tento parametr řekne L^{A}TEXu kam na stránce lze daný plovoucí objekt umístit. Argument specifikace umístění je řetězec sestavený ze znaků povolení umístění. Viz tabulku 2.2.

Tabulka 2.2: Znaky povolení umístění

znak povolené místo umístění …

h zde (here) právě v tom místě textu, kde se toto prostředí objevilo. To je vhodné zejména pro malé objekty.

t v horní části (top) stránky
b v dolní části (bottom) stránky

p na zvláštní stránce (page), na níž budou pouze plovoucí

objekty. ! bez toho aniž by se bral ohled na většinu vnitřních parametrů prostředí^{a}, které by mohly zabránit umístění objektu v daném místě.

aJako například maximální dovolený počet plouvoucích objektů na jedné stránce

Tabulku lze umístit například v prostředí, které začíná např. takto:

“begin–table˝ [!hbp]

Parametr specifikace umístění [!hbp] dovoluje L^{A}TEXu umístit tabulku buď právě zde (h) nebo ve spodní části (b) některé, třeba následující, stránky nebo na zvláštní stránce určené pouze pro plovoucí objekty (p) a to vše dokonce i v případě, že to nebude podle všech pravidel sazby (!). Jestliže umístění není specifikováno pomocí parametru, pak standardní třídy předpokládají [tbp].

L^{A}TEX bude umisťovat každý plovoucí objekt, na nějž narazí podle specifikace autora. Nemůže-li být plovoucí objekt umístěn na aktuální stránce, je umístěn do fronty^{6} obrázků či tabulek. Na počátku každé nové stránky L^{A}TEX nejprve zkouší, zda nemá frontu natolik plnou, aby z objektů v ní umístěných mohl vysázet zvláštní stránku. Není-li možné vysázet takovou stránku, první objekt v každé frontě se zpracovává tak, jakoby se vyskytly ve zdrojovém textu právě na této stránce, tj. L^{A}TEX zkouší znovu umístit objekt na danou stránku podle specifikace specifikace umístění. Samozřejmě se již nezpracovává požadavek na umístění h, který již pozbyl platnosti. Jakýkoli další objekt, jež se objeví ve zdrojovém textu se zařadí na konec příslušné fronty. L^{A}TEX při sazbě přesně dodržuje původní pořadí daného typu objektů. Proto se může stát, že jeden objekt, který nelze nikde umístit pozdrží sazbu všech následujích objektů třeba až na úplný konec dokumentu. Proto:

Neumístí-li L^{A}TEX objekt, tj. obrázek či tabulku, na autorem očekávané místo, tak pravděpodobně některý z předchozích objektů ucpal příslušnou frontu.

Pro práci z prostředím table a figure je dobré znát i některé další věci o nichž se zmíníme nyní.

Pomocí příkazu

“caption–text popisu˝

lze nadefinovat popisný titulek pro daný plovoucí objekt. Popis objektu se vedle textu popisu skládá ještě z čísla a řetězce ţObrázek� nebo ţTabulka�, jež přidá L^{A}TEX automaticky. Číselné řady pro číslování obrázků a tabulek má ve správě rovněž L^{A}TEX sám.

Dva příkazy

“listoffigures a “listoftables

pracují obdobně jako příkaz “tableofcontents, tj. vysází seznam obrázků resp. tabulek. V těchto seznamech je zopakován úplný text popisu. Mnozí autoři mají však sklon k delším popiskům, proto je třeba do seznamu užít zkrácené formy popisu čehož lze dosáhnout obdobně jako u příkazů pro strukturalizaci textu zadáním zkrácené fromy popisku jako nepovinný parametr těsně za příkaz “caption.

6FIFO — kdo přijde první bude první vysázen

“caption[Krátký popisek]–Velmi dlouhý popisek nějakého pěkného objektu˝

Užitím příkazů “label a “ref lze tvořit odkazy uvnitř textu na příslušné obrázky resp. tabulku.

V následujícím příkladu je vykreslen prázdný čtverec, který je jako obrázek vložen do textu. Toho lze využít například v případě, že potřebujete vynechat ve výsledném dokumentu místo pro vlepení obrázku (např. fotografie).

Na obrázku˜ “ref–obrazek˝ vidíte uspořádání experimentu.

“begin–figure˝ [!hbp]

“makebox[“textwidth]–“framebox[5cm]–“rule–0pt˝ –5cm˝ ˝ ˝ “caption–Uspořádání experimentu˝ “label–obrazek˝ “end–figure˝

V předchozím příkladu^{7} se L^{A}TEX bez skrupulí (!) pokusí umístit obrázek zde (h). Nebude-li to možné, pokusí se umístit obrázek na spodní okraj stránky (b). Nepodaří-li se mu vysázet obrázek na aktuální stránku zváží zda není možné umístit obrázek na zvláštní stránku spolu s nevysázenými tabulkami z fronty tabulek. Není-li dost materiálu k tomu, aby bylo možné takovou stránku vysázet začne L^{A}TEX sázet novou stránku a znovu se pokusí umístit obrázek tak, jako kdyby se jeho popis objevil ve zdrojovém textu právě nyní.

V některých případech je potřeba užít příkaz

“clearpage či dokonce “cleardoublepage

kterým se L^{A}TEXu nařídí, aby okamžitě umístil všechny plovoucí objekty z front obrázků a tabulek a poté začal sázet novou stránku. Pomocí příkazu “cleardoublepage se navíc nařídí pokračování další sazby až na další levé stránce.

2.11 Přidání nových příkazů a prostředí

V první kapitole je napsáno, že L^{A}TEX k tomu, aby dokázal vysázet dokument daného typu, potřebuje pouze informace o logické struktuře tohoto dokumentu. Toto je základní myšlenka L^{A}TEXu, ale v praxi se dostáváme do situací, kdy L^{A}TEX nenabízí příkaz či prostředí, které by splňovalo autorův požadavek na strukturalizaci dokumentu.

7za předpokladu, že fronta obrázků je prázdná

Jedním z možných řešení, je užít několika příkazů L^{A}TEXu a uspořádat si sazbu dle potřeby. To není takový problém, je-li to potřeba provést pouze jednou, avšak pokud je potřeba danou složitější konstrukci příkazů ve zdrojovém textu nekolikrát opakovat je tento přístup nevhodný. Nevhodnost tohoto přístupu se projeví zejména tehdy, když je třeba tuto opakovanou složitější konstrukci upravit, potom je třeba procházet celý zdrojový text a editovat všechny výskyty dané konstrukce.

K řešení takových problémů L^{A}TEX nabízí možnost definice vlastních příkazů a prostředí.

2.11.1 Nové příkazy

Nový příkaz lze vytvořit pomocí příkazu:

“newcommand–jméno˝ [číslo]–definice˝

Při běžném užití příkazu stačí dva argumenty: jméno nového příkazu, který právě tvoříme a jeho definice. Argument číslo v hranatých závorkách je volitelný a užívá se v případě, když chceme aby nový příkaz sám používal argumenty. Těchto argumentů může být maximálně devět, proto argument číslo může nabývat hodnot 1–9.

Následující dva příklady ilustrují myšlenku užití příkazu “newcommand. V první příkladu je nadefinován nový příkaz “uvodlat, jež slouží jako zkratka pro ţNe příliš stručný úvod do systému L^{A}TEX 2ε�. Takový příkaz je vhodný v případě, když se několikrát v textu opakuje stále totéž slovní spojení, zde název této příručky.

ţNe příliš stručný úvod do systému L^{A}TEX 2ε� … ţNe příliš stručný úvod do systému L^{A}TEX 2ε� “newcommand–“uvodlat˝

–Ne příliš stručný úvod

do systému “LaTeXe˝

% následující se objeví v těle TeXtu “uv–“uvodlat˝ “ldots–˝ “uv–“uvodlat˝

Další příklad ilustruje užití argumentu číslo. Konstrukce #n je nahrazena n-tým argumentem nového příkazu, přičemž jak již bylo uvedeno n ∈ {1 … 9}. Tedy v našem případě #1 bude nahrazena prvním argumentem příkazu “uvlat.

• Ne příliš stručný úvod do systému L^{A}TEX 2ε

• Velmi stručný úvod do systému L^{A}TEX 2ε “newcommand–“uvlat˝ [1]

–“emph–#1˝ stručný úvod

do systému “LaTeXe˝

% následující se objeví v těle TeXtu “begin–itemize˝ “item “uvlat–Ne příliš˝ “item “uvlat–Velmi˝ “end–itemize˝

L^{A}TEX nedovolí vytvořit nový příkaz se jménem již existujícího příkazu. Jestliže je třeba přepsat definici některého příkazu je třeba užít příkazu “renewcommand, který má syntax stejnou jako příkaz “newcommand. V některých případech lze užít též užít příkazu “providecommand, který dělá totéž co “newcommand, avšak v případě, že příkaz tohoto jména je již definován, L^{A}TEX tuto novou definici ignoruje.

2.11.2 Nové prostředí

Obdobně jako je možné vytvářet nové příkazy je možné tvořit i vlastní nová prostředí. Například pro psaní této příručky její autor, Tobias Oetiker, vytvořil několik zvláštních prostředí pro často se vyskytující struktury, jako příklady, části kódu, rámečky s definicí příkazu…

Nové prostředí se definuje příkazem “newenvironment, jež má následující syntax:

“newenvironment–jméno˝ [číslo]–před˝ –po˝

Stejně jako u příkazu “newcommand i u příkazu “newenvironment lze zadat nepovinný parametr číslo specifikující počet argumentů ovlivňujících nějakým způsobem vytvářené prostředí. Příkazy, které se objeví v části před se provedou před tím, než se začne zpracovávat text v prostředí uzavřený. Příkazy obsažené v části po se začnou vykonávat v okamžiku, kdy L^{A}TEX začne zpracovávat příkaz “end–jméno˝ .

Následující příklad ilustruje užití příkazu “newenvironment.

Nebude tvář lidu jasná … “newenvironment–citace˝

–“begin–quote˝ ˝ –“end–quote˝ ˝ % následující se objeví v těle TeXtu “begin–citace˝ Nebude tvář lidu jasná “ldots “end–citace˝

Obdobně jako při definování nových příkazů L^{A}TEX dává pozor na to, aby nebylo nadefinováno prostředí se stejným jménem, jako má některé již existující. Je-li třeba předefinovat některé prostředí užívá se k tomu příkaz “renewenvironment, jež má stejnou syntax jako příkaz “newenvironment.

Sázení matematických vzorců

Tak jste dospěli až do bodu, kdy se budeme moci dotknout nejsilnější stránky TEXu, sazby matematiky. Je však třeba podotknout, že se v této kapitole dotkneme věci pouze povrchně, více o pravidlech sazby matematiky v TEXu se můžete dočíst v [2]. Obsah této kapitoly bude pravděpodobně dostačovat většině čtenářů k tomu, aby mohli začít psát odborné texty, obsahující matematiku. Nenaleznete-li v této kapitole některou matematickou strukturu, jež byste potřebovali vysázet v této kapitole, pravděpodobně naleznete vhodný prostředek v AMS-L^{A}TEXu^{1} či nějakém jiném balíku maker, zaměřeným na sazbu matematiky.

3.1 Obecný úvod

TEX používá pro sazbu matematiky zvláštního módu. Matematické části textu uvnitř odstavce se uzavírají mezi “( a “), nebo mezi $ a $ či mezi “begin–math˝ a “end–math˝ .

Nechť a a b jsou odvěsny a c přepona, pak platí c^{2} = a^{2} + b^{2} (Pythagorova věta).

Nechť $a$ a $b$ jsou odvěsny a $c$ přepona, pak platí $cˆ –2˝ =aˆ –2˝ +bˆ –2˝ $ (Pythagorova věta).

TEX se vyslovuje jako τϵχ.

100 m^{2} obytné plochy.

I ♡ TEX.

“TeX“ se vyslovuje jako $“tau“epsilon“chi$.““[6pt] 100˜ m$ˆ –2˝ $ obytné plochy.““[6pt] I $“heartsuit$ “TeX.

Rozsáhlejší matematické vzorce či rovnice, je lépe sázet na zvláštní řádky. V tom případě se píší mezi “[ a “] či mezi “begin–displaymath˝ a “end–displaymath˝ . Takto vysázené rovnice však nejsou čílovány. Pokud rovnice uzavřeme do prostředí equation L^{A}TEX, vedle odsazení matematiky na zvláštní řádek bude rovnice navíc číslovaná.

1CTAN:/tex-archive/macros/latex/packages/amslatex

Nechť a a b jsou odvěsny a c přepona, pak platí

c^{2} = a^{2} + b^{2}

(Pythagorova věta)

Nechť $a$ a $b$ jsou odvěsny a $c$ přepona, pak platí “begin–displaymath˝ cˆ –2˝ =aˆ –2˝ +bˆ –2˝ “end–displaymath˝ (Pythagorova věta)

Pomocí již známých příkazů “label a “ref se lze v textu odkazovat na takto očíslované rovnice.

ϵ > 0  (3.1)

Z (3.1) dostáváme. . . . . .

“begin–equation˝ “label–eq:eps˝ “epsilon ¿ 0 “end–equation˝ Z˜ (“ref–eq:eps˝ ) dostáváme“ldots “ldots

V následujícím příkladu si všimněte , že výrazy se jinak vysází uvnitř odstavce a jinak na zvláštním řádku

lim_{n→∞} ∑_{k=1}^{n} \frac{1}{k^{2}} = \frac{π^{2}}{6} ; lim_{n→∞} ∑_{k=1}^{n} \frac{1}{k^{2}} = \frac{π^{2}}{6} $“lim˙ –n “to “infty˝

“sum˙ –k=1˝ ˆ n “frac–1˝ –kˆ 2˝

= “frac–“piˆ 2˝ –6˝ $

%%%%%%%%%%%%%%%%%%%%%%%%%

“begin–displaymath˝ “lim˙ –n “to “infty˝ “sum˙ –k=1˝ ˆ n “frac–1˝ –kˆ 2˝ = “frac–“piˆ 2˝ –6˝ “end–displaymath˝

Sazba v matematickém režimu (math mode) se liší od sazby v textovém režimu (text mode) zvláště v těchto bodech:

1. Mezery a ukončení řádku ve vstupním textu nemají žádný význam, neboť vše se sází podle pravidel matematické sazby, případně se mezery zadávají speciálními příkazy jako “,, “quad, nebo “qquad.

∀x ∈ R :  x^{2} ≥ 0  (3.2)

“begin–equation˝ “forall x “in “mathbf–R˝ : “qquad xˆ –2˝ “geq 0

“end–equation˝

2. Prázdné řádky jsou zakázány (tj. matematický vzorec musí být v jednom odstavci).

3. Každé písmeno je považováno za jméno proměnné a je vysázeno odpovídajícím způsobem (tzv. matematická kurzíva). Chceme-li uvnitř matematického textu sázet normální text, musíme jej uzavřít do “textrm–...˝ .

x^{2} ≥ 0 pro všechna x ∈ R (3.3)

“begin–equation˝ xˆ –2˝ “geq 0“quad “textrm–pro všechna ˝ x“in“mathbf–R˝ “end–equation˝

Matmetici nadělají mnoho povyku kolem symbolů, jež jsou při sazbě užity. V předchozím příkladu by možná pro vyznačení oboru reálných čísel bylo lepší použít zdvojené písmo, které lze zízka užitím příkazu “mathbb z balíku amsfonts či amssymb. Předchozí příklad bude tedy mít formu:

x^{2} ≥ 0 pro všechna x ∈ ℝ

“begin–displaymath˝ xˆ –2˝ “geq 0“quad “textrm–pro všechna ˝ x“in“mathbb–R˝ “end–displaymath˝

3.2 Tvorba skupin v matematickém režimu

Většina příkazů v matematickém reřimu má vliv pouze na bezprostředně následující znak. Je-li třeba, aby příkaz ovlivnil sazbu více znaků, je z nich potřeba, za pomoci složených závorek –...˝ , vytvořit skupinu.

a^{x} + y ≠ a^{x+y} (3.4)

“begin–equation˝ aˆ x+y “neq aˆ –x+y˝ “end–equation˝

3.3 Objekty matematických vzorců

V této kapitole jsou stručně popsány nejdůležitější objekty, které se používají v matematických vzorcích. Seznam všech použitelných symbolů obsahuje oddíl 3.10 na straně 46.

Malá písmena řecké abecedy se sází pomocí příkazů “alpha, “beta, “gamma, …, velká písmena^{2} se sází příkazy “Gamma, “Delta, …

λ, ξ, π, μ, Φ, Ω  $“lambda,“xi,“pi,“mu,“Phi,“Omega$

2L^{A}TEX nemá nadefinován příkaz pro velké písmeno Apfa, jelikož vypadá stejně jako velké mísmeno A.

Exponenty a indexy se zadávají pomocí znaků ˆ a ˙ .

{a_{1}  x^{2}  e^{−αt}  a_{ij}^{3} \atop e^{x^{2}} ≠ e^{x}^{2}}

$a˙ –1˝ $ “qquad $xˆ –2˝ $ “qquad $eˆ –-“alpha t˝ $ “qquad $aˆ –3˝ ˙ –ij˝ $““ $eˆ –xˆ 2˝ “neq –eˆ x˝ ˆ 2$

Značka pro odmocninu se sází pomocí příkazu “sqrt, n^{th}-tá odmocnina se genuje pomocí “sqrt[n]. Velikost odmocnítka L^{A}TEX volí automaticky. Je-li třeba vysázet pouze symbol odmocniny, bez čárky nad odmocněncem, užijeme “surd.

\begin{matrix}\sqrt{x} & \sqrt{x^{2} + \sqrt{y}} & ^{3} & \sqrt{2} \\ √[x^{2} + y^{2}] \end{matrix} $“sqrt–x˝ $ “qquad $“sqrt– xˆ –2˝ +“sqrt–y˝ ˝ $ “qquad $“sqrt[3]–2˝ $““[3pt] $“surd[xˆ 2 + yˆ 2]$

Příkazy “overline či “underline zajistí sazbu horizontální linky nad či pod požadovanou částí matematického výrazu.

\overline{m + n}  $“overline–m+n˝ $

Příkaz “overbrace resp. “underbrace vysází vodorovnou složenou závorku nad resp. pod požadovanou částí matematického výrazu.

\underbrace{a + b + ⋯ + z}_{26}  $“underbrace– a+b+“cdots+z ˝ ˙ –26˝ $

Příkazy pro sázení matematických akcentů jako stříška nad proměnnou, nebo vlnovka nad proměnnou, obsahuje tabulka 3.1. Delší vlnovky a stříšky, které mohou být nad více znaky, dostaneme pomocí “widetilde a “widehat. Označení derivace se zadává pomocí znaku apostrof ’.

y = x^{2}  y′ = 2x  y′′ = 2

“begin–displaymath˝

y=xˆ –2˝ “qquad y’=2x“qquad y’’=2 “end–displaymath˝

Vektory jsou velice často označovány malou šipkou nad proměnnou. Pro tento účel je definován příkaz “vec. K označení vektoru z A do B lze užít dvou příkazů “overrightarrow a “overleftarrow.

a⃗ \overrightarrow{AB}

“begin–displaymath˝

“vec a“quad“overrightarrow–AB˝ “end–displaymath˝

Matematické funkce se v literatuře obvykle nesází kurzívou (jako jména proměnných), nýbrž ţnormálním� vzpřímeným typem písma. K tomu slouží následující příkazy:

“arccos “cos  “csc “exp “ker  “limsup “min “sinh
“arcsin “cosh “deg “gcd “lg  “ln  “Pr  “sup
“arctan “cot  “det “hom “lim  “log  “sec “tan
“arg  “coth “dim “inf “liminf “max  “sin “tanh

lim_{n→0} \frac{sin x}{x} = 1

“[“lim˙ –n “rightarrow 0˝ “frac–“sin x˝ –x˝ =1“]

Pro funkci modulo existují dva různé příkazy: “bmod pro binární operátor a mod b a “pmod... pro zadání ve formě x ≡ a (mod b).

V české technické literatuře se však některé funkce, např. ţtangens� apod., označují jinak než v americké. Tyto lze v L^{A}TEXu v případě potřeby snadno dodefinovat. V následujícím příkladu je ilustrováno, jak lze pomocí příkazu “mathop nadefinovat označení pro novou funkci, v našem případě “tg pro označení funkce tangents.

tgα ≠ 1 “newcommand–“tg˝ –“mathop–“rm tg˝ “nolimits˝ %%%%%%%%% $“tg–“alpha˝ “ne1$

Zlomek (angl. fraction) se vysází příkazem “frac–...˝ –...˝ . Pro jednoduché zlomky, např. 1/2, lze však použít také operátor /.

{1\frac{1}{2} koláče \atop \frac{x^{2}}{k + 1}  x^{\frac{2}{k+1}}  x^{1/2}}

$1“frac–1˝ –2˝ $˜ koláče “begin–displaymath˝ “frac– xˆ –2˝ ˝ – k+1 ˝ “qquad xˆ – “frac–2˝ –k+1˝ ˝ “qquad xˆ – 1/2 ˝ “end–displaymath˝

Binomické koeficienty či jiné obdobné struktury lze sázet buď pomocí příkazu –... “choose ...˝ či pomocí příkazu –... “atop ...˝ . Druhý příkaz se chová obdobně jako první, pouze s tím rozdílem, že nevysází závorky.

\binom{n}{k} {x \atop y + 2}

“begin–displaymath˝

–n “choose k˝ “qquad –x “atop y+2˝

“end–displaymath˝

Značka integrálu se sází příkazem “int, značka sumy příkazem “sum. Horní a dolní mez se zadává pomocí ˆ a ˙ (jakoby horní a dolní index).

∑_{i=1}^{n} ∫0^{\frac{π}{2}}

“begin–displaymath˝ “sum˙ –i=1˝ ˆ –n˝ “qquad “int˙ –0˝ ˆ –“frac–“pi˝ –2˝ ˝ “qquad “end–displaymath˝

Meze integrálu se obvykle sázejí vedle značky integrálu (,aby se šetřilo místem). Pokud požadujeme meze nad a pod značkou, použijeme příkaz “limits. Naproti tomu meze u sumy jsou sázeny nad a pod značku, pouze u vzorců v textu, nebo použitím příkazu “nolimits, se meze vysázejí vedle značky.

∑{n \atop i=1}  ∫_{0}^{\frac{π}{2}}

“begin–displaymath˝

“sum“nolimits˙ –i=1˝ ˆ –n˝ “qquad

“int“limits˙ –0˝ ˆ –“frac–“pi˝ –2˝ ˝ “qquad “end–displaymath˝

Pro závorky a jiné ohraničující elementy obsahuje TEX mnoho různých symbolů (např. [ ⟨ ∥ ↕). Kulaté a hranaté závorky se zadávají odpovídajícími znaky, složené závorky pomocí “– a “˝ , ostatní speciálními příkazy (např. “updownarrow). Seznam všech druhů ţzávorek� naleznete v tabulce 3.8 na straně 48.

a, b, c ≠ {a, b, c}

“begin–displaymath˝ –a,b,c˝ “neq“–a,b,c“˝ “end–displaymath˝

Uvedeme-li před otevírací závorkou příkaz “left a před odpovídající zavírací závorkou příkaz “right, L^{A}TEX automaticky zvolí velikost závorek. Zde je nutno upozornit, že každému příkazu “left musí odpovídat “right, i když bychom nechtěli uzavírací závorku sázet. Pak se používá příkaz “right s tečkou (tj. ţ“right.�).

1 + (\frac{1}{1 − x^{2}} )^{3}

“begin–displaymath˝

1 + “left( “frac–1˝ – 1-xˆ –2˝ ˝

“right) ˆ 3 “end–displaymath˝

V některých případech je vhodné velikost závorek nastavit ţručně�. K tomu slouží příkazy “big, “Big, “bigg a “Bigg, jako prefix (předponu) většiny závorkovacích příkazů^{3}.

3Tyto příkazy v případě, že se změní velikost písma či v případě užití globálního parametru 11pt či 12pt, nepracují tak, jak by se od nich očekávalo. Tuto vlasnost však napravuje balík exscale nebo amsmath

\begin{matrix}((x + 1)(x − 1))^{2} \\ ( & ( & ( & ( & \} & \} & \} & \} & ∥ & ∥ & ∥ & ∥ \end{matrix} $“Big( (x+1) (x-1) “Big) ˆ –2˝ $““ $“big(“Big(“bigg(“Bigg($“quad $“big“˝ “Big“˝ “bigg“˝ “Bigg“˝ $“quad $“big“—“Big“—“bigg“—“Bigg“—$

Tři tečky se ve vzorcích zadávají příkazy “ldots a “cdots. Příkaz “ldots sází tečky na základní čáru (low), “cdots sází tečky doprostřed výšky znaků (centered). Kromě toho existuje příkaz “vdots pro vertikální a “ddots pro diagonální tečky. Další příklady naleznete v oddílu 3.5.

x_{1}, …, x_{n} x_{1} + ⋯ + x_{n}

“begin–displaymath˝

x˙ –1˝ ,“ldots,x˙ –n˝ “qquad

x˙ –1˝ +“cdots+x˙ –n˝ “end–displaymath˝

Příkaz “stackrel se dvěma argumenty vysází jeden symbol nad druhý. První argument je sázen menší velikostí.

x⃗ =^{def} (x_{1}, …, x_{n})

“begin–displaymath˝

“vec–x˝

“stackrel–“mathrm–def˝ ˝ –=˝

(x˙ –1˝ ,“ldots,x˙ –n˝ ) “end–displaymath˝

V matematickém režimu lze také příkazem “cal přepnout implicitní matematickou kurzívu na psané písmo (kaligrafické písmo). Můžeme pak ovšem použít pouze velká písmena.

z ∈ Z z ∈ Z

“begin–displaymath˝ z “in Z “quad z “in –“cal Z˝ “end–displaymath˝

3.4 Mezery v matematice

Nejsme-li spokojeni ve vzorcích s mezerami, které zvolil TEX, můžeme je změnit explicitními příkazy. Mezi nejdůležitější patří “, pro malou mezeru, “ pro střední ( nahrazuje znak mezera), “quad a “qquad pro velké mezery. Příkaz “! mezeru zmenšuje (záporná malá mezera).

F_{n} = F_{n−1} + F_{n−2} n ≥ 2

“begin–displaymath˝

F˙ –n˝ = F˙ –n-1˝ + F˙ –n-2˝

“qquad n “ge 2 “end–displaymath˝

∫∫_{D} g(x, y) dx dy

namísto

∫ ∫_{D} g(x, y)dxdy

“newcommand–“ud˝ –“mathrm–d˝ ˝ “begin–displaymath˝ “int“!“!“!“int˙ –D˝ g(x,y) “, “ud x“, “ud y “end–displaymath˝ namísto “begin–displaymath˝ “int“int˙ –D˝ g(x,y)“ud x “ud y “end–displaymath˝

Znak ţd� v diferenciálu se obvykle sází vzpřímeným typem písma.

3.5 Sazba na více řádků

Pro sazbu matic aj. se používá prostředí array, které se chová podobně jako prostředí tabular. Příkazem ““ se dělí řádky.

X = ( \begin{matrix}x_{11} & x_{12} & … \\ x_{21} & x_{22} & … \\ ⋮ & ⋮ & ... \end{matrix} )

“begin–displaymath˝ “mathbf–X˝ = “left( “begin–array˝ –ccc˝ x˙ –11˝ & x˙ –12˝ & “ldots ““ x˙ –21˝ & x˙ –22˝ & “ldots ““ “vdots & “vdots & “ddots “end–array˝ “right) “end–displaymath˝

Prostředí array lze rovněž použít pro sazbu výrazů, jež obsahují oddělovač v tečkované formě, jako neviditelnou pravou závorku:

y = \{ \begin{matrix}a & if d > c \\ b + x & in the morning \\ l & all day long \end{matrix}

(3.5)

“begin–equation˝

y = “left“– “begin–array˝ –ll˝ a & “textrm–if $d¿c$˝ ““ b+x & “textrm–in the morning˝ ““ l & “textrm–all day long˝ “end–array˝ “right.

“end–equation˝

Víceřádkové vzorce nebo systémy rovnic se sázejí pomocí prostředí eqnarray a eqnarray* místo equation. Při použití eqnarray obsahuje každý řádek číslo rovnice (pokud to u některého řádku nezakážeme), při eqnarray* nikoli (jako v displaymath). Systémy rovnic, které jsou číslovány jako jeden objekt, se mohou zadávat v prostředí array uvnitř prostředí equation, viz předchozí příklad.

Na prostředí eqnarray a eqnarray* lze nahlížet jako na tabulku o třech sloupcích se specifikací –rcl˝ , kde prostřední sloupec lze užít pro některý z operátorů; většinou rovnítko. Příkaz ““ i zde slouží k oddělování jednotlivých řádek.

f(x) = cos x (3.6)
f′(x) = − sin x (3.7)
∫_{0}^{x} f(y)dy = sin x (3.8)

“begin–eqnarray˝

f(x) & = & “cos x ““ f’(x) & = & -“sin x ““ “int˙ –0˝ ˆ –x˝ f(y)dy & = & “sin x “end–eqnarray˝

Všimněte si, že kolem středního sloupce je zbytečně mnoho místa. Totom místo lze měnit nastavením “setlength“arraycolsep–2pt˝ tak, jako v následujícím příkladu.

Dlouhé rovnice nejsou automaticky L^{A}TEXem děleny na několik řádek. Autor textu proto musí určit, kde se rovnice má rozdělit a musí vložit patřičnou mezeru na počátek druhého řádku rozdělené rovnice. Následující dva příklady ilustrují dva nejčastěji užívané přístupy k řešení tohoto problému.

\begin{aligned}sin x & = & x − \frac{x^{3}}{3!} + \frac{x^{5}}{5!} − \\ & & − \frac{x^{7}}{7!} + ⋯ & (3.9) \end{aligned}

–“setlength“arraycolsep–2pt˝

“begin–eqnarray˝

“sin x & = & x -“frac–xˆ –3˝ ˝ –3!˝ +“frac–xˆ –5˝ ˝ –5!˝ -–˝

“nonumber““

& & –˝ -“frac–xˆ –7˝ ˝ –7!˝ +–˝ “cdots “end–eqnarray˝ ˝

\begin{matrix}cos x = 1 − \frac{x^{2}}{2!} + \\ + \frac{x^{4}}{4!} − \frac{x^{6}}{6!} + ⋯ & (3.10) \end{matrix}

“begin–eqnarray˝ “lefteqn– “cos x = 1

-“frac–xˆ –2˝ ˝ –2!˝ +–˝ ˝

“nonumber““

& & –˝ +“frac–xˆ –4˝ ˝ –4!˝

-“frac–xˆ –6˝ ˝ –6!˝ +–˝ “cdots “end–eqnarray˝

Příkaz “nonumber zajistí, že pro daný řádek se nesází číslo rovnice.

Někdy je velice těžké, aby vertikálně zarovnané rovnice za použití těchto dvou způsobů vypadali hezky. V takovém případě je dobré užít balíku amsmath, který k řešení takových problémů nabízí daleko silnější aparát.

3.6 Velikost písma při sazbě matematiky

V matematickém režimu velikost písma vybírá TEX podle kontextu. Například indexy jsou sazeny menším typem písma. Jestliže je třeba do sázeného matematického vzorce vysázet text v běžném vzpřímeném typu písma, je možné užít příkaz “textrm, mechanismus automatické změny velikosti písma dle kontextu však přestane fungovat, jelikož příkaz “textrm dočasně přepne sazbu do textového režimu. Chceme-li, aby mechanismus automatické změny velikosti nepřestal fungovat, je lépe užít namísto příkazu “textrm příkaz “mathrm.

2nd 2^{nd} (3.11)

“begin–equation˝

2ˆ “textrm–nd˝ “quad

2ˆ “mathrm–nd˝ “end–equation˝

Někdy je však L^{A}TEXu potřeba říci jakou velikost fontu má užít. V matematickém režimu se velikost fontu nastavuje těmito čtyřmi příkazy:

“displaystyle (123), “textstyle (123), “scriptstyle (123) a “scriptscriptstyle (123).

Změnou matematického stylu je ovlivněna také sazba limit některých matematických symbolů.

corr(X, Y) = \frac{∑_{i=1}^{n}(x_{i} − \overline{x})(y_{i} − \overline{y})}{[∑_{i=1}^{n}(x_{i} − \overline{x})^{2} ∑_{i=1}^{n}(y_{i} − \overline{y})^{2}]^{1/2}}

“begin–displaymath˝

“mathop–“mathrm–corr˝ ˝ (X,Y)= “frac–“displaystyle

“sum˙ –i=1˝ ˆ n(x˙ i-“overline x) (y˙ i-“overline y)˝ –“displaystyle“biggl[ “sum˙ –i=1˝ ˆ n(x˙ i-“overline x)ˆ 2 “sum˙ –i=1˝ ˆ n(y˙ i-“overline y)ˆ 2 “biggr]ˆ –1/2˝ ˝ “end–displaymath˝

Toto je jeden z případů, kdy je třeba použít menších závorek, než nabízí standardní “left[ a “right].

3.7 Popis proměnných

Po některých matematických výrazech je nutné uvést odstavec popisující proměnné užité ve výrazu. Následující příklad ukazuje jeden způsob možného přístupu k tomuto problému.

a^{2} + b^{2} = c^{2}

Kde: a, b – jsou přilehlé odvěsny pravoúhlého trojúhelníku.

c – je přepona pravoúhlého trojúhelníku.

“begin–displaymath˝

aˆ 2+bˆ 2=cˆ 2

“end–displaymath˝

–“settowidth–“parindent˝ –Kde:“ ˝

“makebox[0pt][r]

–Kde:“ ˝ $a$, $b$ -- jsou přilehlé odvěsny pravoúhlého trojúhelníku.

$c$ -- je přepona pravoúhlého trojúhelníku.˝

Je-li potřeba takovéto konstrukce sázet častěji, je vhodné užitím příkazu “newenvironment nadefinovat nové prostředí .

3.8 Věty, zákony, …

Při sazbě matematických textů je pořeba sázet definice, věty, lemma a podobné konstrukce. L^{A}TEX k sazbě takovýchto konstrukcí nabízí příkaz

“newtheorem–jméno˝ [čítač ]–text˝ [oddíl]

Argument jméno je krátké klíčové slovo, které identifikuje danou konstrukci. Argument text specifikuje aktuální jméno dané konstrukce, jež se objeví ve výsledném dokumentu.

Argumenty v hranatých závorkách jsou nepovinné. Oba tyto nepovinné parametry nějakým způsobem ovlivňují číslování dané konstrukce. Argumentem čítač se lze odvolat na jméno, již dříve nadefinované struktury. Argument oddíl určuje dělící jednotku, uvnitř které bude daná konstrukce číslována.

Po užití příkazu “newtheorem v preambuli dokumentu, lze užít uvnitř vlastního dokumentu následující příkazy.

“begin–jméno˝ [text]

Tato důležitá věta matematiky “end–name˝

Skončeme s teorií. Následující příklady vám snad napomohou pochopit k čemu je vlastně dobré prostředí “newtheorem.

Zákon 1 Šéf má vždycky pravdu!

Přikázání 2 (pro podřízené) Nemá-li šéf pravdu, viz zákon 1.

Zákon 3 Vždy platí zákon 1!

% definitions for the document

% preamble

“newtheorem–zakon˝ –Zákon˝

“newtheorem–prikaz˝ [zakon]–Přikázání˝ %in the document “begin–zakon˝ “label–zak:sef˝ Šéf má vždycky pravdu! “end–zakon˝ “begin–prikaz˝ [pro podřízené]

Nemá-li šéf pravdu, viz zákon˜ “ref–zak:sef˝ . “end–prikaz˝ “begin–zakon˝ Vždy platí zákon˜ “ref–zak:sef˝ ! “end–zakon˝

Konstrukce ţPřikázání� užívá stejného čítače jako konstrukce ţZákon�, proto ţPřikázání� v našem příkladu plynule navazuje na číslování ţZákonů�. Další argument v hranatých závorkách určuje další nadpis, či poznámku k nadpisu, dané konstrukce.

Murphy 3.8.1 Co se může zkazit, to se také zkazí..

“newtheorem–mur˝ –Murphy˝ [section] “begin–mur˝ Co se může zkazit, to se také zkazí.. “end–mur˝

Konstrukce ţMurphy� má své číslo odvozené od čísla daného oddílu (section). Samozřejmě, že lze užít i jiné jednotky, např. kapitolu (chapter) nebo pododdíl (subsection).

3.9 Tučné symboly

Získat tučné symboly v L^{A}TEXu je poměrně složité; je to pravděpodobně proto, aby amatérští sazeči nezačali takových možností zneužívat. Příkaz pro změnu tučnosti písma “mathbf, avšak toto písmo je vzpřímené, ale matematické symboly se většinou sází matematickou kurzívou (skloněným typem písma). Existuje příkaz “boldmath, jež umí pracovat i s matematickými symboly, ale tento příkaz lze užít pouze vně matematického režimu.

μ, M  M  μ, M

“begin–displaymath˝

“mu, M “qquad “mathbf–M˝ “qquad “mbox–“boldmath $“mu, M$˝ “end–displaymath˝

Všimněte si, že čárka je také vysázena tučně, což nemusí být právě to, co jsme očekávali.

Užití balíku amsbsy (součást amsmath) umožňuje prostředky pro pohodlnou práci s tučnými matematickými symboly. Tento balík obsahuje příkaz “boldsymbol a tzv. příkaz poor man’s bold “pmb, který pracuje aniž by bylo potřeba instalovat nějaké zvláštní fonty pro tučné symboly.

μ, M  μ, M  μ μ μ,M M M

“begin–displaymath˝ “mu, M “qquad “boldsymbol–“mu˝ , “boldsymbol–M˝ “qquad “pmb–“mu˝ , “pmb–M˝ “end–displaymath˝

3.10 Seznam matematických symbolů

V následujících tabulkách jsou uvedeny všechny symboly, které lze standardně použít v matematickém režimu.

K používání symbolů v tabulkách 3.12–3.16^{4}, the package je třeba v preambuli dokumentu vložit balík amssymb a samozřejmě je třeba mít nainstalovány matematické AMS fonty. Není-li tento balík v systému nainstalován, lze ho získat na CTAN:/tex-archive/macros/latex/packages/amslatex

Tabulka 3.1: Matematické akcenty

â “hat–a  ˝  ǎ “check–a  ˝  ã “tilde–a  ˝  á “acute–a˝
à “grave–a  ˝  ȧ “dot–a  ˝  ä “ddot–a  ˝  ă “breve–a˝
ā “bar–a˝  a⃗ “vec–a˝  Â “widehat–A˝  Ã “widetilde–A˝

Tabulka 3.2: Malá řecká písmena

α “alpha  θ “theta  o o  υ “upsilon
β “beta  ϑ “vartheta  π “pi  ϕ “phi
γ “gamma  ι “iota  ϖ “varpi  φ “varphi
δ “delta  κ “kappa  ρ “rho  χ “chi
ϵ “epsilon  λ “lambda  ϱ “varrho  ψ “psi
ε “varepsilon  μ “mu  σ “sigma  ω “omega
ζ “zeta  ν “nu  ς “varsigma
η “eta  ξ “xi  τ “tau

Tabulka 3.3: Velká řecká písmena

Γ “Gamma Λ “Lambda Σ “Sigma  Ψ “Psi
Δ “Delta Ξ “Xi  Υ “Upsilon Ω “Omega
Θ “Theta Π “Pi  Φ “Phi

4Tyto tabulky byly odvozeny od symbols.tex Davida Carlisle, pozměněné tak, jak to doporučil Josef Tkadlec.

Tabulka 3.4: Binární relace

Následující relační operátory mají své negované protějšky. Negovaný operátor se vysází přidáním příkazu “not před příslušný symbol.

< ¡  > ¿  = =
≤ “leq či “le  ≥ “geq či “ge  ≡ “equiv
≪ “ll  ≫ “gg  ≐ “doteq
≺ “prec  ≻ “succ  ∼ “sim
⪯ “preceq  ⪰ “succeq  ≃ “simeq
⊂ “subset  ⊃ “supset  ≈ “approx
⊆ “subseteq  ⊇ “supseteq  ≅ “cong
⊏ “sqsubset ^{a}  ⊐ “sqsupset ^{a}  ⋈ “Join ^{a}
⊑ “sqsubseteq  ⊒ “sqsupseteq  ▷◁ “bowtie
∈ “in  ∋ “ni , “owns  ∝ “propto
⊢ “vdash  ⊣ “dashv  ⊧ “models
| “mid  ∥ “parallel  ⊥ “perp
⌣ “smile  ⌢ “frown  ≍ “asymp
: :  ∉ “notin  ≠ “neq či “ne

a K vysázení těchto symbolů je třeba vložit balík latexsym.

Tabulka 3.5: Binární operátory

+ +  − -
± “pm  ∓ “mp  ◁ “triangleleft
· “cdot  ÷ “div  ▷ “triangleright
× “times  \ “setminus  ⋆ “star
∪ “cup  ∩ “cap  ∗ “ast
⊔ “sqcup  ⊓ “sqcap  ∘ “circ
∨ “vee , “lor  ∧ “wedge , “land  • “bullet
⊕ “oplus  ⊖ “ominus  ⋄ “diamond
⊙ “odot  ⊘ “oslash  ⊎ “uplus
⊗ “otimes  ◯ “bigcirc  ⨿ “amalg
△ “bigtriangleup  ▽ “bigtriangledown  † “dagger
⊲ “lhd ^{a}  ⊳ “rhd ^{a}  ‡ “ddagger
⊴ “unlhd ^{a}  ⊵ “unrhd ^{a}  ≀ “wr

48  Sázení matematických vzorců

Tabulka 3.6: Velké operátory

∑ “sum  ⋃ “bigcup  ⋁ “bigvee  ⨁ “bigoplus
∏ “prod  ⋂ “bigcap  ⋀ “bigwedge ⨂ “bigotimes
∐ “coprod ⨆ “bigsqcup  ⨀ “bigodot
∫ “int ∮ “oint ⨄ “biguplus

Tabulka 3.7: Šipky

← “leftarrow či “gets  ⟵ “longleftarrow  ↑ “uparrow
→ “rightarrow či “to  ⟶ “longrightarrow  ↓ “downarrow
↔ “leftrightarrow  ⟷ “longleftrightarrow  ↕ “updownarrow
⇐ “Leftarrow  ⟸ “Longleftarrow  ⇑ “Uparrow
⇒ “Rightarrow  ⟹ “Longrightarrow  ⇓ “Downarrow
⇔ “Leftrightarrow  ⟺ “Longleftrightarrow  ⇕ “Updownarrow
↦ “mapsto  ⟼ “longmapsto  ↗ “nearrow
↩ “hookleftarrow  ↪ “hookrightarrow  ↘ “searrow
↼ “leftharpoonup  ⇀ “rightharpoonup  ↙ “swarrow
↽ “leftharpoondown  ⇁ “rightharpoondown  ↖ “nwarrow
⇌ “rightleftharpoons  ⟺ “iff (větší mezery)  ⇝ “leadsto ^{a}

a K vysázení těchto symbolů je třeba vložit balík latexsym.

Tabulka 3.8: Závorky

( (  ) )  ↑ “uparrow  ⇑ “Uparrow
[ [ či “lbrack  ] ] či “rbrack  ↓ “downarrow  ⇓ “Downarrow
{ “– či “lbrace } “˝ či “rbrace ↕ “updownarrow  ⇕ “Updownarrow
⟨ “langle  ⟩ “rangle  | — či “vert  ∥ “— či “Vert
⌊ “lfloor  ⌋ “rfloor  ⌈ “lceil  ⌉ “rceil
/ /  \ “backslash  . (párová neviditelná)

Tabulka 3.9: Velké závorky

{ “lgroup } “rgroup { “lmoustache } “rmoustache
| “arrowvert ∥ “Arrowvert | “bracevert

3.10 Seznam matematických symbolů  49

Tabulka 3.10: Různé symboly

… “dots  ⋯ “cdots  ⋮ “vdots  ... “ddots
ℏ “hbar  ı “imath  ȷ “jmath  ℓ “ell
ℜ “Re  ℑ “Im  ℵ “aleph  ℘ “wp
∀ “forall  ∃ “exists  ℧ “mho ^{a}  ∂ “partial
′ ’  ′ “prime  ∅ “emptyset ∞ “infty
∇ “nabla  △ “triangle  □ “Box ^{a}  ◇ “Diamond ^{a}
⊥ “bot  ⊤ “top  ∠ “angle  √ “surd
♢ “diamondsuit  ♡ “heartsuit  ♣ “clubsuit  ♠ “spadesuit
¬ “neg or “lnot  ♭ “flat  ♮ “natural  ♯ “sharp

a K vysázení těchto symbolů je třeba vložit balík latexsym.

Tabulka 3.11: Nematematické symboly

Tyto symboly lze užít i v textovém režimu.

† “dag  § “S \begin{matrix}c \\ ◯ \end{matrix} “copyright
‡ “ddag ¶ “P $ “pounds

Tabulka 3.12: AMS — závorky

⌜ “ulcorner ⌝ “urcorner ⌞ “llcorner ⌟ “lrcorner

Tabulka 3.13: AMS — řecké a hebrejské znaky

𝟋 “digamma κ “varkappa ℶ “beth ℸ “daleth ℷ “gimel

Tabulka 3.14: AMS — binární relace

⋖ “lessdot  ⋗ “gtrdot  ≑ “doteqdot či “Doteq
⩽ “leqslant  ⩾ “geqslant  ≓ “risingdotseq
⪕ “eqslantless  ⪖ “eqslantgtr  ≒ “fallingdotseq
≦ “leqq  ≧ “geqq  ≖ “eqcirc
≪ “lll či “llless  ≫ “ggg či “gggtr  ≗ “circeq
≲ “lesssim  ≳ “gtrsim  ≜ “triangleq
⪅ “lessapprox  ⪆ “gtrapprox  ≏ “bumpeq
≶ “lessgtr  ≷ “gtrless  ≎ “Bumpeq
⋚ “lesseqgtr  ⋛ “gtreqless  ∼ “thicksim
⪋ “lesseqqgtr  ⪌ “gtreqqless  ≈ “thickapprox
≼ “preccurlyeq  ≽ “succcurlyeq  ≊ “approxeq
⋞ “curlyeqprec  ⋟ “curlyeqsucc  ∽ “backsim
≾ “precsim  ≿ “succsim  ⋍ “backsimeq
≾ “precapprox  ≿ “succapprox  ⊨ “vDash
⫅ “subseteqq  ⫆ “supseteqq  ⊩ “Vdash
⋐ “Subset  ⋑ “Supset  ⊪ “Vvdash
⊏ “sqsubset  ⊐ “sqsupset  ϶ “backepsilon
∴ “therefore  ∵ “because  ∝ “varpropto
∣ “shortmid  ∥ “shortparallel  ≬ “between
⌣ “smallsmile  ⌢ “smallfrown  ⋔ “pitchfork
◁ “vartriangleleft  ▷ “vartriangleright  ◀ “blacktriangleleft
⊴ “trianglelefteq  ⊵ “trianglerighteq  ▶ “blacktriangleright

Tabulka 3.15: AMS — šipky

←−− “dashleftarrow  −−→ “dashrightarrow  ⊸ “multimap
⇇ “leftleftarrows  ⇉ “rightrightarrows  ⇈ “upuparrows
⇆ “leftrightarrows  ⇄ “rightleftarrows  ⇊ “downdownarrows
⇚ “Lleftarrow  ⇛ “Rrightarrow  ↿ “upharpoonleft
↞ “twoheadleftarrow  ↠ “twoheadrightarrow  ↾ “upharpoonright
↢ “leftarrowtail  ↣ “rightarrowtail  ⇃ “downharpoonleft
⇋ “leftrightharpoons  ⇌ “rightleftharpoons  ⇂ “downharpoonright
↰ “Lsh  ↱ “Rsh  ⇝ “rightsquigarrow
↫ “looparrowleft  ↬ “looparrowright  ↭ “leftrightsquigarrow
↶ “curvearrowleft  ↷ “curvearrowright
⟲ “circlearrowleft  ⟳ “circlearrowright

Tabulka 3.16: AMS — negované binární relace a šipky

≮ “nless  ≯ “ngtr  ⫋ “varsubsetneqq
⪇ “lneq  ⪈ “gneq  ⫌ “varsupsetneqq
≰ “nleq  ≱ “ngeq  ⫅̸ “nsubseteqq
⩽̸ “nleqslant  ⩾̸ “ngeqslant  ⫆̸ “nsupseteqq
≨ “lneqq  ≩ “gneqq  ∤ “nmid
≨ “lvertneqq  ≩ “gvertneqq  ∦ “nparallel
≦̸ “nleqq  ≧̸ “ngeqq  ∤ “nshortmid
⋦ “lnsim  ⋧ “gnsim  ∦ “nshortparallel
⪉ “lnapprox  ⪊ “gnapprox  ≁ “nsim
⊀ “nprec  ⊁ “nsucc  ≇ “ncong
⪯̸ “npreceq  ⪰̸ “nsucceq  ⊬ “nvdash
⪵ “precneqq  ⪶ “succneqq  ⊭ “nvDash
⋨ “precnsim  ⋩ “succnsim  ⊮ “nVdash
⪹ “precnapprox  ⪺ “succnapprox  ⊯ “nVDash
⊊ “subsetneq  ⊋ “supsetneq  ⋪ “ntriangleleft
⊊ “varsubsetneq  ⊋ “varsupsetneq  ⋫ “ntriangleright
⊈ “nsubseteq  ⊉ “nsupseteq  ⋬ “ntrianglelefteq
⫋ “subsetneqq  ⫌ “supsetneqq  ⋭ “ntrianglerighteq
↚ “nleftarrow  ↛ “nrightarrow  ↮ “nleftrightarrow
⇍ “nLeftarrow  ⇏ “nRightarrow  ⇎ “nLeftrightarrow

Tabulka 3.17: AMS — binární operátory

∔ “dotplus  ▪ “centerdot  ⊺ “intercal
⋉ “ltimes  ⋊ “rtimes  ⋇ “divideontimes
⋓ “Cup či “doublecup ⋒ “Cap or “doublecap ∖ “smallsetminus
⊻ “veebar  ⊼ “barwedge  ⩞ “doublebarwedge
⊞ “boxplus  ⊟ “boxminus  ⊝ “circleddash
⊠ “boxtimes  ⊡ “boxdot  ⊚ “circledcirc
⋋ “leftthreetimes  ⋌ “rightthreetimes  ⊛ “circledast
⋎ “curlyvee  ⋏ “curlywedge

Tabulka 3.18: AMS — různé symboly

ℏ “hbar  ℏ “hslash  𝕜 “Bbbk
□ “square  ■ “blacksquare  Ⓢ “circledS
△ “vartriangle  ▲ “blacktriangle  ∁ “complement
▽ “triangledown  ▼ “blacktriangledown  ⅁ “Game
♢ “lozenge  ♦ “blacklozenge  ⋆ “bigstar
∠ “angle  ∡ “measuredangle  ∢ “sphericalangle
⧸ “diagup  ⧹ “diagdown  ‵ “backprime
∄ “nexists  Ⅎ “Finv  ∅ “varnothing
ð “eth  ℧ “mho

Tabulka 3.19: Matematická abeceda

Příklad Příkaz  Potřebný balík
ABCdef “mathrm–ABCdef˝
ABCdef “mathit–ABCdef˝
ABCdef “mathnormal–ABCdef˝
ABC  “mathcal–ABC˝
𝒜ℬ𝒞  “mathcal–ABC˝  eucal s volbou: mathcal
či  “mathscr–ABC˝  eucal s volbou : mathscr
𝔄𝔅ℭ𝔡𝔢𝔣 “mathfrak–ABCdef˝  eufrak, amsfonts či amssymb
𝔸𝔹ℂ  “mathbb–ABC˝  amsfonts či amssymb

Speciality

Nyní byste měli být vybaveni dostatkem informací k vlastnímu napsání článku, knihy, referátu v L^{A}TEXu. Tato kapitola je zde jaksi navíc a proto není nutné ji číst. Teprve až při psaní svých dokumentů narazíte na nějaký problém, který nelze vyřešit dosud zmíněnými prostředky, nahlédněte do této kapitoly. Avšak ani tato kapitola neobsahuje zdaleka všechny jemnosti L^{A}TEXu. Kompletnější informace naleznete v knihách L^{A}TEX Manual [1] a The L^{A}TEX Companion [3].

4.1 Druhy a velikosti písma

L^{A}TEX volí vhodný druh a velikost písma na základě příkazů, které udávají logickou strukturu textu (nadpisy, zdůraznění atd.). Ve zvláštních případech lze změnit druh, nebo velikost písma, pomocí příkazů uvedených v tab. 4.1 a 4.2. Druh písma, který L^{A}TEX v daném dokumentu užije, zavisí do značné míry také na užité třídě, všech různých volbách třídy a na dalších užitých balíčcích.

Malí tuční Římané ovládli celou

velkou Itálii.

–“small Malí

“textbf–tuční˝ Římané ovládli˝ –“Large celou velkou “textit–Itálii˝ .˝

Jedním důležitým rysem L^{A}TEXu je, že atributy písma jsou nezávislé. To znamená, že lze změnit např. velikost písma, přičemž se zachová atribut tloušťky či sklonu písma nastavené dříve. Tato věc se moždá zdá zřejmá lidem, jež se učí L^{A}TEX 2ε od začátku, avšak nemusí to být úplně jasné lidem přecházející na L^{A}TEX 2ε z L^{A}TEXu 2.09.

Užitím příkazů pro změnu typu písma v matematickém režimu lze dočasně tento mód opustit a tak vysázet do matematiky běžný text. Je-li třeba přejít na jiný typ písma uvnitř matematického režimu, je třeba užít zvláštních příkazů; viz tab. 4.3.

Tabulka 4.1: Druhy písma

“textrm–...˝  normální písmo — antikva (roman)
“textsf–...˝  bezserifové písmo (sans serif)
“texttt–...˝  strojopisné písmo (typewriter)
“textmd–...˝  střední písmo (medium)
“textbf–...˝  polotučné písmo (bold face)
“textup–...˝  vzpřímené písmo (upright)
“textit–...˝  kurzíva (italic)
“textsl–...˝  skloněné písmo (slanted)
“textsc–...˝  kapitálky (small caps)
“emph–...˝  zvýrazněné písmo (emphasised)
“textnormal–...˝  běžné písmo dokumentu font

Tabulka 4.2: Velikosti písma

“tiny  nejmenší písmo
“scriptsize  velmi malé písmo (velikost indexů)
“footnotesize  malé písmo (velikost pozmámek pod čarou)
“small  menší písmo
“normalsize  písmo běžné velikosti
“large  velké písmo
“Large  větší písmo
“LARGE  velké písmo
“huge  velmi velké písmo
“Huge  největší písmo

Ve spojení s těmito příkazy pro změnu typu písma, hrají nemalou roli složené závorky. Ty se užívají k vytváření tzv. skupin. Skupiny ohraničují platnost většiny příkazů L^{A}TEXu.

Má rád velká i malá písmenka.

Má rád –“LARGE velká i –“small malá˝ písmenka˝ .

Se změnou velikosti písma se mění také řádkování, ale jen v případě, že odstavec končí ještě uvnitř platnosti příkazu pro změnu velikosti písma. Proto není dobré uzavírací složenou závorku ˝ vkládat do vstupního textu příliš brzy. Všimněte si umístění příkazu “par v následujících dvou příkladech.

Nečtěte to! Není to pravda! To mi můžete věřit!

–“Large Nečtěte to! Není to pravda! To mi můžete věřit!“par˝

Toto není pravda. Avšak nezapomeňte, že jsem lhář!

–“Large Toto není pravda. Avšak nezapomeňte, že jsem lhář!˝ “par

Závěrem naší exkurze do světa písma přijměte tuto radu^{1}:

\underline{Zapamatujte si!} Čím VÍCE druhůpísma použijete ve svém textu, tím se stane čitelnějším a hezčím.

1Pozor: Toto je myšleno s nadsázkou, jak jistě bystrý čtenář ihned odhalil.

Tabulka 4.3: Matematická písma

Příkaz  Příklad  Výstup
“mathcal–...˝  $“mathcal–B˝ =c$  B = c
“mathrm–...˝  $“mathrm–K˝ ˙ 2$  K_{2}
“mathbf–...˝  $“sum x=“mathbf–v˝ $  ∑ x = v
“mathsf–...˝  $“mathsf–G“times R˝ $  G × R
“mathtt–...˝  $“mathtt–L˝ (b,c)$  L(b, c)
“mathnormal–...˝  $“mathnormal–R˙ –19˝ ˝ “neq R˙ –19˝ $ R_{19} ≠ R_{19}
“mathit–...˝  $“mathit–ffi˝ “neq ffi$  ffi ≠ ffi

4.2 Mezery

4.2.1 Mezery mezi řádky

Je-li třeba docílit větších mezer mezi sázenými řádky, je vhodné užít příkazu

“linespread–faktor˝

v preambuli dokumentu. Pro řádkování ţjedna a půl� se užije “linespread–1.3˝ a pro řádkování ţdva� “linespread–1.6˝ . Běžně však není nutné řádky od sebe oddalovat, proto je standardně faktor oddálení řádek nastaven na hodnotu 1.

4.2.2 Formátování odstavce

V L^{A}TEXu jsou dva parametry, které ovlivňují vzhled odstavce. Umístěním definice, která může vypadat například takto:

“setlength–“parindent˝ –0pt˝

“setlength–“parskip˝ –1ex plus 0.5ex minus 0.2ex˝

v preambuli dokumentu^{2} lze změnit vzhled všech odstavců. V těchto dvou definicích jsme nejprve zakázali odsazení začátku každého odstavce (nastavili jsme hodnotu registru “parindent na nulu) a poté jsme zvětšili mezeru mezi dvěma odstavci (nastavili jsme hodnotu registru “parskip na 1ex s mírnou vůlí. Takovýto formát odstavců — neodsazované odstavce oddělené mezerou — je v Evropě běžný. Avšak pozor, toto nastavení má vliv i na sazbu tabulky obsahu, kde vlastně každá řádka obsahu je odstavcem. Proto se řádky v obsahu od sebe také vzdálí o hodnotu nastavenou v “parskip.

Je-li třeba odsadit odstavec, který není automaticky odsazen, je dobré užít na začátku takového odstavce příkaz:

“indent

Tento příkaz lze užít v případě, že “parindent je nenulové. Například, chceme-li, aby na počátku dané sekce byl první odstavec také odsazen.^{3}

Chceme-li v daném odstavci zakázat jeho odsazení, uvedeme jako první příkaz tohoto odstavce:

“noindent

Toho se užívá v případě, že se dokument začíná čistým textem a nikoli nějakým příkazem pro strukturalizaci dokumentu.

2Mezi příkazy \documentclass a \begin{document}.

3Chceme-li dosáhnout toho, aby byl odsazen první odstavec každé sekce, je lépe použít balíku indentfirst ze souboru balíků ţtools�.

\underline{4.2 Mezery 57}

4.2.3 Horizontální mezery

L^{A}TEX sám nastavuje velikost mezer mezi slovy a větami. Někdy je však potřeba přidat do textu horizontální mezeru, k tomu se užívá příkaz:

“hspace–délka˝

Je-li třeba mezeru zachovat i v případě, že připadne na konec či začátek řádky, užije se místo příkazu “hspace jeho ohvězdičkované verze tj. “hspace*. Parametr délka je v nejjednodužším případě číslice následovaná jednotkou délky. Nejdůležitější jednotky jsou uvedeny v tabulce 4.4.

Zde je  mezera 1.5 cm.  Zde je“hspace–1.5cm˝ mezera 1.5˜ cm.

Příkaz

“stretch–n˝

umožňuje vytvořit zvláštní druh mezery — pružnou mezeru. Tato mezera má schopnost roztáhnout se tak, že zaplní veškeré zbylé místo na daném řádku. L^{A}TEX zavádí pro “stretch–1˝ ekvivalent “fill a pro “hspace–“fill˝ ekvivalent “hfill.

A B CD A B CD A B CD A B CD A B “hspace–“stretch–3˝ ˝ CD““ A B “hspace–“stretch–1˝ ˝ CD““ A B “hspace–“fill˝ CD““ A B “hfill–˝ CD““

Jestliže se v tom samém řádku sejde více příkazů typu “hspace–“stretch–n˝ ˝ , příslušné pružné mezery se napnou v poměru příslušných faktorů n.

A  B  C  D

A“hspace–“stretch–2˝ ˝ B“hspace–“stretch–1˝ ˝ C“hspace–“stretch–3˝ ˝ D

Pro sazbu některých seznamů, například obsahu, je třeba pružně vyplnit místo na řádku tečkami či linkou, přižemž předem není známo kolik bude potřeba teček či jak dlouhou linku bude třeba užít. Pro tento účel L^{A}TEX zavádí příkazy “dotfill a “hrulefill.

A  B  C ...... D

A “hrulefill–˝ B “hspace–“stretch–2˝ ˝ C “dotfill–˝ D

Tabulka 4.4: Jednotky délky užívané v TEXu

mm milimetr = 1/25,4 in
cm centimetr = 10 mm
in palec (inch, coul) = 25,4 mm
pt monotypový bod (point) = 1/72,27 in ≈ \frac{1}{3} mm
em ≈ šířka písmene M aktuálního typu písma
ex ≈ výška písmene x aktuálního typu písma

4.2.4 Vertikální mezery

Mezery mezi odstavci, kapitolami atd. určuje L^{A}TEX sám. Ve zvláštních případech lze zvětšit mezeru mezi dvěma odstavci příkazem:

“vspace–délka˝

Tento příkaz bychom měli zadávat vždy mezi dvěma prázdnými řádky. Pokud má mezera zůstat také na začátku nebo na konci stránky, musíme namísto “vspace použít jeho ohvězdičkovanou verzi, tj. “vspace*.

Příkazy v tab. 4.5 vytvářejí speciální vertikální mezery.

Tabulka 4.5: Zvláštní vertikální mezery

“smallskip přibližně 1/4 řádku “medskip přibližně 1/2 řádku “bigskip přibližně 1 řádek “vfill ekvivalent k “vspace–“stretch–1˝ ˝

Příkaz “stretch ve spojení s “pagebreak slouží k vysázení textu na dolní okraj stránky nebo k vertikálnímu centrování textu.

Nějaký text “ldots

“vspace–“stretch–1˝ ˝ Tento text bude vysázen na poslední řádku stránky.“pagebreak

Mezeru mezi řádky uvnitř odstavce či tabulky můžeme zvětšit příkazem:

““[délka]

4.3 Vzhled stránky

L^{A}TEX 2ε umožňuje nastavit rozměr papíru, na nejž chceme text sázet, přímo v příkazu “documentclass. Podle této specifikace si pak sám nastaví okraje. Avšak někdy autor potřebuje tyto přednastavené hodnoty upravit podle svých představ. Na obrázku 4.1 jsou zobrazeny veškeré nastavitelné parametry, které ovlivňují vzhled stránky. Tento obrázek byl vytvořen s využitím balíku layout, který je součástí souboru balíků tools^{4}.

L^{A}TEX nabízí dva příkazy pomocí nichž lze tyto parametry měnit. Obyčejně se objevují v preambuli dokumentu.

První příkaz umožňuje přiřadit libovolnému z těchto parametrů pevnou hodnotu:

“setlength–parameter˝ –délka˝

Druhý umožňuje zvětšit libovolný z těchto parametrů o pevný rozměr délka.

“addtolength–parameter˝ –délka˝

Tento příkaz je možná užitečnější než “setlength, neboť umožňuje nastavovat rozměry vzhledem k již nastaveným hodnotám. Přidání jednoho centimetru k celkové šířce textu by se provedlo vložením těchto příkazů do preambule dokumentu:

“addtolength–“hoffset˝ –-0.5cm˝ “addtolength–“textwidth˝ –1cm˝

4.4 Sazba seznamu použité literatury

Seznam použité literatury se vysází pomocí prostředí thebibliography. Každá položka v seznamu literatury začíná příkazem:

“bibitem–značka˝

kde značka se používá v těle dokumentu při odkazu na uvedené dílo.

“cite–značka˝

Číslování položek seznamu se děje automaticky, přičemž parametrem prostředí thebibliography se nastaví maximální šířka tohoto čísla.

4CTAN:/tex-archive/macros/latex/packages/tools

60  Speciality

[figure: Záhlaví; Tělo; Pata; Margi- nálie; 8; 7; 1; 3; 10; 9; 11; 2; 4; 5; 6]
1 jeden palec + “hoffset  2 jeden palec + “voffset
3 “evensidemargin = 70pt  4 “topmargin = 22pt
5 “headheight = 13pt  6 “headsep = 19pt
7 “textheight = 595pt  8 “textwidth = 360pt
9 “marginparsep = 7pt  10 “marginparwidth = 106pt
11 “footskip = 27pt  “marginparpush = 5pt (nevyobrazen)
“hoffset = 0pt  “voffset = 0pt
“paperwidth = 597pt  “paperheight = 845pt

Obrázek 4.1: Parametry ovlivňující vzhled stránky

\underline{61}

Partl [1] dodává, že …

Literatura

[1] H. Partl: German TEX, TUGboat Vol. 9, No. 1 (’88)

Partl˜ “cite–pa˝ dodává, že “ldots

“begin–thebibliography˝ –99˝ “bibitem–pa˝ H.˜ Partl: “emph–German “TeX˝ , TUGboat Vol.˜ 9, No.˜ 1 (’88) “end–thebibliography˝

4.5 Tvorba rejstříku

Velmi užitečnou součástní většiny knih je rejstřík. Pomocí L^{A}TEXu a podpůrného programu makeindex,^{5} lze vytvořit rejstřík (index) poměrně jednoduše. Tento úvod objasňuje pouze základy tvorby indexů, daleko podrobnější popis naleznete např. v The L^{A}TEX Companion [3].

Aby bylo možno začít užívat automatickou tvorbu rejstříku v L^{A}TEXu je třeba v preambuli dokumentu užít balík makeidx, tj. vložit příkaz:

“usepackage–makeidx˝

Dále je třeba v preambuli vložit příkaz,

“makeindex

který spustí tvorbu příslušných souborů pro tvorbu indexu.

Obsah rejstříku se tvoří pomocí příkazu:

“index–položka˝

Kde argument položka je jedna položka, kterou chceme vložit do rejstříku. Tento příkaz se vkládá do toho místa v textu, na které chceme nasměrovat odkaz v rejstříku. Tabulka 4.6 na několika příkladech vysvětluje syntax argumentu položka.

Během zpracování vstupního souboru L^{A}TEXem každý příkaz “index zapisuje příslušný zápis názvu položky spolu s číslem aktuální stránky do

5V systémech, kreré neumožňují mít jména souborů delší jak osm znaků se program jmenuje makeidx.

Tabulka 4.6: Příklady položek vkládaných do rejstříku

Příklad  Položka v rejstříku  Poznámka
“index–jméno˝  jméno, 1  jednoduchá položka
“index–jméno!Petr˝  Petr, 3  subpoložka položky ţjméno�
“index–Sam@“textsl–Sam˝ ˝  Sam, 2  formátovaná položka
“index–Jan@“textbf–Jan˝ ˝  Jan, 7
“index–Jana—textbf˝ Jena, 3 formátované číslo stránky
“index–Jiří—textit˝  Jiří, 5

zvláštního souboru. Tento soubor má stejné jméno jako hlavní vstupní soubor a příponu .ind. Tento soubor je poté třeba zpracovat programem makeindex:

makeindex jméno souboru

Program makeindex vytvoří uspořádaný rejstřík a uloží jej do souboru s příponou .idx. Je-li nyní příslušný vstupní soubor znovu zpracován L^{A}TEXem, je tento uspořádaný resjtřík vysázen v místě výskytu příkazu:

“printindex

Užijeme-li balík showidx, pak L^{A}TEX vytiskne indexovou položku navíc na levý okraj aktuálně sázené stránky. Tato vlasnost je velice užitečná při tvorbě rejstříku a korektůr.

4.6 Vkládání obrázků ve formátu EPS

Prostředí figure a table L^{A}TEXu nabízí základní prostředky pro práci s plovoucími objekty (obrázky, grafika).

V současné době existuje velké množství možností jakými lze vytvářet grafický výstup (jednoduché obrázky, grafy,…) přímo pomocí příkazů L^{A}TEXu či některého z jeho podpůrných balíků. Žel většině začínajících uživatelů L^{A}TEXu se tento způsob zdá poněkud složitý a nepochopitelný — většinou totiž jde o příkazy umožňující vektorový popis daného obrázku. Proto se v tomto manuálku nebudeme tímto způsobem tvorby grafiky zabývat, pouze zvídavého čtenáře odkážeme na vynikající knihy, The L^{A}TEX Companion [3] a L^{A}TEX Manual [1], kde lze nalézt podrobnosti.

Asi nejjednožším způsobem, jak dostat grafiku do dokumentu, je vytvořit obrázek specializovaným programem^{6} a výsledek poté vložit do dokumentu. I v tomto případě nejste v L^{A}TEXu omezeni jen na jeden způsob takového vložení předem vytvořeného obrázku. V tomto úvodu se však omezíme jen na vkládání grafiky ve formě encapsulated PostScriptu (EPS) , jelikož tento způsob je asi nejužívanějším a možná i nejjednodužším.

Užijeme-li tohoto přístupu, je třeba po zpracování L^{A}TEXem převést výstup (soubor .dvi) do formátu PostScriptu a poté použít postscriptovou tiskárnu nebo programu GhostScript^{7}. který umožňuje tisk PostScriptu téměř na libovolném typu tiskárny.

Užitečnou sadu příkazů pro vkládání grafiky poskytuje balík graphicx D. P. Carlislea. Tento balík je součástí celé rodiny balíků, která se označuje jako ţgraphics bundle�^{8}.

V dalším předpokládejme, že pracujeme na systému, který má k dispozici PostSriptovou tiskárnu, je naistalován balík graphicx. Pak lze k vkládání grafiky do dokumentu užít následujících kroků:

1. Vyexportujeme obrázek z grafického programu ve formátu EPS.

2. Vložíme balík maker graphicx, tj. do preambule zdrojového textu vložíme příkaz

“usepackage[driver]–graphicx˝

driver je jméno programu, který bude užit ke koverzi dvi-souboru do postscriptu. ^{9}. Tuto informaci musíme balíku zdělit proto, že vlastní vkládání grafiky do tištěného dokumentu zajišťuje právě ovladač tisku, tj. konvertor DVI na příkazy tiskárny, v našem případě na příkazy postscriptu. Tím, že je znám ovladač driver, je zajištěno, že balík graphicx vloží do dvi-souboru správné příkazy na vložení požadovaného EPS obrázku.

Tabulka 4.7: Názvy klíčů pro balík graphicx

width úprava šířky vkládané grafiky na specifikovanou hodnotu
height úprava výšky vkládané grafiky na specifikovanou hodnotu
angle rotace obrázku ve směru hodinových ručiček

6Např. XFig, CorelDraw!, Freehand, Gnuplot, …

7CTAN:/tex-archive/support/ghostscript

8CTAN:/tex-archive/macros/latex/packages/graphics

9Nejužívanějším programem užívaným ke konverzi DVI na PS je program dvips.

3. Pro vložení souboru file s grafikou ve formátu EPS užijeme příkaz:

“includegraphics[klíč =hodnota, …]–file˝

Volitelným parametrem je seznam čárkou oddělených dvojic klíč =hodnota. Pomocí těchto klíčů lze měnit šířku, výšku a rotaci vkládané grafiky. V tabulce 4.7 je uveden seznam nejdůležitějších klíčů.

Pro názornost uveďme příklad:

“begin–figure˝ “begin–center˝ “includegraphics[angle=90, width=10cm]–test.eps˝ “end–center˝ “end–figure˝

Tímto kódem jsme do textu vložili grafiku uloženou v souboru test.eps. Obrázek je nejprve otočen o devadesát stupňů po směru hodinových ručiček a poté je upravena jeho velikost na šířku 10 cm, protože není explicitè uvedena výška, změní v příslušném poměru.

Více informací lze nalézt v [9], [3] a [4].

Literatura

[1] Leslie Lamport. L^{A}TEX: A Document Preparation System. Addison-Wesley, Reading, Massachusetts, second edition, 1994, ISBN 0-201-52983-1.

[2] Donald E. Knuth. The TEXbook, Volume A of Computers and Typesetting, Addison-Wesley Publishing Company (1984), ISBN 0-201-13448-9.

[3] Michel Goossens, Frank Mittelbach and Alexander Samarin. The L^{A}TEX Companion. Addison-Wesley, Reading, Massachusetts, 1994, ISBN 0-201-54199-8.

[4] Michel Goossens, Frank Mittelbach. The L^{A}TEX Graphic Companion. Addison-Wesley, Reading, Massachusetts, ISBN 0-201-85469-4,.

[5] Ke každé instalaci by měl být přibalen manuál L^{A}TEX Local Guide, ve kterém jsou uvedeny údaje specifické pro danou instalaci — např. příkazy potřebné pro spuštění programů a soubory, předdefinované formáty a fonty, které jsou k dispozici. Měl by být uložen v souboru local.tex. Žel, většina systémových administrátorů takový dokument nepořizuje. V takovém je nutné kontaktovat nějakého L^{A}TEXového guru, většinou jím bývá právě systémový administrátor.

[6] L^{A}TEX3 Project Team. L^{A}TEX 2ε for authors. Je součástí distribuce L^{A}TEX 2ε jako soubor usrguide.tex.

[7] L^{A}TEX3 Project Team. L^{A}TEX 2ε for Class and Package writers. Je součástí distribuce L^{A}TEX 2ε jako soubor clsguide.tex.

[8] L^{A}TEX3 Project Team. L^{A}TEX 2ε Font selection. Je součástí distribuce L^{A}TEX 2ε jako soubor fntguide.tex.

[9] D. P. Carlisle. Packages in the ‘graphics’ bundle. Je součástí distribuce souboru maker ,graphics’ jako soubor grfguide.tex.

[10] H. Partl, E.Schlegl, I. Hyna, P. Sýkora, L^{A}TEX Stručný popis, Je součástí distribuce CSTEXu jako soubor uvodlat.zip

[11] Jiří Rybička, L^{A}TEX pro začátečníky, 2. vydání Konvoj 1999, ISBN 80-85615-77-0 (brož.), ISBN 80-85615-74-6 (váz.)

[12] Petr Olšák, Typografický systém TEX, CsTUG 1995, ISBN 80-901950-0-8

[13] Petr Olšák, TEXbook naruby, Konvoj 1997, ISBN 80-85615-64-9

Rejstřík

“!, 39 ”, 15 $, 33 ’, 36 “(, 33 “), 33 “,, 16, 34, 39 -, 15 −, 15 “-, 14 –, 15 —, 15 ., mezera po, 18 …, 16 “@, 18 “[, 33 ““, 13, 23, 24, 26, 58 ““*, 13 “], 33 ˆ , 36 ˙ , 36 —, 26 ˜ , 18

acute, 17 “addtolength, 59 æ, 17 akcenty, 17 amsbsy, 44 amsfonts, 35 amsmath, 38, 41, 44 amssymb, 35, 46 “and, 21 antikva, 54 “appendix, 20 array, 40 “atop, 37 “author, 21 “authors, 21

“backmatter, 21 balík

amsbsy, 44 amsfonts, 35 amsmath, 38, 41, 44 amssymb, 35, 46 dcolumn, 27 exscale, 38 graphicx, 63 indentfirst, 56 layout, 59 makeidx, 61 showidx, 62 balík maker, 6, 8 barevný text, 8 “begin, 23 “bibitem, 59 “big, 38 “Big, 38 “bigg, 38 “Bigg, 38 binomické koeficienty, 37 “bmod, 37 bold face, 54 “boldmath, 44 “boldsymbol, 45

“cal, 39 “caption, 29 “cdots, 39 center, 23 “cite, 59 “cleardoublepage, 30 “clearpage, 30

čárka, 16 čtverčíková pomlčka, 15

“date, 21 dcolumn, 27 “ddots, 39 description, 23 displaymath, 33 “displaystyle, 42 dlouhé rovnice, 41 “documentclass, 7, 8 “dotfill, 57 dvojité řádkování, 56 dvousloupcová sazba, 9

elipsy, 16 “emph, 22, 54 empty, 11 encapsuled postscript, 63 “end, 23 enumerate, 23 eqnarray, 40 eqnarray*, 40 equation, 34 exponent, 36 exscale, 38

figure, 28, 29 “fill, 57 flushleft, 23 flushright, 23 fonty, 53 “footnote, 22 “footnotesize, 54 “frac, 37 “frenchspacing, 18 “frontmatter, 21 “fussy, 14

grafika, 8 graphicx, 63 grave, 17 textttheadings, 11 “hfill, 57 “hline, 26 horizontální

mezera, 57 “hrulefill, 57 “hspace, 57 “huge, 54 “Huge, 54 “hyphenation, 14

“chapter, 20 “choose, 37

“include, 11, 12 “includegraphics, 64 “includeonly, 12 “indent, 56 indentfirst, 56 index, 36 “index, 61 “input, 12 “int, 37 integrál, 37 italic, 54 “item, 23 itemize, 23

jednostranná sazba, 9 jednotky, 57, 58

Knuth, Donald E., 1 kódování fontů, 10 komentáře, 6 křížové odkazy, 21 kurzíva, 54

“label, 21, 34

Lamport, Leslie, 1

“large, 54 “Large, 54 “LARGE, 54 L^{A}TEX 2ε, 1 L^{A}TEX2.09, 1 L^{A}TEX3, 1, 4 layout, 59 layout, 59 “ldots, 16, 39 “left, 38 ligatury, 16 “limits, 38 “linebreak, 14 “linespread, 56 “listoffigures, 29 “listoftables, 29 literatura, 59

“mainmatter, 21 makeidx, 61 makeindex, 61 “makeindex, 61 “maketitle, 21 matematické

akcenty, 36

diagonální tečky, 39 funkce, 37 mezery, 39 mínus, 15 oddělovače, 38 tři tečky, 39 vertikální tečky, 39

matematika, 33 math, 33 “mathbb, 35 “mathbf, 44, 55 “mathcal, 55 “mathit, 55 “mathnormal, 55 “mathop, 37 “mathrm, 42, 55 “mathsf, 55 “mathtt, 55 matice, 40 “mbox, 15, 16 mezera, 4 mínus, 15 Mittelbach, Frank, 1 modulo, 37 “multicolumn, 27 Nadpis, 21 netečkované ı, 17 netečkované ȷ, 17 neviditelný znak, 4

na začátku řádky, 4 za příkazem, 5 “newcommand, 31, 32 “newenvironment, 32 “newline, 13 “newpage, 13 “newtheorem, 43 “noindent, 56 “nolimits, 38 “nolinebreak, 14 “nonfrenchspacing, 18 “nonumber, 41 “nopagebreak, 14 “normalsize, 54

oboustranná sazba, 9 odmocnina, 36 œ, 17 okraje, 59 option, 8 “overbrace, 36 overfull hbox, 14 “overleftarrow, 36 “overline, 36 “overrightarrow, 36 označení

derivace, 36 vektoru, 36

page style empty, 11 headings, 11 plain, 11 “pagebreak, 14 “pageref, 21 “pagestyle, 11 “paragraph, 20 parametr, 5 parametry

nepovinné, 6 “parindent, 56 “parskip, 56 “part, 20 paty, 11 písmo, 53

bezserifové, 54 běžné, 54 kapitálky, 54 kurzíva, 54 normální, 54 polotučné, 54 skloněné, 54 střední, 54 velikost, 53, 54 vzpřímené, 54 zvýrazněné, 54

plain, 11 plovoucí objekty, 28 “pmb, 45 “pmod..., 37 podtržení, 36 pomlčky, 15 PostScript, 63 preambule, 6 “printindex, 62 prostředí, 23

array, 40 center, 23 description, 23 displaymath, 33 enumerate, 23 eqnarray*, 40 eqnarray, 40 equation, 34 figure, 28, 29 flushleft, 23 flushright, 23 itemize, 23 math, 33 quotation, 24 quote, 24 table, 28, 29 tabular, 26 thebibliography, 59 verbatim, 25 verse, 24

“providecommand, 32 příkaz, 5

“!, 39 “(, 33 “), 33 “,, 16, 34, 39 “-, 14 “@, 18 “[, 33 ““, 13, 23, 24, 26, 58 ““*, 13 “], 33 “addtolength, 59 “and, 21 “appendix, 20 “atop, 37 “author, 21 “authors, 21 “backmatter, 21 “begin, 23 “bibitem, 59 “big, 38 “Big, 38 “bigg, 38 “Bigg, 38 “bmod, 37 “boldmath, 44 “boldsymbol, 45 “cal, 39 “caption, 29 “cdots, 39 “cite, 59 “cleardoublepage, 30 “clearpage, 30 “date, 21 “ddots, 39 “displaystyle, 42 “documentclass, 7, 8 “dotfill, 57 “emph, 22, 54 “end, 23 “fill, 57 “footnote, 22 “footnotesize, 54 “frac, 37 “frenchspacing, 18 “frontmatter, 21 “fussy, 14 “hfill, 57 “hline, 26 “hrulefill, 57 “hspace, 57 “huge, 54 “Huge, 54 “hyphenation, 14 “chapter, 20 “choose, 37 “include, 11, 12 “includegraphics, 64 “includeonly, 12 “indent, 56 “index, 61 “input, 12 “int, 37 “item, 23 “label, 21, 34 “large, 54 “Large, 54 “LARGE, 54 “ldots, 16, 39 “left, 38 “limits, 38 “linebreak, 14 “linespread, 56 “listoffigures, 29 “listoftables, 29 “mainmatter, 21 “makeindex, 61 “maketitle, 21 “mathbb, 35 “mathbf, 44, 55 “mathcal, 55 “mathit, 55 “mathnormal, 55 “mathop, 37 “mathrm, 42, 55 “mathsf, 55 “mathtt, 55 “mbox, 15, 16 “multicolumn, 27 “newcommand, 31, 32 “newenvironment, 32 “newline, 13 “newpage, 13 “newtheorem, 43 “noindent, 56 “nolimits, 38 “nolinebreak, 14 “nonfrenchspacing, 18 “nonumber, 41 “nopagebreak, 14 “normalsize, 54 “overbrace, 36 “overleftarrow, 36 “overline, 36 “overrightarrow, 36 “pagebreak, 14 “pageref, 21 “pagestyle, 11 “paragraph, 20 “parindent, 56 “parskip, 56 “part, 20 “pmb, 45 “pmod..., 37 “printindex, 62 “providecommand, 32 “qquad, 34, 39 “quad, 34, 39 “ref, 21, 34 “renewcommand, 32 “renewenvironment, 32 “right, 38 “right., 38 “scriptscriptstyle, 42 “scriptsize, 54 “scriptstyle, 42 “section, 20 “setlength, 56, 59 “sloppy, 14 “small, 54 “sqrt, 36 “stackrel, 39 “stretch, 57 “subparagraph, 20 “subsection, 20 “subsubsection, 20 “sum, 37 “tableofcontents, 20 “textbf, 54 “textit, 54 “textmd, 54 “textnormal, 54 “textrm, 54 “textsc, 54 “textsf, 54 “textsl, 54 “textstyle, 42 “texttt, 54 “textup, 54 “thispagestyle, 11 “tiny, 54 “title, 21 “underbrace, 36 “underline, 36 “usepackage, 8 “uv, 19 “vdots, 39 “vec, 36 “verb, 25, 26 “vlna, 18 “vspace, 58 “widehat, 36 “widetilde, 36

půlčtverčíková pomlčka, 15

“qquad, 34, 39 “quad, 34, 39 quotation, 24 quote, 24

“ref, 21, 34 rejstřík, 61 “renewcommand, 32 “renewenvironment, 32 rezervované znaky, 4 “right, 38 “right., 38 roman, 54 rozměr papíru, 59 rozměry, 57

řádkování, 56 řádkové zlomy, 13 řecká abeceda, 35

sans serif, 54

sazba na praporek, 23 Scandinávská písmena, 17 “scriptscriptstyle, 42 “scriptsize, 54 “scriptstyle, 42 “section, 20 “setlength, 56, 59 showidx, 62 skupiny, 55 slanted, 54 slitky, 16 “sloppy, 14 složené závorky, 55 “small, 54 small caps, 54 specifikace umístění, 29 spojovník, 15 “sqrt, 36 “stackrel, 39 stránkové styly, 11 “stretch, 57 struktura dokumentu, 6 stříška nad proměnnouţ 36 “subparagraph, 20 “subsection, 20 “subsubsection, 20 “sum, 37 suma, 37 systémy rovnic, 40

table, 28, 29 “tableofcontents, 20 tabular, 26 tabulka, 26 tečka, 16 “textbf, 54 “textit, 54 “textmd, 54 “textnormal, 54 “textrm, 54 “textsc, 54 “textsf, 54 “textsl, 54 “textstyle, 42 “texttt, 54 “textup, 54 thebibliography, 59 “thispagestyle, 11 “tiny, 54 title, 9 “title, 21 třída slide, 8 třída article, 8 třída book, 8 třída report, 8 tučné symboly, 44 typewriter, 54

umlaut, 17 “underbrace, 36 underfull hbox, 14 “underline, 36 upright, 54 “usepackage, 8 “uv, 19 uvozovky, 15

“vdots, 39 “vec, 36 vektory, 36 velikost stránky, 9 velikost stránky executive, 9 velikost matematického fontu, 41 velikost písma dokumentu, 9 velikost stránky A4, 9 velikost stránky A5, 9 velikost stránky B5, 9 velikost stránky legal, 9 velikost stránky letter, 9 “verb, 25, 26 verbatim, 25 verse, 24 vertikální mezera, 58 “vlna, 18 vlnka ( ˜ ), 18 vlnovka nad proměnnouţ 36 “vspace, 58 vstupní soubor, 7 výhody a nevýhody L^{A}TEXu, 3 vzhled stránky, 59 vzorce, 33

“widehat, 36 “widetilde, 36 WYSIWIG, 2 WYSIWYG, 2, 3

záhlaví, 11

základní velikost písma, 9

zarovnávání desetinných čísel, 27 závorky, 38

hranaté, 6 složené, 5 zdvojené písmo, 35 zlomek, 37 zpětné lomítko, 5 zvláštní znaky, 17

REJSTŘÍK  73