LaTeX ‒ Co, proč a jak

Kryštof Davidek
EDTECH KISK
Published in
8 min readJan 29, 2019

Úvod

LaTeX ‒ nejsložitější programovací jazyk na světě, geniální sázecí systém nebo jakási zkratka, kterou jakožto čtenář vidím právě poprvé? To vše bezesporu může tento název právě evokovat.

Cílem tohoto článku je ukázat, že odpověď na výše položenou otázku nemusí být nijak složitá a že alespoň pasivní znalost tohoto nástroje má v akademické obci v rámci digitálních kompetencí své pevné místo. Tento text určitě neslouží jako vyčerpávající manuál k používání nějakého programu, ale zaměřuje se na základní charakteristiky, výhody a nevýhody LaTeXu jako sázecího systému a popisuje bariéry, které mu v kontextu humanitních oborů brání k většímu rozmachu. V článku taktéž najdeme určitá řešení, jak tyto bariéry částečně překonávat a množství odkazů spolu s dodatečnými materiály, které čtenáře kontextualizují, případně odkazují na další komplexní manuály a dokumentace.

Zdroj: https://goo.gl/Wfqb69

Charakteristika

Za LaTeX (čti „lejtech“ nebo „latech“, zkratka od Lamport TeX ‒ Leslie Lamport je autor) lze v širší rovině považovat typografický systém, který je primárně určen k sazbě vědeckých a matematických dokumentů vysoké typografické kvality. Tento systém je každopádně vhodný i pro tvorbu rozličných dokumentů jako jsou například jednoduché vizitky nebo několikasetstránkové knihy. Systém LaTeX je postaven na sázecím programu TeX (jeho tvůrcem je průkopník v elektronické typografii Donald E. Knuth), od nějž se liší právě svojí jednoduchostí a vychází tak vstříc sazbě textových dokumentů.

“Writing is nature’s way of telling us how lousy our thinking is.” ‒ Leslie Lamport

V užší rovině si lze s určitou dávkou zjednodušení LaTeX představit jako značkovací jazyk, to znamená, že specifickým způsobem pomocí definovaných značek zaznamenává sémantiku daného textu (podobně jako například v jazyce HTML). Tyto značky jsou typicky doplněny o určité ovládací příkazy (například značení konce stránky), takto sepsaný textový soubor (koncovka tohoto souboru nebude .txt ale .tex) pak prostřednictvím kompilace přeložíme a vyrobíme tak pdf soubor. Analogickým způsobem víceméně funguje většina programovacích jazyků ‒ programátor v textovém editoru sepíše zdrojový kód v určitém programovacím jazyce a ten pak zkompiluje daným programem k získání plánovaného výstupu.

Zdroj: https://goo.gl/EhegDF

Motivace

Výše jsme si ve stručnosti představili, co se myslí pod zkratkou LaTeX, nicméně se teď vybízí položit otázku: „Proč bych se měl/a učit nějaký nový značkovací jazyk, když všichni máme k dispozici programy typu Microsoft Word?“ Tento dotaz je naprosto relevantní, protože většinou opravdu nedává smysl investovat čas, energii a prostředky do něčeho, co nám kromě ztracených nervů nepřinese vůbec nic. Na stranu druhou je zapotřebí být fér, to znamená uvědomit si, že bez počátečního průzkumu lze jen těžko objektivně posoudit klady a zápory jakéhokoliv fenoménu, v našem případě sázecího softwaru.

Samotný LaTeX má na rozdíl od programů typu WYSIWYG (dále jen Word) několik výhod i nevýhod, níže popíši ty relevantní pro neinformatický obor.

Výhody

Za nejdůležitější výhodu LaTeXu se považuje zkrátka to, že jeho výstupy (tedy pdf soubory připravené pro tisk) jsou jak po estetické, tak po typografické stránce na výrazněji profesionálnější úrovni. To je zajištěno složitými algoritmy (jinými slovy aplikovanými typografickými pravidly) ‒ jde například o kontrasty a velikosti mezer napříč jednotlivými nadpisy, zalomení řádků, odstavců a stránek nebo třeba o pouhé vysázení písmen v závislosti na pozici písmen vedlejších.

