Obnoveni TCX tabulek v TeXu

Petr Olsak olsak at math.feld.cvut.cz
Tue Mar 2 09:28:34 CET 1999


On Mon, 1 Mar 1999, Jiri Osoba wrote:

> > Existujici tabulky cp1250cs, cp852-cs a il2-cs to je prece super ne
> > ...
> > Mimochodem, pdfTeX 0.13 uz je postaven na teto verzi web2c.
>
> Az 0.13b. Ale jinak souhlasim. Vypada to, ze se TCX tabulky stanou
> soucasti (vsech) standardnich TeXu (jakmile je to ve web2c, tak to
> vsichni prejmou). Ale mam pocit, ze podekovat bychom meli spis
> Polakum, kteri maji stejne problemy jako my, a kteri to tam
> protlacili.
>
> Jiri.

Vazeni priznivci TeXu,

chtel bych zde uvest nekolik svych nazoru tykajicich se obnoveni TCX
tabulek ve web2c TeXu. Skutecne, prosadili to Polaci. Ackoli jsem
s navrhem na xord/xchr reseni v TeXu prisel o dva roky drive a pokusil se
je realizovat jako tzv. encTeX, nepovedlo se mi toto reseni na mezinarodni
pude prosadit. Zdalo se mi, ze jsem v prosazovani xord/xchr reseni v nasi
zemi osamocen. Jako vysmech meho snazeni vyjde muj clanek o encTeXu
v TUGboatu az nyni, ackoli jsem jej redakci poslal pred dvema lety a kazdy
pulrok jsem jej urgoval.

Polakum se, podle meho nazoru, podarilo jejich xord/xchr reseni prosadit
hlavne proto, ze tahli za jeden provaz. Nejprve si me pozvali na svou
TeXovskou slezinu (duben 1998). Nekteri v te dobe pouzivali encTeX,
o kterem jsem tam referoval a clanek o nem mi vysel v jejich casopise
(na rozdil od TUGboatu temer okamzite). Pak zrejme Polaci zacali uvazovat
o dalsim xord/xchr reseni -- sice o obnove TCX tabulek. Asi nekdo
v Polsku hodne respektovany prohlasil, ze vazat nastaveni xord/xchr
vektoru na format (jako to dela encTeX nebo emTeX) neni vhodne. Polaci
tedy povazuji za vyhodu, ze se xord/xchr nastaveni vyvolava z prikazoveho
radku parametrem -translate-file pri _kazdem_ spusteni TeXu.

Ja osobne jsem v tomto ponekud jineho nazoru, ale kdyz zacali Polaci
predkladat sve reseni na mezinarodni pude, rozhodl jsem se je podporit
a v prosazovani TCX tabulek jsem se pripojil na jejich stranu.
Dulezite je, aby TeX obsahoval aspon nejake xord/xchr reseni. TCX
tabulky se navic zdaly lepe prosaditelne, protoze zasah do TeXu neni na
prvni pohled tak patrny (ackoli na druhy pohled je to zasah pomerne
hluboky). Vsadil jsem na to, ze mnoho lidi ten druhy pohled neprokoukne.
Co je mozno nazyvat TeX a co nikoli v souvislosti s TCX tabulkami vysvetlim
nize, ale nejprve strucne naznacim, jak ty tabulky funguji.

Tabulka obsahuje jednoduse dva sloupce (vstupni kod -- vnitrni kod) a podle
ni se nastavi hodnoty xord/xchr. Do logu se bez ^^zobaku tiskne implicitne
jen 92 standardnich ASCII znaku. Pouziti TCX tabulky rozsiruje tuto mnozinu
"tisknutelnych" znaku o ty, ktere jsou v tabulce uvedeny. Proto ma smysl
pouzivat tabulku il2-cs.tcx, ktera obsahuje na kazdem radku stejny vstupni
i vnitrni kod. Takova tabulka pouze rozsiruje mnozinu "tisknutelnych"
znaku. Krome toho, pokud mame spravne instalovane locales, rozsiri se
mnozina tisknutelnych znaku z locales (LC_TYPE) automaticky a tabulky
obsahujici pouze identicke zobrazeni (napr. il2-cs.tcx) by teoreticky
nebylo nutne pouzivat.

