
私は、ビーマーのフレームタイトルの大文字を自動化しようとしています。大文字はこれらのタイトルのすべての数式モードコンテンツを無視します。私は大文字のフレームタイトルですが、そこでの解決策は数式コンテンツを正しく処理できません。大文字の math-mode を無視するために textcase パッケージを使用しようとしましたが、フレーム タイトルで予期しない動作が発生します。以下は、 でのこの予期しない動作を示す最小限の例です\insertframetitle
。フレームのコンテンツの最後の行は予想どおりに表示されますが、その行は を使用しません\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}
答え1
{..}
ビーマーはタイトルの周りに余分なセットを追加しています(これが\uppercase
中括弧グループなしで使用しても構文エラーが発生しない理由ですが、MakeTextUppercaseが数式を認識できないようにしています。
したがって、暗黙的に追加された同じグループを引数の区切り文字として使用できます。\makeTextUppercase
\documentclass{beamer}
\usepackage[overload]{textcase}
\setbeamertemplate{frametitle}{%
{\expandafter\MakeTextUppercase\insertframetitle}%
}
\begin{document}
\begin{frame}{Title $a = \sin(b)$}
\end{frame}
\end{document}