sb2nov/resume · 上手攻略

  • 仓库:sb2nov/resume
  • 链接:https://github.com/sb2nov/resume
  • 分类:学术写作 · 简历工具
  • 作者:Tom
  • 更新:2026-07-14

是什么

sb2nov/resume 是一个面向软件工程师的开源 LaTeX 单页简历模板,以 MIT 许可证开源。该模板由 Sourabh Bajaj 创建,解决了当时 Google Docs 管理简历格式困难、多处修改不便的问题。它采用单栏布局、基础 LaTeX 包,不依赖复杂宏包,安装和修改门槛低,文件结构清晰,每块内容都有注释说明。


解决什么问题

  • 简历格式修改困难(Google Docs 改一处要手动同步多处)
  • 主流模板多为双栏或超两页,不适合线上投递和招聘会
  • 需要一份机器可读(ATS 友好)的 PDF 简历
  • 想用 Git 管理简历版本,方便追踪修改历史

快速安装

方式一:Overleaf(零安装,推荐)

直接访问 Overleaf 模板页面,Fork 后在线编辑、编译: https://www.overleaf.com/latex/templates/software-engineer-resume/gqxmqsvsbdjf

无需本地安装任何工具,选 PDF → Download 即可输出简历 PDF。

方式二:Docker(本地,跨平台)

# 克隆仓库
git clone https://github.com/sb2nov/resume.git
cd resume

# 构建 LaTeX Docker 镜像
docker build -t latex .

# 编译简历
docker run --rm -i -v "$PWD":/data latex pdflatex sourabh_bajaj_resume.tex

编译成功后会在当前目录生成 sourabh_bajaj_resume.pdf

方式三:本地 LaTeX 环境

前置依赖(TeX Live / MacTeX / MiKTeX 均可):

fullpage, titlesec, color (dvipsnames), enumitem,
hyperref, fancyhdr, babel, tabularx, glyphtounicode

大多数 TeX 发行版已预装以上宏包,未装的话手动安装即可。

# 直接编译
pdflatex sourabh_bajaj_resume.tex
# 或用 latexmk 自动处理交叉引用
latexmk -pdf sourabh_bajaj_resume.tex

⚠️ 注意:需要 glyphtounicode.tex 文件(仓库自带),保证 PDF 输出为 Unicode 字符供机器读取。


核心用法

文件结构

resume/
├── sourabh_bajaj_resume.tex   # 主文件
├── resume_preview.png          # 预览图
└── README.md

编辑简历只需修改 sourabh_bajaj_resume.tex 一个文件,所有内容都在里面。

核心命令速查

% 个人信息头部
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
  \textbf{\href{https://sourabhbajaj.com/}{\Large Sourabh Bajaj}} &
  Email: \hrefmailto:sourabh@sourabhbajaj.com{sourabh@sourabhbajaj.com} \\
  \href{https://sourabhbajaj.com}{sourabhbajaj.com} &
  Mobile: \hreftel:+11234567890{+1-123-456-7890} \\
\end{tabular*}

% 教育经历
\resumeSubheading{学校名}{城市, 州}{学位; GPA}{起止时间}

% 工作经历
\resumeSubheading{公司名}{城市, 州}{职位}{起止时间}
  \resumeItemListStart
    \resumeItem{项目/成就标题}{详细描述}
  \resumeItemListEnd

% 项目经历
\resumeSubheading{项目名}{日期}{语言/框架}{角色}
  \resumeItemListStart
    \resumeItem{}{描述}
  \resumeItemListEnd

% 技能
\section{Skills}
\resumeSubHeadingListStart
  \resumeSubItem{语言}{Python, C++, JavaScript}
  ...
\resumeSubHeadingListEnd

自定义联系方式(头部)

替换为自己的个人信息:

\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
  \textbf{\href{https://yourwebsite.com/}{\Large Your Name}} &
  Email: \hrefmailto:you@email.com{you@email.com} \\
  \href{https://github.com/yourgh}{github.com/yourgh} &
  Mobile: \hreftel:+8613812345678}{+86-138-1234-5678} \\
\end{tabular*}

ATS 优化说明

模板包含以下设置确保简历能被 ATS 系统解析:

\pdfgentounicode=1    % PDF 输出 Unicode 字符(非字体绑定)
\usepackage[hidelinks]{hyperref}  % 超链接可点击但不破坏解析器

典型适用场景

场景 说明
技术岗求职 SDE/后端/前端/数据工程师向招聘平台投递
线上申请 各大招聘网站(LinkedIn、Indeed)及公司官网 ATS 系统
Career Fair 单页浓缩,适合线下招聘会快速投递
Git 版本管理 每次求职周期 commit 一次,形成修改历史

坑与注意

  1. Overleaf 免费版编译有限速:频繁编译可能触发队列等待,建议本地 Docker 方式做最终输出。
  2. XeLaTeX / LuaLaTeX 不兼容:作者模板基于 pdfLaTeX,使用 latexmk -pdf 或直接 pdflatex 编译;换引擎可能需要调整宏包。
  3. 字体依赖:Linux 发行版可能缺某些字体(latofontawesome5 等),Docker 镜像内已包含全套依赖,本地装不上的建议用 Docker。
  4. 超出一页的处理:内容多时,默认模板会自动溢出。此时可适当精简项目描述文字,或微调 \textheight\titlespacing
  5. 国内手机号格式:示例用美国格式,中国手机号建议用 +86-138-xxxx-xxxx 格式以确保 PDF 可解析。
  6. 中文支持:模板默认英文,如需中文简历可换用 ctex 套件,但结构需自行调整。

与同类对比

模板 布局 样式 ATS 友好 学习门槛
sb2nov/resume 单栏 基础/专业
Jake's Resume 单栏 更紧凑
Awesome CV 双栏可选 时尚
Resumake / JSON Resume 生成器 多样

sb2nov/resume 的优势是极简、无多余宏包依赖、Git 管理友好,是软件工程师圈子最流行的 LaTeX 简历起点之一。缺点是样式较为基础,不适合创意类岗位。


一句话推荐结论

想用 Git 管简历、用 LaTeX 写出干净专业单页 PDF、通过 ATS 筛选——sb2nov/resume 是最低门槛、最高复用的开源选择,Overleaf 五分钟出稿,Docker 本地一键编译。