docs: README, Bedienungsanleitung und CHANGELOG auf Stand 0.3.0
- EPUB mit Formeln: --mathml (Tabelle der Pandoc-Befehle, Beispiel Mathebuch) - Formel-TeX aus Alternativtexten wird für Pandoc angepasst - print.css: keine Seitenzahl auf dem Cover - Bekannte Einschränkungen: CSS je Buch statt je Dokument, nicht umsetzbare Handkonstruktionen in TeX - CHANGELOG: tools/qa unter „Unveröffentlicht“ - überlange Zeilen neu umbrochen Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
01f60a41c4
commit
29c6294584
3 changed files with 29 additions and 12 deletions
|
|
@ -186,7 +186,9 @@ python3 epub2md.py mathe.epub output/mathe
|
|||
```
|
||||
|
||||
Formeln, die im E-Book als echte Formeln (MathML oder TeX) vorliegen, werden zu TeX: `$…$` im Text,
|
||||
`$$…$$` als eigene Zeile. Formeln, die nur als Bild vorliegen, bleiben Bilder und erscheinen in
|
||||
`$$…$$` als eigene Zeile. Viele Verlage legen das TeX einer Formel in den Alternativtext eines Formelbildes;
|
||||
epub2md übernimmt es und passt Schreibweisen an, die Pandoc nicht versteht (z. B. `\"u` → `ü`), ohne den
|
||||
Inhalt zu ändern. Formeln, die nur als Bild vorliegen, bleiben Bilder und erscheinen in
|
||||
`diagnostics/warnings.md`.
|
||||
|
||||
| Gewünschte Formeldarstellung | Option |
|
||||
|
|
@ -324,6 +326,7 @@ P=~/Python_Programs/epub2md/pandoc # Pfad zu deinem epub2md-Ordner anpassen
|
|||
| Webseite (HTML) | `pandoc meinbuch.md -s --lua-filter $P/book.lua --lua-filter $P/callouts.lua -o meinbuch.html` |
|
||||
| Webseite mit Formeln | wie HTML, zusätzlich `--mathml` |
|
||||
| E-Book (EPUB) | `pandoc meinbuch.md --toc --lua-filter $P/callouts.lua -o meinbuch.epub` |
|
||||
| E-Book mit Formeln | wie EPUB, zusätzlich `--mathml` |
|
||||
| Word | `pandoc meinbuch.md --toc --lua-filter $P/callouts.lua -o meinbuch.docx` |
|
||||
| LibreOffice | `pandoc meinbuch.md --toc --lua-filter $P/callouts.lua -o meinbuch.odt` |
|
||||
| PDF mit LaTeX (Bücher mit Formeln) | `pandoc meinbuch.md -s --mathml --lua-filter $P/book.lua --lua-filter $P/callouts.lua -o meinbuch.html && pandoc meinbuch.html --lua-filter $P/book.lua --lua-filter $P/callouts.lua --pdf-engine=xelatex -o meinbuch.pdf` |
|
||||
|
|
@ -343,8 +346,9 @@ Die drei Hilfsdateien:
|
|||
Schreibweise nicht und druckt „[!TIP]“ sonst einfach mit. In HTML, EPUB und im PDF über weasyprint werden
|
||||
daraus gerahmte, farbige Kästen mit Titel („Tipp: …“), im PDF über LaTeX und in Word/LibreOffice ein
|
||||
eingerückter Block mit fettem Titel.
|
||||
- **`print.css`** liefert das Druck-Layout für weasyprint: A4, Seitenzahlen, jedes Kapitel auf einer neuen
|
||||
Seite, Inhaltsverzeichnis mit Seitenzahlen, Silbentrennung und umbrechende lange Codezeilen. Ohne sie
|
||||
- **`print.css`** liefert das Druck-Layout für weasyprint: A4, Seitenzahlen (nicht auf dem Cover), jedes
|
||||
Kapitel auf einer neuen Seite, Inhaltsverzeichnis mit Seitenzahlen, Silbentrennung und umbrechende lange
|
||||
Codezeilen. Ohne sie
|
||||
übernimmt weasyprint das Bildschirmlayout, und lange Codezeilen werden am Seitenrand abgeschnitten.
|
||||
|
||||
Du musst die Befehle nicht abtippen: Die `README.md` im Ausgabeordner enthält sie fertig, mit allen Pfaden.
|
||||
|
|
@ -359,7 +363,8 @@ Du musst die Befehle nicht abtippen: Die `README.md` im Ausgabeordner enthält s
|
|||
Kastenrahmen gehen dabei verloren; Kästen erscheinen als eingerückter Block mit fettem Titel. `book.lua`
|
||||
stellt dabei A4 ein und wählt die Schrift DejaVu, die auch Zeichen wie ∈, λ oder ≠ im Fließtext enthält.
|
||||
|
||||
Bei Büchern mit Formeln für HTML zusätzlich `--mathml` angeben, sonst bleiben Matrizen als TeX-Text stehen.
|
||||
Bei Büchern mit Formeln für HTML und EPUB zusätzlich `--mathml` angeben, sonst bleiben Matrizen und
|
||||
ähnliche Formeln als TeX-Text stehen.
|
||||
|
||||
#### Direkt aus den Kapiteldateien
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,12 @@ Versionsnummern nach [Semantic Versioning](https://semver.org/lang/de/).
|
|||
|
||||
## [Unveröffentlicht]
|
||||
|
||||
### Neu
|
||||
|
||||
- `tools/qa/`: QA-Skripte versioniert (CLI-Matrix mit 89 Fällen, Generator für Test-EPUBs, unabhängiger
|
||||
Markdown-Validator, Wortvergleich gegen Datenverlust, Prüfung des Pandoc-Wegs für HTML, EPUB und PDF).
|
||||
Beschreibung in `tools/qa/README.md`; erzeugte Daten landen in `.qa/`.
|
||||
|
||||
## [0.3.0] – 2026-10-06
|
||||
|
||||
### Neu
|
||||
|
|
|
|||
22
README.md
22
README.md
|
|
@ -158,9 +158,9 @@ output/mein-buch/
|
|||
## Wie Kapitel gebildet werden
|
||||
|
||||
1. Die **OPF-Spine** bestimmt die Lesereihenfolge (nicht Dateinamen, nicht das Inhaltsverzeichnis).
|
||||
2. Überschriften `h1`…`hN` (N = `--chapter-level`, bei `auto` 1 bzw. 2 in sehr großen Kapiteln) und semantische Abschnitte (`epub:type`/`role`:
|
||||
chapter, part, appendix, glossary, bibliography, index, preface, …) beginnen neue Kapiteldateien,
|
||||
auch mitten in einer XHTML-Datei.
|
||||
2. Überschriften `h1`…`hN` (N = `--chapter-level`, bei `auto` 1 bzw. 2 in sehr großen Kapiteln) und
|
||||
semantische Abschnitte (`epub:type`/`role`: chapter, part, appendix, glossary, bibliography, index,
|
||||
preface, …) beginnen neue Kapiteldateien, auch mitten in einer XHTML-Datei.
|
||||
3. Eine XHTML-Datei, die nur mit einer tieferen Überschrift beginnt (z. B. eine Datei pro Abschnitt
|
||||
`1.2`), wird an das laufende Kapitel angehängt.
|
||||
4. Dateien ohne Überschrift (Cover, Titelei, Widmung) werden eigene Kapitel. Ihr Titel kommt aus
|
||||
|
|
@ -356,6 +356,7 @@ cd output/mathematikbuch # Formeln: PDF über HTML und LaTeX (weasypri
|
|||
pandoc mathematikbuch.md -s --mathml --lua-filter $P/book.lua --lua-filter $P/callouts.lua -o mathematikbuch.html
|
||||
pandoc mathematikbuch.html --lua-filter $P/book.lua --lua-filter $P/callouts.lua --pdf-engine=xelatex \
|
||||
-o mathematikbuch.pdf
|
||||
pandoc mathematikbuch.md --toc --mathml --lua-filter $P/callouts.lua -o mathematikbuch.epub # EPUB: MathML
|
||||
```
|
||||
|
||||
Hilfsdateien in `pandoc/`:
|
||||
|
|
@ -376,11 +377,11 @@ Hilfsdateien in `pandoc/`:
|
|||
- Der Vorspann reicht bis vor das erste Kapitel des Hauptteils (Teil, Vorwort, Einleitung, Prolog,
|
||||
nummerierter Titel oder mehr als 1000 Wörter), sofern er Cover, Titelseite oder Impressum enthält. Ein
|
||||
erstes Kapitel nur aus einem Bild gilt als Cover, ein Kapitel „Titel“ als Titelseite.
|
||||
- **`print.css`** (weasyprint): A4, Seitenzahlen, jedes Kapitel (auch Cover, Titelseite, Impressum) und das
|
||||
Inhaltsverzeichnis auf neuer Seite, Inhaltsverzeichnis mit Punktlinie und Seitenzahl, Silbentrennung
|
||||
(nicht in Code), umbrechende Codezeilen. Mit `--css` lässt Pandoc sein eigenes Stylesheet weg, deshalb
|
||||
bringt `print.css` auch Grundschrift, Zeilenabstand und Titelkopf mit. Getestet mit dem Python-Buch
|
||||
(362 Seiten).
|
||||
- **`print.css`** (weasyprint): A4, Seitenzahlen (nicht auf dem Cover), jedes Kapitel (auch Cover,
|
||||
Titelseite, Impressum) und das Inhaltsverzeichnis auf neuer Seite, Inhaltsverzeichnis mit Punktlinie und
|
||||
Seitenzahl, Silbentrennung (nicht in Code), umbrechende Codezeilen. Mit `--css` lässt Pandoc sein eigenes
|
||||
Stylesheet weg, deshalb bringt `print.css` auch Grundschrift, Zeilenabstand und Titelkopf mit. Getestet
|
||||
mit dem Python-Buch (362 Seiten).
|
||||
|
||||
**Infokästen:** Pandoc kennt die Schreibweise `> [!TIP]` erst ab neueren Versionen (Erweiterung `alerts`);
|
||||
3.1.3 (Ubuntu 24.04) zeigt „[!TIP]“ als Text. Der Filter `pandoc/callouts.lua` behebt das: In HTML und
|
||||
|
|
@ -455,6 +456,11 @@ Verlustfreiheit behauptet (`lossless: false`).
|
|||
realen Buch geprüft (434 Bilder, 246 Figuren, ausführliche Alternativtexte).
|
||||
- Rein per CSS erzeugte Inhalte (`::before`/`content:`, z. B. automatische Schrittnummern) werden nicht
|
||||
übernommen, weil Pseudo-Elemente nicht ausgewertet werden.
|
||||
- Die eingebundenen Stylesheets gelten für das ganze Buch, nicht je Kapiteldokument. Bindet nur ein
|
||||
Kapitel ein bestimmtes Stylesheet ein, wirkt es auch auf die anderen. In Fußnoten greifen CSS-Regeln
|
||||
mit Vorfahren-Selektoren nicht, weil die Noten vor dem Rendern aus dem Text gelöst werden.
|
||||
- Von Hand gebaute TeX-Konstrukte (z. B. `\mathinner{…\raise…}`) kann Pandoc nicht in MathML umsetzen;
|
||||
sie bleiben als TeX-Text stehen (Mathebuch: 1 von 4986 Formeln).
|
||||
|
||||
## Architektur
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue