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.

Homepage:
https://ctan.org/pkg/textcase
