YAML data is resolved into a plain context in Python and rendered with Jinja2 into LaTeX, then compiled to PDF with latexmk.
- Jinja2 delimiters are switched to \VAR{}, \BLOCK{} and \#{} so they do not clash with LaTeX braces.
- Escaping runs in the Jinja2 finalize hook, so every output value is escaped and already safe text is marked to avoid double escaping.
- A fixed SOURCE_DATE_EPOCH makes the PDF output byte-identical for the same content.