\csprimeson a derivace -- reseni
Petr Olsak
olsak at math.feld.cvut.cz
Wed Aug 13 12:20:51 CEST 1997
On Tue, 12 Aug 1997, Leo Hadacz wrote:
> Josef Tkadlec pise:
> >
> > Leo Hadacz:
> >
> > > pak zas nefunguje derivace v matematickem modu. Bohuzel jsem to nemoh
> > > vyzkouset, protoze na \csprimeson mi to pise Undefined control sequence.
> > > Tady je vstup:
> > >
> > > -------------------------------------------------------------
> > >
> > > \documentclass{artikel1}
> > > \usepackage[latin2]{inputenc}
> > > \usepackage{czech}
> >
> > Je treba pouzit \usepackage[cstex]{czech}
Odpozoroval jsem, ze na pouziti volby [cstex] nema problem vliv.
> Vysledek:
>
> ! Undefined control sequence.
> \next ->\@clqq
> \let \next =
> l.14 Toto jsou ,,dobre``
> uvozovky.
Pri nastaveni \csprimeson bude znak ' aktivni vsude, zatimco puvodne
byl aktivni jen v matematickem modu a expandoval na (zhruba receno)
^\prime. To s sebou prinasi jiste potize, ktere podrobneji popisu nize.
Tyto potize byly davno reseny ve stylu czech.sty, ovsem ukazuje se, ze to
fungovalo bezvadne na plain a starsi verze LaTeXu. V urcitem okamziku
se panove vyvojari rozhodli (zrejme jen z estetickeho hlediska) zamenit
sekvenci \futurelet\next za \futurelet\@next at token a reseni znaku ' ve
stylu czech.sty pro matematicky mod prestalo fungovat.
Neptejte se me, ve ktere verzi zaplaty noveho LaTeXu k teto udalosti
doslo, ovsem faktem je, ze ona verze zaplaty, ktera je soucasne pouzivana
v CSTeXu (mimochodem neni nejnovejsi) tento problem jiz obsahuje.
Reseni:
Ve stylu czech.sty/slovak.sty, ktery je nyni spolecny pro LaTeX i plain a
poznate ho podle toho, ze obsahuje na zacatku:
%%
%% This is file `czech.sty',
%% generated with the docstrip utility.
%%
pridejte pred radkek 167:
\def\prim at s{\prime\futurelet\next\pr at m@s} % No \@next at token (P.O.)
takze budete mit:
\def\closequotes{\unskip\crqq\relax}
\def\prim at s{\prime\futurelet\next\pr at m@s} % No \@next at token (P.O.)
{\catcode`\'=\active
\gdef\csprimeson{\catcode96=\active \catcode39=\active
Domluvim se s panem Snajderem na oprave a zabalim to pak do distribuce
CSTeXu.
Technicke vysvetleni problemu:
Ve stylu czech.sty je nutno dvakrat opsat definici makra \pr at m@s, ktera
testuje pri pouziti ' v matematice nasledujici znak. Test je proveden
pomoci \ifx, takze se testuje nejen ASCII kod, ale i kategorie. Ta je v
rezimu \csprimeson jina nez v rezimu \csprimesoff. Toto makro
predpokladalo, ze testovany znak bude ulozen v \next (viz plain i stare
verze LaTeXu), ovsem od jiste verze LaTeXu se ukazal tento predpoklad jako
mylny.
Petr Olsak
More information about the csTeX
mailing list