Кстати, для того, чтобы \uppercase и \lowercase работали с русскими буквами, надо исправить их \uccode и \lccode. Пример:
Код:
\documentclass[a4paper,12pt,twoside]{article}
\usepackage{/home/eddy/ed}
\begin{document}
\newcount\CNT
\newcount\LTRR
\def\UL#1{\CNT=#1\advance\CNT by 32
\lccode#1=#1 \uccode#1=\CNT \lccode\CNT=#1 \uccode\CNT=\CNT}
\def\ZZZ#1#2.{\somethingwith{#1}\ifx#2\null\else\ZZZ #2.\fi} % поочередно выдирает токены из аргумента
\LTRR=192
\loop \UL{\LTRR} \advance\LTRR by1 \ifnum \LTRR<224 \repeat
\lccode`\ё=`\ё\lccode`\Ё=`\ё\uccode`\ё=`\Ё\uccode`\Ё=`\Ё
ПРОВЕРКА проверка TEST test
\lowercase{ПРОВЕРКА проверка TEST test ёёё ЁЁЁ}
\uppercase{ПРОВЕРКА проверка TEST test ёёё ЁЁЁ}
\end{document}
P.S. Это для кодировки КОИ8-Р.
Команда \ZZZ разбивает свой аргумент (до символа точки) на токены, вместо команды \somethingwith вставьте свою, например, если сделать так:
Код:
\def\ZZZ#1#2.{\hbox{#1 }\ifx#2\null\else\ZZZ #2.\fi}
\ZZZ Приветствую Вас.
то фраза "Приветствую Вас" будет записана вертикально. Я использовал такой вариант для генерации вертикальных и наклонных подписей.
P.S. Почитайте Кнута "Все про ТеХ" - очень полезная книга. Если раза 3-4 проштудируете, откроете для себя много интересных трюков.