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