přejít na obsah přejít na navigaci

Linux E X P R E S, Editory pro TeX: Staří mazáci

Editory pro TeX: Staří mazáci

latex_matematika.jpg

Dvoudílné srovnání textových editorů pro Linux podporujících určitým způsobem TeX, LaTeX, respektive XeTeX. Některé jsou víceúčelové, jiné jsou na tento skvělý nástroj specializované. V prvním díle se podíváme na některé staré známé, kteří mají výhodu především v tom, že alespoň jeden z nich najdete téměř v jakémkoli Linuxu.


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).

Editor VimEditor Vim

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ř.

Editor EmacsEditor Emacs

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.

Editor MCeditEditor MCedit

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.

Nahoru

Příspěvky

Editory pro TeX: Staří mazáci
Ondřej Vágner 9. 02. 2010, 00:26:00
Odpovědět  Odkaz 
Pro vim existuje jeste addon latex-suite, ktery pridava spoustu uzitecnych LaTeXovych veci, jako napriklad automaticke vkladani a rozepisovani prostredi (napr. takovy obrazek ve floatu uz bych asi z hlavy nedal, kdyz staci napsat figure a F5), a hlavne jednoduchou kompilaci.
Petr Šafařík Re:Editory pro TeX: Staří mazáci
Peťoš 9. 02. 2010, 11:42:02
Odpovědět  Odkaz 
Já sám jsem tedy z druhé strany tábora -- používám Emacs. Díky za užitečný tip :)
Ivan Bíbr Editory pro TeX: Staří mazáci
bibri 9. 02. 2010, 16:49:16
Odpovědět  Odkaz 
Trochu mi uniká smysl první části článku... Vim, emacs a mcedit jistě znají všichni, kteří jsou ochotni a schopni něco v TeXu dělat - ručně.

No a dál to taky není nic moc. Kile nebo TeXwork jsou možná lepší, ale pořád jsou to jen editory TeX zdrojáku a zcela jistě nemají žádný potenciál při rozšíření TeXu. Kile jsem kdysi zkoušel a mezi prací v něm a prací ve vimu jsem neviděl žádný rozdíl. TeXworks vypadá podobně.

IMHO jediný texový nástroj, který má potenciál pro normální uživatele, je WYSIWYM editor LyX. V něm napsalo pár mých známých diplomové práce - bez problémů. V Kile, vimu ani mceditu by to nikdy nezvládli, protože to nejsou "programátoři". Líbil by se mi seriál o psaní "diplomky" v LyXu.
Petr Šafařík Re:Editory pro TeX: Staří mazáci
Peťoš 10. 02. 2010, 01:57:17
Odpovědět  Odkaz 
Máme tedy zahodit všechny editory? My, co umíme v TeXu, pišme si v čemkoli a běžní normální uživatelé budou psát v LyXu?
Příklad konkrétní cílové skupiny těchto dvou článků: matematikáři, kteří slyší o tom, že pěkné písemky budou mít v TeXu. A ať nechodím daleko, tak studenti fyziky, kteří přešli z Windows na Linux a teď se rozhlíží po alternativě k TeXnicCenter. Spousta lidí od nás, děvčat co mají "tabulky", napsalo své diplomky v Texmakeru. Na matematice PřF Masarykovy univerzity se zase učí vim. A věř mi, že zdaleka ne všichni, co umí dělat s Texmakerem ví(!), že je to možné vytvářet i ve vimu, se kterým taky umí.
Ivan Bíbr Re:Re:Editory pro TeX: Staří mazáci
bibri 10. 02. 2010, 10:52:12
Odpovědět  Odkaz 
>Máme tedy zahodit všechny editory? My, co umíme v TeXu, pišme si v čemkoli a běžní normální uživatelé budou psát v LyXu?

A proč ne? Myslíš že je pro ně jednodušší učit se TeXovská makra? Já si to tedy rozhodne nemyslím, protože kdyby to tak bylo, všichni by přece dávno TeXovali! A teXují? NeTexují! Takže je něco špatně, že jo...

