模板目录全部改为中文名,并入幻灯片与科技报告两个仓库(统一维护本库) #3

Closed
opened 2026-10-26 09:54:39 +00:00 by laoyang · 2 comments
Owner

诉求

用户原话:

测试一下,如果模板所在的目录是中文的话,编译会不会出问题?如果没问题的话,把所有的模板所在的目录,都把它改成中文名称吧。因为现在有一些是什么 Form 一、什么 Form 二的,这种命名格式非常的难以理解。所以如果中文没问题的话,就都改成中文。注意目录中间不要有空格什么的,可能会引起错误。

另外一个,把我们另外一个版本仓库里面的幻灯片,还有那个科技报告,那个也拿过来,放到这里面来。也是建新的目录。这样的话,我们后面就只维护这一个库了,就是那个幻灯片和那个和那个科技报告,就我们就不再单独维护库了。

三件事:

  1. 验证中文目录名能否正常编译(前置条件,不行就不改)。
  2. 现有 4 个模板目录全部改成中文名,不得含空格。现状是 exam/、form/、form2/、course/ 这种英文/编号命名,用户明确说「非常的难以理解」。
  3. 把 ouc-slide-latex-template(幻灯片)和 ouc-report-latex-template(科技报告)两个独立仓库并入本库,各建一个新目录。此后只维护 ouc_latex_template 一个库,两个外部仓库不再单独维护。

涉及范围

  • ouc_latex_template 仓库内 4 个目录改名 + 根 README.md 目录表 + 各子 README.md 内自述路径 + form2/ouclw.sty 注释里对 form/ 的交叉引用。
  • 从 ouc-slide-latex-template(233MB)迁入:oucslide.sty slides.tex README.md fontawesome.pdf theme/ fonts/ logos/ figs/,排除 slides.aux/.log/.nav/.out/.snm/.toc/.vrb。
  • 从 ouc-report-latex-template(156MB)迁入:report.cls report.tex README.md fontawesome.pdf cls/ figs/ font/ input/,排除 report.aux/.log。
  • 两个源仓库的 LICENSE(BSD 3-Clause,Helmholtz AI Energy)与本库(Apache 2.0)不同,需保留来源声明;.gitignore 不覆盖本库版本。

验收标准

  1. 中文目录名(不含空格)下,全部 6 个模板都能 XeLaTeX 编译通过、零报错。
  2. 目录名全部为中文,根 README 目录表与之对应。
  3. 幻灯片与科技报告的内容完整迁入,fonts/、font/、logos/、figs/、theme/、cls/、input/ 等资源不缺。
  4. 中间文件(.aux/.log/.nav/.snm/.vrb/.out/.toc)不进版本库。
  5. 迁入后两个模板仍能编译出与源一致的 PDF(幻灯片 30 页、报告 10 页)。
  6. 根 README 说明「幻灯片、科技报告此前为独立仓库,现统一在本库维护」。
## 诉求 用户原话: > 测试一下,如果模板所在的目录是中文的话,编译会不会出问题?如果没问题的话,把所有的模板所在的目录,都把它改成中文名称吧。因为现在有一些是什么 Form 一、什么 Form 二的,这种命名格式非常的难以理解。所以如果中文没问题的话,就都改成中文。注意目录中间不要有空格什么的,可能会引起错误。 > > 另外一个,把我们另外一个版本仓库里面的幻灯片,还有那个科技报告,那个也拿过来,放到这里面来。也是建新的目录。这样的话,我们后面就只维护这一个库了,就是那个幻灯片和那个和那个科技报告,就我们就不再单独维护库了。 三件事: 1. **验证中文目录名能否正常编译**(前置条件,不行就不改)。 2. **现有 4 个模板目录全部改成中文名**,不得含空格。现状是 `exam/`、`form/`、`form2/`、`course/` 这种英文/编号命名,用户明确说「非常的难以理解」。 3. **把 `ouc-slide-latex-template`(幻灯片)和 `ouc-report-latex-template`(科技报告)两个独立仓库并入本库**,各建一个新目录。此后只维护 `ouc_latex_template` 一个库,两个外部仓库不再单独维护。 ## 涉及范围 - `ouc_latex_template` 仓库内 4 个目录改名 + 根 `README.md` 目录表 + 各子 `README.md` 内自述路径 + `form2/ouclw.sty` 注释里对 `form/` 的交叉引用。 - 从 `ouc-slide-latex-template`(233MB)迁入:`oucslide.sty slides.tex README.md fontawesome.pdf theme/ fonts/ logos/ figs/`,排除 `slides.aux/.log/.nav/.out/.snm/.toc/.vrb`。 - 从 `ouc-report-latex-template`(156MB)迁入:`report.cls report.tex README.md fontawesome.pdf cls/ figs/ font/ input/`,排除 `report.aux/.log`。 - 两个源仓库的 `LICENSE`(BSD 3-Clause,Helmholtz AI Energy)与本库(Apache 2.0)不同,需保留来源声明;`.gitignore` 不覆盖本库版本。 ## 验收标准 1. 中文目录名(不含空格)下,全部 6 个模板都能 XeLaTeX 编译通过、零报错。 2. 目录名全部为中文,根 README 目录表与之对应。 3. 幻灯片与科技报告的内容完整迁入,`fonts/`、`font/`、`logos/`、`figs/`、`theme/`、`cls/`、`input/` 等资源不缺。 4. 中间文件(`.aux/.log/.nav/.snm/.vrb/.out/.toc`)不进版本库。 5. 迁入后两个模板仍能编译出与源一致的 PDF(幻灯片 30 页、报告 10 页)。 6. 根 README 说明「幻灯片、科技报告此前为独立仓库,现统一在本库维护」。
Author
Owner

