修复 allcaps 选项因缺少 textcase 宏包而报未定义命令的问题

title/subtitle/part/frametitle 的 allcaps 选项都引用 \MakeTextUppercase,该命令由
textcase 宏包提供,而本模板并未加载它,因此选择 allcaps 时会报
Undefined control sequence(默认 regular 选项不受影响)。

现改为在 \MakeTextUppercase 未定义时退回到 LaTeX 内核的 \MakeUppercase
(新版内核的大小写转换语义与 textcase 一致),无需额外加载宏包。

验证(xelatex 两遍编译,23 页):
  默认选项 + TL2022 / TL2023 → 通过,0 错误
  全部 allcaps + TL2022 / TL2023 → 通过,0 错误
This commit is contained in:
laoyang
2026-09-20 07:15:40 +08:00
parent d69eeb3f11
commit 4bdc1b83ab
+5
View File
@@ -109,6 +109,11 @@
\providecommand{\addfontfeature}[1]{} % defined only if latex or pdflatex is used
\providecommand{\textls}[2][]{#2}{} % defined only if microtype is loaded
%% \MakeTextUppercase 原本由 textcase 宏包提供,但本模板并未加载该宏包,
%% 导致 title/subtitle/part/frametitle 的 allcaps 选项报 Undefined control sequence。
%% 这里在未定义时退回到 LaTeX 内核的 \MakeUppercase(新版内核语义与 textcase 一致)。
\@ifundefined{MakeTextUppercase}{\let\MakeTextUppercase\MakeUppercase}{}
% 定义的一些其他命令
\def\beameroucslide@titleformat#1{#1}
\def\beameroucslide@subtitleformat#1{#1}