feat(export): laat de paginaopmaak meereizen in de geprojecteerde .md #1544

Merged
brenno merged 4 commits from feat/export-paginaopmaak into main 2026-08-17 22:52:49 +00:00
Owner

Sluit #1536.

De .md-export negeerde de paginaopmaak, terwijl html en latex hem allang meekregen — de aanroeper gaf effectiveDocumentPageSetup netjes door en alleen de md-tak deed er niets mee. De ontvanger van een geëxporteerd document kreeg dus A4 met standaardmarges, ook als het document op B5 met een drukkersmarge stond.

De keuze die hieronder ligt

Een papiermaat is een maat: millimeters die overal hetzelfde betekenen en compleet zijn op zichzelf. theme: is een verwijzing naar een profiel dat alleen op de eigen machine bestaat. Een maat kun je kopiëren, een verwijzing niet — daarom reist de opmaak mee en wordt de stijl vóór export opgelost en in de uitvoer gerenderd. Daaruit volgt ook dat de opmaak wordt geschreven als die alleen uit de instellingen kwam: de ontvanger heeft die instellingen niet.

Dat staat nu ook zo in FILE_FORMAT.md §14.4 en in de check_audience_boundary-poort, die het md-exportoppervlak beschrijft.

Toetsing

Vijf nieuwe tests in test/document_export_write_test.dart: maat plus marges in de export, een kale body zonder opmaak, afloop die als paperwidth=216mm,paperheight=303mm,top=28mm… landt zónder papersize:, de bron byte-identiek na export, en de route via effectiveDocumentPageSetup (A3/30mm) die in het bestand terechtkomt.

make check groen (dekking 86,9%), scans schoon.

Sluit #1536. De `.md`-export negeerde de paginaopmaak, terwijl html en latex hem allang meekregen — de aanroeper gaf `effectiveDocumentPageSetup` netjes door en alleen de `md`-tak deed er niets mee. De ontvanger van een geëxporteerd document kreeg dus A4 met standaardmarges, ook als het document op B5 met een drukkersmarge stond. ## De keuze die hieronder ligt Een papiermaat is een **maat**: millimeters die overal hetzelfde betekenen en compleet zijn op zichzelf. `theme:` is een **verwijzing** naar een profiel dat alleen op de eigen machine bestaat. Een maat kun je kopiëren, een verwijzing niet — daarom reist de opmaak mee en wordt de stijl vóór export opgelost en in de uitvoer gerenderd. Daaruit volgt ook dat de opmaak wordt geschreven als die alleen uit de instellingen kwam: de ontvanger heeft die instellingen niet. Dat staat nu ook zo in `FILE_FORMAT.md` §14.4 en in de `check_audience_boundary`-poort, die het md-exportoppervlak beschrijft. ## Toetsing Vijf nieuwe tests in `test/document_export_write_test.dart`: maat plus marges in de export, een kale body zonder opmaak, afloop die als `paperwidth=216mm,paperheight=303mm,top=28mm…` landt zónder `papersize:`, de bron byte-identiek na export, en de route via `effectiveDocumentPageSetup` (A3/30mm) die in het bestand terechtkomt. `make check` groen (dekking 86,9%), scans schoon.
De .md-export liet papersize:/geometry: weg, zodat een ontvanger het
document op zijn eigen vel afdrukte. De export schrijft nu de uitkomst
van effectiveDocumentPageSetup (document boven instelling) als
Pandoc-frontmatter voor de geprojecteerde body. Anders dan theme: is
het vel geen verwijzing naar een profiel dat alleen hier bestaat maar
een maat die overal hetzelfde betekent, en hoort hij bij het drukwerk.

Issue #1536

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
FILE_FORMAT.md §14.4 krijgt de regel per sleutel (maat = kopieerbaar,
stijlnaam = lokale verwijzing), §14.8 een kruisverwijzing, plus een
Development log-regel.

Issue #1536

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Issue #1536

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs(projectiegrens): noteer de paginaopmaak in het md-exportoppervlak
All checks were successful
scans / scans (pull_request) Successful in 2m17s
static-gate / static-gate (pull_request) Successful in 5m41s
b07e8d81d2
Issue #1536

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
brenno merged commit 55a26a2e50 into main 2026-08-17 22:52:49 +00:00
brenno deleted branch feat/export-paginaopmaak 2026-08-17 22:52:51 +00:00
Sign in to join this conversation.
No description provided.