Print-ready editable voter-information booklet for the City of Chamblee 2026 Democratic primary.
- TeX 54.4%
- Python 45.6%
| assets | ||
| data | ||
| deliverables | ||
| qa-previews | ||
| scripts | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| README.md | ||
Chamblee 2026 voter booklet
Editable-source + PDF project for the Chamblee 2026 Democratic primary voter booklet.
Active generation pipeline
- Generator script:
scripts/generate_booklet.py - Editable booklet pages:
src/booklet-pages.tex - Editable imposed print layout:
src/booklet-print.tex - Rendered booklet pages PDF:
build/booklet-pages.pdf - Rendered imposed print PDF:
build/booklet-print.pdf
Build
python3 scripts/generate_booklet.py
export PATH=/opt/hermes-runtime/tools/texlive/2026/bin/x86_64-linux:$PATH
latexmk -lualatex -interaction=nonstopmode -halt-on-error -jobname=booklet-pages -output-directory=build src/booklet-pages.tex
latexmk -lualatex -interaction=nonstopmode -halt-on-error -jobname=booklet-print -output-directory=build src/booklet-print.tex
Sources and structure
- Authoritative candidate list:
data/sheet_raw.json - Cleaned/render-ready data:
data/render_data.json - Candidate QR codes:
assets/qr/candidates/ - Candidate headshots:
assets/headshots/square/ - Review images:
qa-previews/ - Project repository root: this directory
Binary file handling
This repo now uses Git LFS for committed PDFs and common image formats. Clone with Git LFS enabled to fetch deliverables and preview images normally.
Imposition order
The print PDF follows the required 8-page booklet order:
- Sheet A front: page 8 | page 1
- Sheet A back: page 2 | page 7
- Sheet B front: page 6 | page 3
- Sheet B back: page 4 | page 5