K tomu se váže druhý důležitý důvod, proč se naučit „techovat“, a tím je odlišení formy od obsahu. Jak je z výše napsaného patrné, LaTeXu za vstup slouží „pouhý“ textový soubor, to znamená, že je zde umožněno, ne-li nutno, soustředit se pouze na obsah a formátování nechat na nástroji, který je pro to primárně určen. To v praxi může vypadat tak, že daný text (seminární či diplomová práce, výzkumný článek nebo příspěvek na konferenci) napíšeme například v odlehčeném značkovacím jazyce Markdown a posléze automatizovaně překonvertujeme do LaTeXu (použití Markdownu v tomto kontextu dále rozvedu na konci článku).

Další výhodou je velmi jednoduchá manipulace s referencemi uvnitř textu, pod tím si lze představit práci s poznámkami pod čarou, automaticky generovaným obsahem, rejstříkem, seznamem příloh atd. Zkrátka lze velmi jednoduše docílit k vytvoření vysoce interaktivního dokumentu, samozřejmostí je také efektivní řešení referencí v rámci bibliografie, stačí si veškeré záznamy uložit do externího souboru a pomocí několika příkazů vše pěkně provázat. (Možná jste tyto externí citační záznamy někdy zahlédli během vyhledávání odborných článků, je o soubory ve formátu Bib(La)TeX s koncovkou .bib.)

Za další podstatné výhody se považují přenositelnost napříč všemi významnými operačními systémy (TeX funguje i na systému MS DOS), Free Software povaha (a díky tomu velké množství doplňujících balíčku s dalšími funkcionalitami) anebo dobrá podpora matematické sazby (znaménko minus opravdu není pomlčka či spojovník).

Zde je pro férovost nutno uvést, že většinu z výše zmíněných věcí lze stejně tak i realizovat v rámci softwaru typu Word, každopádně to stojí vždy notnou dávku úsilí a velmi často je výsledek oproti výstupu z LaTeXu stejně v něčem zanedbanější (to se samozřejmě týká hlavně delších prací odborného stylu, u krátkých textů je někdy opravdu lepší použít program typu Word).

Zdroj: https://goo.gl/AmK5BW

Nevýhody

Jako každý nástroj, i LaTeX má několik nevýhod. Například kompletní instalace zabírá poměrně velké množství úložiště, to je způsobeno velkým počtem dodatečných balíčků, které bývají součástí klasických distribucí. Další často vytýkanou věcí je to, že LaTeXové výstupy vypadají dost podobně, protože ctí defaultně nastavená pravidla a vytvářet nové šablony bývá technicky velmi náročné. To znamená, že jakožto uživatelé můžeme měnit parametry a importovat další balíčky, ale sami tato pravidla těžko výrazněji ovlivníme. (Každopádně dává tohle omezení smysl, protože defaultní stav je nastaven profesionály a je vytvořen z nějakého důvodu.)

Za největší problém se ale typicky považuje strmější křivka učení, tedy že se člověk, který začíná s tímto systémem, musí nejdříve seznámit se základními principy, značkami, příkazy atd. Naštěstí s rozvojem internetu vznikly mnohé návody, které uživatele provádí od napsání prvního lomítka přes sazbu tabulky po konstruování vlastního fontu.

V dnešní době už dokonce nemusí mít člověk ani lokálně nainstalovanou distribuci a vystačí si s některým z online editorů. Za nejlepší se dá pravděpodobně považovat editor OverLeaf, který umožňuje kompilaci v reálném čase, tedy uživatel ihned vidí, v co se jeho zdrojový text přeloží. Na téže stránce lze taktéž najít skvělý návod nebo velkou spoustu již vytvořených šablon (například šablona pro závěrečné práce na FF MU).

V tuto chvíli bychom si měli být vědomi výhod a nevýhod a můžeme se tak ve stručnosti zaměřit na problematiku využití LaTeXu v humanitních oborech.

LaTeX a humanitní obory

Z textu je patrné, že sázení v LaTeXu nemusí být již pouhou výsadou informatiků či přírodovědců, ale postupně se dostává (někde rychleji a někde pomaleji) i do dalších, primárně humanitních oborů (o této problematice pěkně pojednává tento článek). Nejen podle mého názoru je bariéra u humanitních vědců a studentů způsobena nedostatečnou informovaností o nástroji jako takovém, ale taktéž absencí alespoň základního povědomí o informatických principech (co to je příkaz, kompilace, kódování textu atd.). To ve spojitosti se zakořeněným komfortem, který je způsobený dlouhodobým používáním zdánlivě funkčních programů typu Word, opravdu nemotivuje členy akademické obce měnit svoje postupy spojené s publikováním textů (v kontextu humanitních oborů).

