[[Uebersicht|← Zurück zur Homepage]] # Formatvorlage – Word-/PDF-Ausgabe Verbindliche Formatvorgabe für Notizen, die als **Word (`.docx`) bzw. PDF** zur externen Weitergabe erzeugt werden. Sie fasst den Standard zusammen, der bisher nur verteilt in den `_build`-READMEs der Projekte stand. > [!info] Zielformat ist `.docx`, das PDF entsteht daraus > Es gibt **keinen** direkten Markdown→PDF-Weg. Der Weg ist immer: > **Markdown → `build_*.py` → Pandoc → `.docx` → `set_props.py` → in Word als PDF speichern.** > Die `.docx`/PDF werden **nicht** eingecheckt – sie lassen sich jederzeit aus den Notizen neu erzeugen. ## Vorlagendateien und Skripte (kanonisch) **Vorlagen-Assets** in `Assets/Vorlagen/`: | Datei | Zweck | |---|---| | `reference-footer.docx` | Pandoc-Referenzvorlage: A4, Ränder, Fußzeile mit Logo + Seitenzahl | | `obeco-logo.png` | Petrol-Logo für die Fußzeile (9 mm) | **Gemeinsame Skripte** in `Assets/Vorlagen/_build/` (projektübergreifend, kein mitgeliefertes Werkzeug – Eigenbau, flicken Schwächen der Pandoc-docx-Ausgabe): | Skript | Zweck | |---|---| | `make_ref.py` | Baut/erneuert `reference-footer.docx` (A4 + Fußzeile mit Logo) | | `set_props.py` | Setzt die Dokumenteigenschaften, entfernt geerbte Falschwerte | | `place_toc.py` | Schiebt das Inhaltsverzeichnis hinter die erste Notiz | | `layout_ha.py` | Zieht den Adressblock vor das TOC, setzt Seitenumbrüche (generisch trotz Namens) | Die **projektspezifischen Inhalts-Bauer** `build_cs.py` / `build_ha.py` / `build_marstek.py` bleiben in ihren jeweiligen `40 Projekte/…/_build/`- bzw. `_build/`-Ordnern – sie haben keinen Vorlagenbezug. > [!info] Einzige Quelle > Vorlage, Logo und die gemeinsamen Skripte liegen seit 24.07.2026 **ausschließlich** hier. Alle Pandoc-Aufrufe (Coole Senioren, Home Assistant, Marstek) verweisen mit `--reference-doc` auf `Assets/Vorlagen/reference-footer.docx`; die Pipeline-Schritte rufen die Skripte unter `Assets/Vorlagen/_build/` auf. Die früheren Kopien in den Projektordnern wurden entfernt. Vorlage neu bauen: `python "Assets/Vorlagen/_build/make_ref.py"`. ## Seitenlayout | Merkmal | Vorgabe | |---|---| | Format | **A4** (11906 × 16838 twips) – nicht US Letter | | Ränder | **25 mm** rundum | | Fußzeile | **Obeco-Logo links** (9 mm hoch, proportional), **„Seite X von Y" mittig** | | Sprache | **de-DE** | > [!warning] A4 muss die Vorlage erzwingen > Pandocs Standardvorlage setzt kein `pgSz` → ohne die Ergänzung fällt Pandoc auf US Letter zurück. Deshalb ist `reference-footer.docx` Pflicht (`--reference-doc`). ## Titelseite - **Titel** und **Untertitel** (über `--metadata title` / `subtitle`) - **Verfasser:** „Joachim Berger" (nur die Person – die Firma steht im Adressblock) - **Firmenadresse:** Obeco GmbH (zentriert unter dem Titel; Quelle obeco.de/impressum) - **Stand:** „Stand: TT.MM.JJJJ" ## Inhaltsverzeichnis - Überschrift **„Inhaltsverzeichnis"** (deutsch, via `toc-title`) - Bei Gesamtdokumenten: Verzeichnis **hinter die erste (kundenverständliche) Notiz** schieben (`place_toc.py`) – Pandoc kann die TOC-Position im docx nicht selbst steuern - Word baut das Verzeichnis beim Öffnen neu auf (`w:dirty="true"`) → Seitenzahlen stimmen ## Dokumenteigenschaften (`set_props.py`) Pflichtschritt für **jede** `.docx`. Setzt bewusst und räumt die aus der Pandoc-Vorlage geerbten Falschangaben weg: | Feld | Wert | |---|---| | Titel | aussagekräftig **inkl. Untertitel** (PDF-Viewer/Google Drive zeigen `dc:title`, nicht den Dateinamen) | | Thema | kurzer Sachbezug | | Stichwörter | projektbezogene Schlagworte | | Kategorie / Status | z. B. Konzept / Entwurf | | Firma | **Obeco GmbH** | | Anwendung | ehrlich **„Pandoc"** (nicht „Microsoft Word 12.0.0") | | Statistik | entfernt → Word berechnet Seiten/Wörter beim Öffnen neu | ## Was beim Bauen aus den Notizen entfernt wird (`build_*.py`) | Was | Warum | |---|---| | Navigations-Kopfzeile (alles vor der H1) | Vault-Navigation, im Word sinnlos | | Status-Block + Änderungshistorie + Footer | interne Arbeitsstände | | Abschnitt `## Quellen` | Vorgabe (nicht in die Weitergabe) | | Inline-Marker `[1]`, `[3][4]` | zeigen nach Wegfall der Quellen ins Leere | | Erledigte Punkte `- [x]` inkl. Folgezeilen | nur Offenes soll ins Word | | Wikilinks `[[Ziel\|Label]]` | zu `Label` bzw. `Ziel` aufgelöst | ## Öffentliche Fassung (`--public`, projektabhängig) Für öffentlich verlinkte PDFs (z. B. Google Drive / Blog) anonymisiert der Export identifizierende Angaben – **die Notizen selbst bleiben vollständig**. Umsetzung und Prüfregeln sind projektspezifisch (Beispiel Coole Senioren: Adresse → Region, Solarkataster-Werte + rückrechenbare Größen). Details in der jeweiligen `_build/README`. ## Werkzeuge - **Pandoc** (getestet mit 3.10) – `C:\Program Files\Pandoc\pandoc.exe` - **Python 3** – bei Unicode-Fehlern `PYTHONIOENCODING=utf-8` voranstellen - **Word** – für den finalen Schritt „Als PDF speichern" > [!warning] Zieldatei in Word schließen > Ist die `.docx` in Word geöffnet, bricht Pandoc mit `permission denied` ab (Lockdatei `~$…docx`). `place_toc.py`/`set_props.py` prüfen die Sperre selbst und brechen sauber ab. ## Bestehende Pipelines (Beispiele) | Projekt | Build | |---|---| | Coole Senioren | `40 Projekte/CooleSenioren/_build/` (README maßgeblich, ausführlichste Pipeline) | | Home Assistant | `20 Software/Home Assistant/_build/` (nutzt die gemeinsame Vorlage + Skripte aus `Assets/Vorlagen/`) | | Marstek Speicher | `30 Energie/01 Marstek Speicher/_build/` | ## Quellen - `40 Projekte/CooleSenioren/_build/README.md` (v1.8, 17.07.2026) – Ursprung der hier zusammengefassten Vorgaben --- **Status:** Aktiv **Version:** 1.2 **Letzte Aktualisierung:** 24.07.2026, 08:15 Uhr ### Änderungshistorie | Version | Datum | Uhrzeit | Änderung | |---|---|---|---| | 1.2 | 24.07.2026 | 08:15 | **Gemeinsame Build-Skripte zu den Vorlagen gezogen** (Nutzervorgabe): `make_ref.py`, `set_props.py`, `place_toc.py`, `layout_ha.py` per `git mv` nach `Assets/Vorlagen/_build/`. Aufrufe in den drei READMEs, den Skript-Docstrings und in [[Obeco-Kompetenzprofil]] auf die neuen Pfade umgestellt. Projektspezifische `build_*.py` bleiben in ihren Projektordnern. Skript-Übersicht hier ergänzt | | 1.1 | 24.07.2026 | 08:15 | **Doppelte Vorlagendatei aufgeräumt** (Nutzervorgabe): `Assets/Vorlagen/` ist alleinige Quelle. `make_ref.py` schreibt/liest jetzt hier; die drei READMEs (Coole Senioren, Home Assistant, Marstek) auf `--reference-doc="Assets/Vorlagen/reference-footer.docx"` umgestellt; `.gitignore`-Ausnahme umgezogen; alte Kopien in `40 Projekte/CooleSenioren/_build/` entfernt (git-getrackt = gesichert) | | 1.0 | 24.07.2026 | 08:15 | Erstfassung. Zentrale Formatvorlage aus den verteilten `_build`-READMEs zusammengeführt (Nutzervorgabe). Kanonische Vorlagendatei `reference-footer.docx` + Logo nach `Assets/Vorlagen/` gelegt; Layout-, Titel-, TOC-, Eigenschafts- und Bereinigungsregeln dokumentiert | --- [[Impressum|Impressum]] | [[Datenschutzerklärung|Datenschutz]]