Předchozí   Další   Dolů   Obsah 

A) ÚVOD

Latexovský dokument je obyčejný textový soubor - soubor příkazů pro překladač, které určují podobu výsledného dokumentu a vlastního textu. Text je tedy promíchán s příkazy (užitečné je používat syntax highlighting - klíčová slova mají jinou barvu nebo odstín než okolní text, umí to např. editor vi). Výstupní soubor se dostane až překladem tohoto souboru. Mezery mezi slovy textu ve vstupním souboru jsou chápány pouze jako oddělovače slov - když jich je více za sebou, dopadne to stejně, jako by tam byla pouze jedna. Dokonce i jeden znak nový řádek je chápán stejně jako mezera - pouze jako oddělovač slov. Pokud za sebou následují alespoň dva znaky nový řádek (prázdný řádek mezi odstavci ve vstupním souboru) je to chápáno jako příkaz pro přechod na nový odstavec.

V historii byl nejdříve vytvořen systém TeX (tvůrce je pan Donald E. Knuth) - tento systém dovoluje vytvářet v maximální míře různé detaily - je to soubor "malých krabiček" - malých funkcí. Dá se s ním pracovat, ale ne dostatečně pohodlně. Pro vyřešení tohoto problému byl vytvořen LaTeX, který nabízí uživateli podstatně "větší krabičky" (přišel s ním pan Leslie Lamport). LaTeX je systém, který je postaven na systému TeX - je to vlastně preprocesor pro TeX rozbalující LaTeXovské sekvence na TeXovské na principu makrojazyka. Ve finále tedy funguje obyčejný TeX - LaTeX je systém postavený na TeXu. Vzhledem k principu, na kterém je LaTeX postaven, se v latexovském zdrojovém souboru dají dobře používat i některé čistě TeXovské příkazy. Ať už je to jakkoliv, v každém případě se na LaTeX dá dívat jako na jazyk (píšeme něco v LaTeXu).

Pro LaTeX je typický dávkový způsob práce. Tento způsob práce má své výhody a nevýhody. LaTeX je ideální řešení v případě výroby normalizovaných (a jěště navíc složitých) dokumentů jako jsou články, zprávy nebo knihy. Dovoluje tyto typy dokumentů vytvářet maximálně pohodlně a spolehlivě. Velkou výhodou LaTeXu je i lehkost (i větších) úprav dokumentu a malé problémy s kompatibilitou (úprava starého dokumentu napsaného např. v plainTeXu do současného LaTeXu je snadná záležitost). Nevýhodou je, že se ho uživatel musí naučit. Pro méně náročnou práci (kdy člověk nepoužívá takové věci, které jsou obsahem např. zde uvedených kapitol Makra, Boxy a Prostředí picture) je však potřebné úsilí poměrně malé (avšak příkaz \renewcommand{}{} z kapitoly Makra se dost často nezbytně potřebuje). Typografický systém TeX spolu s nadstavbou LaTeX výrazně přispívají k jednotnému vzhledu dokumentů.

Dokument se přeloží např. asi následujícím způsobem: cslatex mujdokument.tex. Při překladu TeX (inicializovaný LaTeXem) postupuje zhruba řečeno ve dvou fázích:

  1. zjistí si rozměry fontů (jsou uloženy v souborech s příponou tfm) případně dalších objektů a rozhodne o jejich rozmístění v dokumentu. Přitom se nezajímá o vnitřní strukturu fontu - vše chápe jen jako (vertikálně orientované) černé obdélníky - boxy, které je třeba správně rozmístit. Tato fáze představuje princip TeXu.
  2. natáhne strukturu fontu (ze souboru s příponou pk) a vytvoří tak výsledný soubor mujdokument.dvi, což je příkazový soubor pro vytisknutí dokumentu. Na místě objektů, které nejsou fonty ponechá vhodné mezery.

Soubor mujdokument.dvi pak můžeme poslat přes vhodný filtr na tiskárnu nebo si ho vhodným prohlížečem znázornit na monitoru.

Častou příčinou chybových hlášek LaTeXu jsou chybějící backslashe v klíčových slovech nebo jménech registrů a nesprávné nebo nespárované závorky.

