Einmal schreiben, in drei Formate exportieren – was der Editor Retext in der Theorie verspricht, klappt in der Praxis nur bedingt.
Das Schreiben von Dokumentation gehört ohnehin nicht zu den meistgeliebten Disziplinen beim Programmieren. Hinzu kommt, dass oft die Markup-Sprachen HTML und XML in deren verschiedenen Geschmacksrichtungen als Grundlage für die Dokumente dienen. Bekommen Sie schon beim Gedanken daran schlechte Laune, dann haben Sie mit Retext [1] genau die richtige Lösung zur Hand.
Weniger ist mehr
Mit Retext verfassen Sie Ihre Texte wahlweise in den Formaten Markdown [2] oder ReStructuredText [3] (siehe Kasten “Markup vs. Markdown”). Das vereinfacht die Sache ungemein, denn obwohl diese auf das Wesentliche beschränkten Sprachen zum Auszeichnen sich quasi selbst erklären, stehen die Möglichkeiten des Exports in andere Formate denen der etablierten Tools des Reviers kaum nach.
Markup vs. Markdown
Zwar gelten beim Erzeugen technischer Dokumentationen, Webseiten und vieler anderer Dokumente herkömmliche Markup-Sprachen wie XML oder HTML als De-Facto-Standard. Aufgrund ihrer Komplexität weisen sie aber einige Nachteile auf: Die ausgefeilten Formatierungen belegen derart viel Raum in den Dateien, dass Sie beim Lesen der Quelltexte die eigentlichen Inhalte oft kaum finden. Mitunter nehmen die Tags zum Formatieren mehr Platz ein als die zu übermittelnden Informationen. Die Lernkurve fällt so steil aus, dass technisch unbedarfte Benutzer oft nur über grafische Werkzeuge zum Bearbeiten einen Zugang finden und bei der Fehlersuche buchstäblich die Nadel im Heuhaufen suchen.
Hier kommt Markdown zum Zuge. Die Syntax gestaltet sich ebenso strikt wie bei den Mitbewerbern, lässt sich aber beinahe intuitiv erlernen: Die meisten Formatierungen der Quelltexte sehen hier fast so aus als gehörten sie zum Text, sodass sie die Lesbarkeit kaum bis gar nicht einschränken. Daher nutzen viele Entwickler das Markdown-Format für die README-Dateien und liefern deren unformatierten Klartext oft gar nicht mehr mit.
Übrigens hat sich beim Markdown niemand darum bemüht, eine Syntax zu erfinden. Die Entwickler bauten einfach nur das ins Framework ein, was ohnehin in vielen Texten oder E-Mails zum Kennzeichnen zum Einsatz kommt: Leerzeilen für Absätze, Sternchen für Listenpunkte oder Rauten für Überschriften. Unter Umständen schreiben Sie also einfach so weiter wie bisher.
Allerdings bringt der Editor auch keine ausgefeilten WYSIWYG-Funktionen mit. Retext fällt so schlicht aus, dass es sich ohne lange Eingewöhnungszeit fast aus dem Handgelenk bedienen lässt. Abbildung 1 zeigt das Retext-Fenster mit der geöffneten Datei changelog.md aus dem Paket selbst.
Um die Instant-Vorschau auf der rechten Seite des Fensters zu aktivieren, klicken Sie auf Bearbeiten | Live-Vorschau oder benutzen das Tastenkürzel [Strg]+[L]. Dann rendert die Software das Dokument und präsentiert es so, wie es später in exportierten Formaten zu sehen ist. Falls Ihnen das geteilte Fenster nicht gefällt, schalten Sie in einer einteiligen Ansicht mit [Strg]+[E] zwischen Quelltext und Vorschau hin und her.
Beim Schreiben zeigt sich deutlich, wie genügsam Markdown ist: Eine Leerzeile genügt, um einen Absatz zu definieren, ein Asterisk erzeugt einen Eintrag für eine Liste, und zwei Rauten markieren eine Überschrift der zweiten Ebene. Um einen Vergleich zu haben, wie das Ganze als HTML-Quelltext aussehen würde, klicken Sie auf Bearbeiten | HTML-Code anzeigen.
Installation
Die aktuelle 4er-Serie von Retext steht in den Paketquellen von Debian “Jessie” und Ubuntu “Saucy” bereit, außerdem finden sich offizielle Pakete für OpenSuse. Nebenbei baut der OpenSuse-Entwickler Huaren Zhong ein Paket für Fedora, das aber im Test fehlende Abhängigkeiten rügte und nur mangelhaft an Fedoras Eigenheiten angepasst war, sodass es nur eingeschränkt bis gar nicht funktionierte.
Wie so oft bleibt Ihnen in solchen Fällen nichts anderes übrig, als das Programm aus den Quellen zu installieren. Zu kompilieren gibt es dabei nichts, denn die Software ist in Python geschrieben. Sie akzeptiert dabei nur die Version 3 des Interpreters; das immer noch gängige Python 2 genügt nicht. Den Tarball des aktuellen Releases 4.1.1 finden Sie im Web [4] und auf dem Datenträger der LU-Media-Edition.
Für die Installation aus den Quellen brauchen Sie die Entwicklerdateien von Python 3, das Paket mit den Qt4-Bindings sowie python-markups [5]. Für den Export in diverse Formate benötigen Sie weiterhin die python-docutils, für die eingebaute Rechtschreibprüfung python-enchant. Nähere Auskünfte erteilt die Datei README im Tarball. Denken Sie daran, dass die Python-Module ebenfalls für die Version 3 erstellt sein müssen. Zum Einrichten des eigentlichen Programms genügt der Python-typische Zweischritt:
$ python3 ./setup build $ python3 ./setup install
Alle notwendigen Dateien landen daraufhin unterhalb von /usr/local. Retext liefert keine Desktop-Datei mit, sodass Sie nirgends einen Menüpunkt dazu finden. Das Programm starten Sie im Terminal oder einem Schnellstartfenster mit dem Befehl retext – gegebenenfalls mit dem vollen Pfad /usr/local/bin/retext, falls sich dieses Verzeichnis nicht im Suchpfad für Binaries befindet.
Doch etwas mehr
Neben den grundlegenden Formatierungen stehen in Retext einige Erweiterungen bereit, die nicht zum Portfolio der Markdown-Syntax gehören. Um sie zu nutzen, braucht es aber etwas mehr als nur ein paar zusätzliche Zeichen. Eine einfache Tabelle sieht die Markdown-Syntax nicht ohne Weiteres vor, es braucht dazu die bekannten Tags in spitzen Klammern.
Abbildung 2 zeigt ein Beispiel, das ein wenig mit den auswählbaren Formatierungen spielt. Das Bild erscheint nur dann korrekt in der Vorschau, wenn es sich im gleichen Ordner wie das Dokument selbst befindet.

