Texte mit Format

Als Alternative zur klassischen Textverarbeitung bietet sich eine Auszeichnungssprache an. Davon gibt es inzwischen einige: nebst Markdown auch HTML, Latex oder Wikitext. Ich erkläre einige Unterschiede und empfehle das Konvertierungstool Pandoc.

Auszeichnungssprachen sind eine praktische Sache. Man braucht sich nicht mit Wysiwyg-Editoren herumzuschlagen. Die sind zwar komfortabel, produzieren aber in den seltensten Fällen sauber strukturierte Dokumente. Im Gegenteil: Da wird ein Formatchaos angerichtet, dass es den Teufel graust.

Weiss jedermann hier, was eine Auszeichnungssprache ist? Englisch spricht man auch von Markup. Das ist eine Form, um Inhalte digital zu erfassen, die sowohl von Menschen als auch von Maschinen verstanden wird. Man schreibt bestimmte technische Eigenschaften direkt ins Dokument. Soll etwas fett sein, dann macht man Sternchen darum herum (**fett**).

Der Vorteil ist, dass man keine spezielle Software zum Schreiben braucht. Ein normaler Texteditor reicht schon. Sinnvoll ist natürlich ein Programm, das die Eingaben gleich live interpretiert, damit man sofort erkennt, wenn man einen Fehler gemacht hat.

Es gibt natürlich auch Nachteile. Der grösste liegt darin, dass man sich die Formatierungsbefehle merken muss (wenn man keinen Editor verwendet, der Formatierungs-Schaltflächen bereithält). Und man muss damit leben können, dass man in einer Ansicht arbeitet, die in der Darstellung nicht dem fertigen Dokument entspricht.

Das Gegenteil von Microsoft Word

Das Gegenteil einer Auszeichnungssprache ist Microsoft Word – überspitzt formuliert. In Word sieht man keine Formatierungsbefehle, sondern die formatierten Dokumente, wie sie (mehr oder weniger) gedruckt werden sollen. Darum spricht man auch von «What You See Is What You Get» («Was du siehst, bekommst du auch») oder kurz von Wysiwyg.

Trotz der überspitzten Formulierung ist Word wirklich ein gutes und unrühmliches Beispiel dafür, was die Probleme von Wysiwyg-Editoren angeht: Eine Worddatei, die kein einziges Zeichen Text enthält, ist 12 Kilobyte gross. Das ist mehr, als die allermeisten Worddokumente jemals an Text enthalten werden.

Wenn man die Datei zerlegt, wird es noch abstruser: Docx ist ein komprimiertes XML-Format, das sich mit 7-Zip öffnen und auspacken lässt:

  • Man findet darin die Datei styles.xml, die sagenhafte 29 KB auf die Waage bringt. Und das, obwohl die allermeisten Leute keine grösseren Formatierungsanstrengungen unternehmen, als hier mal etwas zu fetten und da etwas kursiv zu setzen.
  • Das eigentliche Dokument (document.xml) ist auch schon 2,73 KB gross. Es enthält diverse XML-Schemas, Vorgaben zum Dokument wie Seitenabstände und Ähnliches.
  • Insgesamt enthält es elf Dateien in fünf Ordnern.

Unglaublich viel Ballast

Ich will nun nicht behaupten, Microsoft hätte nicht mehr alle Tassen im Schrank. Man kann sich dafür entscheiden, ein Format komplex zu gestalten, um allen möglichen und unmöglichen Anforderungen Rechnung zu tragen. Aber für meinen Geschmack ist da wahnsinnig viel Ballast drin.

Und eben – wenn man ein Worddokument nach HTML exportiert, dann wird man feststellen, dass der HTML-Code unbrauchbar ist. Er ist komplex, unflexibel und mit Microsoft-eigenen Erfindungen durchseucht, dass man damit jede Website zum Explodieren bringt, in die man ihn einkopiert. (Ich nutze in solchen Fällen seit Jahren Wordtohtml; siehe HTML, aber ohne Glump).

