A modular resume and CV system built with Quarto. Write your content once in small, focused section files and compile to a polished PDF and Word document with a single command. Reordering, adding, or removing entries is as simple as editing a list.
This repo ships with a fictional example resume so you can see exactly what the output looks like before swapping in your own content.
| File | Description |
|---|---|
FinalProducts/StandardResume.pdf |
Single-column, consulting-style PDF |
FinalProducts/WordResume.docx |
Formatted Word document |
Already have Quarto and LaTeX?
makeWant to use Docker instead (no installs needed)?
docker build -t quartocv .
make docker-renderNeed to set up first? Jump to:
- Set up with Docker — Mac, Linux, or Windows
- Install Quarto on Mac
- Install Quarto on Linux
- Install Quarto on Windows
sections/
header.qmd # Name and contact line
education/ # One .qmd file per school
work/ # One .qmd file per job
leadership/ # One .qmd file per role
StandardResume.qmd # PDF layout — assembles sections with {{< include >}}
WordResume.qmd # Word layout — same content as Markdown tables
preamble_consulting.tex # LaTeX macros that control the visual style
To reorder entries, edit the {{< include >}} list in StandardResume.qmd and WordResume.qmd. To edit an entry's content, open the corresponding file in sections/.
| Command | What it does |
|---|---|
make |
Build both PDF and Word outputs |
make docker-render |
Build both outputs inside Docker |
make FinalProducts/StandardResume.pdf |
Build only the PDF |
make FinalProducts/WordResume.docx |
Build only the Word file |
make clean |
Delete all generated outputs |
- Margins, font size, page size — YAML front matter at the top of
StandardResume.qmd - Section heading and entry spacing —
preamble_consulting.tex - Word document fonts and heading styles — open
resume-reference.docxin Word, modify the named styles (Heading 1, Heading 2, etc.), and save
Docker handles everything — Quarto, LaTeX, and fonts — inside a container. Nothing gets installed on your machine.
- Mac: Docker Desktop for Mac
- Windows: Docker Desktop for Windows — requires WSL 2 (Docker Desktop will prompt you to enable it)
- Linux: Docker Engine for your distro
docker build -t quartocv .This takes a few minutes the first time. You won't need to do it again unless the Dockerfile changes.
make docker-renderWindows:
makeis not available by default. Either run this inside WSL 2 (recommended), or install Make for Windows and run it from PowerShell.
brew install quartoOr download the .pkg installer from quarto.org/docs/get-started.
quarto install tinytexOr install the full MacTeX distribution if you prefer.
brew install pythonOr download from python.org. Python 3.8+ is required.
makeDownload the .deb or .rpm package for your distro from quarto.org/docs/get-started, then install it:
# Debian/Ubuntu
sudo dpkg -i quarto-*.deb
# Fedora/RHEL
sudo rpm -i quarto-*.rpmsudo apt install texlive-xetex texlive-fonts-recommended texlive-fonts-extra
# Times New Roman
sudo apt install ttf-mscorefonts-installer
sudo fc-cache -fsudo apt install python3makeDownload the .msi installer from quarto.org/docs/get-started and run it.
Open a terminal and run:
quarto install tinytexOr install MiKTeX, which handles package downloads automatically on first use.
Download and install Python 3.8+ from python.org. Check "Add Python to PATH" during installation.
make is not included with Windows. The easiest option is to use WSL 2 (Windows Subsystem for Linux) and follow the Linux instructions above. Alternatively, install Make for Windows and run commands from PowerShell.
make