重写全部 README,只保留使用说明

17 个 README 统一改成使用说明书,去掉来源、踩坑、需求过程等内容。

只保留:
- 怎么编译、跑几遍
- 文件结构
- 要改哪些参数(逐项列出宏名与含义)
- 用到的命令(表格)
- 版式参数

删除:
- 原文件来源、抽取过程
- 踩坑记录、最小复现、实测数据
- 用户需求、工单号、历史沿革
- 改造前后对比

行数 4185 → 2261。

全库 16/16 编译通过。
This commit is contained in:
2026-11-01 08:52:54 +08:00
parent a4bfcac82a
commit f87d763602
17 changed files with 1629 additions and 3334 deletions
+147 -44
View File
@@ -1,64 +1,167 @@
# ouc_latex_template
# 中国海洋大学 LaTeX 模板库
中国海洋大学各类文件 LaTeX 模板。**本仓库是本项目唯一的模板维护库**,各模板按文档类别分目录存放,互不依赖、可单独编译。
16 个文档模板 + 一份公共字体。换机器、换系统、换 Overleaf,编译结果一致。
## 目录
## 目录结构
| 目录 | 内容 | 编译入口 |
```
ouc_latex_template/
├── fonts.tex ← 公共字体入口,所有模板都引用它
├── fonts/ ← 字体文件(唯一的字体来源)
├── build.sh ← 编译脚本
├── verify_all.sh ← 全库编译检查
│
├── 会议预算表/ ┐
├── 劳务发放说明表/ │
├── 年度考核登记表/ │
├── 特殊事项说明表/ │
├── 成绩构成说明/ │
├── 试卷/ │
├── 试卷归档封面/ │ 16 个模板
├── 试卷归档目录/ │ 每个目录自成一体
├── 课程大纲/ │ 各自带 README
├── 课程执行大纲/ │
├── 课程教学日历/ │
├── 教材/ │
├── 科技报告/ │
├── 幻灯片/ │
└── 简历/ ┘
```
## 模板清单
| 模板 | 用途 | 主文件 |
|---|---|---|
| [`试卷/`](试卷/) | 期末考试**试卷**、**参考答案及评分标准**两套模板 | `试卷题型示例.tex`、`参考答案与评分标准示例.tex` |
| [`试卷归档封面/`](试卷归档封面/) | 信息科学与工程学部**试卷归档封面**(理论课) | `试卷归档封面.tex` |
| [`试卷归档目录/`](试卷归档目录/) | 信息科学与工程学部**试卷归档目录**(理论课,12 项核对清单) | `试卷归档目录.tex` |
| [`年度考核登记表/`](年度考核登记表/) | 教职工**年度考核登记表** | `年度考核登记表.tex` |
| [`劳务发放说明表/`](劳务发放说明表/) | **劳务发放说明表** | `劳务发放说明表.tex` |
| [`特殊事项说明表/`](特殊事项说明表/) | 报销用**特殊事项说明表**(事项描述 + 三级签字审批) | `特殊事项说明表.tex` |
| [`课程执行大纲/`](课程执行大纲/) | 本科**课程教学执行大纲** | `课程执行大纲.tex` |
| [`课程教学日历/`](课程教学日历/) | 学校通用版**课程教学日历(理论课程)**(附件3,16 周日历表) | `课程教学日历.tex` |
| [`成绩构成说明/`](成绩构成说明/) | **成绩构成说明**(理论课/实验课比例分解表 + 教师签字栏) | `成绩构成说明.tex` |
| [`幻灯片/`](幻灯片/) | 演示文稿(**beamer** 主题,海大配色) | `slides.tex` |
| [`科技报告/`](科技报告/) | **科技报告**、实验讲义、说明文档 | `report.tex` |
| [`简历/`](简历/) | **个人简历**(中文,A4 两栏式,含圆形头像与分区条目) | `简历.tex` |
| `会议预算表/` | 会议经费预算表 | `会议预算表.tex` |
| `劳务发放说明表/` | 劳务费发放说明 | `劳务发放说明表.tex` |
| `年度考核登记表/` | 教职工年度考核登记表 | `年度考核登记表.tex` |
| `特殊事项说明表/` | 报销用特殊事项说明表 | `特殊事项说明表.tex` |
| `成绩构成说明/` | 课程成绩构成说明 | `成绩构成说明.tex` |
| `试卷/` | 试卷 + 参考答案与评分标准 | `试卷题型示例.tex`、`参考答案与评分标准示例.tex` |
| `试卷归档封面/` | 试卷袋归档封面 | `试卷归档封面.tex` |
| `试卷归档目录/` | 试卷袋归档目录 | `试卷归档目录.tex` |
| `课程大纲/` | 本科生课程大纲 | `课程大纲.tex` |
| `课程执行大纲/` | 课程执行大纲 | `课程执行大纲.tex` |
| `课程教学日历/` | 课程教学日历 | `课程教学日历.tex` |
| `教材/` | 教材、专著(成书排版) | `教材.tex` |
| `科技报告/` | 科技报告、实验讲义 | `report.tex` |
| `幻灯片/` | Beamer 演示文稿(16:9) | `slides.tex` |
| `简历/` | 个人简历 | `简历.tex` |
## 编译
全部模板都**必须用 XeLaTeX**(fontspec + xeCJK),pdflatex 编译不过:
在**模板目录内**编译,不要在仓库根目录编译。
```bash
cd 幻灯片
xelatex slides.tex
xelatex slides.tex # 跑两遍,第二遍才能取到正确的目录、交叉引用与总页数
cd 课程大纲
xelatex 课程大纲.tex
```
目录名含中文不影响编译(已实测 12 个模板目录在中文目录下零报错编译通过)。
或用编译脚本(在仓库根目录执行):
## 说明
```bash
bash build.sh 课程大纲 # 编单个模板
bash build.sh all # 编全部,输出汇总
bash verify_all.sh # 检查全部:错误数 / Overfull / 页数
```
- **字体单一来源**:全库字体集中在根目录 [`fonts/`](fonts/),由 [`fonts.tex`](fonts.tex) 统一加载。十二个模板通过 `\input{../fonts.tex}` 取字体,**不自带字体、不依赖系统字体**——换机器(Windows / macOS / Linux / Overleaf)编译结果一致。
- **全部开源可商用**:无方正、无 SimSun / SimHei / KaiTi / FangSong、无 Times New Roman、无微软雅黑。用的是思源宋体/黑体、霞鹜文楷、朱雀仿宋、TeX Gyre Termes、Cochineal、鸿蒙 HarmonyOS Sans(各字体授权见 [`fonts/LICENSE`](fonts/LICENSE),来源与字符集见 [`fonts/README.md`](fonts/README.md))。
- **每个子目录自包含**:样式文件(`.sty` / `.cls`)、图片都在各目录内,编译时不需要额外的宏包搜索路径;只有字体是共享的上层目录。
- **各目录的 `README.md`** 写明该模板的用法、可改参数、版式数据来源与书写注意事项,改之前先看。
- **示例内容全部虚构**:为了让人一眼看出排版效果,模板里填的是**一整套连贯的假想数据**(虚构教师「张远航」、虚构课程《数字逻辑》2025 秋、虚构的论文 / 专利 / 项目 / 获奖),不是满篇 `×`。这些内容**不含任何真人信息、不含真题**,纯粹是为了让版式跑起来有真实感,使用时整体替换成自己的内容即可。
- 跨模板虚构设定是统一的:教学日历、成绩构成说明、试卷归档封面、试卷都对应《数字逻辑》2025 秋学期;简历里的论文 / 专利 / 项目 / 获奖属于同一位虚构人物。
- 一眼可辨的假数据特征:DOI 统一 `10.9999/…`、专利号统一 `ZL209999…`、软著登记号 `2024SR99999…`、手机号 `138 0000 0000`、邮箱用 `example.net`。
- 少数**必须留空让人手填**的位置(签字、日期、评语栏)仍然是空白或 `×`,这类不能编——编了就分不清哪儿该改了。
脚本会自动判断该跑几遍,不用手记。
### 各模板编译遍数
| 模板 | 遍数 | 原因 |
|---|---|---|
| 表格类(会议预算表、劳务发放说明表、年度考核登记表、特殊事项说明表、成绩构成说明、试卷归档封面、试卷归档目录) | 1 | 无目录、无交叉引用 |
| `课程大纲`、`课程执行大纲`、`课程教学日历` | 2 | 有目录与交叉引用 |
| `试卷` | 2 | 有题号交叉引用 |
| `幻灯片` | 2 | Beamer 需要 |
| `教材`、`科技报告` | 4 | 有参考文献:`xelatex → bibtex → xelatex → xelatex` |
## 字体
| 目录 | 字体 | 上游 | 授权 |
|---|---|---|---|
| `fonts/ouc-serif/` | OUC Serif(宋体) | 思源宋体 SC 的 GB2312 子集 | SIL OFL 1.1 |
| `fonts/ouc-sans/` | OUC Sans(黑体) | 思源黑体 SC 的 GB2312 子集 | SIL OFL 1.1 |
| `fonts/ouc-kai/` | OUC Kai(楷体) | 霞鹜文楷的 GB2312 子集 | SIL OFL 1.1 |
| `fonts/zhuque-fangsong/` | 朱雀仿宋(仿宋) | 朱雀仿宋 | SIL OFL 1.1 |
| `fonts/tex-gyre-termes/` | TeX Gyre Termes(西文,全库默认) | Times New Roman 度量兼容替代 | GUST Font License |
| `fonts/cochineal/` | Cochineal(西文,仅 `简历/` 用) | Minion 风格,Michael Sharpe | SIL OFL 1.1 |
| `fonts/harmonyos-sans/` | HarmonyOS Sans(幻灯片/科技报告) | 华为 | 华为官方允许免费商用 |
所有模板的字体都来自 `fonts/`,**不依赖操作系统装了什么字体**。
合计约 50 MB(改造前 141 MB,见 [`fonts/README.md`](fonts/README.md) 第五节)。
### 字体目录
> 子集字体已按 OFL §3 改名(`Source` / `LXGW` 是上游的 Reserved Font Name,裁剪即构成修改版),并保留了 OFL 声明。
> 用本模板编译出的文档**不受**这些字体授权约束,版权归作者本人。
```
fonts/
├── ouc-serif/ OUC Serif 中文宋体(正文)
├── ouc-sans/ OUC Sans 中文黑体(标题)
├── ouc-kai/ OUC Kai 中文楷体(代斜体)
├── zhuque-fangsong/ Zhuque Fangsong 中文仿宋
├── tex-gyre-termes/ TeX Gyre Termes 西文衬线(Times 等价)
├── cochineal/ Cochineal 西文衬线(Minion 风格)
├── harmonyos-sans/ HarmonyOS Sans 幻灯片、科技报告用
└── fontawesome/ Font Awesome 简历的图标符号
```
## 历史沿革
### 怎么引用字体
`幻灯片/` 与 `科技报告/` 此前分别维护在两个独立仓库(`ouc-slide-latex-template`、`ouc-report-latex-template`),2026-10 起**并入本仓库统一维护**,两个旧仓库不再更新。迁入时保留了原有目录结构、字体与图片资源,旧仓库的提交历史留在原仓库中。
两行固定写法,放在 `\documentclass` 之后、`\begin{document}` 之前:
```latex
\documentclass[UTF8,fontset=none]{ctexart}
\input{../fonts.tex}
\begin{document}
```
- `fontset=none` 必须写。不写的话 ctex 会先按系统字体配一套。
- `../fonts.tex` 是**相对模板目录**的路径,所以在模板目录内编译。
- 不要在仓库根直接 `xelatex 课程大纲/课程大纲.tex`,`../` 会指错。
`fonts.tex` 可以重复引用,多个 sty 各自引用不会冲突。
### 可用的字体命令
`\input{../fonts.tex}` 之后可以用这些命令随时切换字族:
| 命令 | 效果 | 实际字体 |
|---|---|---|
| `\songti` | 中文宋体 | OUC Serif |
| `\heiti` | 中文黑体 | OUC Sans |
| `\kaiti` | 中文楷体 | OUC Kai |
| `\fangsong` | 中文仿宋 | Zhuque Fangsong |
| `\tnr` | 西文衬线 | TeX Gyre Termes |
| `\tnrb` | 西文衬线粗体 | TeX Gyre Termes Bold |
| `\hm` | 鸿蒙黑体(中文) | HarmonyOS Sans SC |
| `\hmlatin` | 鸿蒙黑体(西文) | HarmonyOS Sans |
| `\oucUseCochineal` | 正文西文换成 Cochineal | Cochineal |
默认正文:中文 OUC Serif + 西文 TeX Gyre Termes。
用法示例:
```latex
{\heiti 这段用黑体}
{\kaiti 这段用楷体}
```
### 换正文西文字体
```latex
\input{../fonts.tex}
\oucUseCochineal % 正文西文改为 Cochineal
```
只有 `简历/` 用这个,其余模板保持 Termes。
## 环境要求
- TeX Live 2022 或更新
- 编译引擎固定 **XeLaTeX**,不能用 pdfLaTeX 或 LuaLaTeX
- 不需要装 CTeX 套装,不需要系统装中文字体
## 新增模板
1. 建目录,放 `.tex` 主文件 + `.sty` 版式包
2. 导言区写 `\documentclass[UTF8,fontset=none]{ctexart}` + `\input{../fonts.tex}`
3. 编译确认 `bash build.sh 你的模板名`
4. 把模板加进 `verify_all.sh` 的 `TARGETS` 列表
5. 写 `README.md`,格式参考现有模板
## 约定
- 页面 A4,唯 `幻灯片/` 为 16:9
- 表格类模板正文 12pt,`教材/` 为 10pt
- 中文正文用宋体,标题用黑体
- 示例内容全部是虚构数据(虚构教师、虚构课程、统一用 `example.net` 邮箱与 `138 0000 0000` 手机号),替换成自己的内容即可