Files
ouc_latex_template/简历
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
..

中国海洋大学个人简历 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/ 是相对当前工作目录的):

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 原生的形状替换:

\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,全部允许免费商用与再分发。