Awesome-CV

posquit0LPPL-1.3c活跃维护 有专家点评

一套 LaTeX 简历与求职信模板,排版专业、可直接在 Overleaf 上编译,帮求职者快速产出好看的 PDF 简历。

:page_facing_up: Awesome CV is LaTeX template for your outstanding job application

暂无版本28,919star +27 / 7 天5,283fork同步于 2026-11-10 23:23 UTC

专家点评

上手难度:进阶更新于 2026-11-11

LaTeX 简历模板,用语义化标记生成排版稳定的求职 PDF,替代 Word 手动对齐

适用场景

  • 投递前需要反复微调内容、又不想每次重排版式:改 .tex 里的条目,latexmk 重出 PDF,版式不动
  • 同一份履历要出简历、长版 CV、求职信三份:模板已拆好,共享同一套样式和字体
  • 在 CI 或多人协作里保证输出一致:用仓库自带 Docker 镜像固定 TeX Live 和字体,避免本地环境差异
  • 需要 PDF 里的链接、字体嵌入、页数可控:make test 会检查这几项,比肉眼过一遍可靠

踩坑

  • 引擎选错直接编译失败:必须 LuaLaTeX,XeLaTeX 和 pdfLaTeX 都不行,latexmkrc 已固定,绕过它自己调命令就会撞上
  • 字体只装可变版本会缺字形:需要 Source Sans 3 和 Roboto 的静态 OTF/TTF,系统里只有可变字体时排出来是空白或回退字体
  • 不在仓库根目录执行命令会找不到 latexmkrc 和 awesome-cv.cls,看起来像模板坏了其实是路径问题
  • issue 里反复出现 Font Awesome 相关的命令重定义报错和 MacTeX 2024 渲染问题,升级 TeX 发行版或宏包后要预留排查时间

同类对比

不想碰 TeX 工具链就用 Markdown 转 PDF 的简历方案(如 RenderCV 一类),代价是版式自由度低;需要完全掌控排版又接受学习成本,直接写 LaTeX 而不套模板也行。

怎么上手

由 README 提炼,执行前请确认
latexmk
硬件要求按 README 说明

README 未说明,纯 CPU 编译即可,无需 GPU

支持 Apple Silicon有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

用 LaTeX 排版简历、CV 和求职信的模板,语义化标记易改,输出专业 PDF

一套 LaTeX 简历与求职信模板,排版专业、可直接在 Overleaf 上编译,帮求职者快速产出好看的 PDF 简历。

核心能力

  • 提供简历、CV、求职信三类模板
  • 基于语义化 LaTeX 标记,便于自定义
  • 用 latexmk 一键构建全部文档到 build/
  • 提供 Docker 镜像固定 TeX Live 与字体环境
  • 内置 make test 检查页数、链接与字体

容易踩的坑