Nyni prichazi ma uvaha o tom, zda je to TeX. TeXem je mozne nazyvat jen
takovy program, ktery projde testem TRIP. V pripade implementace programu
s moznosti pouziti TCX tabulek je to pak takovy program, ktery se spusti
v operacnim systemu bez locales (LC_TYPE) a bez zavedeni TCX tabulky.
Jedine v takovem pripade projde test TRIP. Pokud ale _tentyz_ binarni
program pouzivate v jinem kontextu, tj. bud v systemu s rozsirenymi
locales nebo za pouziti TCX tabulky, takovy program nemuzete oficialne
nazyvat TeX. Na rozdil od encTeXu ale takovy program o sobe vubec
neprohlasi, ze neni TeXem! Kupodivu to mezinarodnimu spolecenstvi tolik
nevadi. Zrejme proto, ze se lze pomerne snadnymi prostredky vratit
k puvodnimu TeXu: staci odisntalovat prislusne locales a nepouzit TCX
tabulku. Pritom odstranit ty tri nadbytecne primitivy encTeXu, ktere byly
mnoha lidem trnem v oku, jde ponekud komplikovanejsim zpusobem.

Uvedu jeste, jak se ty TCX tabulky daji pouzit. V UNIXovych systemech misto
puvodniho symlinku csplain -> tex je treba instalovat jednoduchy script
s nazvem csplain s timto obsahem:

#!/bin/sh
exec tex -fmt=csplain -translate-file=il2-cs ${1+"$@"}

Analogii tohoto scriptu doporucuji mit v kazde instalaci TeXu, protoze
nemusime mit jistotu, zda jsou locales spravne instalovany. V MS Win si
predstavuji davku csplain.bat, ktera by zrejme mohla vypadat takto:

@tex -fmt=csplain -translate-file=cp1250cs %1 %2 %3 %4 %5

Protoze v techto vecech nejsem odbornik, je nanejvys pravdepodobne, ze
uzivatele MS Win navrhnou lepsi reseni.

S vyhodou lze vyuzit pozitivni vlastnosti TCX tabulek oproti predchozim
xord/xchr resenim: ze na operacnim systemu zavisle zalezitosti (jako je
volba TCX tabulky) se presouvaji do adresare bin/, ktery obsahuje na
systemu zavisle programove vybaveni. Pritom binarni formu formatu lze
v texmf/ strome sdilet mezi vice operacnimi systemy.

Upozornuji jeste na jednu zajimavou vlastnost implementace s TCX tabulkami.
Pokud prvni dva znaky prvniho vstupniho souboru *.tex jsou "%&", pak lze na
prvnim radku tohoto soubou specifikovat jednak pouzity format a jednak TCX
tabulku napriklad takto:

%&csplain -translate-file=il2-cs

a takto pripraveny dokument.tex lze zpracovat jednoduse povelem

tex dokument

Osobne mam z teto vlastnosti spise obavy, protoze to jednak dale komplikuje
otazku, zda vubec web2c TeX lze nazvat TeXem a dale, pokud nekdo po prenosu
dokumentu konvertuje kodovani dokumentu do kodovani v pouzitem operacnim
systemu, musi navic zmenit prvni radek dokumentu. Existuji ovsem lide,
kteri to prijimaji s nadsenim a ja jim to nadseni neberu.

Momentalne spolupracuji se Sebastianem Rhatzem na priprave noveho CDcka
TeXlive 4, ve kterem by mel byt funkcni CSTeX vyuzivajici TCX tabulky. Ve
srovnani s predchozi verzi TeXlive 3 by to mel byt znacny posun k lepsimu,
protoze ve verzi 3 jsme mohli nalezt jen torza CSTeXu. Binarky TeXu tam
obsazene neumoznovaly nastavit xord/xchr/tisknutelnost a byly tedy pro
CSTeX nepouzitelne. Na druhe strane pro TeXlive 4 uz byly akceptovany i
nektere me navrhy na mirne modifikace chovani TCX (napriklad vypis do logu
od verze beta5).

Petr Olsak




More information about the csTeX mailing list