# TODO ## 1. Teile und Kapitel als separate Markdown-Dateien (`--split`) **Ziel:** Beim Konvertieren PDF → Markdown jeden Teil bzw. jedes Kapitel als eigene MD-Datei speichern. Damit lassen sich: - Teile/Kapitel einzeln ändern, - Teile/Kapitel vertauschen oder umsortieren, - die MD-Dateien für RAG verarbeiten (ein Kapitel = ein Dokument), - daraus HTML-Dateien oder andere Formate erzeugen. **Skizze:** - Option `--split teile|kapitel`; Ausgabe als Ordner `/` statt einer einzelnen `.md`. - Dateinamen mit Nummer und Titel, z. B. ``` band1/ index.md # Reihenfolge der Dateien (bzw. book.yaml) 00_vorspann.md # Titelei, Inhaltsverzeichnis, Vorwort 01_teil-i_das-vermaechtnis.md 02_kapitel-01_der-notar.md … 99_nachspann.md # Der Autor, Impressum images/ ``` - YAML-Frontmatter pro Datei (für RAG und Umsortieren): ```yaml --- title: "1 Der Notar" part: "Teil I: Das Vermächtnis" chapter: 1 source_pages: [12, 25] book: "Operation Ljutsch" author: "Reinhard Otto Kranz" --- ``` - EPUB aus den Einzeldateien: pandoc nimmt mehrere Eingabedateien in der Reihenfolge von `index.md`; Umsortieren = Reihenfolge im Index ändern. **Ansatzpunkte im Code (`pdf2md.py`):** - Schnitt **nach** `normalize_markdown()` an den Überschriften `##` (Teil) und `###` (Kapitel); die Ebenen kommen aus `load_outline()`. - Bildpfade pro Datei anpassen (`make_image_links_relative()`). - Vorspann (alles vor dem ersten Teil/Kapitel) und Nachspann als eigene Dateien. **Offene Fragen:** - Ein Ordner pro Teil oder alles flach in einem Ordner? - Seitenzahlen ins Frontmatter? (pymupdf4llm liefert sie mit `page_chunks=True`.) - Bücher ohne PDF-Gliederung: auf die erkannten Überschriften zurückfallen? - Umkehrweg „Einzeldateien → ein MD/EPUB“ als eigene Option oder eigenes Skript? **Tests:** Aufteilung des synthetischen Test-PDFs (Teil I, Kapitel 1–2) prüfen; Einzeldateien wieder zusammengesetzt = Gesamt-Markdown. ## 2. Weitere Ideen - `--from-md buch.md`: nur den EPUB-Schritt aus einem (von Hand bearbeiteten) Markdown ausführen; Titel, Autor und Cover automatisch übernehmen. - JPEG-Qualität einstellbar machen (z. B. `--jpeg-quality 85`), damit das EPUB noch kleiner wird. - Remote für das Git-Repo einrichten (z. B. GitHub), damit die Commits gesichert sind. ## 3. Bekannte Schwächen (aus Probeläufen mit fremden PDFs) - Reine Zahlen als Überschrift: pymupdf4llm macht Fußnotenzeichen zu Überschriften („## 90“ im Zensur-Report). Nicht pauschal entfernen – im DDR-Buch sind „## 1“, „## 2“ echte Kapitelnummern. Möglicher Ansatz: Zahl-Überschrift nur behalten, wenn direkt eine Überschrift folgt. - Römische Seitenzahlen („## XX“, „## XXIV“) werden nicht als Seitenzahl erkannt; Vorsicht wegen echter Kapitel „I.“, „II.“. - Gesperrte Überschriften („M e i n k l e i nes Stück D D R“) bleiben zerrissen. - Alte Scans mit eigener OCR-Ebene: `--ocr always` liefert meist besseren Text.