Pokud je potřeba, aby dokument obsahoval něco co formát dvi neumí (např. různé obrázky - třeba i různě pootočené) nabízí LaTeX možnost umístit do souboru mujdokument.dvi potřebné externí příkazy - prohlížeč dvi souboru jim může a nemusí rozumět - jsou to pro formát dvi cizí elementy a formát dvi na ně neklade žádné požadavky - prostě jsou jen do výstupu zařazeny jako nějaké řetezce, které prohlížeč (když je nezná) ignoruje (uživatelsky lze příslušný řetezec do výsledného souboru umístit pomocí příkazu \special{...}). Typicky se tato možnost využívá pro umístění obrázku - do souboru .dvi se na příslušné místo umístí příkaz pro natažení obrázku z toto a toho souboru na disku. Je jasné, že v případě obrázku je třeba vyhradit pro něj v dokumentu místo. To TeX umí, pokud se jedná o obrázek ve formátu ps nebo eps - TeX sáhne do souboru s takovým obrázkem a zjistí si potřebné údaje o velikosti obrázku (vyhradí si správné místo i v případě, že obrázek chceme před umístěním nějak transformovat - jednoduše si rozměry přepočítá). Pak jde vše pohodlně (dokonce linuxovský prohlížeč xdvi souboru .dvi umí pak postcriptové obrázky i znázornit - neukáže tedy jen prázdné místo). Distribuce LaTeXu je vybavena programem dvips - tento program převádí řeč dvi do řeči postscript a postscriptové obrázky, na než je v souboru .dvi odkaz, zařadí přímo do výsledného dokumentu .ps. Celý dokument je pak tedy v jediném souboru. Tedy po překladu LaTeXem je třeba prohnat soubor .dvi programem dvips a obdrží se výsledný dokument v řeči postscript v jednom výsledném souboru. Za pomocí příkazu \special může uživatel zařadit do výsledného dokumentu i řetězec, který znamená třeba vykreslení obrázku ve formátu jpeg, který je někde na disku. K tomu ovšem potřebuje explicitně vyhradit v dokumentu místo pro takový obrázek (např. pomocí příkazu \vspace), ale hlavně potřebuje pak nějaký prohlížeč, který bude takovémuto mixovanému dokumentu (jpeg-dvi) rozumět - já takový bohužel neznám. Pokud se týká obrázků typu jako je jpeg existuje samozřejme možnost je překonvertovat do postscriptu a pak už s ním tedy velmi pohodlně pracovat. Výsledný obrázek je však obvykle poněkud obrovský. Nejlepším řešením je asi použití pdf latexu, který je v současné době ve vývoji. Ten produkuje soubor ve formátu pdf a umí includovat obrázky ve formátu jpg a png (a možná ještě další formáty). Obrázky v těchto formátech jsou podstatně menší než postscriptové obrázky.

Struktura latexovského dokumentu je (LaTeX2epsilon):

    \documentclass[]{}[]
    .
    .
    .
    \begin{document}
    .
    .
    .
    \end{document}

Část mezi \documentclass a \begin{document} se nazývá preambule, druhá část se nazývá textová čast a je hlavním místem, kde uživatel tvoří svůj dokument. Parametry se uvádějí v příslušných závorkách, přičemž parametry ve složených závorkách jsou povinné, kdežto parametry v hranatých závorkách nejsou povinné. Odstavce se ukončují prázdným řádkem (nebo příkazem \par - neznamená tedy začátek nového odstavce nýbrž konec současného, přičemž poslední odstavec je výjimkou - nemusí se explicitně ukončovat; příkaz \par nebo prázdný řádek je tedy stále součástí ukončovaného odstavce).

Text následující po znaku % až do konce řádku je považován za komentář. Význam znaku jako speciálního (řídícího) se ruší zpětným lomítkem (např. \% způsobí, že ve výsledku bude znak %).

\documentclass[volby]{třída}[RRRR/MM/DD]
, kde třída je article nebo book nebo letter nebo report nebo slides. Podle toho o jakou se jedná třídu, některé příkazy fungují nebo nefungují. Volby musí být odděleny čárkami bez mezer (nebo znakem | pro alternativy). Třídy jsou uloženy v souborech s příponou .cls (jsou tam definice příkazů a prostředí) a pokud je tento vytvořen později než je nepovinný parametr datum, tak na to LaTeX upozorní.

Pokud chceme vytvořit dokument bez nějakých kapitol atd. je zřejmě nejvhodnější použít třídu article.

volby může být např. twoside - geometrie pro oboustraný tisk (implicitní pro styl book) nebo oneside (implicitní pro všechny ostatní styly), openright - znamená, že kapitoly mohou začínat jen na pravých stránkách (implicitní pro book) nebo openany - kapitoly mohou začínat i na levých stránkách) (implicitní pro report), a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper, landscape, 12pt (nebo 10 pt, 14 pt,17 pt atd.) nebo twocolumn (v textové části lze navíc použít příkazy \twocolumn a \onecolumn s tím omezením, že změna sloupcování způsobí přechod na novou stránku), twocolumn se nedá použít ve třídě letter a slides. Dále to může být např. volba leqno (čísla rovnic nalevo místo napravo) a fleqn (rovnice zarovnané na určitou vzdálennost od levého okraje stránky místo centrování doprostřed stránky).

V úseku nazvaném preambule se nacházejí příkazy, jejichž platnost se vztahuje k celému textu (např. nastavení rozměrů stránky). Některé příkazy se nemají uvádět mimo preambuli.

