Système simple pour générer un CV LaTeX personnalisé à partir d'un template Jinja2.
.
├── templates/
│ └── cv_template.tex # Template LaTeX avec variables Jinja2
├── render_cv.py # Script Python de génération
├── requirements.txt # Dépendances Python
└── output.tex # Fichier LaTeX généré (créé après exécution)
conda install jinja2pip install jinja2
# ou
pip install -r requirements.txtpython render_cv.pyCela génère output.tex avec les valeurs par défaut (Fabien Jamin).
from render_cv import render_cv
# Générer le LaTeX
latex_content = render_cv("Prénom", "Nom")
# Écrire dans un fichier
with open("mon_cv.tex", "w", encoding="utf-8") as f:
f.write(latex_content)Le template utilise des délimiteurs personnalisés pour éviter les conflits avec LaTeX :
- Variables :
[[ variable_name ]] - Blocs :
[% block_name %](pour usage futur)
[[ first_name ]]: Prénom[[ last_name ]]: Nom de famille
Ces variables apparaissent à deux endroits dans le template :
- En haut de la sidebar page 1
- En haut de la sidebar page 2
Après génération, compilez le fichier .tex avec pdflatex :
pdflatex output.tex
pdflatex output.tex # Deux fois pour résoudre les références croisées- Les délimiteurs
[[et]]sont choisis pour éviter les conflits avec les accolades LaTeX{} autoescape=Falseest utilisé car on génère du LaTeX, pas du HTML- Le template est compatible avec tous les packages LaTeX standards