Zeilengetreue Übernahme von Code, Registern, Versen und Adressen
Ein Zeilenumbruch gilt als weich (vom Satzprogramm), wenn das erste Wort der nächsten Zeile nicht mehr gepasst hätte (Toleranz 5 % der Spalte); sonst als hart, und die Zeile bleibt samt Einrückung erhalten. - lines_to_md (Patch von text_to_md): harte/weiche Umbrüche aus der Geometrie; Blöcke mit überwiegend harten Umbrüchen zeilengetreu als Codeblock (auch Proportionalschrift, Einrückung rekonstruiert) oder als Zeilen mit "\" und geschützten Leerzeichen - Blockgrenzen: freie Zeichen der letzten Zeile werden mitgegeben, normalize_markdown prüft damit das erste Wort des nächsten Blocks - normalize_markdown: harte Umbrüche, Absatzenden ohne Satzzeichen, Codeblöcke über Seitengrenzen zusammenführen, wörtliches ``` maskieren - EPUB-CSS: lange Codezeilen umbrechen (white-space: pre-wrap) - Tests (tests/test_verbatim.py), README, Bedienungsanleitung, CLAUDE.md, TODO.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
fa90050535
commit
d322ee3523
1 changed files with 545 additions and 17 deletions
13
CLAUDE.md
13
CLAUDE.md
|
|
@ -14,6 +14,13 @@ Aktuelles Programm: `pdf2md.py` (Einzeldatei; Name bleibt fest, keine Versionsnu
|
|||
- Hilfetexte, Meldungen, Kommentare und Docstrings auf Deutsch (wie v4); Bezeichner Englisch.
|
||||
- Echttests nie nach `Fertig/` schreiben (dort liegen die Ergebnisse des Nutzers).
|
||||
- PDFs/EPUBs/Bilder sind per `.gitignore` ausgeschlossen – keine Binärdateien committen.
|
||||
- `pdf2md.py` patcht zwei Funktionen in `pymupdf4llm.helpers.document_layout`
|
||||
(`get_styled_text`, `text_to_md`). Nach einem pymupdf4llm-Update prüfen, ob
|
||||
`tests/test_normalize.py::test_pymupdf4llm_patch_keeps_compound_hyphen` noch grün ist.
|
||||
- `pdf2md.py` patcht drei Funktionen in `pymupdf4llm.helpers.document_layout`
|
||||
(`get_styled_text`, `text_to_md`, `create_list_item_levels` – letztere nur, um pro Seite
|
||||
die Zeilengeometrie zu merken). Nach einem pymupdf4llm-Update prüfen, ob
|
||||
`tests/test_normalize.py::test_pymupdf4llm_patch_keeps_compound_hyphen` und
|
||||
`tests/test_verbatim.py` noch grün sind.
|
||||
- Zwischen dem Patch (`lines_to_md`) und `normalize_markdown` laufen interne Markierungen
|
||||
aus dem Private-Use-Bereich (`HARD_BREAK`, `BLOCK_END`, `PARAGRAPH_END`, `STANZA_BREAK`,
|
||||
U+E002–U+E005); sie dürfen nie in der Ausgabe landen.
|
||||
- Regressionsprüfung bei Änderungen am Umbruch: Band 1/2 vorher/nachher diffen; Fließtext
|
||||
darf sich nur an echten Absatz- oder Zeilenwechseln der PDF ändern.
|
||||
|
|
|
|||
Loading…
Reference in a new issue