muj nazor na banner encTeXu

Petr Olsak olsak at math.feld.cvut.cz
Fri Nov 27 14:23:25 CET 1998


On Fri, 27 Nov 1998, Tomas Kouba wrote:

> Zajimave, co je pravda? V souboru tex.web se pise:
>
> If this program is changed, the resulting system should not be called
> `\TeX'; the official name `\TeX' by itself is reserved
> for software systems that are fully compatible with each other.
> A special test suite called the ``\.{TRIP} test'' is available for
> helping to determine whether a particular implementation deserves to
> be
> known as `\TeX' [cf.~Stanford Computer Science report CS1027,
> November 1984].

Teto formulace jsem si plne vedom a pokusim se vysvetlit, jak problem
vidim ja. Upozornuji ale, ze momentalne odbihame o tematu, zda se muze ci
nemuze sirit pdfTeX s enctexem.

Knuthovu formulaci je treba brat s jistou rezervou. Co to znamena, ze se
program zmeni? Zmenit se muze jen tehdy, pokud nejaky program existuje.
Pritom uvedena formulace je vlozena do tex.web a to je soubor, nikoli
program. Aby se tento soubor stal programem, musi se implementovat. K tomu
knuth povolil udelat zasahy do systemove zavislych casti tex.web
(prostrednictvim tex.ch), ktere jsou jako systemove zavisle oznaceny. Mezi
takove systemove zavisle casti patri i nastaveni xord/xchr vektoru pro
prekodovani ze systemove zavisleho kodovaciho standardu do na systemu
nezavisleho kodovani v TeXu. Proto take Knuth vytvoril test TRIP, aby se
dalo overit, zda program se muze nazyvat i po systemove zavislych upravach
TeXem.

Pokud bychom meli presne dodrzet Knuthovu koncepci, pak bychom museli pred
kompilaci TeXu nastavid jiny xord/xchr pro system, kde pracujeme s CP1250,
jiny pro system, kde pracujeme s Kamenikama a jiny pro system, kde
pracujeme s ISO8859-2. Kazda vytvorena binarka TeXu by se mohla v souladu
s Knuthovymi pozadavky nazyvat TeX, protoze byly provedeny zmeny jen v
systemove zavislych castech TeXu. V ceskych zemich bychom pak meli tech
TeXu ponekud moc, coz by nebylo prakticke.

Udelal jsem tedy ponekud vetsi zasah do TeXu, ktery mi umoznuje nastavovat
tyto systemove zavisle zalezitosti az pote, co je TeX zkompilovan do
binarniho programu a nikoli pred kompilaci, jak by melo byt spravne.
Podobnou vec udelal Eberhard Mattes (tzv. TCP tabulky) a dilo nazval emTeX
(vsimnete si: nikoli TeX!). Jsem si plne vedom, ze takto modifikovany TeX
se nemuze nazyvat TeX. Vtip je v tom, ze ten program TeXem nikde
nenazyvam. Muzeme mu rikat "program odvozeny z TeXu s pouzitim zaplaty
enctex" nebo jakkoli jinak. Sam jako autor teto myslenky jsem nestanovil
zadne pevne jmeno pro tento program. Skutecnost, ze se binarni soubor
implementujici tento program jmenuje tex.exe nebo tex nebo virtex apod. je
podle me nepodstatna.  Binarni soubor by se mohl jmenovat treba honza,
ale pokud bych v dokumentaci psal, ze zapisem v prikazovem radku "honza"
nebo kliknutim tam ci onde spustim TeX, tak to by byl moment, kdy jsem
program oznacil jako TeX a to by byla chyba. Neni podstatne, jak se ten
program spousti. To je implementacne zavisla zalezitost.

Chovani programu TeX je zcela shodne s chovanim programu odvozeneho z TeXu
s aplikaci enctexu na vsech dokumentech, ve kterych se nevyuziji nove tri
primitivy. Problem se tedy neda srovnavat se situacemi, kdy napriklad
nekdo pozmenil metriku Computer Modern fontu a v nejakych distribucich to
vydaval za Computer Modern. Nebo nekdo zmenil Knuthuv hyphen.tex a vnutil
plainu jine vzory deleni, nez mel na mysli Knuth. Dokument zpracovany v
TeXu a v systemu s modifikovanymi metrikami nebo vzory deleni muze vest ke
zcela rozdilnym vysledkum, co je presne to, co Knuth nechce.

Program odvozeny z TeXu s aplikovanim enctexu o sobe da vedet, ze neni TeX
v banneru v logu. Zde lze diskutovat, zda je tato informace dostatecna.
Podle meho nazoru je dostatecna a neminim o tom s nikym dale diskutovat.
Jediny clovek, se kterym o tomto problemu jsem ochoten dale diskutovat
(a vzhledem k autorskemu pravu se podridim jeho vuli) je Donald Ervin
Knuth.

Petr Olsak




More information about the csTeX mailing list