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ň