TeX [čti: tech] je na mnoha místech kolem nás, aniž bychom to věděli. Ať už čtete knihu o Mandriva Linuxu, knihu o Ubuntu či přehled vzorců nebo prohlížíte vzorečky na Wikipedii, vždy na vás dýchne duše TeXu. Pokud byste i vy rádi tvořili takovéto dokumenty, bude nutné začít pracovat s TeXem. Přinášíme vám proto tento přehled editorů, který jsou buď přímo pro TeX, nebo mají pro tento typografický nástroj podporu.
Proč je TeX takovou legendou?
Nejprve bychom si měli říci aspoň několik vět o samotném TeXu, které možná ani sami TeXisti nemusí znát všechny. TeX je typografický sázecí systém naprogramovaný před lety emeritním profesorem Donaldem E. Knuthem určený pro tvorbu hezkých knih — a obzvlášť knih obsahujících spoustu matematiky.
Před mnoha lety chtěl matematik jménem Donald E. Knuth vydat knihu o matematice. Když mu nakladatel ukázal, jak bude kniha vypadat, až bude hotová, zděsil se a vydání knihy pozastavil. Sedl a deset let tvořil sázecí systém TeX. Vytvořil také systém pro tvorbu fontů METAFONT a pro potřeby svých knih pak rodinu písem Computer Modern.
Pro typografický systém TeX vznikly nadstavby maker, nejznámější je LaTeX či nový XeTeX [čti zítech]; všechny jsou ovšem pouze makra nad původním TeXem. Úzce jsou na ně navázány další programy jako BibTeX – systém pro správu, tvorbu a udržování bibliografie nebo Makeindex – systém pro tvorbu rejstříků (indexů). Různých nástrojů jsou ovšem stovky.
Vlastní jádro TeX se již nevyvíjí, vychází pouze opravné verze. Sám autor, Donald E. Knuth, jej označil za hotový a není třeba dalšího vývoje. Nyní má jádro TeX verzi 3,14159 – zajisté v něm rozpoznáváte známé číslo pí, nekonečný rozvoj (pí bude nakonec ta verze, kterou bude mít TeX po Knuthově smrti, kdy bude zdrojový kód zmrazen a žádné úpravy nebudou moci být prováděny). Každá oprava do té doby přidá jedno platné místo (celkem byl tedy kód opraven od vydání pětkrát, což je v porovnání s jinými programy neskutečně málo).
Editory pro TeX a LaTeX
A nyní k vlastním editorům. Smyslem tohoto článku nebude ukázat všechny editory, to nejspíše ani není v lidských možnostech (v autorových určitě ne). Spíše jen ukázat ty nejčastější a nejrozšířenější, přičemž se pokusíme shrnout jejich klady a zápory. Podmínkami výběru bylo, aby software byl otevřený a aby byl dostupný i pro Linux. Také nečekejte, že vám povíme, který z nich je nejlepší.
Označením "plain TeX" se myslí "čistý TeX", tedy nejzákladnější makra. Opakem bývá zamýšlen text napsaný v LaTeXu.
Vi(m)
Vi (nebo jeho klon vim) je základní linuxový editor, přítomný v každé distribuci, v každém systému, byť je sebevíce úsporný. Je skoro neomezitelně rozšiřitelný, existuje tak řada konfiguračních souborů, které rozšiřují množství funkcí, které vi nebo vim poskytují. Vi či vim tak mají podporu pro nepřeberné množství programovacích jazyků a skriptů. Samozřejmostí je tak zvýrazňování syntaxe plain TeXu, LaTeXu i XeTeXu, včetně doprovodných programů.
Vi pracuje ve třech módech, kdy v prvním klasicky píšete text. Do druhého módu se vkládají příkazy pro práci s textem. Ve třetím módu se provede příkaz jako v terminálu. Autor se přitom snažil, aby uživatel musel co nejméně používat speciální klávesy pro volání různých funkcí. Vypnutí vi proto představuje zadání :q, uložení dokumentu :w do třetího módu.
Práce ve vimu je rychlá, ovšem zpočátku si vyžádá spoustu času na to, abyste se tento editor naučili ovládat. Ovšem dostanete výkonný nástroj na editaci libovolného zdrojového kódu, nejen TeXového. Samozřejmostí jsou zde regulární výrazy, doplňování kusů kódu či folding (možnost zabalit dokument a nechat jen hlavní nadpisy).
Vim je pro pokročilejší a nebo odvážné uživatele, kteří se nebojí výzvy. Za investovaný čas získají velice silný a univerzální nástroj, který nebude omezovat, ať již jejich ambice a schopnosti budou mířit sebevýše. Pomocí příkazů z třetího režimu umí volat překladače nebo například volat jazykovou kontrolu.
Pár tipů k ovládání editoru najdete v článku Lukáše Zapletala Finty s Vimem 1.
Klady:
-
Univerzální
-
V každém systému
-
Rychlý, rozšiřitelný
-
Zvýrazňuje syntaxi, doplňování příkazů
Zápory:
-
Pro začínajícího uživatele je značně nepřehledný
-
Dlouho trvá, než se s ním naučíte
Emacs
Ovládáním jde o přesný protipól editorů typu vi – zlý jazykové tvrdí, že Emacs je zkratka z Esc-Meta-Alt-Ctrl-Shift. Bohužel, nejsou daleko od pravdy. Zatímco v editorech typu vi jste na tyto klávesy skoro nemuseli sahat, abyste se dostali k volbám editoru, zde je to naopak nutností. Emacs je ovládán z 99 % sekvencemi klávesových zkratek (uložení souboru je Ctrl-X Ctrl-S). Ač se to zdá na první pohled matoucí, je to celkově návykové a rychle si na takovouto práci zvykáte.
Emacs je napsán v jazyce LISP (resp. jeho variantě Emacs Lisp) a díky tomu je, podobně jako vi, skoro nekonečně rozšiřitelný. Stejně jako vi umí Emacs doplňování příkazů, vybarvování syntaxe nebo páruje závorky. Jeho možnosti jsou shodné jako u editoru vi, navíc je díky Lispu ještě o něco variabilnější – v Emacsu je například i kalendář, jsou v něm naprogramovány hry nebo se s ním dá ovládat astronomická virtuální observatoř.
Práce s TeXovými dokumenty je pro Emacs samozřejmostí. Ať již zvýrazňování syntaxe, doplňování kódu nebo překlady. Dokáže zpracovat celý dokument, nebo jen vybranou část, což je funkce, kterou jsem u jiných editorů zatím nenašel. Dále umí samozřejmě otevírat přeložené dvi/ps/pdf soubory či přeložené soubory rovnou poslat na tiskárnu. Naprostou samozřejmostí je vkládání bloků, tj. částí \begin a \end.
Klady:
-
Rychlý, pohodlný
-
Univerzální – podporuje neuvěřitelné množství syntaxí
-
Zvýrazňování, doplňování
-
Umí přeložit i jen vybranou část dokumentu, není třeba překládat dokument celý
-
Jak grafická, tak terminálová verze (emacs-nox)
-
Výborně dokumentovaný, ať již tutoriál (v češtině), tak i množství návodů různě po netu
Zápory:
-
Chvilku to bude trvat, než se s ním naučíte a sžijete
-
Velké množství klávesových zkratek a jejich různé posloupnosti
MCedit
MCedit je součástí souborového manažeru Midnight Commander, respektive je to alias pro příkaz mc -e. Buď jak buď, jedná se o nejjednodušší ze všech editorů, které zde uvádíme. Sice podporuje vybarvování syntaxe nebo párování závorek, bohužel to je opravdu vše. Je nejvhodnější na rychlé a drobné úpravy kódu.
Jakožto součást programu mc jej budete moci volat ihned stisknutím klávesy [F4] v Midnight Commanderu. Bohužel neoplývá nástroji pro kontrolu gramatiky, ani neumí zavolat rovnou TeXový překladač. Do tohoto seznamu jej zařazujeme především proto, že samotný mc je velice rozšířený ve velké většině linuxových distribucí a je přeci jen přátelštější než editory z rodiny vi nebo Emacs.
Klady:
-
Součást Midnight Commanderu
-
Jasný, intuitivní a přehledný
Zápory:
-
Kromě zvýrazňování syntaxe neumí nic dalšího
V příštím díle se podíváme na některé "modernější" textové a TeXové editory, jako jsou TeXworks nebo Kile. Editory pro TeX: Aplikace s grafickým rozhraním.