必须用 LuaLaTeX(HarfBuzz),不支持 XeLaTeX 和 pdfLaTeX;需安装 Source Sans 3 与 Roboto 的静态 OTF/TTF 字体,只装可变字体可能缺字形;命令须在仓库根目录执行,否则找不到 latexmkrc 与 awesome-cv.cls

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    What is Awesome CV?

    Awesome CV is LaTeX template for a CV(Curriculum Vitae), Résumé or Cover Letter inspired by Fancy CV. It is easy to customize your own template, especially since it is really written by a clean, semantic markup.

    Donate

    Please help keep this project alive! Donations are welcome and will go towards further development of this project.

    PayPal: paypal.me/posquit0
    

    Thank you for your support!

    Preview

    Résumé

    You can see PDF

    Page. 1Page. 2
    RésuméRésumé
    Cover Letter

    You can see PDF

    Without SectionsWith Sections
    Cover Letter(Traditional)Cover Letter(Awesome)

    Quick Start

    Note: These gallery templates may contain older source code. For this repository's version, upload its files and follow the Overleaf instructions below.

    How to Use

    Requirements

    Awesome CV uses LuaLaTeX with HarfBuzz, driven by latexmk. XeLaTeX and pdfLaTeX are not supported by this version of the class.

    Install a current full TeX Live distribution (or MacTeX on macOS), including lualatex, latexmk, and fontawesome6. TeX Live 2026 is the recommended starting point. latexmk also requires Perl, which is included with TeX Live on Windows. Make is optional.

    Install the Source Sans 3 and Roboto font families, including Regular, Italic, Bold, Bold Italic, Light, and Light Italic. Use the static desktop OTF/TTF fonts from Source Sans 3 and Roboto; installing only a variable font may not provide the named faces required by the class. Fonts must be visible to LuaLaTeX under these family names. After installing fonts, run luaotfload-tool --update if they are not found.

    Alternatively, place the static font files in the repository root. The included luaotfload.conf enables discovery of fonts in the working directory, including files uploaded to Overleaf.

    The Dockerfile provides TeX Live and the required fonts together. It is also used by CI, so Docker is the reference environment for reproducing builds locally.

    Usage

    Run commands from the repository root, where latexmkrc and awesome-cv.cls are located. Paths in the examples are relative to this directory.

    latexmk
    

    This builds the cover letter, CV, and résumé into build/coverletter.pdf, build/cv.pdf, and build/resume.pdf. make runs the same command. Generated PDFs, logs, and SyncTeX files stay in build/; the committed PDFs in examples/ are previews and are not overwritten.

    To build one document, or rebuild it automatically while editing:

    latexmk examples/resume.tex
    latexmk -pvc examples/resume.tex
    

    The existing make resume.pdf, make cv.pdf, and make coverletter.pdf shortcuts also write to build/. For your own document, run latexmk your-cv.tex from the repository root; keep its input and image paths relative to that root.

    The shared latexmkrc selects LuaLaTeX, enables SyncTeX, stops on compilation errors, and lets latexmk rerun the compiler and track dependencies. Repeating a build without changes skips compilation.

    Use make clean (or latexmk -c) to remove the examples' auxiliary files while keeping their PDFs. Use make distclean (or latexmk -C) to remove the generated example PDFs as well. To clean a custom document, pass its filename, for example latexmk -C your-cv.tex.

    Docker

    From the repository root, build the environment and compile:

    docker build --tag awesome-cv .
    docker run --rm --user "$(id -u):$(id -g)" --volume "$PWD:/doc" awesome-cv
    

    These commands work in a POSIX shell, including WSL on Windows. In PowerShell:

    docker build --tag awesome-cv .
    docker run --rm --volume "${PWD}:/doc" awesome-cv
    

    The image runs make by default. To build one document, append latexmk examples/resume.tex to docker run. Outputs are written to the host's build/ directory. The image provides writable font and TeX caches for the non-root user used by the POSIX command and CI.

    The base image is pinned to a multi-platform digest, and additional Debian packages come from a dated snapshot. Rebuilding a checkout therefore uses the same TeX and font package sources. Native installations and Overleaf can differ from this baseline. CI uses Linux amd64; Docker on Apple Silicon uses the pinned arm64 image. To reproduce CI's architecture, add --platform linux/amd64 to both Docker commands (emulation may be slower).

    This pins the toolchain, not the bytes of every PDF: examples use \today, and PDF metadata can include build timestamps. See the build environment guide for version inspection and dependency updates.

    Editors and Overleaf

    For VS Code, open the repository root as the workspace and install the recommended LaTeX Workshop extension. The committed workspace settings run latexmk from that root, use latexmkrc, and locate PDF/SyncTeX output in build/. Open examples/resume.tex, examples/cv.tex, or examples/coverletter.tex and run Build LaTeX project. Compilation magic comments are disabled in this workspace so they cannot bypass the shared recipe.

    For other editors, configure latexmk as the build command with the repository root as its working directory. The examples' TS-program comments identify LuaLaTeX for editors that use them; the full build settings live in latexmkrc.

    For Overleaf:

    1. Upload the repository contents, keeping awesome-cv.cls, latexmkrc, and luaotfload.conf at the project root and preserving the examples/ directory.
    2. Copy the desired main file, such as examples/resume.tex, to resume.tex at the project root and select that copy as the Main document. Overleaf builds from the main file's directory, so a root-level main file keeps input, image, and configuration paths consistent.
    3. Select LuaLaTeX and a current available TeX Live version in the compiler settings. Overleaf manages its own output location.
    4. If the required font faces are unavailable, upload the static OTF/TTF files at the project root. luaotfload.conf lets LuaLaTeX discover their family names. Overleaf's environment is managed separately from the Docker image.

    The root awesome-cv.cls is the source of truth. examples/awesome-cv.cls is a convenience symlink to it; it is not a second class to edit. If a ZIP tool or Windows checkout turns that symlink into a text file, omit the example-directory copy and keep the real class at the project root.

    Contributing

    Run make test before submitting changes. The Docker image includes the PDF inspection dependency; append make test to the Docker command above to run the same checks as CI. The suite checks page counts, text extraction, links, embedded fonts, compiler font warnings, and focused layout regressions. See the test guide for native prerequisites and coverage.

    CI uploads PDFs, compiler logs, a JSON report, and page images from build/ for review, including available diagnostics after a failure. Check the page images for layout changes; automated checks do not cover every visual detail. When changing build settings, keep latexmkrc, the editor configuration, the Dockerfile, and these instructions aligned.

    Credit

    LaTeX is a fantastic typesetting program that a lot of people use these days, especially the math and computer science people in academia.

    FontAwesome6 LaTeX Package is a LaTeX package that provides access to the Font Awesome 6 icon set.

    Roboto is the default font on Android and ChromeOS, and the recommended font for Google’s visual language, Material Design.

    Source Sans 3 is a set of OpenType fonts that have been designed to work well in user interface (UI) environments.

    Contact

    You are free to take my .tex file and modify it to create your own resume. Please don't use my resume for anything else without my permission, though!

    If you have any questions, feel free to join me at #posquit0 on Freenode and ask away. Click here to connect.

    Good luck!

    Maintainers

    See Also