Files
ouc_latex_template/简历/README.md
T
laoyang 8984b93ee7 模板内容填充:全库 × 占位换成完整虚构示例,README 表述同步 #11
把 11 个模板里满篇的 × 换成一套连贯的虚构数据,让样张能看出排版效果。

虚构设定(跨模板统一):
- 数字逻辑 / 2025 秋 / 张远航 / 计算机科学与技术学院,教学日历、成绩构成
  说明、试卷归档封面、试卷四份互相对得上
- 简历:张远航,1985.03,教授博导,论文/专利/项目/获奖全套虚构
- 年度考核:同一人的 2025 年度考核表,年度总结四段写满
- 执行大纲:刻意不套用上面那套(原件就是《信号与线性系统分析》的课,
  强行改课程名会让章节体系、学时分配、思政案例全对不上)

假数据都留肉眼可辨标记:DOI 统一 10.9999/、专利号 ZL209999…、
软著 2024SR99999…、手机 138 0000 0000、邮箱 example.net。
签字/日期/评语栏仍然留空——编了就分不清该改哪儿。

修掉一个既有 bug(填充时才暴露):
年度考核登记表「出生年月」的值从来不显示,连字符都不在 PDF 里。
根因是 tabularray 的 cell{r}{c}={c=n} 里那个 c 是数据行的单元序号、
不是视觉列号,表头三处 c=2 要求该行吃 15 个视觉列而表只有 11 列,
超出部分静默丢弃。迷惑点:写 12 格丢值,写 9 格反而正常。
正解是表头不写 cell{},改用行内 \SetCell[c=n]{c},每行照常写满 11 格。
同时 R0 行原件本就装不下(前六字段 115.76mm,剩 42.20mm 要放
19.68mm 标签 + 17.22mm 值,但列宽被切成 15.31/1.38/25.51),
把标签折两行「出生/年月」解决,列宽一个没改。

README 同步:根 README 与 8 个模板 README 里「一律用 × 占位」的说法
已不成立,统一改为「示例内容全部虚构」,并说明哪些位置仍必须留空。

验证:12 个模板零 error,4 处基线警告未新增;干净副本重编页数一致;
PDF 正文 × 清零;真实信息零泄漏。
2026-10-27 12:50:02 +08:00