Dalším zajímavým fenoménem, který je s tímto tématem spojen, je častá nevůle učitelů měnit svoje zaryté návyky vůči studentům. Existují tedy situace, kdy je přímo po studentech vyžadováno odevzdání určité práce např. ve formátu .docx, i když je danému kantorovi vlastně docela jedno, zda bude výsledkem pdf soubor nebo ne. Bohužel ale z výše zmíněných důvodů předpokládá, že formát programu MS Word je ten jediný, a proto není důvod cokoliv měnit.

Tím rozhodně nechci tvrdit, že pokud existují argumenty pro určitý formát (například automatizované kontroly plagiátů), tak se je nutné jakkoliv ohrazovat, jde mi zde spíš o nějakou formu svobody, která je často z důvodu neznalosti zbytečně potlačována. Jde tedy o nějakou znalost různých přístupů, což je určitě důležitou složkou digitálních kompetencí, kterou by měli jak studenti, tak samotní učitelé zajisté disponovat.

Jedním z možných řešení jak tuto znalost (a s tím spojenou praktickou dovednost) stimulovat je zvýšení informovanosti u dané cílové skupiny, ale také vymýšlení jednodušších postupů, které se s používáním nového nástroje pojí. Proto bych v další kapitole ve stručnosti rád demonstroval použití LaTeXu v kombinaci se značkovacím jazykem Markdown.

Sázení pomocí jazyku Markdown

Značkovací jazyk Markdown primárně slouží ke značkování textu a k jeho následnému zkonvertování buď do jiného značkovacího jazyka (jeho hlavním účelem je převod do HTML) anebo do nějaké čitelné podoby. Často se v tomto formátu píší různé manuály (například na GitHubu) nebo obsahy webových blogů atd. Myšlenka tohoto jazyka je v jednoduché čitelnosti, což je právě jedna z možných bariér u nástroje LaTeX.

Naštěstí existují různé přístupy, jak tyto dvě technologie propojit a docílit tak kýženého pěkně zformátovaného výsledku spolu s jednoduchým zápisem obsahu ve formátů Markdown (osobně používám pro editaci Markdown souborů program StackEdit). Výše zmíněný online editor OverLeaf umožňuje obsah do LaTeXového souboru v tomto odlehčeném jazyce přímo zapisovat anebo jej vkládat jako externí soubor (viz návod). Velká výhoda tohoto přístupu je, že se uživatel zaměřuje pouze na obsah a není nijak rozptylován nežádoucími příkazy atd. (tyto příkazy však může dle potřeb v Markdownu používat).

Zdroj: https://goo.gl/XExtG5

Jinou možnosti je pak využít některý z konvertovacích nástrojů (například Pandoc), pomocí kterého můžeme přímo převést označkovaný text v Markdownu do LaTeXového zdrojového kódu, který pak stačí už jen mírně modifikovat (doplnit hlavičku atd.)

Další výhodou tohoto řešení je, že si můžeme u rozsáhlých dokumentů rozdělit text do několika menších kapitol ‒ tedy několika externích Markdown souborů ‒ a ty pak posléze importovat do výsledného dokumentu podle našich potřeb. Věřím, že elegance těchto řešení může rozhodování „použít, či nepoužít LaTeX“ výrazně ovlivnit.

Závěr

V článku jsme si představili sázecí systém LaTeX jako efektivní nástroj pro tvorbu větších textových dokumentů, které často vznikají na akademické půdě. Vysvětlili jsme si, jaké výhody a nevýhody tento software má a jak se se promítají do bariér, které tomuto softwaru v rámci humanitních oborů brání k většímu rozmachu. Na konci textu jsme si ukázali jedno z možných řešení, které může tyto bariéry částečně eliminovat.

Úplným závěrem bych rád uvedl, že poselstvím tohoto článku rozhodně není nějaké bičování, aby všichni změnili své návyky a ihned odinstalovali svůj MS Word, ale spíše pobídnutí k otevření se novým přístupům a k zamyšlení, zda je „staré a osvědčené“ automaticky rovno „nejlepšímu“.

Zdroje

LaTeX

Markdown

LaTeX a Microsoft Word

--

--