LyX - WYSIWYM editor -=-=-=-=-=-=-=-=-=-=-= Text processing has made it possible to right-justify any idea, even one which cannot be justified on any other grounds. -- J. Finnegan, USC. LyX je velmi zajimavý a praktický program pro psaní dokumentů. Přináší totiž zcela nový přístup k věci, který se snaží vzít si to lepší z obou klasických přístupů - sázecích systémů (jako je TeX) a word procesorů (nejznámější je asi MS-Word). Oba z těchto přístupů mají své výhody i nevýhody: Sázecí systémy Klasický postup, jak vytisknout knihu je asi následující: napřed autor napíše rukopis, ten potom převezme typograf, který zjistí, co vlastně chtěl autor napsat a určí, jak daná kniha má vypadat - jaké se mají použít písma, jak má být text na stránce uspořádán apod. Nakonec práci převezme sazeč, který umístí vlastní písmenka na stránky. Klasický sázecí systém má za úkol zařidit zejména poslední část. Jednoduchý sázecí systém může fungovat například tak, že u každého textu uvedete písmo, velikost a pozici, kam se má vytisknout. To je samozřejmě příliš pracné a proto toho většinou takové programy umí víc. Nejznámějším sázecím systémem je TeX, který vyniká zejména výbornou kvalitou výsledku - obsahuje například velmi kvalitní algoritmy na lámání odstavců, určování rozestpů mezi písmeny, generování bitmap fontů optimalizovaných pro daný hardware apod. Navíc je programovatelný - je možné do něj napsat makra, která se starají o méně triviání věci a ovládají i mnoho typografických pravidel. Existuje například velmi rozsáhlý systém maker LaTeX, který obsahuje mnoho předdefinovaných stylů a je možné dopsat další. Vstupní soubor je potom na vyšší úrovni a říká něco jako: toto je článek. Jméno je LyX - WYSIWYM editor, autorem je Jan Hubička, první odstavec zní... Pro toho, kdo se naučil příkazy LaTeXu je relativně snadné napsat takový soubor. TeX má potom dostatek prostoru a informací na to, aby se postaral o vzhled dokumentu, kterým se autor nemusí příliš zabývat. Výsledek je většinou velmi kvalitní a je třeba jenom málo úprav, aby se dosáhlo opravdu profesionální kvality. Nevýhody tohoto systému ale poznáte hned, jak se jej začnete používat. TeX zná přibližně 900 příkazů a vy musíte znát alespoň malou část. Přesto, že naučit se základy je možné asi týden, mnoho lidí to odradí. Navíc ani potom učení nekončí. Ty, kteří znají TeX relativně málo (jako například já), stojí většinou hodně studování a zkoušení, pokud chtějí vytisknout nějakou nestandardní věc. Na druhou stranu tento postup je poměrně výchovný a donutí každého naučit se alespoň to nejzákladnější z typografie a zabrání mu dělat věci, kterým nerozumí. Je však pro mnoho lidí nepřekonatelnou překážkou a zabraňuje většímu rozšíření TeXu. Fakt, že při psaní dokumentu nemáte vůbec žádnou visuální kontrolu toho, co vlastně píšete, může způsobit, že napíšete různé chyby - například se v textu objeví kombinace, která je zároveň příkazem a proto se nakonec vytiskne špatně. Při zběžném pohledu na výslednou stránku tuto chybu ale není snadné najít. Textové procesory Druhá cesta jsou textové procesory. Ty se vyvinuly z textových editorů a psacích strojů. Jejich vrcholem je WYSIWYG (What You See Is What You Get), kde uživatel na obrazovce vidí přesně to, co nakonec vytiskne. Má k dispozici mnoho nástrojů, které umožňují snadno text po obrazovce (vlastně papíře) posouvat, měnit fonty, přidávat obrázky apod. Výhodou této metody je její přímočarost. Pokud se uživatel naučí psát na klávesnici a mačkat několik ikon na obrazovce, je schopen psát dokumenty. Časem se může doučit i komplikovanější věci. Nemusí ale vůbec tušit, co se vlastně v počítači děje. Tento přístup má ale i mnohá úskalí. Jejich zrádnost spočívá v tom, že nejsou na první pohled vidět a uživatele často ani nenapadnou. Za nejzávažnější a neodstranitelný problém považuju, že celý postup ignoruje rozdíl mezi obrazovkou a tištěným textem. Obrazovka má tendenci bílé body přesvětlovat do okolních černých, naopak při tisku se zase roztékají černé body do bílých. Z tohoto důbodu například i písmo, které vypadá dobře na obrazovce musí na papíře vypadat příliš tmavě. Navíc na papíře jsou čitelnější mnohem menší písmena a tak má každý tendeci používat na papíře menší a užší písmena, zatímco na obrazovce větší a širší. U WYSIWYG uditorů ale zákonitě písmena na obrazovce musí být přibližně stejně velké, jako na výstupu (pokud nepracujete při zvětšení, ale potom se zase na obrazovku nevejde celá řádka a není možné text po sobě přečíst). To zákonitě vede uživatele k tomu, aby používal zbytečně velká a široká písma. Navíc se celý editor musí chovat plynule při změnách textu. Není například možné použít stejně chytrý algoritmus pro formátování odstavců jako v TeXu, protože by při každém přidaném písmenu mohl celý text přerovnat tak, aby vypadal co nejlépe. To by bylo ale velmi nepříjemné, protože by obrazovka při psaní všelijak blikala a překreslovala, což by uživatele mátlo. Protože se textové procesory vyvíjely vlastně odspoda (tedy od psacích strojů) a postupně se propracovávaly ke kvalitě knih, ještě donedávna i těm nejchytřejším editorům chyběly tak základní věci, jako automatické číslování kapitol, nebo generování obsahu přesto, že tyto věci jsou ale ve světě TeXu samozřejmostí už několik let. Ani dnes textové procesory nemají mnoho podobných služeb a některé mít ani nemohou. Proto uživatele často nutí dělat velmi pracné věci - ručně se starat o písma, umístění textu, číslování, odkazy, rejstříky, grafickou úpravu apod. a odvání ho od vlastní práce. LyX LyX je něco mezi sázecím systémem a textovým procesorem. Na první pohled se LyX tváří jako WYSIWYG textový procesor. Je tedy téměř stejně jednoduchý na naučení a ovládání. Na druhý pohled jsou ale vidět drobné odlišnosti. Narozdíl od textových procesorů se netiskne přesně to, co vidíte na obrazovce. Napřed se text převede do zdrojového souboru pro LaTeX, přeformátuje ho a teprve potom tiskne. Výstup se částečně liší od toho, co je na obrazovce a je sformátován stejně dobře, jako při použití TeXu. Text je tedy zobrazován tak, aby vypadal dobře na obrazovce a dobře se editoval, ale tiskne se tak, aby vypadal dobře na papíře. Tento článek v LyXu výsledek Významy textu na obrazovce ale odpovídají tomu, co je na papíře - nadpis je velkým písmem stejně jako na papíře apod. LyX tomuto postupu říká WYSIWYM (What You See Is What You Meaant). Některé textové procesory mají cosi podobného pod názvem koncept se styly. Protože ale málo lidí tuto službu používá, bývá většinou velmi promitivní, nevyladěná a nešikovná. Přesto, že běžně používám TeX a jsem k jakýmkoli textový procesor připomínajícím programům skeptický, LyX jsem se rozhodl otestovat. Byl jsem velmi přijemně překvapen. Napsal jsem v něm několik dokumentů. Vypadaly přesně tak, jako kdybych je psal přímo v TeXu a přitom jejich psaní bylo jendnodušší. Myslím, že LyX je ideální program pro ty, kteří chtějí psát pěkně vypadající dokumenty a přitom narozdíl ode mne nenacházejí zalíbení v učení se TeXových příkazů. (což je pravděpodobně většina uživatelů). Možnosti a ovládání LyXu Ovládání LyXu je snadné a podobá se běžným editorům. Proto se ho může naučit každý. Má plnou podporu češtiny - o velkou část se stárá sám TeX (například o lámání slov, nadpisy kapitol atd.), který česky umí dobře. Ale i samotný program podporuje háčky a čárky, českou klávesnici a existují i české katalogy zpráv pro ty, co mají problémy z angličtinou. Na začátku je nutné nastavit formát textu (článek, kniha, slide apod. - zde budu předpokládat, že píšeme knihu) a je možné začít vesele psát. Význam částí textu se určuje pomocí menu vpravo nahoře. Normálně je nastaven mód Standard. Pokud jej změníte například na Author, LyX danou řádku chápe tak, jako kdyby obsahovala jméno autora (napíše se vycentrovaně a velkým písmem). To lze samozřejmě použít pouze na začátku na obálce knihy. Podobným způsobem můžete nastavit jméno, předmluvu a jednotlivé kapitoly. I uvnitř kapitoly se často používají různé módy - existují módy pro citáty, výčty (očíslované i neočíslované), vysvětlivky, definice atd. Módy lze samozřejmě vnořovat. Navíc lze do textu vkládat další speciality - obrázky, tabulky, poznámky pod čarou, poznámky na straně, poznámky pro autora (které se potom netisknou), automaticky generovaný obsah, seznamy (obrázků, tabulek apod.), reference na jiné části textu (TeX pak sám doplní stránku), reference na obrázky, citáty, speciální znaky pro formátování (dlouhé mezery, vnucené konce řádek atd.), relativně komplikované tabulky, určovat odkazy do rejstříku apod. Umísťovat obrázky, tabulky atd. můžete přímo do textu, nebo tak, že se umístí poblíž (většinou do horní části stránky, nebo na samostatnou stránku). Speciální pozornost si zaslouží podpora matematiky. TeX byl původně navržen hlavně pro sázení vědeckých textů a tam je matematika velmi důležitá. LyX má mnoho služeb pro sázení matematických výrazů. Lze snadno vytvořit i poměrně složité výrazy. Pokud se vám standardní styl nelíbí, lze změnit fonty, velikosty, řádkování a další parametry. Podobně jako ve většině word procesorů jdou nastavit styly pro zvýrazňování textu atd. V případě, že LyX nepodporuje to, co zrovna potřebujete, má ještě LyX zadní vrátka - umožňuje vkládat přímo příkazy TeXu a tak zkušení uživatelé TeXu se mohou dostatečně vyřádit. Dokumentace Dokumentace k programu ještě sice není kompletní, ale vypadá velmi kvalitně. Obsahuje úvod, tutorial i referenční příručku. Dokumenty vypadají docela přehledně a dobře se v nich hledá. Žádná česká dokumentace pravděpodobně ještě neexistuje. Problémy Bohužel LyX nemá žádnou podporu pro jednu z největších výhod TeXu - uživatelsky definovaná makra. Pokud v TeXu píšete například matematickou knihu, napíšete si makra pro psaní vět a důkazů. Rozhodnout o vzhledu knihy lze až nakonec tím, že doladíte jednotlivá makra. Navíc makra můžou dělat mnoho práce - jako číslování vět, generování obsahů atd. V LyXu je také možné makra použít tím, že do dokumentu vložíte přímo příkazy TeXu. Připravíte se tím ale o WYSIWYG a není to příliš přirozené. Nemám představu, jak by taková podpora pro makra měla vypadat, ale je rozhodně škoda, že žádná neexistuje. Je to jeden z důvodů, proč psaní komplikovanějších hlavně rozsáhlejších textů bude přímo v TeXu rychlejší a flexibilnější. LyX zatím nedosáhl verze 1.0. Jeho autoři stav definují jako stabilní beta verzi. Za relativně krátkou dobu používání mi ale program ani jednou nespadl a jediné problémy, na které jsem narazil jsou spíše kosmetického rázu (podivné překresolování apod.). Za větší nedostatek považuju to, že LyX občas vygeneruje dokument, který nelze LaTeXem zpracovat (například umožňuje vložit nadpis knihy doprostřed textu, což je nesmysl). Při pokusu o přeložení LyX sice označí místo červeným čtverečkem a umí zobrazit chybovou hlášku, ale uživatel TeXu neznalý bude asi mírně zmaten. Nikdy jsem se nedostal do situace, že bych nebyl schopen problém rychle odstranit, ale umím si představit, že se to může stát. Asi to bude jeden z nejzávažnějších nedostateků této třetí cesty. Asi největším problémem pro vývojáře bude použitý toolkit. LyX totiž používá knihovnu xforms, která jednak za moc nestojí a navíc ještě nejsou dostupné zdrojové kódy. Proto bude nutné v dohledné době celý user interface přepsat pro novou knihovnu, což bude hodně práce. To je uvedeno v TODO listu, ale autoři neplánují, že by to bylo hotovo do uvolnění verze 1.0. Také mi poněkud vadí renderování obrázků, které se provádí ghostscriptem a je tedy velmi pomalé. Naštěstí probíhá v multitáskingu a tak příliš nezdržuje. LyX ale z mě nepochopitelných důvodů odmíta vygenerovat DVI soubor před tím, než zkončí ghostscript. Závěr I přes drobné problémy vypadá LyX jako velmi užitečný program. Nesnaží se vypadat zbytečně efektně, ale být šikovný. Můžu ho doporučit každému, kdo se nechce učit příkazy TeXu. LyX se sice nehodí úplně na všechno (asi by bylo nepraktické v něm psát reklamní letáky plné grafiky, rámečků, různých písem atd.), ale pro ty, co chtějí psát články, dopisy, nebo knihy je ideální. Uživatelé zvyklí na word procesory budou asi zpočátku zmateni a trochu zklamání, ale chvilka trpělivosti se vyplatí. I přes drobné nedostatky jde souhlasit z úvodem manuálu k LyXu: LyX is a program that provides a more modern approach to writing documents with a computer, an approach that breaks with the obsolete tradition of the ''typewriter concept.'' It is designed for authors who want professional output quickly with a minimum of effort without becoming specialists in typesetting. Compared to common word processors, LyX will increase productivity a lot, since the job of typesetting is done mostly by the computer, not the author. With LyX, the author can concentrate on the contents of her writing, since the computer takes care of the look. výheň