Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaTeX Resume Generator

A data-driven resume generator that separates content from formatting. Define your resume in a simple JSON file and compile it into a polished PDF — or export a standalone .tex file for cloud-based compilation on platforms like Overleaf.

Prerequisites

  • Python 3.8+ with a virtual environment
  • Pydantic for data validation
  • TeX Distribution with pdflatex and pythontex — only required for PDF output (e.g., TeX Live or MacTeX)

Setup

# Clone the repository
git clone https://github.com/your-username/LaTex-Resume-Generator.git
cd LaTex-Resume-Generator

# Create a virtual environment and install dependencies
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Usage

All output is written to the output/ directory and named after the input JSON file (e.g. input/john.jsonoutput/john.pdf or output/john.tex). The directory is created automatically if it doesn't exist.

./build.sh [--pdf|--tex] [path/to/data.json]
Flag Description
--pdf Compile to PDF using a local LaTeX installation (default)
--tex Export a standalone .tex file, ready to upload to Overleaf or similar

Build a PDF

# Uses input/default.json by default → output/default.pdf
./build.sh

# With your own data
./build.sh input/myresume.json        # → output/myresume.pdf
./build.sh --pdf input/myresume.json  # explicit, same result

Export a standalone .tex file

No LaTeX installation required — upload the output to Overleaf or any cloud LaTeX compiler.

./build.sh --tex                      # → output/default.tex
./build.sh --tex input/myresume.json  # → output/myresume.tex

Clean build artifacts

./clean.sh

JSON Schema

The JSON has two top-level keys: header and sections. See schema.json for the full JSON Schema, or use the structure below as a reference.

Header

Field Type Required Description
name string Yes Your full name
links array Yes Contact links as [text, url] pairs
centered boolean No Center-align the header (default: false)
targetRoles string[] No Target job titles shown below name

Sections

Each section has a title and an array of elements:

Field Type Required Description
header string[] No [left, right] — e.g., company name and dates
headerLink string No URL attached to the header
subheader string[] No [left, right] — e.g., role and location
content string[] Yes 1 item = paragraph, multiple items = bullet list

Content strings can include LaTeX formatting like \textbf{} and \underline{}.

License

MIT

About

Data-driven LaTeX resume generator. Define your resume in JSON, compile to a polished PDF or export a .tex file for Overleaf. Separates content from formatting.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages