From 4bdc1b83ab0f38b11afc9da4a22144c373960d09 Mon Sep 17 00:00:00 2001 From: laoyang Date: Sun, 20 Sep 2026 07:15:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20allcaps=20=E9=80=89?= =?UTF-8?q?=E9=A1=B9=E5=9B=A0=E7=BC=BA=E5=B0=91=20textcase=20=E5=AE=8F?= =?UTF-8?q?=E5=8C=85=E8=80=8C=E6=8A=A5=E6=9C=AA=E5=AE=9A=E4=B9=89=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 错误 --- theme/beamerfontthemeOUCSlide.sty | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/theme/beamerfontthemeOUCSlide.sty b/theme/beamerfontthemeOUCSlide.sty index 44f5c2f..c5e4214 100644 --- a/theme/beamerfontthemeOUCSlide.sty +++ b/theme/beamerfontthemeOUCSlide.sty @@ -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}