The textcase package offers commands \MakeTextUppercase and \MakeTextLowercase
which are similar to the standard \MakeUppercase and \MakeLowercase, but they
do not change the case of any sections of mathematics, or the arguments of
\cite, \label and \ref commands within the argument. A further command
\NoCaseChange does nothing but suppress case change within its argument, so to
force uppercase of a section including an environment, one might say:
\MakeTextUppercase{...\NoCaseChange{\begin{foo}}
...\NoCaseChange{\end{foo}}...} In current LaTeX this package is obsolete. You
can use the standard \MakeUppercase and \MakeLowercase, but it defines legacy
names \MakeTextUppercase and \MakeTextLowercase.