Inhaltsverzeichnis als Tabelle erhalten, Doku nach Probeläufen ergänzt

- normalize_markdown: Tabellenzeilen im Inhaltsverzeichnis unverändert
  übernehmen; der Verzeichnis-Modus endet mit der Tabelle (sonst zerfiel
  die Tabelle und die folgende Überschrift "Vorwort" ging verloren)
- Test für Verzeichnis als Tabelle
- README/Bedienungsanleitung: weiche Trennstriche, Courier-OCR-Ebenen,
  englische Bücher, --ocr always für alte Scans, Grenzen aus den
  Probeläufen mit fremden PDFs
- TODO.md: bekannte Schwächen (Zahlen als Überschrift, römische
  Seitenzahlen, gesperrte Überschriften)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-10-02 14:24:58 +02:00
commit f9dfa3a52e

View file

@ -217,6 +217,22 @@ def test_contents_block_keeps_entries_and_headings_follow():
)
def test_contents_table_stays_table_and_contents_end_after_it():
outline = {"vorwort": 1, "der staat": 1}
md = (
"## Inhaltsverzeichnis\n\n"
"|Vorwort|3|\n|---|---|\n|Der Staat|19|\n\n"
"Dieser Bericht steht unter CC BY-SA 4.0 (Lizenz)\n\n"
"Vorwort\n\nDer Text beginnt hier.\n"
)
assert norm(md, outline) == (
"## Inhaltsverzeichnis\n\n"
"|Vorwort|3|\n|---|---|\n|Der Staat|19|\n\n"
"Dieser Bericht steht unter CC BY-SA 4.0 (Lizenz)\n\n"
"# Vorwort\n\nDer Text beginnt hier.\n"
)
def test_heading_formatted_contents_entries_stay_plain():
outline = {"1 der notar": 3}
md = "## Inhaltsverzeichnis\n\n## 1 Der Notar\n\n## 1 Der Notar\n\nText.\n"