Osobně považuji za největší výhodu TeXu to, že se nemusím starat o sazbu (výsledek), protože to on dělá za mně a dělá to dobře. LyX tohle pro lamy ještě zdokonaluje, protože jim odpadá nutnost učit se příkazy + jejich syntaxi, různé preambule atd. Prostě jen ukáží, co je nadpis, co je zvýrazněné a to je všechno. IMHO neexistuje jednodušší úprava textu - a to se vůbec nebavím o výsledku!

>Příklad konkrétní cílové skupiny těchto dvou článků: matematikáři, kteří slyší o tom, že pěkné písemky budou mít v TeXu.

Oč je pro ně lepší TeXmaker než LyX? Speciálně v případě, že o TeXu pouze "slyšeli"?

Já jsem především nepochopil rozpor mezi první a druhou půlkou článku. Ta první vypadá jako "populárně naučný úvod do TeXu pro každého" - nic proti, to je luxus. Ta druhá půlka je zaměřena vysloveně na pokročilé uživatele, kteří podle mne vědí všechno, co už je tam napsané (a TeX umí). Jestli chceš pokračovat v té populárně naučné části tak IMHO nejlepší, co můžeš udělat, je pořádně jim ukázat LyX.
Petr Šafařík Re:Re:Re:Editory pro TeX: Staří mazáci
Peťoš 10. 02. 2010, 11:21:47
Odpovědět  Odkaz 
>Osobně považuji za největší výhodu TeXu to, že se nemusím starat o sazbu (výsledek), protože to on dělá za mně a dělá to dobře.

Já to vidím jinak -- za trochu snahy to umí udělat i Writer. Já začal s TeXem proto, že ať již Writer, tak Word dávaly rovnice, které vypadaly jako jídlo ze školní jídelny. TeX umí sazbu matematiky krásnou. A jaký je rozdíl v sazbě matematiky TeXovými makry a sazbou "matematiky" ve writeru? Žádný, na oboje potřebuješ nějaké příkazy, kde krom toho, že Writer vypadá hnusně, tak má i značně omezené možnosti - pořád mluvím o matematice. Zvláště pokud dělám písemku z matematiky, tak si http://www.linuxexpres.cz/praxe/latex-vytvoreni-pisemky-z-matematiky tady stáhne preambuli a jen upravuje.

>Prostě jen ukáží, co je nadpis, co je zvýrazněné a to je všechno. IMHO neexistuje jednodušší úprava textu - a to se vůbec nebavím o výsledku!
To umí ty speciálky ovšem taky! Kile konkrétně. Jediné, co je nutné, je čas od času kontrolovat výsledek.


>Ta druhá půlka je zaměřena vysloveně na pokročilé uživatele, kteří podle mne vědí všechno, co už je tam napsané (a TeX umí).
Tento první díl (původně první půlka jednoho článku) byla určena pro ty, kteří už s TeXem pracují, například v onom Texmakeru, ale ten jim přestává stačit. Chtěli by jeden editor pro všechno -- texty, C, HTML (i ovládat virtuální observatoř). Na matematice na Masar. univ. jsou počítačové učebny JEN s Linuxem, stejně tak na fyzice tamtéž a mnozí windowsáři, kteří UMÍ TeXovat neví, který editor použít, protože nedělají v Linuxu. Ve Windows mají TeXnicCenter, ale v Linuxu? No a proto půjdou sem a přečtou si tento článek (nebo další díl!!) a ten svůj si buďto najdou, nebo uvidí, že není jen JEDEN zdarma použitelný editor, ale že jich jsou spousty.
Přesně pro TYTO uživatele je tento článek.
Ivan Bíbr Re:Re:Re:Re:Editory pro TeX: Staří mazáci
bibri 13. 02. 2010, 21:44:47
Odpovědět  Odkaz 
7>Já to vidím jinak -- za trochu snahy to umí udělat i Writer.

Writer neumí sázet, protože to není software na sazbu. TeX ano. Kromě toho jsem o něm vůbec nemluvil, tak nevím, co tu dělá :).

>Já začal s TeXem proto, že ať již Writer, tak Word dávaly rovnice, které vypadaly jako jídlo ze školní jídelny. TeX umí sazbu matematiky krásnou. A jaký je rozdíl v sazbě matematiky TeXovými makry a sazbou "matematiky" ve writeru? Žádný, na oboje potřebuješ nějaké příkazy, kde krom toho, že Writer vypadá hnusně, tak má i značně omezené možnosti - pořád mluvím o matematice.

