This commit is contained in:
torsten 2026-10-25 16:09:59 +01:00
parent 888b2372fa
commit 473c48689d
18 changed files with 965 additions and 2 deletions

View file

@ -0,0 +1,100 @@
# Markdown zu A5 exportieren (LibreOffice ODT)
Aus den Markdown-Notizen dieser Knowledgebase lassen sich **editierbare A5-Dokumente**
für LibreOffice Writer erzeugen, die dort manuell nachbearbeitet werden können.
Alle Befehle werden aus dem Repo-Wurzelverzeichnis ausgeführt (dort, wo `tools/`, `RPG/`
und `Druckmaterial/` liegen).
## Arbeitsablauf
1. **Generieren** – das Skript erzeugt ein ODT nach `Druckmaterial/autogen_inbox/`.
2. **Bearbeiten** – das ODT in LibreOffice Writer öffnen und anpassen.
3. **Sichern** – nachbearbeitete Dokumente manuell nach `Druckmaterial/autogen_Präsentation/`
verschieben (dort sind sie vor erneuter Generierung sicher).
4. **PDF-Export** – bei Bedarf manuell in LibreOffice (`Datei → Exportieren als PDF`).
`autogen_inbox/` darf jederzeit überschrieben werden; `autogen_Präsentation/` enthält nur
die nachbearbeiteten Dokumente.
---
## Befehl
```bash
./tools/md2odt.sh "RPG/5-Regeln/Hausregeln/Carousing (Zechen und Feiern).md"
```
→ Ausgabe: `Druckmaterial/autogen_inbox/<Name>.odt`
**Optionaler zweiter Parameter** setzt einen eigenen Ausgabenamen:
```bash
./tools/md2odt.sh "RPG/…/datei.md" "Mein_Name"
```
---
## Was automatisch behandelt wird (Obsidian-Syntax)
- `[[Bild.jpg|375]]` → eingebettetes Bild, Breite 375 px (wird in cm umgerechnet)
- `[[Bild.jpg]]` → eingebettetes Bild in voller Textbreite
- `[[Notizname]]` → Klartext (der Notizname)
- `👉` → `→` und `🟡` → `●` (drucktaugliche Glyphen)
- `☀` und `⚠` → bleiben erhalten (LibreOffice setzt automatisch eine Fallback-Schrift ein)
- dekorative Emojis (`🌸`, `🗺`, …) → werden entfernt (der Text dahinter trägt die Bedeutung)
- `==Markierung==` → fett
- `%%Kommentar%%` → entfernt
- Pipe-Tabellen → echte Writer-Tabellen, Spaltenbreiten automatisch proportional zum Inhalt
- YAML-Frontmatter → wird von Pandoc als Metadaten genutzt
Bilder werden unabhängig vom Arbeitsverzeichnis über absolute Pfade gefunden.
Die Überschriften bleiben echte Stile („Überschrift 1/2/…“), sodass sie sich über
`F11` (Formatvorlagen) global anpassen lassen.
---
## Layout anpassen
Das A5-Layout (Seitenmaß, Ränder, Schriften, Schriftgröße) steckt in
`tools/make_reference_odt.py`. Nach einer Änderung dort:
```bash
python3 tools/make_reference_odt.py
```
Das schreibt `tools/a5-reference.odt` neu. Danach erzeugte ODTs nutzen das neue Layout.
Aktuelle Werte:
| Was | Wo in `tools/make_reference_odt.py` |
|---|---|
| **Seitenmaß** | `fo:page-width/height` (14,801 × 21,001 cm = A5) |
| **Ränder** | `fo:margin-top/bottom/left/right` (0,8 / 1,0 / 1,0 / 0,7 cm) |
| **Grundschrift** | `"Times New Roman"` → `"Alegreya"` |
| **Überschriften** | `"Arial"` → `"Cinzel"` |
| **Schriftgröße** | `fo:font-size="12pt"` → `"10pt"` |
| **Seitennummern** | Footer im Master-Page (aktuell entfernt) |
---
## Dateien der Werkzeugkette (in `tools/`)
| Datei | Zweck |
|---|---|
| `md2odt.sh` | Markdown → A5-ODT (nach `autogen_inbox/`) |
| `obsidian_preprocess.py` | Obsidian-Syntax (Wikilinks, Emojis, `==…==`, `%%…%%`) → sauberes Markdown |
| `autowidth.lua` | Tabellen-Spaltenbreiten proportional zum Inhalt |
| `a5-reference.odt` | ODT-Vorlage (Stile, A5-Layout) |
| `make_reference_odt.py` | erzeugt `a5-reference.odt` neu |
---
## Einrichtung (einmalig, bereits erledigt)
Damit der Befehl läuft, ist Folgendes installiert:
- **Pandoc** 3.12 (`~/bin/pandoc`)
- **Alegreya** (Grundschrift) und **Cinzel** (Überschriften) unter `~/.local/share/fonts/`
Auf einem neuen Rechner müssten diese Komponenten entsprechend nachinstalliert werden.