Abbildung 2: Auch Tabellen, Bilder und andere Formatierungen sind machbar, sprengen aber sichtlich den Rahmen von Markdown.
Im Test gelang zuweilen auch die Angabe des vollen Pfades zur Bilddatei. Aber es ist für den Export ohnehin besser, das Bild im gleichen Ordner vorrätig zu haben, damit es beim Kopieren Ihres Schriftstücks an einem anderen Speicherort Beachtung findet und nicht verloren geht. Die Spezial-Tags finden sich nicht im Menü – klicken Sie dazu auf die Auswahl Stichworte oben rechts im Programmfenster.
Sonderzeichen im Text bringen mitunter die Exportfunktionen ins Trudeln. Um so etwas wie ein Dollarzeichen, ein Grad-Zeichen oder etwas Ähnliches einzufügen, klicken Sie auf die rechte Auswahl namens Symbole. Allerdings sind die Namen nicht übersetzt und orientieren sich an dem Inhalt der Tags, sodass Probieren über Studieren geht.
Zudem schaut der Quelltext nun nicht mehr so wie ein einfacher Klartext aus, sondern eher nach regulärem HTML-Code. Hier stößt Markdown an natürliche Grenzen. Bei allem Respekt vor diesen eigentlich recht nützlichen Erweiterungen ist damit das bevorzugte Einsatzgebiet eines Markdown-Editors bereits überschritten.
Die Alternative
Das Format ReStructuredText (RST) hilft hier unter Umständen, den Quelltext wieder etwas leserlicher zu gestalten, da sich die Formatierungen deutlich von Markdown unterscheiden. Öffnen Sie mit [Strg]+[N] ein neues Dokument. Dieses erscheint in einem neuen Reiter. Die Syntax schalten Sie im Menü Bearbeiten | Default Markup | ReStructuredText um (Abbildung 3).

