In diesem Artikel betrachten wir die Konvertierung zwischen Markdown [1] und DOCX - dem seit 2007 verwendeten nativen Dokumentformat von Microsoft Word. Sie fragen sich vielleicht, warum sich ein Enthusiast von Markdown und Asciidoc (wie ich) mit diesem Fall befasst. Nun, die Zusammenarbeit mit einer Gruppe anderer Autoren kann dazu führen, dass ein oder mehrere Teilnehmer DOCX als Ausgabeformat anfordern. Lassen Sie niemanden im Stich und finden Sie heraus, welche Einschränkungen es gibt und wie wir versuchen können, alle Gruppenmitglieder glücklich zu machen.
Was ist Markdown??
Wie bereits in „An Introduction into Markdown“ [2] erwähnt, ist die Absicht von Markdown eine einfache Text-zu-HTML-Konvertierung. Die Idee dahinter war, das Schreiben von Webseiten, Dokumentationen und vor allem Blogeinträgen so einfach zu machen wie das Schreiben einer E-Mail. Heute ist es das De-facto-Synonym für eine Klasse von leichten Markup-Beschreibungssprachen, und das Ziel kann als erreicht angesehen werden.
Markdown verwendet eine Nur-Text-Formatierungssyntax. Bei einem ähnlichen Ansatz wie bei HTML weisen eine Reihe von Markierungen auf Überschriften, Listen, Bilder und Verweise in Ihrem Text hin. Die wenigen Zeilen unten veranschaulichen ein Basisdokument, das zwei Überschriften (1. und 2. Ebene) sowie zwei Absätze und eine Listenumgebung enthält contains.
## Frankreich
Dies ist eine Auswahl an Orten:
* Paris (_Ile de France_)
* Straßburg (_Elsass_)
Für einen ordentlichen Besuchsplan etwa eine Woche.
Konvertierung in DOCX
Um Ihr Markdown-Dokument in DOCX zu konvertieren, verwenden Sie das Tool pandoc [3]. Pandoc ist eine Haskell-Bibliothek und bezeichnet sich selbst als „der universelle Dokumentenkonverter“ oder das „Schweizer Taschenmesser für Dokumentenkonvertierungen“. Es ist für eine Vielzahl von Plattformen wie Linux, Microsoft Windows, Mac OS X und BSD verfügbar. Pandoc ist häufig als Paket für Linux-Distributionen wie Debian GNU/Linux, Ubuntu und CentOS enthalten.
Ein einfacher Aufruf zur Konvertierung lautet wie folgt:
$ pandoc -o test.docx-Test.mdDer erste Parameter '-o' bezieht sich auf die Ausgabedatei, gefolgt vom Namen der Datei ('test.docx'). Die Dateierweiterung hilft pandoc dabei, das gewünschte Ausgabeformat zu identifizieren. Der zweite Parameter benennt die Eingabedatei - in unserem Fall ist es einfach "test".md'.
Die oben gezeigte Langversion des Befehls enthält die beiden Parameter '-f markdown' und '-t docx'. Der erste kürzt den Begriff „Geschmack“ ab und beschreibt das Format der Eingabedatei. Der zweite macht dasselbe für die Ausgabedatei und kürzt '-to' ab.
Der vollständige Befehl lautet wie folgt:
$ pandoc -o test.docx -f Markdown -t docx-Test.mdDas Öffnen der konvertierten Datei mit Microsoft Word führt zu der folgenden Ausgabe:
Für die verschiedenen Textelemente verwendet Pandoc Stylesheets. So können Sie diese Elemente später im gesamten Dokument nach Ihren Wünschen anpassen. Die neueren Versionen von Pandoc bieten auch den umgekehrten Weg - Sie können eine DOCX-Datei wie folgt in Markdown konvertieren:
$ pandoc -o test.md-test.docxDie generierte Datei hat dann folgenden Inhalt:
Empfohlene Orte in Europa zu besuchen=====================================
Frankreich
------
Dies ist eine Auswahl an Orten:
- Paris (*Ile de France*)
- Straßburg (*Elsass*)
Für einen ordentlichen Besuchsplan etwa eine Woche.
Nützliche Befehlszeilenoptionen
Die Liste der Pandoc-Optionen ist ziemlich lang. Die folgenden helfen Ihnen, bessere Ergebnisse zu erzielen und machen Ihr Leben viel einfacher:
* '-P' (lange Version '-preserve-tabs'): Tabulatoren beibehalten, anstatt sie in Leerzeichen umzuwandeln. Dies ist nützlich für Codeblöcke mit eingerückten Zeilen, die Teil Ihres Textes sind.
* '-S' (lange Version '-smart'): Produzieren Sie typografisch korrekte Ausgabe.
Diese Option korrigiert Anführungszeichen, Binde- und Bindestriche sowie Auslassungspunkte ("…"). Nach bestimmten Abkürzungen wie „Mr .“ werden zusätzliche, geschützte Leerzeichen hinzugefügt.”.
* '-track-changes=value': Gibt an, was mit Einfügungen, Löschungen und Kommentaren zu tun ist, die mit Hilfe der Microsoft Word-Funktion "Änderungen verfolgen" erstellt wurden. Der Wert kann entweder "Akzeptieren", "Ablehnen" oder "Alle" sein, um die im Dokument vorgenommenen Änderungen aufzunehmen oder zu entfernen. Das Ergebnis ist eine Flatfile.
Weitere Optionen finden Sie in der Dokumentation und auf der Handbuchseite von Pandoc.
Zusammenfassung
Die Konvertierung zwischen Markdown und DOCX ist kein Geheimnis mehr. Es ist in wenigen Schritten erledigt und funktioniert sehr gut. Viel Spaß beim Hacken
Links und Referenzen
* [1] Abschlag
* [2] Frank Hofmann: Einführung in Markdown
* [3] Pandoc
Danksagung
Die Autorin bedankt sich bei Annette Kalbow für ihre Hilfe bei der Erstellung des Artikels.