laoyang
|
4bdc1b83ab
|
修复 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 错误
|
2026-09-20 07:15:40 +08:00 |
|
laoyang
|
d69eeb3f11
|
修正上一步修复中的写法问题:版本判断移到文件顶层
上一步把 \patchcmd 嵌套在 \@ifundefined 的参数里,而 \patchcmd 的搜索串
会被用于定义上下文,嵌套后 #1/#2 令牌被改写,导致在 TeX Live 2022 下补丁
匹配失败(Patching original frame title failed)。
现改为顶层 \ifcsname beamer@insertframetitlecontinuation\endcsname
\else ... \fi 的结构,两个分支都在顶层:
- 新版 beamer(TL2023):按新定义重写 \beamer@@frametitle;
- 旧版 beamer(TL2022):保留原有 \patchcmd。
验证矩阵(xelatex 编译 slides.tex):
2022 分支 + TL2022 : 通过,23 页,0 错误
2022 分支 + TL2023 : 失败(Patching original frame title failed)——故需要 2023 分支
2023 分支 + TL2022 : 通过,23 页,0 错误
2023 分支 + TL2023 : 通过,23 页,0 错误
另做像素级回归:TL2023 下修正前后全部 23 页渲染与文本完全一致。
|
2026-09-20 07:00:21 +08:00 |
|
laoyang
|
e4ba88242c
|
适配 TeX Live 2023:修复 beamer 3.69 下 frametitle 补丁失败的问题
beamer 3.69 起 \beamer@@frametitle 的定义发生变化:
1. 内部新增 \ifblank 判断;
2. 用 \beamer@insertframetitlecontinuation 取代了
\usebeamertemplate*{frametitle continuation};
因此原有针对旧定义文本的 \patchcmd 匹配失败,报错
"Package beameroucslide Error: Patching original frame title failed"。
现按 beamer 版本分别处理:以 \beamer@insertframetitlecontinuation
是否存在作为版本判别依据,旧版仍走原有补丁路径,新版按新定义重写
并保留 frametitle 的字母大小写格式控制,从而同时兼容
TeX Live 2022 与 TeX Live 2023。已用 TeX Live 2023 用 xelatex
连续编译三遍通过(23 页),并更新编译产物 slides.pdf。
|
2026-09-20 06:44:11 +08:00 |
|
laoyang
|
4aaf14bc63
|
vcolorbox边框太细,在一些分辨率较低的显示器上无法显示,因此,调整为和其他的信息提示框相同。
|
2022-05-23 14:48:58 +08:00 |
|
laoyang
|
3fb345984c
|
修复了首页主标题和副标题在同一行的问题
|
2022-05-13 16:35:03 +08:00 |
|
laoyang
|
67c91b55a5
|
增加了一些注释,删除了一些注释掉的代码
|
2022-05-13 11:02:11 +08:00 |
|
laoyang
|
31078e73e0
|
新增标题框和文本框
|
2022-05-12 20:37:26 +08:00 |
|
laoyang
|
05607d8255
|
初始化
|
2022-05-12 12:58:31 +08:00 |
|