已完成并推送(提交 1f807e9)

1. 中文目录名可行性 —— 实测通过

改名之前先做验证:把 ouccourse.sty + 课程执行大纲.tex 拷到 /tmp/中文目录测试/,
XeLaTeX 输出 Output written on 课程执行大纲.pdf (5 pages).,零错误零警告。
确认可行后才动手改名,避免改完发现编译不过要回退。

2. 目录全部改为中文名(git mv,保留历史)

原目录 新目录
exam/ 试卷/
form/ 年度考核登记表/
form2/ 劳务发放说明表/
course/ 课程执行大纲/
  • 目录名不含空格(用户明确要求)。
  • 样式包名不变(oucexam / ouckhtb / ouclw / ouccourse),只改目录,所以 .tex 里的
    \usepackage{...} 一行都不用动。
  • git 全部识别为 rename(相似度 92%–100%),历史连续。

3. 并入两个此前独立维护的仓库

源仓库 新目录 迁入内容 文件数
ouc-slide-latex-template 幻灯片/ theme/ fonts/ logos/ figs/ oucslide.sty slides.tex README.md fontawesome.pdf LICENSE 52
ouc-report-latex-template 科技报告/ cls/ figs/ font/ input/ report.cls report.tex README.md fontawesome.pdf 34

处理细节:

  • 排除中间文件:slides.aux/.log/.nav/.out/.snm/.toc/.vrb、report.aux/.log/.toc/.lof/.lot 均未入库。
  • LICENSE 分开保留:两个源仓库是 BSD 3-Clause(Helmholtz AI Energy),本库是 Apache 2.0。
    没有覆盖,幻灯片目录内单独放了一份原 LICENSE,来源声明不丢。
  • .gitignore 不覆盖:本库的 .gitignore 已覆盖两个仓库所需的全部中间文件后缀,无需合并。
  • 字体随模板附带(这正是源仓库的原设计):幻灯片/fonts/ 49 MB 鸿蒙、科技报告/font/ 92 MB 鸿蒙 + 方正,
    共 141 MB。用 md5 查过两处有 8 个字体完全相同(重复占 31.9 MB),但不做去重合并——
    两个模板各自自包含、可单独拷走使用,是它们原本的约定,强行合到一个共享目录会破坏独立性。