Diesen ganzen Ärger vermeidet man, wenn man seine Dateien direkt in der Auszeichnungssprache schreibt. Zum Beispiel Markdown oder aber Wikitext. Letzteres ist die Formatierungssprache für Wikis, also Webseiten wie Wikipedia, die man auch selbst betreiben kann. Ich erkläre ein paar Dinge zu Wikitext in meinem Beitrag zu Dokuwiki.

Gleich in HTML texten?

Wer will, kann seine Dateien natürlich auch gleich in HTML schreiben. (Ich mache das oft dann, wenn das Endprodukt direkt auf eine Website wandern soll.) Das Problem ist allerdings, dass HTML etwas umständlich ist, um es direkt zu schreiben. Eine Auszeichnung mit Fett zwingt einem dazu, Tags wie <strong>fett</strong> zu schreiben – und das ist umständlich.

Also – noch bevor man an den Schulen den Kindern programmieren beibringt, sollte man ihnen erklären, wie Auszeichnungssprachen funktionieren. Es bietet sich Markdown an – aber es darf meinetwegen auch Latex sein. Und ich finde, ein grundlegendes Verständnis würde jedem Computernutzer gut anstehen: Man ist dann nicht mehr bloss simpler Anwender, sondern hat einen ersten Schritt gemacht, die Maschine zu beherrschen.

Ein Problem gibt es allerdings mit den Auszeichnungssprachen: Wenn man Sprache A verwendet hat, aber Sprache B benötigen würde, ist man angeschmiert. Es ist nicht ganz so schlimm wie bei den Wysiwyg-Editoren: Wenn man da Word 2.0 benutzt hat, aber Office 365 hätte brauchen sollen, dann muss man für eine Konvertierung riesige Verrenkungen betreiben. Und wenn ein Format proprietär ist, kann es passieren, dass eine Umwandlung überhaupt nicht möglich ist.

Wikitext wäre super, wenn es nicht so viele Varianten gäbe

Da Auszeichnungssprachen menschenlesbar sind, kann man sich immer helfen. Aber es ist trotzdem lästig – gerade bei Wikitext, wo es, wie hier ausgeführt, keine standardisierte Variante gibt.

Man kann die Umwandlung von Hand vornehmen. Doch wenn man das Problem regelmässig hat, dann lohnt sich eine Automatisierung. Zum Beispiel mit einem Editor wie Notepad++ (Das Textmonster), Regex und Python Script. Damit braucht man bloss ein paar Zeilen zu programmieren, um zum Beispiel Wikitext (à la Tiddlywiki)  in Markdown zu verwandeln:

editor.replace("\r! ","# ")
editor.replace("\r!! ","## ")
editor.replace("\r!!! ","### ")
editor.rereplace("\[\[(.*)\|(.*)\]\]", "\[$1\]\($2\)")

Und so weiter.

Pandoc konvertiert Auszeichnungssprachen.

 

Pandoc konvertiert zwischen Auszeichnungssprachen

Man kann sein Glück auch mit Pandoc probieren. Das ist ein Dienst, der Markup-Formate untereinander konvertiert. Man kann sich einen Installer für Windows, Mac oder Linux holen oder aber Pandoc auch online verwenden.

Es stehen unzählige Markup-Formate zur Verfügung. Nebst Markdown auch CommonMark, reStructuredText, AsciiDoc, HTML, Epub, Latex, aber auch komplexe Formate wie Docx von Word, ODT von OpenOffice/LibreOffice – und eben, diverse Wikitext-Varianten wie Mediawiki oder Tikiwiki. Auch Dokuwiki ist vertreten – allerdings scheint diese Variante nicht zu funktionieren oder womöglich gibt es sogar von Dokuwiki-Wikitext mehrere Varianten. Wenn jemand hier durchblickt, bin ich dankbar für einen Hinweis in den Kommentaren.

Die Benutzung ist maximal einfach: Man wählt die Ausgangs- und die Ziel-Auszeichnungssprache, füllt den zu konvertierenden Text ins eine Feld, konvertiert und kopiert den umgewandelten Text aus dem anderen Feld.

Darum die Empfehlung: Unbedingt bookmarken!

Beitragsbild: Word-Nutzer, nehmt euch das zu Herzen (Alexas Fotos/Pexels, Pexels-Lizenz).

Kommentar verfassen