新增个人简历模板(简历/),字体全部换成仓库自带的 #10
从个人目录的中文简历迁移为第 11 个模板,三处字体重做:
1) 字体三层依赖全部拆掉
- 删 zh_cn-adobefonts_external/internal.sty(Adobe 宋/黑/楷/仿,56 MB,
商业授权不可分发),中文字体改由 ../fonts.tex 提供
- awesome-source-cv.cls 的 localFont 分支(SourceSansPro 9 个 .otf)
整段删除,西文改走 ../fonts.tex 的 TeX Gyre Termes
- fontawesome.sty 原按字体名找系统 FontAwesome,改成显式
Path=../fonts/fontawesome/,并把 FontAwesome.otf 收进仓库
顺带修掉一个设计缺陷:原 adobefonts 里 BoldFont/ItalicFont/SmallCapsFont
全部指向 Regular,等于加粗不变、斜体不变。现用字体自带的真粗体。
2) 占位化:真实姓名/手机/邮箱/住址/出生年月/论文题名与 DOI/专利号/
软著号/33 条获奖全部改为 ××× / 20××;真人照 a.jpg/a.png 换成
PIL 生成的 400×400 中性剪影 photo.jpg
3) 排版修正
- 左栏宽度改为 \dimexpr\linewidth-\leftcolumn-4\tabcolsep\relax 自适应,
修掉长表格 Overfull 4.48pt(原来没把 4 个 \tabcolsep 算进去)
- 抬头两处 \vspace*{...}\\、\smallskip\\ 改为 \\[...],
修掉 Underfull \hbox (badness 10000)
- \socialinfo 末尾多余的 \\ 去掉
fonts.tex 的改动(全库共享):\textsc 用的 sc 档改用
\DeclareFontShape{TU}{OUCSerif(0)}{m}{sc}{<->ssub * OUCSerif(0)/m/n}{}
做形状替换,而不是 SmallCapsFont 选项 —— 后者与本文件 ItalicFeatures 的
跨目录 Path 互斥,任何写法都报 The font "OUCSerif-Regular" cannot be found.
回归:11 个模板全部零 error 编译通过;科技报告/试卷/课程执行大纲
文本与改动前逐字一致,4 个既有 boxwarn 为改动前基线,未新增。
编译:cd 简历 && xelatex 简历.tex 跑两遍,3 页,零 error/Underfull/Overfull。
嵌入字体仅 OUCSerif-{Regular,Bold}、TeXGyreTermes-{Regular,Bold}、FontAwesome。
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
%======================================================================
|
||||
% oucfonts.tex —— 中国海洋大学模板库的公共字体入口
|
||||
%
|
||||
% 本文件是仓库内**唯一**允许声明字体的地方。十个模板全部通过
|
||||
% 本文件是仓库内**唯一**允许声明字体的地方。十一个模板全部通过
|
||||
% \input{../fonts.tex}
|
||||
% 取字体,不再各自写 \setCJKmainfont / \setmainfont。
|
||||
%
|
||||
@@ -134,6 +134,41 @@
|
||||
},
|
||||
]
|
||||
|
||||
% ------------------------------------------------------------------
|
||||
% 小型大写(sc):用**字体形状替换**,不用 SmallCapsFont 选项
|
||||
%
|
||||
% 为什么需要它:简历模板的 \user / \resumetitle / \experience 都用了
|
||||
% \textsc,而中文没有小型大写字形,不处理就每页刷 6 条
|
||||
% LaTeX Font Warning: Font shape `TU/OUCSerif(0)/m/sc' undefined
|
||||
% 惯例做法是让 sc 档**指回常规体**:\textsc{中文} 看起来不变(中文
|
||||
% 本来也没有大小写),而 \textsc{English} 里的西文仍然走 \setmainfont
|
||||
% 的 Termes 小型大写,行为正确。
|
||||
%
|
||||
% 为什么不写 SmallCapsFont —— 这里踩了整整一轮坑,结论留下免得重来:
|
||||
%
|
||||
% 1) SmallCapsFont 这个选项**与本文件上面的 ItalicFeatures /
|
||||
% BoldItalicFeatures 互斥**。最小复现实测:
|
||||
% 只有 SmallCapsFont + SmallCapsFeatures → 通过
|
||||
% 再加 ItalicFeatures(带跨目录 Path) → 立刻报
|
||||
% Package fontspec Error:
|
||||
% The font "OUCSerif-Regular" cannot be found.
|
||||
% 写 *-Regular、写全名 OUCSerif-Regular、写带 .otf 的、把两个键
|
||||
% 挪到最后,全都报同一个错;把斜体换成同目录字体
|
||||
% (ItalicFont = *-Bold)就又能过 —— 所以是**跨目录 Path 的相互作用**,
|
||||
% 不是文件名写法问题。照着"IralicFont 怎么写的就怎么写"去改会一直失败。
|
||||
%
|
||||
% 2) 绕开的办法就是干脆不用那个选项,改用 LaTeX 原生的字体形状替换
|
||||
% (\DeclareFontShape + <->ssub)。这条机制在 fontspec 选项之下,
|
||||
% 不受选项间相互作用影响,效果完全等价。
|
||||
%
|
||||
% ⚠️ 第二个参数 OUCSerif(0) 里的 (0) 是 fontspec 给该字体生成的内部
|
||||
% 族编号,不是笔误。若将来 \setCJKmainfont 换了字体名,这两行必须
|
||||
% 同步改;写错**不会报错**,只会让 sc 警告悄悄回来 —— 改完看日志。
|
||||
% ------------------------------------------------------------------
|
||||
\DeclareFontShape{TU}{OUCSerif(0)}{m}{sc}{<->ssub * OUCSerif(0)/m/n}{}
|
||||
\DeclareFontShape{TU}{OUCSerif(0)}{b}{sc}{<->ssub * OUCSerif(0)/b/n}{}
|
||||
|
||||
|
||||
%======================================================================
|
||||
% 三、字族命令
|
||||
%
|
||||
|
||||
Reference in New Issue
Block a user