# 中国海洋大学个人简历 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、专利号、 软著登记号、获奖名称全部改成 `×××` / `20××` 形式。照着填即可,版式不受影响。 `a.jpg` / `a.png`(2085×2085 的真人照)换成了 PIL 生成的 400×400 中性剪影 `photo.jpg`。 ### 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`,全部允许免费商用与再分发。