% Pár poznámek k novému CSTeXu %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 5. 2. 1996 Petr Olšák % Zpracovat formátem csplain, kódování ISO8859-2 \magnification\magstep1 %\input cncent % Můžete zrušit komentář, máte-li PostScriptový font NewCenturySchlbk \chyph \newcount\itemnum % Číslované položky \raggedbottom % Vynechat dole na stránce příp. místo \emergencystretch=2em \font\mflogo=logo10 % METAFONT logo \def\,{\thinspace} \def\csori{$\cal C\kern-.1667em\lower.5ex\hbox{$\cal S$}\kern-.075em $} \def\cs#1{\csori\ifx-#1\hbox{-}\else#1\fi} \def\mf{{\mflogo META}\-{\mflogo FONT}} \def\twoe{$2_{\textstyle\varepsilon}$} \def\LaTeX{L\kern-.36em\raise.5ex\hbox{\sevenrm A}\kern-.12em\TeX} \def\ps{Post\-Script} \def\clqq{\char254 } \def\crqq{{\edef\iSF{\spacefactor\the\spacefactor}\char255 \iSF\relax}} \def\uv{\bgroup\aftergroup\closequotes\leavevmode\clqq\let\next=} \def\closequotes{\unskip\crqq\relax} \def\begitems{\medskip\bgroup\catcode`\*=13 \narrower} \def\enditems{\par\egroup\medskip} {\catcode`\*=13 \gdef*{\par\noindent\llap{$\bullet$\ }\ignorespaces} \gdef\numerate{% \numerate napsat těsně za \begitems \def*{\par\advance\itemnum by1\noindent \llap{\bf\the\itemnum. }\ignorespaces}}} \font\titlefont=\fontname\tenbf\space scaled\magstep2 \def\title#1\par{\centerline{\titlefont #1}\bigskip} \def\sub#1\par{\vskip1.5\bigskipamount\goodbreak\noindent{\bf #1}\par \nobreak\medskip} \def\Ad #1. {\medskip\noindent{\bf Ad #1. }} \title Pár poznámek k~novému CS\TeX{}u %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \noindent Petr Olšák \hfill 5.~února 1996 \medskip \sub Trocha historie %%%%%%%%%%%%%%%%%%%% Původní \cs\TeX{} vyšel z~projektu Oldřicha Ulrycha se záměrem nabídnout uživatelům, kteří problematice (aspoň zpočátku) nechtějí rozumět příliš do hloubky, snadně obsluhovatelný instalační balík. Šlo o~to, abychom pro člověka, který jedním dechem položí dvě otázky \uv{co je to \TeX{} a mohl bych jej vyzkoušet na svém PC?}, měli připravenou nějakou odpověď na otázku první a {\it snadnou\/} odpověď na otázku druhou: \uv{tu máš diskety a vyzkoušej si to}. Hlavní pilíř práce spočíval tedy v~sestavení funkční instalace pro DOS z~veřejně dostupných PD (in public domain) programů. Původně se jednalo o~programy z~Sb\TeX{}u a později o~programy z~em\TeX{}u. Samozřejmě tam byla zahrnuta též práce programátorů z~našich zemí. Bylo totiž potřeba doplnit převzaté programy o~další nástroje pro pořizování dokumentů v~českém a slovenském jazyce. Také byla snaha pokud možno co nejvíce ulehčit život řadovému uživateli. Znamená to, že uživatel by například neměl být nucen při běžných požadavcích číst mnohdy velmi rozsáhlou, nepřehlednou a nesourodou dokumentaci jednotlivých balíků PD programů, ze kterých cílový balík sestával. V~prehistorické době \cs\TeX{}u (1990--92) byla situace z~jedné strany obtížná, protože plno věcí pro podporu češtiny a slovenštiny bylo teprve ve vývoji. Z~druhé strany však byla situace jednodušší, protože pod pojmem \uv{zkoušet \TeX{} na PC} se jaksi samozřejmě očekávalo prostředí operačního systému DOS. V~roce 1993 jsem se zapojil do vytvoření nové verze \cs\TeX{}u, protože jsem považoval za vhodné zařadit do něj svůj program MNU, který umožnil vytvářet modifikovatelné a snadno ovladatelné nabídky pro spouštění jednotlivých \TeX{}ovských úkolů. Program MNU spolupracuje s~poměrně rozsáhlými DOSovskými dávkami. Je tedy patrné, že i tato verze instalace se opírala o~jednouživatelský a jednoúlohový operační systém DOS. Jako autoři instalačního balíku jsme se tehdy domluvili na tom, že budeme každoročně začleňovat změny a opravy. Proto jsme tehdejší verzi \cs\TeX{}u nazvali \cs\TeX{}93 a o~rok později s~nepatrnými úpravami byl dán k~dispozici \cs\TeX{}94. Očekávalo se, že se v~této řadě bude pokračovat\dots Dnes máme pro PC různé operační systémy a ten převládající% \footnote{$^{\dag}$)}{MS Windows} není shodný s~tím, který mají původní autoři \cs\TeX{}u v~oblibě. Navíc nemáme jenom PC, ale existují i jiné von Neumannovy strojky, na nich znovu jiné operační systémy a vše se spojuje do heterogenních, mnohdy dosti specifických, sítí. Pro tyto podmínky zatím nebyl \cs\TeX{} stavěný. Mezi původní cíle \cs\TeX{}u je třeba zařadit i snahu po unifikaci řešení problematiky české a slovenské sazby. To má dvě výhody: Za prvé, šetří se síly programátorů, kteří podporu pro národní sazbu vytvářejí, protože na řešení stejného problému nepracují bez vzájemné informovanosti na více místech současně. Za druhé, šetří se nervy uživatelů, kteří si vzájemně vyměňují \TeX{}ovské dokumenty a zkušenosti s~\TeX{}em, protože všichni pracují se stejným produktem. Tohoto cíle se bohužel nepodařilo dosáhnout. Dnes se dá těžko posoudit, kolik procent instalací \TeX{}u, na nichž se pořizuje sazba v~našich národních jazycích, tvoří \cs\TeX{}. Uděláme anketu aspoň mezi členy \cs TUGu? Pravděpodobně je procento vysoké, ale existují i lokální instalace postavené na jiných principech řešení národní problematiky. Některé takové instalace dokonce přesahují lokální charakter svého působení. Uveďme například instalaci pana Kasprzaka, která je navíc šířena prostřednictvím Internetu. \sub O~názvu %%%%%%%%%%%% Logo \cs\TeX{} je zkratkou \uv{český a slovenský \TeX}, což asi každý ví. Číslo verze za logem odpovídá ročníku, kdy byla verze připravena a šířena. Očekávalo se, že bude existovat \cs\TeX{}95, protože předcházely verze \cs\TeX{}93 a \cs\TeX{}94. Bohužel, pro názorový nesoulad mezi účastníky diskusní skupiny \uv{tzv. tvůrců \cs\TeX{}u} a pro následný absolutní nezájem těchto účastníků přiložit ruku k~dílu, když už byla stanovena koncepce a když jsem zveřejnil uvnitř této skupiny alfa verzi, se příprava na verzi 95 protáhla a byla uvedena až v~roce 1996. Dokumentace se na současnou verzi \cs\TeX{}u většinou odvolává pod číslem 95, někde se píše \cs\TeX{}95,6. Uživatele je třeba upozornit, že mezi \cs\TeX{}em 95 a předchozími verzemi je hodně dosti zásadních rozdílů, viz níže. Protože od nynější verze platí úmluva, že se jednotlivé moduly v~\cs\TeX{}u budou opravovat průběžně, nebudou vznikat další verze s~čísly podle ročníků. Z~toho důvodu bude asi jednodušší říkat nejnovější verzi prostě \cs\TeX{}. Předchozí verze by se měly pro odlišení důsledně nazývat \cs\TeX{}94, \cs\TeX{}93 či \cs\TeX{}92. Tuto fintu, a do jisté míry podraz vůči uživatelům, už známe z~produktu současného \LaTeX{} teamu. Produkt se překvapivě jmenuje \LaTeX, zatímco to, co jsme byli až dosud zvyklí \LaTeX{}em nazývat, máme nyní pojmenovávat jako \LaTeX{}2.09. V~dalším textu budeme tedy slovem \cs\TeX{} označovat verzi \cs\TeX{}95,6. Žádná jiná varianta počeštění \TeX{}u by se neměla nazývat stejným jménem. Pouze \cs TUGem oficiálně podporovaná verze má toto jméno. Totéž platí o~formátech \TeX{}u, které jsou zahrnuty v~\cs\TeX{}u. V~současné době jde o~jména {\tt csplain}, {\tt csamstex}, {\tt cslamstex}, {\tt cslatex}, {\tt csamslat} a {\tt cslt209}. Pokud například najdeme na síti \TeX{}ovský dokument, který bude mít v~úvodním komentáři napsáno \uv{zpracovat formátem csplain}, mělo by tím být naprosto jednoznačně řečeno, o~co jde. \sub Vymezení pojmu a struktura \cs\TeX{}u %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Název bychom měli, teď si ještě povíme, co to vlastně ten \cs\TeX{} je. Dříve jsme měli situaci jednodušší, protože jsme většinou tento název ztotožňovali s~oněmi devatenácti disketami pro DOS. Ovšem i při takovém pojetí jsme se dopouštěli některých omylů a nepřesností. Třeba tvrzení, že \cs\TeX{} je em\TeX{} je omyl. Nebo jiné tvrzení, že pod pojmem \cs\TeX{} si představím určité seskupení nabídek realizovaných programem MNU, také není v~pořádku. V~současné době, kdy s~\cs\TeX{}em pracují uživatelé různých operačních systémů (OS), je třeba vymezit tento pojem poněkud opatrněji. \cs\TeX{} pro daný OS se skládá z~těchto komponent: \begitems \numerate * Základ -- \TeX, makra, fonty, ovladače. Fungující pro anglický jazyk. * Prostředky pro podporu č/s sazby závislé na OS. * \cs-fonty. * Makra pro sazbu v~národním prostředí a další podpora nezávislá na OS. \enditems \Ad 1. Základ většinou vzniká kompilací Knuthova zdrojového textu {\tt tex.web} do spustitelného programu pro daný OS. Totéž platí pro \mf. Dále jsou součástí základu Knuthovy fonty ve tvaru {\tt mf} a makra společně s~makry dalších autorů. Například makra \LaTeX{}u. V~neposlední řadě základ musí zahrnovat {\tt dvi} ovladač pro zobrazovací jednotku v~daném OS, tzv. prohlížeč, a ovladače pro nejběžněji používaná výstupní zařízení. Nebývá obvyklé, aby tento základ vznikl v~dílnách českých autorů. Jako základ se používají PD instalace \TeX{}u pro daný OS. Například pro DOS a OS/2 se používá jako základ em\TeX, pro UNIX je použita \TeX{}ovská instalace Karla Berryho. Základ není vhodné označovat jako součást \cs\TeX{}u ve smyslu vykonané práce autorů \cs\TeX{}u, ovšem z~pohledu skutečnosti, že bez základu nám to nepojede, zřejmě se bez označení \uv{součást \cs\TeX{}u} mnohdy neobejdeme. Základ určuje způsob balení dalších komponent, tj. např. strukturu použitých adresářů, způsob a typ použitého programu pro vytváření instalačních modulů (například zip nebo tar), způsob prezentování dokumentace a případně další náležitosti. \Ad 2. Abychom mohli pořizovat česky a slovensky psané dokumenty, potřebujeme některé další prostředky, které jsou závislé na použitém OS. Například je potřeba zodpovědět otázku, jak a zda vůbec řeší OS pořizování zdrojových textů \TeX{}u s~národními abecedami. Jedná se třeba o~volbu editoru a pomůcek k~pořizování textů včetně nabodeníček. Také zde patří různé konvertory, preprocesory (třeba program vlnka), kontroly překlepů apod. V~každém OS bude asi tato podpora na jiné úrovni. V~některém OS můžeme mít navíc různá \uv{vylepšení}, například program MNU. Ačkoli se některé věci z~této oblasti dají převzít z~nabídky PD programů, přesto je potřeba udělat v~daném OS kus samostatné programátorské práce. Vše, co kdokoli pro svůj OS udělá, je v~projektu \cs\TeX{} vítáno. Například pro UNIXy se v~současné době dají použít fonty v~\hbox{ISO8859-2} zavedené do X aplikace (například editoru). V~případě Emacsu se dá vkládání nabodeníček řešit na úrovni maker editoru. Jiná možnost je využít přepínání tabulky Xmodmap na úrovni X serveru. Pokud například tyto softwarové pomůcky nabídnou autoři do \cs\TeX{}u pro UNIXy, budeme potěšeni. \Ad 3. V~každé instalaci \TeX{}u jsou za základní fonty považovány Knuthovy fonty Computer Modern. Nic na tom nemění skutečnost, že instalace většinou umí pracovat s~rozsáhlým množstvím dalších, obvykle \ps{}ových, fontů. Jako základní fonty pro českou a slovenskou sazbu jsou v~\cs\TeX{}u stanoveny \cs-fonty. \cs-fonty jsou k~dispozici ve stejném formátu, jako Computer Modern fonty a navazují na ně. Jedná se tedy o~formáty {\tt mf} a {\tt tfm}, které jsou přenositelné na libovolný OS. \Ad 4. Makra \cs\TeX{}u navazují na makra základu a na \cs-fonty. Ve všech případech jde o~textové soubory přenositelné na libovolný OS. Makra modifikují formáty, převzaté ze základu (například {\tt plain}, {\tt latex}) tak, aby se v~nich místo Computer Modern fontů pracovalo s~\cs-fonty. Dále jsou v~těchto makrech zahrnuty české a slovenské vzory dělení slov. Výsledné formáty mají před původním názvem předponu {\tt cs}, tj. třeba {\tt csplain}, {\tt cslatex}. Toto jsou oficiální názvy formátů \cs\TeX{}u. Kromě maker existují další pomůcky pro českou a slovenskou sazbu, nezávislé na OS. Uveďme například virtuální fonty v kódování \cs-fontů, které umožňují sazbu \ps{}ovými fonty v národních jazycích. \medskip \uv{\cs\TeX{} pro jistý OS} představuje relativně samostatný celek a je nabízen na ftp serverech v~samostatných adresářích. Rozličný může být i způsob distribuce a způsob instalace. Tyto věci se většinou podřizují způsobům, jaké jsou použity při instalaci základu. První dvě komponenty jsou závislé na operačním systému, zatímco další dvě komponenty se v~různých OS neliší. Proto třetí a čtvrtou komponentu nazýváme {\it jádrem\/} \cs\TeX{}u, které je ve všech OS \uv{skoro} shodné. Slůvko \uv{skoro} v~sobě zahrnuje pouze nutné transformace textových souborů, struktury adresářů a názvů souborů z~důvodu specifik daného OS: máme různé konce řádků pro MAC, DOS a UNIX a některé méněcenné OS nerozlišují velikosti písmen v~názvech souborů a mají velmi nepříjemné omezení v~délce názvu. V~současné době nabízíme \cs\TeX{} pro DOS a OS/2. Základem tohoto \cs\TeX{}u je em\TeX{}, který je společný pro oba OS. Nad touto instalací lze použitím balíku {\tt texwin.zip} vytvořit též podporu pro MS Windows. Dále existuje \cs\TeX{} pro UNIXy, ovšem zatím jen v~plenkách. Základem je instalace Karla Berryho. Nabízené TARy nyní obsahují jen převedené jádro \cs\TeX{}u zabalené do struktury adresářů podle základu. Zatím pro UNIX chybí druhá komponenta. Po jednání s~autory softu spadajícího do druhé komponenty, se pokusím do \cs\TeX{}u pro UNIX zařadit i jejich práci. Dále rád přivítám jakoukoli spolupráci s~uživateli Amigy, MACu, VAXu apod. Nabízím odbornou konzultaci k~problematice \TeX{}u a okolí, ovšem o~operačních systémech samotných vím velmi málo. Dočkáme se v~brzké době rozšíření \cs\TeX{}u pro další OS? \sub Výhody proti předchozí verzi \cs\TeX{}94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% V~následujících dvou odstavcích si shrneme výhody a nevýhody nové verze vzhledem ke staré. Tím odpovíme na otázku, zda má pro uživatele smysl přecházet na novou verzi \cs\TeX{}u. Nejvýznamnější výhody se dají shrnout do následujících bodů. První dva body se týkají srovnání \cs\TeX{}u pro DOS, ostatní body mají obecnější platnost. \begitems \numerate * Lepší kompatibilita se současným em\TeX{}em. * Končí (snad) problémy s~{\tt tex386} kontra různé DOSovské správy paměti. * Je implicitně zařazeno automatické dogenerování fontů. * Je zařazen {\tt cslatex} jako c/s varianta \LaTeX{}u \twoe. * Možnost použít \ps{}ové fonty i v~národní sazbě. * Nové vzory dělení slov pro češtinu. * Existuje WWW stránka s~přehledným rozdělením \cs\TeX{}u do modulů. \enditems \Ad 1. V~původním balíku byl základ em\TeX{} přebrán jen částečně a byl kompletně přebalen s~ohledem na potřeby instalace \cs\TeX{}u. Časem se objevily dvě nevýhody. Za prvé to odporovalo požadavku autora em\TeX{}u E. Mattese distribuovat em\TeX{} pouze jako celek. Za druhé, E. Mattes mezitím přešel k~novějším verzím a dramaticky změnil adresářovou strukturu i syntaxi konfiguračních souborů% \footnote{*)}{Takové zásadní změny se v~em\TeX{}u odehrávají zhruba s~frekvencí dvou let. Není to poprvé, co se s~tím setkáváme, bohužel.}. Tím se distribuovaný \cs\TeX{} značně vzdálil od aktuální verze svého základu a nastaly problémy. Když si někdo vzpomněl, že chce tisknout jazykem PCL na 600\,dpi tiskárnách, nefungovalo to. Když si sehnal novější verzi ovladače, kde byla chyba odstraněna, byl zmaten novým jazykem konfiguračního souboru a strukturou adresářů. Teprve za cenu obrovského úsilí spojil starý \cs\TeX{} s~novým programem do fungujícího celku. Podobná věc platila pro bublinkové tiskárny, nové verze grafických karet monitoru apod. Tyto věci ve starém \cs\TeX{}u podporovány nebyly a kombinací nových ovladačů em\TeX{}u se starým \cs\TeX{}em přibývaly potíže. Protože lze předpokládat, že v~budoucnu dojde k~dalším změnám v~em\TeX{}u, bude pro snadnější obnovování \cs\TeX{}u pro DOS jednodušší převzít základ beze změn s~originálně balenými ZIPy. \Ad 2. Potěším všechny zoufalce, kteří chtějí s~DOSem obsloužit více než 640\,kb paměti pomocí různých berliček, jako je {\tt emm386} a jim podobné. To s~původní verzí em\TeX{}u nešlo moc dohromady. Současná verze em\TeX{}u už obsahuje příslušné {\tt exe} programy (např. {\tt tex386.exe}) ve \uv{vykuchaném} tvaru. Znamená to, že tyto programy nemají obsluhu rozšířené paměti zahrnutu přímo v~sobě. Místo toho uvedené programy spolupracují s~dvěma různými podpůrnými nástroji -- {\tt emx} nebo {\tt rsx}. Nástroj {\tt emx} obsahuje původní Mattesovo pojetí práce s~rozšířenou pamětí, zatímco {\tt rsx} dokáže spolupracovat s~{\tt emm386}. Typ podpůrného nástroje si program vybere automaticky v~závislosti na přítomném (nebo nepřítomném) emulátoru paměti. Důsledkem toho je, že se to nepere s~Microsoftským pojetím obsluhy rozšířené paměti. Nedá se předpokládat, že problém paměti v~DOSu je navždy vyřešen. Různé novější verze zpětně nekompatibilních obsluhovačů paměti mohou znovu způsobit problémy. Budiž pouze útěchou, že se nemusí kvůli tomu (snad) měnit verze programů {\tt tex386.exe} a jim podobných, ale stačí vyměnit příslušný {\tt rsx}. Problémy tohoto typu budou existovat tak dlouho, jak dlouho bude existovat DOS. Zvrácenost tohoto operačního systému spočívá v~tom, že nechává na aplikaci, aby se sama nějak vypořádala se vstupem do rozšířené paměti. Pokud na stejném hardware spustíte nějaký UNIX, bariéra 640\,kb přestává existovat a operační systém nabízí aplikaci tolik virtuální paměti, kolik se konfiguruje. \Ad 3. V~\cs\TeX{}u 94 zabíraly převážné množství distribučních disket bitové mapy \cs-fontů pro nejrůznější tiskárny a v~nejrůznějších velikostech. Automatické dogenerování bitmap \cs-fontů pak nebylo skoro potřeba provádět a bylo implicitně vypnuté. Dnes se používá větší množství typů tiskáren a větší množství fontů. Automatické dogenerování bitmap je proto implicitně zapnuté. To má pouze tu nevýhodu, že administrátor sítě, který instaluje \cs\TeX{} do místa zabezpečeného proti zápisu uživatelem, musí pozměnit obsah konfiguračních souborů, aby se nově generované bitmapy vytvářely v~místě, kam uživatel zapisovat může. Pokud se vychází z~malého množství hotových bitových map, existuje ještě druhá nevýhoda. Tou je skutečnost, že se na fonty zpočátku musí chvíli počkat. Aby byla trochu kompenzována druhá nevýhoda, jsou v~\cs\TeX{}u zařazeny knihovny bitových map pro původní čtyři typy podporovaných tiskáren, ovšem tyto knihovny zahrnují jen nejpoužívanější minimum. Proto nejsou tak rozsáhlé. Vše mimo tyto výchozí knihovny projde automatickým generováním. \Ad 4. V~nové verzi \cs\TeX{}u jsme se dočkali převedení \LaTeX{}u \twoe{} do národního prostředí. Tento formát se nyní nazývá {\tt cslatex}. V~\cs\TeX{}u pro DOS lze navíc použít původní formát \LaTeX{} 2.09 a lze si snadno z~nabídky vybrat, která verze \LaTeX{}u bude použita. Výhody nového \LaTeX{}u \twoe{} vám neřeknu, protože \LaTeX{} nepoužívám. Kdo jej používá, zřejmě by našel celou řádku argumentů, proč přejít na \LaTeX{} \twoe. \Ad 5. V~novém \cs\TeX{}u máte možnost použít základní skupinu \ps{}ových fontů. Jsou zařazeny virtuální popisy těchto fontů ve stejném kódování, jako \cs-fonty. Rovněž jsou k~dispozici makra pro {\tt cslatex} i {\tt csplain}, která umožní snadné použití těchto fontů koncovému uživateli. Základní skupina \ps{}ových fontů je instalována v~každém \ps{}o\-vém RIPu, takže ji kupujete společně s~RIPem v~tiskárně. Do \cs\TeX{}u budou zahrnuty v~nejbližší době též knihovny bitových map těchto fontů pro nejběžnější tiskárny v~obvyklých rozlišeních. Potom bude možné si sazbu s~těmito fonty prohlížet a tisknout na levných tiskárnách. V~činnosti ale nebude automatické generování nestandardních velikostí, protože popisy kreseb těchto fontů jsou chráněny licencí a není možné je šířit zdarma. Pokud použijete rastrovací mechanismus těchto fontů z~PD instalace Ghostscriptu, tj. místo originálních a licencí chráněných fontů ve formátu {\tt pfb} použijete volně šířené {\tt gsf}, velmi vás prosím, nevystavujte takové dokumenty na veřejnosti. Dělali byste \TeX{}u jen ostudu. Je též přibalen nástroj pro vytvoření dalších virtuálních popisů libovolných \ps{}ových fontů. Je jím program {\tt a2ac}. Pokud si tedy koupíte \ps{}ový font ve Standard AdobeEncoding, pak máte možnost jej použít v~české sazbě v~\TeX{}u. Doporučuje se nekupovat počeštěné varianty těchto fontů, protože velmi často platí, že počeštěný font znamená pomršený font. Je daleko lepší využít pro počeštění nástrojů z~\cs\TeX{}u. \Ad 6. V~novém \cs\TeX{}u jsou použity nové vzory dělení českých slov od Pavla Ševečka a kol. Tyto vzory jsou podstatně lepší, než vzory dělení z~\cs\TeX{}u 94. Slovenské vzory dělení zatím bohužel zůstaly beze změny. Vzory dělení (české i slovenské) jsou navíc uloženy v~souborech nezávislých na volbě kódování, tj. neovlivní případně jinou volbu vnitřního kódování \TeX{}u a jsou snadno přenositelné do jiných OS. \Ad 7. Existuje WWW stránka, která informuje o~současném stavu \cs\TeX{}u a přehledně ukazuje rozdělení jednotlivých instalací do modulů (například instalačních ZIPů). Prostřednictvím WWW lze též zkopírovat přímo do vašeho počítače libovolný modul \cs\TeX{}u nebo kontaktovat autory modulů elektronickým dopisem. \sub Nevýhody proti předchozí verzi \cs\TeX{}94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begitems \numerate * Neexistuje snadná obnova předchozí verze na novou. * Větší nároky na disk. * Méně komfortní instalační procedura. * Méně kladen důraz na DOS. * Menší spolehlivost na rozhraních kompetencí. * Opravy se budou dělat za chodu. \enditems \Ad 1. Předchozí verze \cs\TeX{}u (94 a 93) se od nové velmi výrazně liší v~adresářové struktuře. Proto při přechodu na novou verzi je nutné zcela opustit verzi starou. Chcete-li mít obě verze vedle sebe, přejmenujte starý adresář na jiný název než {\tt emtex} a instalujte nový \cs\TeX{} vedle. Po přejmenování staré verze bude ještě potřeba pozměnit obsah i jména spouštěcích dávek staré verze a dále upravit set pro {\tt TEXDIR} v~{\tt cfg\char92texset.bat}. \Ad 2. Protože jsme do \cs\TeX{}u zařadili kompletní em\TeX{}, nastávají problémy s~velikostí instalace na disku. Tvůrce em\TeX{}u Eberhard Mattes se tímto systémem intenzívně zabývá, a tak mu asi je jedno, že jeho instalace zabírá 50\,MB. Méně jedno to je náhodnému uživateli, který na svém disku kromě \TeX{}u chce mít plno dalších věcí a \TeX{} považuje jen jako nezávazný experiment. Mattes balí do svých ZIPů skupiny software, které se paralelně doplňují. Například {\tt exe} programy pro DOS i OS/2 jsou ve společném ZIPu. Nebo dokumentace je jednak anglická a jednak německá. Až poté, co je ZIP rozbalen na disk se tedy může začít šetřit místem vymazáním zbytečného softu. Například vymazání všeho, co se týká OS/2, protože máme zatím jenom DOS, případně vymazání veškeré německé dokumentace, protože raději čteme anglicky. Jako kompromis byly vytvořeny tři varianty, definující množinu použitých ZIPů pro instalaci. Nejmenší varianta \uv{{\tt small}} instaluje funkční minimum. To vyjde na 17\,MB. Pak se dá například vymazat vše, co patří OS/2 a není použitelné pro DOS a dále německá dokumentace a vše se zredukuje na 13\,MB. Pokud dále problematice velmi rozumíme a víme naprosto přesně, co budeme potřebovat a co ne, dají se ručně dále vymazávat jednotlivosti, až dojdeme obvykle k~8\,MB. Pokud odmažeme \LaTeX{} a necháme jen plain, dostaneme se na hranici 5\,MB. Menší to rozhodně nikdy nebude. Protože v~průběhu práce se budou generovat formáty a dále fonty, je rozumné pro minimální nároky počítat obvykle s~20\,MB. Další varianty instalace \uv{{\tt all}} a \uv{{\tt big}} zaberou po řadě zhruba 38\,MB a 50\,MB. \Ad 3. Způsob balení Mattesových ZIPů tedy znemožnil elegantní instalaci jen těch částí \cs\TeX{}u, které skutečně potřebujeme. Proto nemělo smysl pro novou verzi \cs\TeX{}u použít analogii k~instalačnímu programu, který známe ze starších verzí. \Ad 4. Až dosud byla práce autorů v~\cs\TeX{}u nejprve inspirována jejich vlastními potřebami. Současná verze \cs\TeX{}u pro DOS je asi prvním balíkem, kdy jsem jako autor balíku nevytvořil toto dílo pro svou vlastní potřebu, ale pro druhé. Cítím totiž závazek vůči uživatelům DOSu, kteří novou verzi em\TeX{}u zapracovanou do \cs\TeX{}u potřebují. Skutečně, na své domácí 286 zůstanu u~verze z~\cs\TeX{}u 94, která se mi podařila vměstnat včetně starého \LaTeX{}u do 5\,MB na disku. Každý, kdo má pouze 40\,MB disk ví, co to znamená \uv{disková tíseň}. Tam se prostě nová verze nevejde a ani se nedá zkoušet. V~zaměstnání bych asi také nebyl uživateli pochválen, kdybych přešel na novou verzi, na kterou nejsou zvyklí. A~já osobně v~zaměstnání používám \TeX{} skoro výhradně na UNIXu. Důsledkem tohoto odklonu autorových potřeb od odvedené práce může být, a pravděpodobně je, méně propracovaný a určitě méně prozkoušený balík. \Ad 5. Jednotlivé části \cs\TeX{}u dělají různí autoři pod různými operačními systémy. Výsledná práce pak při opomenutí nemusí zcela zapadat do koncepce \cs\TeX{}u a vznikají potíže na \uv{rozhraních kompetencí}. Příkladem je současný balík {\tt cslatex}, který vytvořil Z.~Wagner a odzkoušel pod svým operačním systémem, kterým je OS/2. Přitom zcela ignoroval skutečnost, že v~balíku MNU pro DOS jsou pro {\tt cslatex} připraveny položky v~menu a dávky. Tyto dávky ovšem s~dodaným balíkem neuměly pracovat. Vznikla otázka, zda změnit dávky nebo balík {\tt cslatex}. Ani já, ani on, jsme neměli možnost ani chuť vyzkoušet, zda naše dílo na sebe navazuje, protože nikdo z~nás příliš nepracuje s~DOSem. V~následující kapitole se proto pokusím vymezit požadavky na autora modulu, co musí udělat, aby byl modul bezproblémově zařazen do \cs\TeX{}u. \Ad 6. Je mi jasné, že pro uživatele nebude příliš snadné sledovat postupný pohyb ve verzích jednotlivých modulů a jejich opravy, přestože každá významnější změna v~\cs\TeX{}u bude zveřejněna na listu. V~souboru {\tt zmeny.txt} přístupném jednak pomocí ftp a jednak pomocí WWW bude přibývat podrobný záznam o~jednotlivých změnách včetně data zanesení změny na serveru. Toto opatření, na rozdíl od skokových změn jednou ročně, umožní autorům provádět opravy modulů v~okamžiku, kdy na to mají náladu a chuť a já je nebudu muset nutit ke splnění časových termínů, které podle mých zkušeností stejně neplnili. Pravda, je to poněkud méně uživatelsky přehledné, bohužel. \sub Jak zařadit nový modul %%%%%%%%%%%%%%%%%%%%%%%%%%% I~vy se můžete stát spoluautory \cs\TeX{}u. Když vytvoříte instalační modul (například ZIP), který je v~souladu se stávající strukturou \cs\TeX{}u pro daný OS a je jednoduše začlenitelný do stávajícího stavu, je to jedině vítáno. Je ovšem bezpodmínečně potřeba, abyste si zkusmo instalovali současnou verzi \cs\TeX{}u pro daný OS a na něm provedli experiment začlenění vašeho modulu. Při tomto začlenění je potřeba zaznamenat úkony a změny, které je nutné udělat v~souborech pocházejících z~rukou jiných autorů. Tyto změny je pak potřeba podrobně popsat a zaslat těmto autorům. Až je autoři začlení do svých modulů, je teprve možné nový modul začlenit do \cs\TeX{}u. Příklad. Budete chtít přidat modul Ghostscriptu {\tt gs.zip} pro \cs\TeX{} pro DOS. Provedete následující: \begitems \numerate * Instalujete si {\it současnou\/} verzi \cs\TeX{}u pro DOS. * Instalujete svůj balík. * Provedete zásahy do stávajících souborů (třeba přidání položky v~MNU). * Odzkoušíte funkčnost instalace včetně vašeho balíku. * Zašlete autorovi změněných souborů soupis změn (například mě zašlete instrukci o~začlenění nové položky do {\tt cfg.mnu} a do instalačních dávek). * Já provedu potřebné změny a vystavím obnovený modul {\tt mnu.zip} a váš modul {\tt gs.zip}. Také provedu změny v~instalačních dávkách, případně v~dokumentaci. Nepočítejte s~tím, že to budu znovu zkoušet! * Vy dáte annonci o~novém modulu na listu {\tt cstex} a budete na tomto listu odpovídat na případné problémy a dotazy uživatelů. \enditems Samozřejmostí dobře připraveného modulu je nejen správná struktura modulu ale také dobrý a instruktivní dokumentační soubor v~češtině nebo ve slovenštině. Také je třeba (například v~dokumentaci) rozlišit vaši práci od práce převzaté ve formě převzatých PD programů a modul by neměl být v~rozporu s~požadavky autorů převzatých PD programů. Je to dost hodně práce, ale když už takovou věc jednou uděláte pro sebe, asi stojí za to ji zveřejnit pro druhé pod hlavičkou \cs\TeX{}u. Ušetříte tím práci mnoha dalším lidem, kteří bohužel, jak plyne z~mých zkušeností, vám za to ani nebudou příliš vděční. Zařazení některých nových modulů může být nejprve předmětem diskuse s~autory konkurenčních produktů. Například zařadit do \cs\TeX{}u pro DOS alternativní systém k~systému MNU může vyžadovat delší diskusi. Netvrdím, že bych byl z~důvodu své ješitnosti zásadně proti. Asi by záleželo na okolnostech a na projektu výsledného uspořádání modulů. \sub Co s~pátou disketou %%%%%%%%%%%%%%%%%%%%%%%% Kromě PD programů se v~některých komponentách \cs\TeX{}u mohou vyskytovat i~programy vázané licencí. Takové programy pak \cs TUG rozšiřuje podle podmínek stanovených smlouvou mezi autorem, resp. distributorem a \cs TUGem. V~roce 1992 \cs TUG koupil editor \cs Ed a korektor překlepů, obojí pro DOS. Od té doby k~žádným dalším nákupům ani přechodům na novější verze nedošlo. Současné vedení \cs TUGu neinklinuje k~příliš rozsáhlé podpoře nákupu podpůrných programů pro \TeX, zvláště pokud se jedná o~software závislý na použitém OS. Zmíněný editor \cs Ed a korektor překlepů je podle smluv s~autory možné bezplatně šířit jen pro členy \cs TUGu a není dovoleno jej distribuovat mimo řady členské základny. Tento software je zařazen na páté disketě v~\cs\TeX{}u pro DOS. Zatímco celý \cs\TeX{} je k~dispozici na anonymních ftp serverech, obsah této páté diskety z~uvedených důvodů přístupný není. Kolektivní členové \cs TUGu dostali v~roce 1993 celý \cs\TeX{} 93 na disketách, včetně páté diskety. Individuální členové si pak mohli obsah páté diskety kopírovat od kolektivních členů. Další možností je distribuce obsahu páté diskety prostřednictvím Internetu za použití osobního identifikačního čísla (PIN), které na požádání přidělí členovi \cs TUGu Martin Bílý. V~novém \cs\TeX{}u je obsah páté diskety z~pohledu zastoupených souborů zcela stejný jako c \cs\TeX{}u94, ovšem ZIPy jsou zabalené s~nepatrně odlišnou strukturou. Uvnitř ZIPu je přidán hlavní adresář {\tt emtex}, aby struktura těchto ZIPů souhlasila se strukturou ostatních ZIPů v~instalaci. Máte-li pátou disketu z~\cs\TeX{}u 94 nebo 93, pak stačí přebalit ZIPy do nové struktury a můžete disketu používat i v~současném \cs\TeX{}u. Pro přebalení je v~\cs\TeX{}u připravena dávka {\tt newcs5.bat}, kterou je možno na \uv{obnovení} diskety použít. Upozornění: Proveďte nejprve zálohu původní diskety. \sub Kde najdeme novou instalaci? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Instalace \cs\TeX{}u je k~dispozici na ftp serveru s~anonymním přístupem \medskip {\tt math.feld.cvut.cz} \medskip \noindent v~adresáři {\tt /pub/cstex}. Tam jsou v~současné době adresáře {\tt msdos}, {\tt os2} a {\tt unix}. Přitom první dva adresáře jsou zcela totožné (UNIXový link), protože distribuce pro DOS a OS/2 vychází ze stejného základu em\TeX. Distribuce pro MS Windows je realizována jedním doplňkovým modulem {\tt texwin.zip}, který je součástí \cs\TeX{}u pro DOS. Dále jsou k~dispozici soubory {\tt diskuse.txt} a {\tt zmeny.txt}. V~prvním je souhrn nejpodstatnějších diskusních příspěvků, týkajících se \cs\TeX{}u na diskusní skupině {\tt cstex}. V~druhém je podrobný seznam změn včetně data provedení změny v~jednotlivých modulech. Důvody, proč byla změna provedena, je mnohdy možné vyčíst ze souboru {\tt diskuse.txt}. Při zkopírování \cs\TeX{}u z~ftp serveru doporučuji uchovat si soubor {\tt zmeny.txt}, neboť tento soubor vlastně charakterizuje verzi \cs\TeX{}u, kterou jste si zrovna zkopírovali. Protože jsou změny prováděny \uv{za chodu}, můžete v~budoucnu porovnat svůj soubor {\tt zmeny.txt} s~vystavovaným a máte přehled o~rozdílech mezi vaší verzí \cs\TeX{}u a vystavovanou. \cs\TeX{} je rovněž přístupný prostřednictvím WWW na \medskip {\tt http://math.feld.cvut.cz/olsak/cstex}.\medskip \noindent Server {\tt math.feld.cvut.cz} je primárním serverem \cs\TeX{}u. Ostatní ftp servery jej mohou zrcadlit. \cs\TeX{} pro daný OS má většinou specifický způsob instalace a mnohdy též distribuce. Například \cs\TeX{} pro DOS a OS/2 může být šířen též na disketách 1.44\,MB. Proto je zde připravena dávka {\tt makeinst.bat}, která z~adresáře, v~němž jsou všechny moduly pohromadě, překopíruje instalační soubory na jednotlivé diskety s~označením CS-1 až CS-5, EM-1 až EM-7 a PK-1 až PK-3. Tím vzniká instalační sada disket použitelná na počítačích s~DOSem nebo OS/2. Pro UNIX zatím podobná věc není udělána, protože disketové médium pro UNIX nebývá zcela obvyklé a instalační TARy základu daleko přesahují kapacitu jedné diskety. \end