Abbildung 3: Ein Ausflug in eine andere Syntax lohnt, wenn Markdown nicht die notwendigen Funktionen mitbringt.
Zwar stehen nun die Listen Stichworte und Symbole nicht mehr bereit, da dieses Format solche Erweiterungen nicht kennt, aber dafür besteht die Möglichkeit, mit den Standardformatierungen zu spielen. Besonders mit URLs geht RST etwas genügsamer um. Zwar haben beide Sprachen den Anspruch, für gut leserliche Quelltexte zu sorgen. Bei den URLs hat die alternative Syntax RST aber die Nase leicht vorn.
Export
Außer der auf dem HTML-Export basierenden Vorschau im Programmfenster speichert das Programm die Daten auf Wunsch noch in den Formaten PDF und ODT oder generiert eine komplette Struktur in HTML für Webseiten. Die Exportfunktionen erreichen Sie im Menü Datei | Exportieren.
So weit, so gut – jedoch funktionierte nur der HTML-Export fehlerfrei. Wie Abbildung 4 zeigt, war bereits der Export der einfachen Datei aus Abbildung 3 nach ODF eine unüberwindbare Hürde.
Der PDF-Export sah wesentlich besser aus, er enthielt keinerlei Fehler. Zumindest das Papierformat gab die Software richtig als DIN A4 aus, statt etwa US-Letter zu verwenden.
Alles in allem ist nur HTML erste Wahl, wie auch schon die HTML-Vorschau im Programmfenster beweist. Die anderen Formate unterstützt die Software entweder nur fehlerhaft oder unzureichend.
Fazit
Markdown kann etablierte Markup-Sprachen nicht ganz ersetzen – das braucht es aber auch nicht. Wäre tatsächlich der Funktionsumfang von Docbook das Ziel, ginge unweigerlich der Vorteil der besseren Lesbarkeit dahin. Umfangreiche Formatierungen mithilfe der bereitstehenden Erweiterungen stellen heute schon das Konzept infrage.
Retext als hochspezialisierter Editor schließt eine Lücke, da er besonders durch seine Instant-Vorschau gefällt. Als Ersatz für einen HTML-Editor taugt das Programm bei geringen Ansprüchen ebenfalls, aber Ähnliches – und noch mehr – vermögen auch Textverarbeitungen wie LibreOffice Writer oder Calligra Word zu leisten, obgleich diese wiederum Markdown-Dateien nicht als Klartext öffnen.
Zu bemängeln wäre auch noch, dass Retext abgesehen von den HTML-ähnlichen Sonder-Tags keine direkte Hilfestellung bei der Syntax gibt. Das Programm setzt auf alle Fälle Grundwissen in Markdown voraus, zumal ein Handbuch noch fehlt. Die Zukunft von Retext steht und fällt mit den Möglichkeiten der zugrundeliegenden Sprachen.
Infos
[1] Retext: http://sourceforge.net/projects/retext/
[2] Markdown: http://de.wikipedia.org/wiki/Markdown
[3] ReStructuredText: http://de.wikipedia.org/wiki/ReStructuredText
[4] Download: http://sourceforge.net/projects/retext/files/ReText-4.1/
[5] Python-Markups: https://launchpad.net/python-markups







