Die (halbwegs) automatisierte Erstellung von WORD- und PDF-Dateien
In unserem Beispiel wollen wir uns zunächst auf 'docx' ('odt' geht natürlich auch) und 'pdf' beschränken. Ferner könnte man aus dem erstellten Markdown – imPrinzip – auch 'tex' (für eine Weiterverwendung in LaTeX-Workflows), 'ebook' oder gar 'pptx' Folien basteln.
Benötigte Pakete
Die Pakete 'markdown' und 'pandoc' hatte ich schon installiert, ebenso eine 'texlive' Umgebung. Darüber hinaus benötigen wir Software zur Darstellung der erzeugten Dokumente, also etwa 'libreoffice-writer' oder 'mupdf'.
Problematisch kann es sein, wenn Pandoc Templates bestimmte 'Styles' erwarten. Bei mir war das tatsächlich der Fall, aber anstatt mehrere 100 MB zusätzlicher Pakete habe ich einfach den entsprechenden Passus in der Vorlage "auskommentiert", s. a. "aufgetretene Probleme" (die dann in einem solchen Fall natürlich an mir liegen).
Die Ausgangsdatei
Eine (noch frühe) Version unseres Artikels in Markdown sieht/ sah folgendermaßen aus:
An dieser Stelle sei uns ein Blick ins Handbuch gestattet. Mit bereits wunschgemäß "formatierte Vorlagen" stehen uns dabei u. a. die zwei Parameter zur Verfügung:
--reference-doc="..."
--template "..."
Konkret...
- "Referenzdokumente", also etwa formatierte "Word"/ 'docx' Dateien (oder 'odt').
- LaTeX-Parameter als ’YAML‘ direkt in der 'md' Datei. ODER
- Externe LaTeX-Vorlagen für die Verwendung mit Pandoc.
Es gibt fertige LaTeX-Vorlagen wie 'Eisvogel'. Wir können also parallel, auf unterschiedlichen Wegen, jeweils eine PDF und eine "Word" Datei erzeugen:
Der Versuch, auf einem antiken "Netbook" mit nur 1024 px Breite gleich zwei komplette – mit den obigen Vorlagen erzeugte – DIN-A4-Dokumente (zuzüglich GUI) darstellen zu wollen, ist natürlich zum Scheitern verurteilt, aber etwa folgendermaßen sieht eine noch "frühe" Version unseres Artikels gerendert aus (links als docx in Libreoffice, rechts 'mupdf'):
Aufgetretene Probleme
An der 'Eisvogel' Vorlage hatte ich etwas ausgeschaltet, dann aber leider vergessen, an welcher Stelle. Auf Anhieb ließ sich dann im PDF jedenfalls kein Literaturverzeichnis automatisiert erzeugen, während die testweise zusammengeschusterte 'bib' Datei problemlos im 'docx' verwurstet wurde.
Das 'Inhaltsverzeichnis' wurde in beiden Fällen automatisiert angelegt. Im Writer muss man aber das Verzeichnis zunächst manuell "aktualisieren", d. h., das Inhaltsverzeichnis sieht zunächst "leer" aus (was es aber nicht ist). Der Schritt ist z.B. auch erforderlich, wenn man enthaltene Grafiken dermaßen verkleinert, dass sich die Seitenzahl ändert.
'Formelsatz' (LaTeX) funktionierte in beiden Fällen, in einem Fall hatte das 'docx' ein Artefakt, welches übrigens nicht beim 'odt' auftrat. Der LO-Writer hat einen eigenen Formeleditor, den ich aber noch nie verwendet habe, und es existiert auch ein PlugIn, mit dem sich ebenfalls LaTeX-Formeln einbinden lassen.
Fremd- oder "anderssprachige" Textschnipsel lassen sich in Markdown sehr einfach verwenden, allerdings hat sich – in meinem Fall (s. o.) – dann LaTeX daran verschluckt. Es mag sein, dass entscheidende 'Styles' fehlten, in 'docx' und 'odt' wurde es aber problemlos angezeigt, also etwa so … (Es folgt "Cat Content" auf Griechisch über Luchse, aus Wikipedia)
::: {lang=gr}
Ο λύγκας (Lynx lynx - Λυγξ ο λυγξ) ανήκει στην οικογένεια των Αιλουριδών και είναι σαρκοφάγο.
:::
Auf gemachte Fehler, Verbesserungen usw. dürft Ihr mich gerne hinweisen. Die –hier nicht weiter dargestellte– Variante, den „LaTeX-Kram“ komplett in den YAML-Präfix zu schreiben, funktioniert sehr gut, was u. a. daran gelegen haben mag, dass ich daran nicht "herum gemurkst" habe. :D
Noch eine Anmerkung zum Schluss: Angeblich lässt sich die Größe eingebundener Grafiken in Markdown nur indirekt über 'HTML Schnipsel' regeln, rudimentär geht es aber doch, nämlich in geschweiften Klammern dahinter ...
Fazit und Ausblick
Auf mehr oder weniger "subtile" Aspekte zur Umsetzung von Office_Open_XML kann ich hier nicht eingehen. Mit Pandoc lassen sich jedoch bequem statische Webseiten, längere DIN-A4 Texte (und andere), aber auch (Powerpoint-, 'pptx') Folien, eBooks (usw.) mehr oder weniger "automatisiert" erzeugen. Manuelle "Nacharbeit" kann dabei erforderlich werden, muss aber nicht.
Quellen:
Die Bilder sind meine, Webseiten sind entsprechend im Text angegeben. Ailuriden, Luchse oder Katzenartige kamen nicht zu Schaden.



