Problem makra \uv

Ladislav Kasparek platon at pf.jcu.cz
Tue Jun 20 10:20:22 CEST 2000


Makro \uv, tak jak je definovano v csplainu, obsahuje drobnou chybicku:
mezi ridici sekvenci \clqq a prvnim vysazovanym znakem v uvozovkach
probehne prirazeni "\let\next=", ktere sejme {. \let je povel hlavhiho
procesu a potlaci vlozeni implicitniho kernu. Snadno se o tom presvedcime

\setbox0=\hbox{\uv{A}}\message{uv: \the\wd0}
\setbox0=\hbox{\clqq A\crqq}\message{klasicky: \the\wd0}

Sirka prvniho boxu (pro font csr10) je 17.50005pt a druheho 18.05559pt,
jejich rozdil (0.55554pt) odpovida implicitnimu kernu mezi temito dvema
znaky (viz csr10.pl).

Jako nejjednodussi reseni se mi jevi:
\def\uv{\bgroup\aftergroup\closequotes
  \leavevmode\afterassignment\clqq\let\next=}
\def\closequotes{\unskip\crqq\relax}

Dojde k zamene poradi v jakem se budou ridici sekvence vykonavat.
Reseni to neni obecne, napr \uv{\rm A} opet selze z jiz zminenych duvodu.
Problem se vsak presouva z makra \uv do "uvozovek", coz uz asi makro \uv
tezko ovlivni.



					Ladislav Kasparek
					kasparek at pf.jcu.cz




More information about the csTeX mailing list