4. 文档同步

  • 根 README.md:目录表换成 6 个中文目录,补「编译入口」列,新增「历史沿革」一节说明
    幻灯片与科技报告此前是独立仓库、现统一在本库维护。
  • 4 个子 README 的标题(# exam —— → # 试卷 —— 等)。
  • 劳务发放说明表/ouclw.sty 注释里对 form/ 的两处交叉引用。
  • 幻灯片 README:「从旧仓库 clone」「按年份切分支」两节已失效(并入后只有 main),
    改写为「编译器版本兼容性」+「维护约定」;同时修正 slide.tex→slides.tex、font:→fonts: 两处笔误。
  • 科技报告 README:分支表改写为版本兼容表,## 使用方法 补主仓库 clone 路径。

5. 验收(从远端全新克隆后实测,不是本地目录)

试卷/参考答案与评分标准示例.tex   错误=0  (3 pages)
试卷/试卷题型示例.tex             错误=0  (6 pages)
年度考核登记表/年度考核登记表.tex  错误=0  (2 pages)
劳务发放说明表/劳务发放说明表.tex  错误=0  (1 pages)
课程执行大纲/课程执行大纲.tex      错误=0  (5 pages)
幻灯片/slides.tex                 错误=0  (30 pages)
科技报告/report.tex               错误=0  (10 pages)

7 个 .tex、6 个中文目录,全部零错误,页数与各自原记录一致。

6. 关于残留的 4 条布局警告 —— 全部是迁入前既有的

文件 警告 判定依据
试卷/参考答案与评分标准示例 Overfull 0.2071pt 从 HEAD 取出改名前的 exam/ 目录单独编译,同样是 0.2071pt,与改名无关
幻灯片/slides Underfull ×1 源仓库 slides.log 第 1955 行,同为 lines 290--290
科技报告/report Underfull ×2 源仓库 report.log 第 3773、3786 行,同为 lines 101--102 / 116--116

0.2071pt = 0.073 mm,肉眼不可辨。试过 \emergencystretch 与调整 \pt 字距,都无法消除
(是 bold 数字与全角括号的字距累积),属既有模板的固有公差,不在本次需求范围,未改动。

7. 一个需要说明的决策:两个迁入模板的 PDF 未重新编译

幻灯片/slides.pdf 与 科技报告/report.pdf 保留源仓库原版,md5 逐字节一致,没有重新编译。原因:

  • 源 PDF 出自 TeX Live 2026,本机是 2022。
  • 用 TL2022 重编后,正文、版式、页数全部一致(逐页文本比对 28/30 页完全相同),
    但结尾页的背景装饰层整体偏移了一个页高,导致右下角 www.ouc.edu.cn 被推出页面。
    已验证与迁入过程无关:直接编译源仓库 2022 分支(源码与 main 相同)同样如此,
    是 beamer/pgf 在 \makelast 末页上的版本差异。
  • 保留原版可保证样张与用户此前看到的效果完全一致;源码是权威,使用者自己编译即可。
    这一点也写进了两个 README。

8. 旧仓库状态

两个旧仓库(ouc-slide-latex-template、ouc-report-latex-template)的代码与提交历史原样保留,未做任何删除或归档操作,
仅在 README 中注明「2026-10 起并入 ouc_latex_template 统一维护,旧仓库不再更新」。
是否要在 Gitea 上把旧仓库标记为只读/归档,请用户决定。

## 已完成并推送(提交 `1f807e9`) ### 1. 中文目录名可行性 —— 实测通过 改名**之前**先做验证:把 `ouccourse.sty` + `课程执行大纲.tex` 拷到 `/tmp/中文目录测试/`, XeLaTeX 输出 `Output written on 课程执行大纲.pdf (5 pages).`,零错误零警告。 确认可行后才动手改名,避免改完发现编译不过要回退。 ### 2. 目录全部改为中文名(`git mv`,保留历史) | 原目录 | 新目录 | |---|---| | `exam/` | `试卷/` | | `form/` | `年度考核登记表/` | | `form2/` | `劳务发放说明表/` | | `course/` | `课程执行大纲/` | - 目录名**不含空格**(用户明确要求)。 - **样式包名不变**(`oucexam` / `ouckhtb` / `ouclw` / `ouccourse`),只改目录,所以 `.tex` 里的 `\usepackage{...}` 一行都不用动。 - git 全部识别为 `rename`(相似度 92%–100%),历史连续。 ### 3. 并入两个此前独立维护的仓库 | 源仓库 | 新目录 | 迁入内容 | 文件数 | |---|---|---|---| | `ouc-slide-latex-template` | `幻灯片/` | `theme/` `fonts/` `logos/` `figs/` `oucslide.sty` `slides.tex` `README.md` `fontawesome.pdf` `LICENSE` | 52 | | `ouc-report-latex-template` | `科技报告/` | `cls/` `figs/` `font/` `input/` `report.cls` `report.tex` `README.md` `fontawesome.pdf` | 34 | 处理细节: - **排除中间文件**:`slides.aux/.log/.nav/.out/.snm/.toc/.vrb`、`report.aux/.log/.toc/.lof/.lot` 均未入库。 - **LICENSE 分开保留**:两个源仓库是 BSD 3-Clause(Helmholtz AI Energy),本库是 Apache 2.0。 没有覆盖,幻灯片目录内单独放了一份原 `LICENSE`,来源声明不丢。 - **`.gitignore` 不覆盖**:本库的 `.gitignore` 已覆盖两个仓库所需的全部中间文件后缀,无需合并。 - **字体随模板附带**(这正是源仓库的原设计):`幻灯片/fonts/` 49 MB 鸿蒙、`科技报告/font/` 92 MB 鸿蒙 + 方正, 共 141 MB。用 md5 查过两处有 8 个字体完全相同(重复占 31.9 MB),但**不做去重合并**—— 两个模板各自自包含、可单独拷走使用,是它们原本的约定,强行合到一个共享目录会破坏独立性。 ### 4. 文档同步 - 根 `README.md`:目录表换成 6 个中文目录,补「编译入口」列,新增「历史沿革」一节说明 幻灯片与科技报告此前是独立仓库、现统一在本库维护。 - 4 个子 README 的标题(`# exam —— ` → `# 试卷 —— ` 等)。 - `劳务发放说明表/ouclw.sty` 注释里对 `form/` 的两处交叉引用。 - 幻灯片 README:「从旧仓库 clone」「按年份切分支」两节**已失效**(并入后只有 `main`), 改写为「编译器版本兼容性」+「维护约定」;同时修正 `slide.tex`→`slides.tex`、`font:`→`fonts:` 两处笔误。 - 科技报告 README:分支表改写为版本兼容表,`## 使用方法` 补主仓库 clone 路径。 ### 5. 验收(从远端全新克隆后实测,不是本地目录) ``` 试卷/参考答案与评分标准示例.tex 错误=0 (3 pages) 试卷/试卷题型示例.tex 错误=0 (6 pages) 年度考核登记表/年度考核登记表.tex 错误=0 (2 pages) 劳务发放说明表/劳务发放说明表.tex 错误=0 (1 pages) 课程执行大纲/课程执行大纲.tex 错误=0 (5 pages) 幻灯片/slides.tex 错误=0 (30 pages) 科技报告/report.tex 错误=0 (10 pages) ``` **7 个 `.tex`、6 个中文目录,全部零错误,页数与各自原记录一致。** ### 6. 关于残留的 4 条布局警告 —— 全部是迁入前既有的 | 文件 | 警告 | 判定依据 | |---|---|---| | `试卷/参考答案与评分标准示例` | `Overfull 0.2071pt` | 从 `HEAD` 取出改名前的 `exam/` 目录单独编译,**同样是 0.2071pt**,与改名无关 | | `幻灯片/slides` | `Underfull ×1` | 源仓库 `slides.log` 第 1955 行,**同为 lines 290--290** | | `科技报告/report` | `Underfull ×2` | 源仓库 `report.log` 第 3773、3786 行,**同为 lines 101--102 / 116--116** | 0.2071pt = 0.073 mm,肉眼不可辨。试过 `\emergencystretch` 与调整 `\pt` 字距,都无法消除 (是 bold 数字与全角括号的字距累积),属既有模板的固有公差,不在本次需求范围,未改动。 ### 7. 一个需要说明的决策:两个迁入模板的 PDF 未重新编译 `幻灯片/slides.pdf` 与 `科技报告/report.pdf` **保留源仓库原版,md5 逐字节一致**,没有重新编译。原因: - 源 PDF 出自 **TeX Live 2026**,本机是 **2022**。 - 用 TL2022 重编后,正文、版式、页数全部一致(逐页文本比对 28/30 页完全相同), 但**结尾页的背景装饰层整体偏移了一个页高**,导致右下角 `www.ouc.edu.cn` 被推出页面。 已验证与迁入过程无关:直接编译源仓库 `2022` 分支(源码与 main 相同)**同样如此**, 是 beamer/pgf 在 `\makelast` 末页上的版本差异。 - 保留原版可保证样张与用户此前看到的效果**完全一致**;源码是权威,使用者自己编译即可。 这一点也写进了两个 README。 ### 8. 旧仓库状态 两个旧仓库(`ouc-slide-latex-template`、`ouc-report-latex-template`)的**代码与提交历史原样保留**,未做任何删除或归档操作, 仅在 README 中注明「2026-10 起并入 `ouc_latex_template` 统一维护,旧仓库不再更新」。 是否要在 Gitea 上把旧仓库标记为只读/归档,请用户决定。
Author
Owner

验证通过并已推送(6584dfa..1f807e9),关闭。

从远端全新克隆后实测:6 个中文目录、7 个 .tex 全部零错误编译通过,页数与各自原记录一致(3/6/2/1/5/30/10 页)。中文目录名不影响编译,已确认。残留的 4 条布局警告均与本次改动无关(改名前的 exam/ 目录单独编译同样复现),未改动。

验证通过并已推送(`6584dfa..1f807e9`),关闭。 从远端全新克隆后实测:6 个中文目录、7 个 `.tex` 全部零错误编译通过,页数与各自原记录一致(3/6/2/1/5/30/10 页)。中文目录名不影响编译,已确认。残留的 4 条布局警告均与本次改动无关(改名前的 `exam/` 目录单独编译同样复现),未改动。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: laoyang/ouc_latex_template#3