PDF-export: laat een hoofdstuk (#) standaard op een nieuwe pagina beginnen #1757

Closed
opened 2026-08-24 07:33:47 +00:00 by brenno · 0 comments
Owner

Wat wordt gevraagd

Bij het exporteren van een document naar PDF moet een hoofdstuk (#, H1) altijd op een nieuwe pagina beginnen — niet alleen wanneer de instelling "Nieuw hoofdstuk op een nieuwe pagina" aan staat.

Onderzoek

De functionaliteit bestaat al: markdownToPdfBlocks heeft een parameter chapterPageBreak die vóór elke H1 (behalve de eerste) een PdfPageBreakBlock invoegt (lib/services/pdf/markdown_to_pdf_blocks.dart:400-408). De LaTeX-export heeft hetzelfde (markdown_to_latex.dart:292).

De parameter wordt gevoed door de instelling documentChapterPageBreak:

  • Standaardwaarde: false (lib/state/parts/settings_provider_document_style.dart:193, lib/models/parts/app_settings.dart:350)
  • Instelbaar via Instellingen → Algemeen (lib/widgets/dialogs/parts/settings_dialog_general.dart:585)
  • De instelling geldt voor PDF, LaTeX én HTML-export, en voor de pagina-weergave in de editor

De instelling is dus aanwezig maar staat standaard uit. Een gebruiker die hem niet kent, ziet hoofdstukken gewoon doorlopen op dezelfde pagina.

Voorgestelde oplossing

Zet de standaardwaarde van documentChapterPageBreak op true (drie locaties: settings_provider_document_style.dart:193, app_settings.dart:99 documentatie + :350 default). De instelling blijft zichtbaar voor wie hem uit wil zetten. Dit is de kleinste diff die het gevraagde gedrag levert: de code die het pagina-einde invoegt bestaat al, alleen de default draait om.

Alternatief (niet aanbevolen): de parameter hard-coded true maken en de instelling verwijderen. Dat neemt de keuze weg bij gebruikers die hoofdstukken juist willen doorlopen — de instelling bestaat bewust.

Impact

  • Bestaande gebruikers merken de wijziging alleen bij de volgende export: hoofdstukken beginnen op een nieuw blad. Wie het oude gedrag wil, zet de instelling uit.
  • Geen wijziging aan de .md-bron (de instelling is puur een export-/afdrukkeuze, zoals de documentatie al zegt).
  • Tests in test/pdf/markdown_to_pdf_blocks_test.dart en test/latex/markdown_to_latex_test.dart dekken beide standen al.
## Wat wordt gevraagd Bij het exporteren van een document naar PDF moet een hoofdstuk (`#`, H1) altijd op een nieuwe pagina beginnen — niet alleen wanneer de instelling "Nieuw hoofdstuk op een nieuwe pagina" aan staat. ## Onderzoek De functionaliteit bestaat al: `markdownToPdfBlocks` heeft een parameter `chapterPageBreak` die vóór elke H1 (behalve de eerste) een `PdfPageBreakBlock` invoegt (`lib/services/pdf/markdown_to_pdf_blocks.dart:400-408`). De LaTeX-export heeft hetzelfde (`markdown_to_latex.dart:292`). De parameter wordt gevoed door de instelling `documentChapterPageBreak`: - Standaardwaarde: `false` (`lib/state/parts/settings_provider_document_style.dart:193`, `lib/models/parts/app_settings.dart:350`) - Instelbaar via Instellingen → Algemeen (`lib/widgets/dialogs/parts/settings_dialog_general.dart:585`) - De instelling geldt voor PDF, LaTeX én HTML-export, en voor de pagina-weergave in de editor De instelling is dus aanwezig maar staat standaard uit. Een gebruiker die hem niet kent, ziet hoofdstukken gewoon doorlopen op dezelfde pagina. ## Voorgestelde oplossing Zet de standaardwaarde van `documentChapterPageBreak` op `true` (drie locaties: `settings_provider_document_style.dart:193`, `app_settings.dart:99` documentatie + `:350` default). De instelling blijft zichtbaar voor wie hem uit wil zetten. Dit is de kleinste diff die het gevraagde gedrag levert: de code die het pagina-einde invoegt bestaat al, alleen de default draait om. **Alternatief (niet aanbevolen):** de parameter hard-coded `true` maken en de instelling verwijderen. Dat neemt de keuze weg bij gebruikers die hoofdstukken juist willen doorlopen — de instelling bestaat bewust. ## Impact - Bestaande gebruikers merken de wijziging alleen bij de volgende export: hoofdstukken beginnen op een nieuw blad. Wie het oude gedrag wil, zet de instelling uit. - Geen wijziging aan de `.md`-bron (de instelling is puur een export-/afdrukkeuze, zoals de documentatie al zegt). - Tests in `test/pdf/markdown_to_pdf_blocks_test.dart` en `test/latex/markdown_to_latex_test.dart` dekken beide standen al.
brenno 2026-08-24 09:02:56 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1757
No description provided.