137 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 中国海洋大学个人简历 LaTeX 模板
中文个人简历模板,A4 单页两栏式排版:左侧窄栏放时间与阶段,右侧宽栏放具体内容,抬头带圆形头像与联系方式图标行。
> 本目录的版式来自一份在用的中文简历(`awesome-source-cv` 系的衍生版)。**字体、占位内容、头像三处都已重做**,详见下文「与上游的差别」。
## 特性
- **字体全部取自仓库公共字体包**:中文 OUC Serif(宋体)/ OUC Sans(黑体)/ OUC Kai(楷体)/ Zhuque Fangsong(仿宋),西文 TeX Gyre Termes,图标 FontAwesome —— 没有任何一个字体来自系统或 TeX Live 安装,**换机器编译结果一致**;
- **真粗体**:标题、姓名、区块头用的都是字体自带的粗体,不是算法描边;
- **分区可拆**:`section_01` ~ `section_10` 各自一个文件,不想要哪块就把对应 `\input` 注释掉;
- **圆形头像**:`\photo{2.5cm}{photo}` 自动裁成圆形,尺寸随参数走;
- **条目化排版**:论文、专利、项目、获奖等用 `\emptySeparator` 分条,时间栏自动对齐。
## 环境要求
- TeX Live 2022 及以上,**必须 XeLaTeX** 编译;
- 不需要安装任何字体,`fonts/` 里有全套。
## 编译
在**本目录**下编译(不要在仓库根调用,`fonts.tex` 里的 `Path=../fonts/` 是相对当前工作目录的):
```bash
cd 简历
xelatex 简历.tex
xelatex 简历.tex # 跑两遍:第一遍写 .aux,第二遍才能取到正确的页码与交叉引用
```
编译结果:3 页,日志零 error、零 Underfull、零 Overfull。嵌入字体只有 5 个,全部来自本仓库:
| 字体 | 用途 |
|---|---|
| `OUCSerif-Regular` / `OUCSerif-Bold` | 中文正文与标题 |
| `TeXGyreTermes-Regular` / `-Bold` | 西文正文与标题 |
| `FontAwesome` | 联系方式行图标 |
## 改什么、在哪儿改
| 要改的内容 | 位置 |
|---|---|
| 姓名、职称、联系方式 | `简历.tex` 的 `\name` / `\tagline` / `\socialinfo` |
| 头像 | 替换 `photo.jpg`(正方形,400×400 以上,会自动裁圆) |
| 各区块正文 | `section_01_headline.tex` ~ `section_10_awards.tex` |
| 不想显示的区块 | 在 `简历.tex` 里把对应 `\input` 注释掉 |
| 左侧时间栏宽度 | `awesome-source-cv.cls` 的 `\setlength{\leftcolumn}{2.5cm}`,右侧栏宽会自动跟着算 |
| 主题色 | `awesome-source-cv.cls` 的 `accentcolor` |
## 与上游的差别(改动都在文件头注释里写明了原因)
### 1. 字体:三层依赖全部拆掉
上游那份简历的字体走三条路,每条都不能随仓库分发或不可复现:
| 上游做法 | 问题 | 本模板的处理 |
|---|---|---|
| `zh_cn-adobefonts_external.sty` 设 Adobe 宋/黑/楷/仿 | 56 MB 商业字体,无授权不可分发 | **删掉这两个文件**,改由 `../fonts.tex` 提供中文字体 |
| `awesome-source-cv.cls` 的 `localFont` 分支设 `SourceSansPro-*`(9 个 .otf) | 同上,且与仓库已有西文字体重复 | cls 里的 `\setmainfont` 整段删除,西文改走 `../fonts.tex` 的 TeX Gyre Termes |
| `fontawesome.sty` 用字体名找系统 FontAwesome | 机器上没装就编不过 | 改成显式 `Path=../fonts/fontawesome/`,字体文件已入仓库 |
删掉的两个文件里还有个隐藏问题值得记一笔:原 `zh_cn-adobefonts_external.sty` 里
`BoldFont` / `ItalicFont` / `SmallCapsFont` **全部指向 `Regular` 那一档** ——
等于加粗不变、斜体不变,标题层次全靠字号撑。换成真粗体后版面明显立起来了。
### 2. 内容:真人信息全部换成一套完整虚构示例
模板必须能公开分发,所以原件里的真人姓名、手机、邮箱、住址、出生年月、论文题名与 DOI、
专利号、软著登记号、获奖名称**一个都没保留**。
替换方式**不是全打 `×××`**——满篇叉号的样张既看不出排版效果,也没法直接对着改,
一页纸全是 ×,读的人都不知道哪行该填什么。所以填的是**一整套自洽的虚构人物**:
| 项 | 虚构值 |
|---|---|
| 姓名 / 单位 | 张远航,中国海洋大学 信息科学与工程学部 计算机科学与技术学院 **教授、博导** |
| 出生 / 籍贯 | 1985.03,山东青岛 |
| 方向 | 海洋遥感信息处理、机器学习与海洋大数据 |
| 手机 / 邮箱 | `(+86) 138 0000 0000` / `yhzhang@ouc.edu.cn` |
| 学历 | 2002–2006 本科 → 2006–2009 硕士 → 2009–2013 博士(2011–2012 南安普顿大学联培) |
| 工作 | 2013.07 博士后 → 2016.09 副教授 → 2021.12 教授 |
正文十节(`section_01`~`section_10`)也一并填满:80 余字个人简介、3 段工作经历、
4 段学历、9 篇论文、9 项专利、5 项软著、5 个项目、3 项成果转化、4 项教研项目、16 项获奖。
**假数据都留了肉眼可辨的标记**,不会被人误当真的抄走:
- 论文 DOI 统一 `10.9999/…`(`.9999` 段是编造专用段,真实 DOI 不走这里)
- 专利号统一 `ZL20999900000N.x`,软著登记号统一 `2024SR999990N`
- 期刊名是真实的(IEEE TGRS、Remote Sensing 等),但**题名全是编的**
- 成果转化的受让单位一律带「(示例)」后缀
- 头像 `a.jpg` / `a.png`(2085×2085 的真人照)换成 PIL 生成的 400×400 中性剪影 `photo.jpg`
替换时把 `section_01`~`section_10` 整段换成自己的即可,版式不受影响;
字数变化会自动重排,不需要动 `.cls`。
### 3. 排版小修
- **左栏宽度改自适应**:原来 `\leftcolumn 2.5cm + \rightcolumnlength 14.8cm` 看着
小于版心 18 cm,但两列共 4 个 `\tabcolsep`(≈0.85 cm)没算进去,实际 18.15 cm,
日志有 `Overfull 4.48pt`。改成
`\dimexpr\linewidth-\leftcolumn-4\tabcolsep\relax` 由版心反算,改页边距也不用再调数字。
- **抬头去掉两处空盒**:`\vspace*{0.3cm}\\` 和 `\smallskip\\` 会在换行前多产生一个
空 hbox(日志刷 `Underfull \hbox (badness 10000)`),改成 `\\[0.3cm]` /
`\\[\smallskipamount]`,间距效果不变。
- **`\socialinfo` 末尾不要留 `\\`**:`简历.tex` 里最后一行 `\address{...}` 后面加了
`\\` 同样会多一个空行。中间的 `\\` 是分行,必须保留。
## 写的时候容易踩的三个坑
1. **`\newExperience` 的参数顺序是「结束在前、开始在后」** —— 上游定义就是先印
`#1`(结束时间)再印 `#5`(开始时间),第一次用极易写反,写反了两栏内容会错位。
2. **每条后面必须跟 `\emptySeparator`**,否则下一条会并进同一格,不换行。
3. **关键词用英文逗号 `,` 分隔**(`\foreach` 按 `,` 切分)。用中文逗号会把整串当成
一个标签,撑出一个超宽的大框。
## 字体换成 SmallCaps 时的坑(已在 `../fonts.tex` 里解决)
`\user` / `\resumetitle` / `\experience` 都用了 `\textsc`,而中文没有小型大写字形,
不处理会每页刷 6 条 `Font shape 'TU/OUCSerif(0)/m/sc' undefined`。
修的时候注意:`\setCJKmainfont` 里加 `SmallCapsFont` **与本仓库的 `ItalicFeatures`
互斥** —— 斜体那一档带跨目录 `Path`,会把小型大写的字体查找带偏,无论写
`*-Regular`、全名、还是带 `.otf` 全报
`The font "OUCSerif-Regular" cannot be found.`。
正解在 `../fonts.tex` 里用的是 LaTeX 原生的形状替换:
```latex
\DeclareFontShape{TU}{OUCSerif(0)}{m}{sc}{<->ssub * OUCSerif(0)/m/n}{}
\DeclareFontShape{TU}{OUCSerif(0)}{b}{sc}{<->ssub * OUCSerif(0)/b/n}{}
```
比 fontspec 的选项低一层,不受选项间相互作用影响,效果等价。
## 授权
`LICENSE` 沿用上游。字体授权见仓库根 `../fonts/README.md`,全部允许免费商用与再分发。