\usepackage[volby]{balík}[datum vytvoření] - připojení doplňujícího balíku (definice dalších nestandartnich prostředí a příkazů případně i redefinice původních), kde balík je např. czech (pak se připojí soubor czech.sty) nebo multicol. Může jich být více než jeden. Uvádějí se v preambuli nejraději co nejblíže specifikaci \documentclass. Existuje velké množství různých specializovaných balíků obsahující definice speciálních příkazů a speciálních prostředí - např. balík pro tvorbu elektronických schémat. Balíky, které nejsou příliš specializované a často se používají (např. balík graphics umožňující manipulaci a obrázky) se nazývají standartní.

Makra definující třídu dokumentu jsou uloženy v souborech s příponou .cls, rozšiřující balíky jsou uloženy v souborech s příponou .sty.

LaTeX byl navržen tak, aby preferoval symbolickou práci. Tím se myslí to, že uživatel se při tvorbě dokumentu nemusí zabývat detaily a není jimi tedy zbytečně zatěžován. Když píše abstrakt v článku, pak napíše něco jako \abstract{Tento článek ... atd. atd.} a nezabývá se tím pod jakým názvem, kde a v jakém tvaru se přesně abstrakt ve výsledném dokumentu objeví. Tyto detaily jsou už vyřešeny v balíku maker pro TeX s příponou sty nebo cls. Uživatel obvykle buď používá nějaký standartní balík nebo balík, který mu pošlou z nějakého odborného časopisu nebo organizátorů konference - když jim posílá příspěvek. Balík maker z časopisu obvykle obsahuje některá nová makra, která nejsou obsažena ve standartní třídě dokumentu (balíků s příponou cls) a mírné redefinice některých standartních příkazů a prostředí. Pod mírnou redefinicí je zde myšleno to, že např. předefinovaný příkaz \abstract se bude chovat velmi podobně jako standartní příkaz \abstract, avšak např. místo uvozujícího slova Abstract nad vlatním abstraktem napíše slovo ABSTRACT na začátku odstavce s abstraktem. Tento postup podporuje symbolickou práci a je velmi důležitý a užitečný - uživatel stále používá tento příkaz stejným způsobem, tento příkaz prostě zařídí vhodný tvar abstraktu, což je ten odstavec se shrnutím na začátku článku a detaily umístění a tvaru už za nás vyřešil tvůrce balíku maker a všichni, kdo tento balík používají, vygenerují proto velmi podobný tvar. Lidé z časopisu obvykle s balíkem maker (soubor s příponou sty) zašlou i zjednodušený ukázkový článek-zdrojový_soubor tzv. template, kde je demonstrováno hlavně použití jejich speciálních maker - takže jejich význam je vysvětlen na přikladu. Práce s touto podporou je až extrémně pohodlná a podobá se vlastně vyplňování dotazníku (\autor{} \title{} \abstract{} \section{} atd.).

Nicméně často se stane, že balík maker který máme k dispozici definuje tvary, které nám přesně nevyhovují (v případě že píšeme něco na konferenci, která nám nezaslala jejich makra, ale místo toho nás obtěžovala sadou různých zásad tvaru příspěvků). Pak práce s LaTeXem již není tak extrémně pohodlná (nicméně stále je velmi pohodlná) a musíme se uchýlit k různým detailnějším nástrojům a fintám které LaTeX nabízí (ruční vkládání různých i záporných mezer, nastavování rozměrů stránky a ovlivňování polohy textu na stránce, předepisování způsobu číslování stránek, nastavení řádkování atd.).

Následující části obsahují celkem podrobný popis naprosté většiny standartních příkazů a konstrukcí, se kterými se běžný uživatel LaTeXu setká. V textu jsou i nějaké příklady, ale protože příklady vytržené z kontextu nejsou často dostatečně názorné je preferován jiný způsob - k tomuto dokumentu patří soubory art.tex, rep.tex, liter.bib a obr.tex. První dva jsou ukázkové zdrojové soubory clánku a reportu, třetí je soubor s literaturou pro první dva soubory a třetí obsahuje jednoduchý obrázek, který se includuje do rep.tex. První dva soubory obsahují dost rovnic, komentářů a řadu zakomentovaných alternativ - jsou záměrně dost neučesané, jsou určeny spíše k experimentování. Nejsou to vůbec žádné skvosty, ale začátečníkovi pomůžou.

S jistými minimálními znalostmi a po zběžné prohlídce uvedených souborů se může přistoupit k výrobě dokumentů - obdržení výsledku by mělo být zaručeno následujícím postupem (vysvětlení proč takto komplikovaně - viz. kapitola Bibliografie):

  1. prohnat LaTeXem soubory art.tex a rep.tex (v linuxu - příkaz cslatex)
  2. poštvat BibTeX na art a rep (v linuxu - příkaz bibtex)
  3. ještě dvakrát prohnat LaTeXem soubory art.tex a rep.tex

Výsledkem jsou soubory art.dvi a rep.dvi.

Pozn. Postscriptové soubory art.ps a rep.ps dostanete když na art.dvi a rep.dvi aplikujete program dvips.


 Předchozí   Další   Nahoru   Obsah