Vypadá to, že jeden o koze, druhý o voze :). Znovu - Writer mne vůbec nezajímá, neřeším ho. A rozdíl mezi Kile a Lyxem je v tom, že při psaní v Kile pracuješ se zdrojákem, při psaní v LyXu pracuješ s "hotovým" textem. Názorná ukázka:

http://kile.sourceforge.net/showscreenshot.php?id=7
http://www.lyx.org/images/about/main_window.png

Lépe už to asi fakt nepopíšu.. Jestli ten rozdíl nevidíš, otevři si oba obrázky najednou a dej je vedle sebe, mělo by to být víc vidět :).

>To umí ty speciálky ovšem taky! Kile konkrétně. Jediné, co je nutné, je čas od času kontrolovat výsledek.

Viz výše a viz úvaha výše. Kdyby to bylo pro lidi pochopitelné, psali by všichni už dávno v Kile. Oba víme, že to tak není...

>Tento první díl (původně první půlka jednoho článku) byla určena pro ty, kteří už s TeXem pracují, například v onom Texmakeru, ale ten jim přestává stačit. ... Přesně pro TYTO uživatele je tento článek.

To je právě škoda, více bych ocenil článek, který TeX ukáže v rozumné formě hlavně těm, kteří TeX ještě neznají. Podle úvodu to vypadalo, že toto bude on, ale není. Howgh.
Re:Re:Re:Re:Re:Editory pro TeX: Staří mazáci
fri 14. 02. 2010, 11:22:11
Odpovědět  Odkaz 
I na LyX třeba jednou dojde - už ve třetím dílu seriálu, a potom jako rozvinutí téže myšlenky ještě ve čtvrtém. .-)

LyX jsem zkoušel zhruba před rokem a čtvrt, když jsem chtěl vytvořit jednoduchý dokument s nadpisy a zajímal mě z toho důvodu, že jsem očekával, že těžší než textovém editoru typu OO Writer to nebude (žádné matematické vzorce). Učení pro možnost použití později, kdybych chtěl někoho překvapit tím, že mu pro tisk předložím ke korektuře už něco takového. I když tihle borci si zvykli na to, že s formáty jako je .doc si musí poradit, a poradí.

Důvodem pro mě tehdy mohlo být, že, když Texmaker hned nevytvořil nějaký výsledek, a ještě se tím "chlubil" asi mu něco základního chybělo, nebo nevěděl kde to je nainstalované, chtěl jsem zkusit něco, co pracovat bude. Teď možná přišel opět ten čas, kdy se podívám na LyX jako báječnou možnost znovu.

Tehdy jsem ovšem s výsledkem spokojený nebyl, a už nevím, co to přesně bylo. Možná něco se vzhledem textu, možná něco s nadpisy - záložkami? Nevím. Uvědomil jsem si po nějakém tom zkoušení ale, že pro ten účel mi postačí OO Writer, který taky vytvoří PDF soubor - a záložky podle stylu nadpisů v něm fungují. Tedy "návrat zpět" a naděje odsunuté do budoucna. Teď už bude LyX patrně vydán v opravené nové verzi.

Ať už jde o jakýkoli editor, je nutná ochota se něco naučit - ta by měla vždycky být, stojí-li to komu za to, ví proč, spojená s očekáváním, že dokonalému výsledku už pak nebude stát nic v cestě.
Re:Editory pro TeX: Staří mazáci
Hobil 10. 02. 2010, 10:20:06
Odpovědět  Odkaz 
Mel bych poznamku k tomu LyXu. Zkousel jsem si s nim hrat minuly rok, asi mesic, a musim rici, ze me velmi zklamal. Nektere veci proste nefungovaly, kazil formatovani a nakonec to stejne musela spravit rucni editace.
Mozna na uplne jednoduche texty je to dobre, ale pak by stejnou praci odvedl i jiny editor (neni potreba TeX).
H.
Ivan Bíbr Re:Re:Editory pro TeX: Staří mazáci
bibri 10. 02. 2010, 10:32:39
Odpovědět  Odkaz 
>Mozna na uplne jednoduche texty je to dobre, ale pak by stejnou praci odvedl i jiny editor (neni potreba TeX).

