
Estoy intentando automatizar las mayúsculas para los títulos de fotogramas en Beamer de tal manera que las mayúsculas ignoren todo el contenido del modo matemático en estos títulos. He vistoTítulos de marcos en mayúsculas, pero la solución no aborda correctamente el contenido matemático. Para ignorar el modo matemático para mayúsculas, intenté usar el paquete textcase, pero tiene un comportamiento inesperado con los títulos de los marcos. A continuación se muestra un ejemplo mínimo que muestra este comportamiento inesperado con \insertframetitle
. La última línea del contenido del marco se muestra como era de esperar, pero esa línea no usa \insertframetitle
.
\documentclass{beamer}
\usepackage[overload]{textcase}
\setbeamertemplate{frametitle}{
\MakeUppercase{\insertframetitle} and \uppercase\insertframetitle
}
\begin{document}
\begin{frame}{Title $a = \sin(b)$}
\MakeUppercase\insertframetitle\\
\uppercase\insertframetitle\\
\MakeUppercase{Title $a = \sin(b)$}
\end{frame}
\end{document}
Respuesta1
Beamer está agregando un conjunto adicional {..}
alrededor del título (razón por la cual no recibió un error de sintaxis cuando lo usó \uppercase
sin grupo de llaves, sin embargo, impide que MakeTextUppercase vea las matemáticas).
Por lo tanto, puede utilizar el mismo grupo agregado implícitamente como delimitador de argumentos para\makeTextUppercase
\documentclass{beamer}
\usepackage[overload]{textcase}
\setbeamertemplate{frametitle}{%
{\expandafter\MakeTextUppercase\insertframetitle}%
}
\begin{document}
\begin{frame}{Title $a = \sin(b)$}
\end{frame}
\end{document}