feat(documentmodus): werken op echte pagina's, alle ISO-maten en een drukkersafloop #1505
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1505
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/document-paginas"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Waarom
Drie dingen die samen één vraag beantwoorden: wat komt er op welke bladzijde te staan.
1. Pagina-weergave
Naast Visueel en Bron staat nu Pagina's: het document op vellen van de gekozen maat, met de marges, de kop-/voetband en het paginanummer.
De einden worden gemeten, niet geschat. Het document wordt één keer doorlopend gerenderd, elk blok meldt via de nieuwe
blockWrapper-haak zijn eigen hoogte, endocumentPageOffsetsbepaalt daaruit waar de vellen breken. Een blok dat nog past schuift heel door; alleen een blok dat op géén pagina past wordt gesneden.Het is dezelfde
DocumentMarkdownViewals de andere twee standen — geen extra renderpad (DOCUMENT_MODE.md §2.1), alleen een ander vel eronder.2. Alle ISO-216-maten
De vaste lijst van tien formaten liet wie op B1 of C6 drukt in de kou staan. Reeks, nummer en richting staan nu los van elkaar: alle drie de reeksen maal elf nummers, met hun afmetingen erbij — "B7" zegt niemand iets, "88 × 125 mm" wel.
3. Drukkersafloop
Een drukker snijdt op maat en snijdt nooit exact: loopt er inkt tot aan de rand, dan moet die dóór de snijlijn heen. Met een afloop wordt het vel rondom groter dan het snijformaat en schuift de tekstspiegel mee zodat hij op zijn plek blijft. Werkt in de HTML-export (
@page size+bleed) en de LaTeX-export (geometry paperwidth/paperheight). Standaard 0.Snijtekens zitten er bewust niet in. Ze stonden er eerst wél, en de bewaker blokkeerde daarop — terecht.
marks:crop crossis CSS Paged Media, en de gedocumenteerde PDF-route van een document is het afdrukken van de HTML-export; geen browser kent die eigenschap. Het LaTeX-pad zou hetcrop-pakket nodig hebben, dat niet in elke TeX-opzet zit en hier niet te verifiëren was. Twee van de twee paden lieten de schakelaar dus vallen — en een vergroot vel zonder tekens is voor een drukker erger dan geen afloop. Eruit tot er een uitvoerpad is dat ze wél zet; een test pint vast dat de@page-regel ze niet belooft.De afloop geldt app-breed en werkte stil door op het volgende document. Dat staat nu in de paginamaat-indicator in beeld, en de uitleg zegt het met zoveel woorden.
Wat de beeldkeuring vond (en wat daarop is hersteld)
De app is echt gedraaid en dat leverde twee fouten op die geen test zag:
Twee tests pinnen het: geen venster hoger dan het tekstvlak, en een vel mét banden houdt exact dezelfde teksthoogte als een vel zonder.
Ook uit die keuring: het vel kreeg dezelfde papierkleur als het tekstvlak. Het hardgecodeerde wit was terecht vervangen door de themakleur (donkere modus), maar de weergave schildert het tekstvlak met de profielachtergrond — dat gaf een donkere rand rondom een wit tekstblok.
Bewaker
Geraadpleegd, want dit raakt een publieke belofte. Zijn oordeel over de plek van de instelling: paginamaat en marges in AppSettings zijn verdedigbaar (een
.mdheeft geen pagina's — dat is de winst van het formaat, niet een gebrek), maar de afloop is een eigenschap van dít drukwerk en hoort eigenlijk bij het document. Advies: één front-matter-sleutel met prefix, naar het model van de bestaandetheme:— als apart, eerst ontworpen vervolg, niet in deze PR. FILE_FORMAT.md §14.7 legt nu expliciet vast dat maat, marges en afloop niet in het.mdlanden, zodat de byte-getrouwe round-trip uit §14.3 en de "theme:is de enige sleutel"-belofte uit §14.5 blijven staan.Documentatie
USER_GUIDE (+ .nl), DOCUMENT_MODE §14, FILE_FORMAT §14.7, GLOSSARY (snijformaat, afloop), SOURCE_MAP en CHANGELOG. Twee restpunten staan in de commit:
FILE_FORMAT.nl.mdloopt structureel achter (kent hoofdstuk 14 niet) en hoort via de vertaalketen bijgewerkt, en de "laatst nagekeken"-datums zijn niet opgehoogd voor documenten die maar deels zijn nagelopen.l10n
Elf nieuwe sleutels × 31 talen; de weesgeraakte
Snijtekensis overal opgeruimd. De drukkersvakterm is niet in elke taal even vast: zeker bij de/fr/it/es/pt/pl/cs/sk/sv/da/fi/hu/hr/lt/sl/tr; voor ro/mt/id is bewust het leenwoordbleedaangehouden; el en bg kregen de eigen term terwijl drukkers daar vaak "bleed" zeggen — die twee verdienen een blik van iemand uit het vak.Bekende gaten (niet in deze PR)
Beide komen in de vervolgtak met de pagina-einden in de schrijfstand.
Poorten
make checkgroen (9500 tests, dekking 86,9%, per-bestandsvloer 0 onder de vloer).make check-secretsgroen,make sastgroen (0 findings). DAST niet gedraaid — geen geserveerd oppervlak geraakt.Het Semantics-label van een vel stond hardgecodeerd in het Nederlands. Nu via l10n.d('Pagina {n} van {m}'); de vertalingen moeten er nog bij. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>