Tato věta nedává smysl - v TeXu píšeme především proto, že se nemusíme zabývat formátováním a sazba dobře vypadá. To nijak nesouvisí s jednoduchými text a běžné editory (pokud myslíš textové procesory) toto neumí.
Re:Re:Re:Editory pro TeX: Staří mazáci
Hobil 10. 02. 2010, 10:43:59
Odpovědět  Odkaz 
V podstate mas pravdu.
Ja LyX chapal jako nastroj pro psani slozitejsich textu, zejmena textu obsahujici rovnice a slozitejsi formatovani.
Normalni zakladni formatovani (odstavce, podnadpisy) zvladne v beznem editoru i skolni dite, v tom nevidim problema proto ani potrebu TeXu. Jde skutecne predevsim o sazeci system.

H.
Ivan Bíbr Re:Re:Re:Re:Editory pro TeX: Staří mazáci
bibri 10. 02. 2010, 11:18:54
Odpovědět  Odkaz 
>Ja LyX chapal jako nastroj pro psani slozitejsich textu, zejmena textu obsahujici rovnice a slozitejsi formatovani.

No já ho chápu jako skvělý nástroj pro každého, kdo chce napsat >5 stran textu a chce, aby to dobře vypadalo a četlo se to. V LyXu to nastyluješ stejně jednoduše jako ve Writeru nebo Word - navíc stejně, jak jsou lidi zvyklí! Výsledek je neporovnatelný, že ano. Viděl jsem v něm cca 70stránkovou diplomku jednoho fyzika plnou vzorců, což zvládl s daleko menšími problémy než když dělal ve Wordu dva roky předtím bakalářku.

Já zkoušel LyX _hodně_důkladně_ když jsem zvažoval, že v něm budeme připravovat podklady pro knihy. Nemohu říci, že bych našel nějaké výrazné chyby nebo problémy a když ano, bylo to v naprosto šílených úkonech. Občas vyžaduje specifický přístup, ale to není chyba. Většina věcí je celkem jasných a přímočarých. Opustil jsem od něj jen proto, že jsem chtěl mít data v něčem univerzálnějším (XML) a potřeboval jsem, aby manipulaci s nimi zvládl opravdu každý, což OOo splňuje lépe (to jsem ještě neznal Peťoše :)).
Editory pro TeX: Staří mazáci
marek 10. 02. 2010, 05:49:12
Odpovědět  Odkaz 
> Označením "plain TeX" se myslí "čistý TeX", tedy nejzákladnější makra.
Drobná nepřesnost faktická, "čistý" TeX je virTeX, TeX bez doplňkových maker, tedy neobsahující ani makra zvaná plainTeX.

> Opakem bývá zamýšlen text napsaný v LaTeXu
Drobná nepřesnost stylistická, text psaný v LaTeXu není opakem plainTeXu, ani tak není obvykle zamýšlen. Je to jen text psaný v LaTeXu. Ani LaTeX není opakem plainTeXu, je to jen komplikovanější množina maker než makra plain(u).
Dobrá poznámka
fri 10. 02. 2010, 09:06:58
Odpovědět  Odkaz 
Dobrá upřesňující poznámka. Jsem už zvědavý na další díl článku, tím spíše, že dělám do překladu Texmakeru a z něj vycházejícího TeXmakeruX.
Editory pro TeX: Staří mazáci
dasffsgsdfgd 28. 02. 2010, 12:15:08
Odpovědět  Odkaz 
Dalsi zajimavy "editor" pro (la)tex je texmacs (http://www.texmacs.org/). Ma zhruba vlastnosti emacsu, ale zobrazuje primo napsane vzorce. Prace s nim je skoro tak efektivni, jako v cistem emacsu.

Taky by se mohlo hodit pripomenout, ze pro emacs existuji propracovane tzv. major mody pro (la)tex. Nejznamejsi je asi Auctex: http://www.gnu.org/software/auctex/screenshots.html

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Petr Šafařík

Petr Šafařík

Toho času student astrofyziky, vášnivý fotograf a náruživý kajakář. Ve světě OS se pohybuji především na serveru mandrivalinux.cz, kde jsem zastupce šefredaktora.


  • Distribuce: Mandriva Linux
  • Grafické prostředí: Xfce

| blog