\write a rimska cisla ve versalkach

Tomas Kouba kouba at fzu.cz
Thu Jun 25 18:58:14 CEST 1998


On Thursday, June 25, 1998 6:36 PM, Z. Wagner
[SMTP:wagner at beba.cesnet.cz] wrote:
> Dobry den,
>
>
> \def\thechapter{\Roman{chapter}}
>
> Nyni potrebuji nazvy kapitol vcetne rimskych cisel pomoci \write
> zapsat do
> souboru, ktery bude zpracovavan jinym programem. Bohuzel \Roman
> obsahuje
> \uppercase, coz je primitiv a pri \write se tudiz neexpanduje. V
> souboru
> pak nemam V, ale \uppercase{v}. Chtel jsem to obejit pomoci
> \MakeUppercase, ale nepodarilo se.
>
Pouzivate asi LaTeX 2.09 v 2E je primitiv \uppercase obejit pres
makro ktere odebira tokeny ze vstupu a \ifcase pro pismena ktere
tvori rimske cislice.

\def\@Roman#1{\expandafter\@slowromancap\romannumeral #1@}
\def\@slowromancap#1{\ifx @#1% then terminate
     \else
       \if i#1I\else\if v#1V\else\if x#1X\else\if l#1L\else\if
       c#1C\else\if d#1D\else \if m#1M\else#1\fi\fi\fi\fi\fi\fi\fi
       \expandafter\@slowromancap
     \fi
}

Tomas Kouba


--
                   Ing. Tomas Kouba
Institute of Physics, AS CR    ph.: +420-2-24311137
Cukrovarnicka 10               fax: +420-2-3123184
162 53 Prague                  e-mail: kouba at fzu.cz
Czech republic                 URL: http://www.fzu.cz/~kouba





More information about the csTeX mailing list