[cstex] Čeština v MiKTeXu 2.7

mlz mlz-plz at post.cz
Mon Jan 7 12:23:00 CET 2008


> Ono je to poněkud složitější. Babel se distribuuje jako hromada
> souborů *.dtx a *.ins (což má podobnou funkci jako Makefile) a z nich
> se generují *.ldf, *.sty a language dat pomocí docstrip.tex a
> dokumentace. Pak se *.ldf a *.sty překopírují na místa, kde je chce
> LaTeX (a babelizovaný plain, pokud ho někdo používá) a language.dat na
> místo, které se prohledává při generování formátů. Má to ale 4 úskalí:
>
> 1. V návodu P. Tesaříka je nutno některé soubory nahradit a něco je
> dodáváno jako změna, která se do souborů vnese programem patch. Ten je
> v každém Unixu, ale ve Windows není (v OS/2 je standardně s tímto
> názvem dodáván program s poněkud jinou funkcí, je to binární patch
> používaný na update systému). Pro OS/2 existují GNU utility, pro
> Windows je vše obsaženo v Cygwinu, ale obávám se, že ten, kdo nechce
> instalovat Perl, nebude chtít ani instalovat Cygwin. Naštěstí se i od
> P. Tesaříka dají stáhnout už patchnuté soubory.
>
> 2. Současné distribuce používají TDS, ale kořen stromu je jinde a v
> konfiguraci lze leccos změnit, např. z příchodem XeTeXu se struktura
> místy zjemnila. Aby člověk věděl, kam má soubory umístit, musí si
> přečíst specifikaci TDS a podívat se do svého konfiguračního souboru.
>
> 3. Vzory dělení nejsou součástí babelu, ale instalují se z jiných
> balíčků. Při instalaci TeXu si uživatel vybere jazyky a vše se
> nainstaluje. Soubor language.dat získaný od P. Tesaříka však obvykle
> obsahuje jazyky, k nimž uživatel nemá vzory dělení (protože je
> nepotřebuje), což způsobí chyby při generování formátu.
>
> 4. P. Tesařík dělal nové moduly v době, kdy ještě nebyl v distribucích
> XeTeX, takže není pamatováno na rozchozeni v XeLaTeXu a dokonce postup
> z jeho návodu v TL2007 havaruje. Totéž se může stát v novém MikTeXu, v
> němž už je též XeTeX.
>
> Řešení:
> 1. Ve vlastním babelu nedochází k tak závažným změnám, spíše se mění
> *.dtx pro některé jazyky. Není tedy problém, když vygeneruji *.ldf a
> *.sty pro češtinu a slovenštinu ze své verze babelu.
>
> 2. Na umístění souborů se lze v TL a v teTeXu zeptat programem
> kpsewhich, v MikTeXu programem findtexmf, v ostatních distribucích se
> to musí odhadnout z kožene stromu TEXMF, který musí uživatel znát.
>
> 3. Nedodává se hotový language.dat, ale upraví se stávající. V
> podstatě se udělá jeho modifikovaná kopie, která se vkládá do
> adresáře, kam smí zapisovat obyčejný uživatel a který se prohledává
> dříve (alespoň v TL je to tak uděláno, MikteXová implementace TDS je
> chudší a konfigurace se dá upravovat jen klikacím nástrojem MikTeX
> Options).
>
> 4. Proti návodu P. Tesaříka je udělána drobná úprava.
>
> Člověk si to tedy stále může udělat ručně, ale návod ke knihovně
> KPATHSEA je dlouhý, návod k programu findtexmf je na www.miktex.org,
> ale také si člověk musí dost nastudovat. A stejně musí znát TDS, aby
> věděl, na co se má pomocí těchto programů zeptat. Specifikace TDS je
> taky dlouhá, ale člověk ji nemusí znát celou. Musí však vědět, kterou
> část má znát. Začátečník to nejspíš neví.
>
> Když jsem přemýšlel, jak to udělat automaticky, dospěl jsem k závěru,
> že nejvhodnější je Perl, a to z těchto důvodů:
>
> a) je ve všech unixech i v Mac OS, texisté v OS/2 jej musí mít také,
> dodává se v TL pro Windows
>
> b) ActivePerl pro Windows se dá nainstalovat snadno
>
> c) bash je sice v Linuxu a texisté v OS/2 jej mají také, ale pro
> Windows je pravděpodobně jen v Cygwinu, jehož instalace je obtížnější
> než instalace perlu
>
> d) pro Windows by jako vhodný skriptovací jazyk byl nejspíš Visual
> Basic, ale neznám klon tohoto jazyka pro unixy, OS/2 ani Mac, takže by
> se stejně musely dělat 2 skripty.
>
> e) pro úpravu language.dat je užitečný awk, ale pro uživatele Windows
> by to znamenalo instalaci dalšího GNU nástroje. Naštěstí to lze snadno
> naprogramovat v perlu
>
> Není tedy pravda, že v případě babelu není dokumentováno, co kam
> patří. Pokud si to člověk chce instalovat ručně nakopírováním do
> adresářů, najde dokumentaci buď ve své TeXové distribuci, nebo na
> CTAN. A pokud by někdo chtěl napsat instalační skript modulů P.
> Tesaříka specificky pro Windows, aby se to obešlo bez Perlu, nikdo mu
> v tom nebrání. Já ovšem Visual Basic ani jiné microsoftí speciality
> neznám a jako neuživatel Windows se je nebudu učit.
>
>   
Jen dotazy k Win:
    Je opravdu potřebný bash, nestačí ash, ksh ?
Anebo, na rozdíl od instalace ActiveState, nebylo by lepší s distribucí 
dodávat unixové utility, které jsou GPL, není nutné je instalovat (na 
rozdíl od cygwinu) a chodí stejně na U*Xu i Win.
sh, cp, mv, sed, install a gawk je podle mého názoru dostačující. A 
existuje vše i samostatně. Navíc 10 programů do $TEXMF/$ARCH/bin není 
snad problém.
>> Bohužel, tvůrci software jsou toho názoru, že nebudou uživatele obtěžovat
>> informacemi o tom, jak jejich produkt spolupracuje se systémem, a nebudou
>> jej zdržovat popisem toho, kam co nakopírovat a jak přizpůsobit systém.
>> Místo toho udělají tzv. "instalační program", který často spustí grafickou
>> šaškárnu a neprozradí nic. Mě např. naskakují pupínky, když mám instalovat
>> nějaký software a ono to chce grafické prostředí, ono to chce javu, perl a
>> další obludnosti jen proto, aby to na pozadí nakonec udělalo /bin/cp
>> případně /bin/tar, přičemž nikde není řečeno, jak tuto práci udělat
>> manuálně. Nastávají pak problémy s právy, neb jen root může provést
>> /bin/cp někam do systému, ale root např. ke svému provozu nepotřebuje
>> grafiku, javu a další věci. Je pak často potřeba instalovat další věci jen
>> proto, aby se dala spustit grafická šaškárna při instalaci, upgradovat
>> jiný software kvůli grafické šaškárně atd. Přitom /bin/cp a /bin/tar jsou
>> organickou součástí každého rozumného operačního systému.
>>
>>     
> Také jsem radši, když pro instalaci stačí "make install" nebo
> "./install" a stačí to, co je v systému automaticky.
>
>   
make existuje v nějaké verzi pro win také


P.Maršík




More information about the csTeX mailing list