csplain na TeXlive 2003 neni csplain

Petr Olsak petr at olsak.net
Wed Mar 10 09:40:15 CET 2004


Vazeni TeXiste,

pro potreby studentu jsem nainstaloval na linuxovy aplikacni server
novy TeXlive2003 a zhrozil jsem se: to, co tam je prezentovano jako
csplain neni csplain, protoze to nesplnuje test cstrip.

Chtel jsem se vas proto zeptat, zda jste tuto zkuseonst uz take
zaznamenali i na jinych platformach, pro ktere je TeXlive urceno.

Pokusim se vysvetlit podrobnosti: csplain musi bezpodminecne
znaky ceske abecedy zapisovat do logu a \write souboru nativne
v kodovani vstupniho souboru a v zadnem pripade nesmi pouzit
notaci ^^ab. Pritom, kdyz pouziju na TeXlive2003 soubor

cat pokus.tex
\message{tady je čeština}\end

a zpracuji to csplainem, dostanu:

export LC_ALL=POSIX
csplain pokus
This is TeXk, Version 3.141592 (Web2C 7.5.2)
 %&-line parsing enabled.
 (/usr/local/texlive/texmf/web2c/il2-cs.tcx)
(./pokus.tex The format: csplain <Feb. 2000>.
The cs-fonts are preloaded and A4 size implicitly defined. tady je
^^e8e^^b9tina )
No pages of output.
Transcript written on pokus.log.

Na druhe strane, kdyz to zpracuji na implementaci TeXu s korektnim
csplainem, dostanu:

export LC_ALL=POSIX
csplain pokus
This is TeX, Version 3.14159 (Web2C 7.3.3.1)
(/usr/local/texmf/web2c/il2-cs.tcx)
(./pokus.tex The format: csplain <Feb. 2000>.
The cs-fonts are preloaded and A4 size implicitly defined. tady je čeština
)
No pages of output.
Transcript written on pokus.log.

Ukazuje se, ze TeX zustal zavisly na locales, _prestoze_ jsou TCX
tabulky pouzity, protoze na TeXlive 2003 se to chova takto:

unset LC_ALL
export LC_CTYPE=cs_CZ.ISO8859-2
csplain pokus
This is TeXk, Version 3.141592 (Web2C 7.5.2)
 %&-line parsing enabled.
 (/usr/local/texlive/texmf/web2c/il2-cs.tcx)
(./pokus.tex The format: csplain <Feb. 2000>.
The cs-fonts are preloaded and A4 size implicitly defined. tady je čeština
)
No pages of output.
Transcript written on pokus.log.


Jeste v lonskem roce na TeXlive a teTeXu nativni tisknutelnost znaku
zarucovaly TCX tabulky. Fungovalo to nasledovne:

- pokud TCX tabulka nebyla zavedena, o tisknutelnosti znaku
  rozhodovalo nastaveni v systemu: locales.
- pokud TCX tabulka byla zavedena, locales prestalo mit vliv a
  znak byl tisknutelny prave tehdy, kdyz v TCX tabulce byl o danem
  znaku zaznam pro konverzi (trebaze jedna ku jedne).

Upozornil jsem tvurce distribuce, ze zavislost TeXu na locales je
nevhodna, protoze se pak TeX chova rozdilne i na stejnych systemech
stejnych platforem, pouze s jinak nastavenym locales. To je rozhodne
vec, kterou si Knuth nepral.

Pro potreby csplainu jsem mel zajisteno, ze TCX tabulka je zavedena
vzdy, takze csplain nebyl na locales nikdy zavisly. Bohuzel, od verze
TeXlive 2003 zavisly je.

Programatori distribuce vzali moji pripominku o nevhodnosti zavislosti
TeXu na locales (po delsich diskusich) na vedomi a prislibili odstraneni
tohoto problemu. Zda se, ze to neudelali, naopak udelali jej jeste vice
zavisly nez drive.

Prosim, podivejte se na sve implementace TeXlive2003, zda skutecne mam
pravdu (i pro jine platformy) a zda skutecne pri vyse uvedenem testu
nemam mlhu pred ocima.

Dekuji

Petr Olsak






More information about the csTeX mailing list