修复 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:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user