diff --git a/examples/DEMO-TUDaBeamer2023-en.tex b/examples/DEMO-TUDaBeamer2023-en.tex index fcede80..04156c9 100644 --- a/examples/DEMO-TUDaBeamer2023-en.tex +++ b/examples/DEMO-TUDaBeamer2023-en.tex @@ -116,6 +116,18 @@ \section{Slide examples} An example. \end{frame} +\begin{frame}[fragile,uppercase=false]{Please be aware of uppercase frametitles} +The mechanism to provide uppercase frame titles might have strange side effects. +It's aware of macros, so those usually should work, but there are issues with arguments. e.g. using \verb+\color{dark2}+ will throw an error message. + +You can avoic this by either locally disabling the case change: + +\begin{verbatim} +\frameztitle{Test \NoCaseChange{\textcolor{dark2}{\MakeUppercase{Test}}}} +\end{verbatim} +or use the frame option \verb+uppercase=false+ as for this frame or the class option \verb+uppercase-frametitle=false+ +\end{frame} + \textcolor{TUDa-dark1}{test} \begin{frame}{Color Scheme} diff --git a/tex/beamerouterthemeTUDa.sty b/tex/beamerouterthemeTUDa.sty index ee3bdd0..89dafbe 100644 --- a/tex/beamerouterthemeTUDa.sty +++ b/tex/beamerouterthemeTUDa.sty @@ -53,6 +53,9 @@ headsepline .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {headsepline}, extendedspace .bool_gset:N = \g__ptxcd_extended_space_bool, headrule .bool_gset:N = \g__ptxcd_headrule_bool, + uppercase-frametitle .bool_gset:N = \g__ptxcd_uppercase_frametitle_bool, + uppercase-frametitle .default:n = true, + uppercase-frametitle .initial:n = true, } \define@key{beamerframe}{bgcolor}{ @@ -61,6 +64,12 @@ } } +\define@key{beamerframe}{uppercase}{ + \keys_set:nn {ptxcd/beamer/outer} { + uppercase-frametitle=#1 + } +} + \ProcessKeyOptions[ptxcd/beamer/outer] @@ -193,7 +202,7 @@ \usebeamerfont{frametitle}% \if@tempswa\else\csname beamer@fte#1\endcsname\fi% \vphantom{Ü} - \text_uppercase:n {\insertframetitle}\strut + \bool_if:NT \g__ptxcd_uppercase_frametitle_bool \text_uppercase:n {\insertframetitle}\strut \par% {% \ifx\insertframesubtitle\@empty%