oprava v csplainu? (bylo: Polske prskrtnute L v times fontech)

Petr Olsak petr at olsak.net
Tue Apr 8 16:47:35 CEST 2003


On Tue, 8 Apr 2003, David Ondxich wrote:

> > Kdyby byly ty \chardef "schovany" uvnitr ctimes.tex, pak by zase jiny
> > uzivatel plainu mohl napsat treba:
> >
> > \input ctimes
> > \font\mujtt=cstt10
> > {\mujtt \L}
>
> A co napr. \message pri prekladu, ze doslo k predefinovani obou zminenych
> maker?

To mi pripada jako dobry napad. Pravda, ta cisla si clovek nebude porad
pamatovat (ja jsem je zjistil do pul minuty tak, ze jsem se podival do TST
do dodatku F a jeste jsem to srovnal s "tex testfont", ptmr8z, \table\end).

Napada me jeste jedna zaludnost. Co kdyz si nekdo definoval makro \L a
pote pouzil \input ctimes. Pokud udelam zmenu v ctimes.tex, pak jeho
dokument nebude fungovat stejne jako pred tim:

\def\L{cosi specifickeho, preskrtnute L v dokumentu nepouzivam}
\input ctimes
... \L ...

Tohle by se dalo resit nasledujicim trikem:

\def\tmp{\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}}
\ifx \L\tmp \chardef\L=163 \else \message{\noexpand\L is not changed}\fi

Pripada mi to ale velmi neesteticke. Abychom chovani programu udelali pro
uzivatele co nejjednodussi, musime pouzit pomerne neciste triky. Neco jako
v LaTeXu (ten je, podle slov jejich tvurcu, jeden veliky dirty trick).

Pokud nekoho jeste nenapadne neco lepsiho,
zustanu asi u reseni, ze \L, \l v ctimes.tex (a spol.) predefinuji pomoci
\chardef za vsech okolnosti a napisu o tom zpravu na terminal a do logu.

Zdravim

Petr Olsak




More information about the csTeX mailing list