Makro, ktore meni po kazdom znaku font

Pavol Habuda bzucino at yahoo.com
Fri Sep 14 13:15:43 CEST 2001


Dobry den.

Vytvaram ponekud obskurne makro, ktore ma za ulohu menit font po kazdom
vysadzanom pismene a medzere (medzera sa taktiez berie z roznych fontov).
Vytvoril som si nasledovne makro (ktore samozrejme nefunguje).


\newcount\cislo\cislo0
\def\citaj{\begingroup\let\koniec=\relax\make}
\def\ukonci{\koniec\endgroup}
\long\def\make{\let\next=\opakuj\next}
\long\def\opakuj#1{\ifx\koniec#1\let\next=\relax%
              \else\rob#1\fi\next}
\long\def\rob#1{%
\if\noexpand#1\space \space\else
        \ifnum\cislo=0{\normalA #1}\fi
        \ifnum\cislo=1{\normalB #1}\fi
        \ifnum\cislo=2{\normalC #1}\fi
        \ifnum\cislo=3{\normalD #1}\fi
        \ifnum\cislo=4{\normalE #1}\fi
        \ifnum\cislo=5{\normalF #1}\fi
        \ifnum\cislo=6{\normalG #1}\fi
        \ifnum\cislo=7{\normalH #1}\fi
        \ifnum\cislo=8{\normalI #1}\fi
        \ifnum\cislo=9{\normalJ #1}\fi
        \ifnum\cislo=10{\normal #1}\fi
\fi
\global\advance\cislo by 1
\ifnum\cislo=11 \global\cislo=0 \fi\relax}


Prva otazka: preco v riadku:
          \ifnum\cislo=11 \global\cislo=0 \fi\relax}
musi byt za \fi \relax? Ak sa tam nevlozi, makro sice vysadza prvykrat
vsetky pismena normalne, ale pri druhom priechode vzdy zozerie znak,
pri ktorom je \count=0.

Druha otazka: preco v riadku:
          \if\noexpand#1\space \space\else
nefunguje podmienka? Medzery v texte sa uplne pohltia.

Tretia otazka: Ako prinutit TeX, aby expandovatelne prikazy ako napr.
\' (fonty, ktore pouzivam, su velmi podobne, pouzite k vytvoreniu dojmu, ze sa jedna
o rukopis, ale nie pocestene) sa expandovali?

S pozdravom
Pavol Habuda


__________________________________________________
Terrorist Attacks on U.S. - How can you help?
Donate cash, emergency relief information
http://dailynews.yahoo.com/fc/US/Emergency_Information/



More information about the csTeX mailing list