Personal CV using LaTeX (ModernCV), with data sourced from CSV and YAML.
A Python script (build.py) reads data files and fills placeholders in TeX template files.
Uses just as the build system.
# Build PDF (default)
just
# Just update the TeX files from data (publications, grants, etc.)
just update
# Build PDF only
just pdfMain configuration file with:
- Author info (name, title, email, ORCID, social links)
- Current positions
- Past positions and education
- Key research publications
- publications.csv - Publication list
- grants.csv - Grants and awards
- teaching.csv - Teaching experience
- supervision.csv - Supervision/mentoring
- courses_attended.csv - Professional development courses
- administrative.csv - Administrative roles
- software.csv - Software/tools developed
- patents.csv - Patents
- talks.csv - Conference talks
- posters.csv - Conference posters
Edit data files and run just update to regenerate the TeX files.
- build.py - Main build script that reads data and generates TeX
- just - Build tool
- Python 3.12+ with uv - For running build.py
- TeX Live (lualatex) - For PDF generation
- Chrome/Chromium + chromedriver - For scraping Google Scholar metrics
- LaTeX packages: moderncv, fontawesome5, etaremune, academicons, lm-math
Generated TeX files (in source/, not git tracked):
cv.tex- Main CVlop.tex- List of publicationsresume.tex- Resume version