6 Commits

Author SHA1 Message Date
Peter Adam ca995a1c1f Add duplex PDF build targets with pdftk page interleaving
- Add pdftk-java to Docker image for PDF page manipulation
- Extend generate_backside() to repeat back content num_pages times so
  front and back PDFs have matching page counts for pdftk shuffle
- Add build-duplex and build-blanko-duplex Makefile targets that combine
  front and back PDFs with alternating pages (front1, back1, front2, back2)
- Document duplex targets in README

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 16:16:20 +02:00
Peter Adam b22f1f74a8 Increase card height to 9.5cm, add printer margins, and fix second card placement
- Extend card bottom from y=-7.2 to y=-8.2 (8.5cm → 9.5cm per card) so the
  second card naturally lands in the lower half of the page
- Increase all margins from 0.4cm to 0.6cm for printer compatibility; scale
  front tikzpicture x-axis to 0.990cm to compensate for narrower printable width
- Increase back side row height from 2.833cm to 3.167cm (matching new card height)
  and reduce column width from 7.0cm to 6.9cm to fit within new margins
- Reduce inter-card vspace from 0.8cm to 0.6cm to prevent second card page break

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 14:32:43 +02:00
Peter Adam a2b5c6dc4a Add blanko build target, fix preamble duplication, update event config and margins
- Add --blanko flag to generate_cards.py for blank cards (no CSV needed), 2-up layout
- Fix preamble duplication bug affecting both blanko and multi-participant personalized builds
- Add make build-blanko target; default make now builds personalized + blanko
- Reduce page margins from 0.8cm to 0.4cm for Kyocera P6026
- Widen tikzpicture columns (6.9→7.2cm) and tabular columns (6.6→7.0cm) to fill page width
- Update event.yml for BRM400 Bonn–Lüttich–Bastogne–Bonn, 9. Mai 2026, with 6 controls

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 09:33:04 +02:00
Peter Adam 331e6e70a9 Rename CSV file to export_brevetcard.csv 2026-02-28 11:29:30 +01:00
Peter Adam 9c4c7c6ccb Refactor PDF generation workflow, integrate YAML-based event config, and simplify Makefile scripts.
- Replace `generate-personalized` with unified `generate` target in Makefile, supporting event config integration.
- Add YAML parsing to `generate_cards.py` for event-level placeholders and back side generation.
- Update templates to include `EVENT_*` placeholders and dynamic content rendering.
- Simplify `build` and `build-personalized` targets; consolidate redundant logic.
- Enhance `make help` documentation for updated workflow.
- Adjust LaTeX formatting for back side templates, removing hardcoded spacing.
2026-02-28 10:43:57 +01:00
Peter Adam b0e1dde22f Add CSV-based personalized card generation
Add template-based system for generating personalized brevet cards
from CSV data. Uses proper separation of concerns with template file
and Python script.

- Add brevetkarte-template.tex with placeholders
- Add generate_cards.py to read CSV and populate template
- Update Makefile with generate-personalized and build-personalized targets
- Update .gitignore to exclude generated files

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-03 14:47:56 +01:00