Prof. Dr. Detlef Kreuz

Die Kraft des einfachen Textformats

Ich hasse Word. Das tut nie das, was man will.

Dieser Ausspruch läßt sich auf viele anderen Programme übertragen: Word, Excel, Powerpoint, die ganze OpenOffice Suite, Keynote, Numbers, Page, Graphikprogramme, und so weiter. Ganz spannend wird es, wenn eine Keynote-Präsentation in das Format von Powerpoint umgewandelt werden soll. Oder, noch schlimmer, Word nach OpenOffice Writer. Dann bleibt einem meistens nur noch übrig, den reinen Text von dem einen in das andere Programm zu kopieren und die Formatierung anschließend wieder nachzuvollziehen.

Einer der Gründe ist die Verwendung von sehr eigenwilligen Datenformaten. Heutzutage sind die meisten Office-Dateien nichts anderes als eine Sammlung von XML-Dateien, die in eine ZIP-Datei gepackt wurden. Manchmal hilfreich, meistens irrelevant. Selbst wenn diese Datenformate "normiert" sind, jedes Programm interpretiert die Norm auf eine eigene Art und Weise. Im Ergebnis läßt sich jede Datei nur von einem Programm lesen und verarbeiten. Der Anwender ist dem Programm auf Gedeih und Verderb ausgeliefert. Ein falsches Bit und der Anwender kann die Datei nicht mehr öffnen.

In vielen Fällen geht es auch anders. Es gibt ein Datenformat, dass auf so gut wie jeder Plattform verfügbar ist: ganz normaler Text. Jedes Betriebssystem liefert mindestens eine Anwendung zum Erstellen von Textdateien mit. Unter Windows ist es Notepad, unter OSX ist es TextEdit, unter Linux gibt es vi, Emacs, gEdit und wie sie alle heißen.

Erstaunlich viele Daten lassen sich als normale Textdateien ablegen. Die meisten Texte lassen sich so schreiben. Für besondere Bestandteile können sogenannte Auszeichnungssprachen genutzt werden. Das müssen nicht gleich komplizierte Sprachen, wie XML, HTML oder LaTeX sein. Meistens reichen einfache Muster, wie Sie jede(r) bei normalen Text verwenden würde. Zum Beispiel wird eine Textpassage kursiv gestellt, indem diese mit dem Zeichen '*' eingerahmt wird. Übrigens, die meisten Inhalte von Wikipedia sind auf diese Art und Weise erstellt worden. Ein offeneres Format gibt es nicht.

Werden Dateien im Textformat erstellt, so eröffnet sich dem interessierten Anwender ein ganzes Biotop von Anwendungen:

  • ein paar hundert Programme der diversen (Unix-) Shells
    • grep, sort, diff, cut, ...
  • zig Programme der (Windows-) Eingabeaufforderung
  • jede Programmiersprache erlaubt das Lesen und Verarbeiten von Textdateien
  • Versionskontrollsysteme, um die Änderungen zu protokollieren, alte Stände wiederherzustellen oder gleichzeitige Zugriffe zu koordinieren
    • (Probieren Sie das einmal mit Word, Writer oder Pages)
  • Graphiken können zum Beispiel mit graphviz erstellt werden

All diese Programme arbeiten zusammen.

Zur Textformatierung gibt es wunderbare Werkzeuge:

  • reStructuredText interpretiert den eingegebenen Text sehr anwendernah und erzeugt daraus u.a. HTML-, XML, ODP- und LaTeX-Dokumente, sowie mit Hilfe von S5 ansehnliche Präsentationen.
  • Markdown, Multimarkdown und Textile erstellen mit einfachen Angaben strukturierte HTML-Dokumente.
  • AsciiDoc generiert HTML (auch Präsentationen), ePub, PDF und kann darüber hinaus als Frontend für das fast zu leistungsfähige DocBook eingesetzt werden.

Nebenbei, fast alle Seiten dieses Blogs sind mit Markdown formatiert, einige andere mit reStructuredText und auch AsciiDoc wird noch seinen Einsatz finden.

Selbst etwas komplexere Formate, wie LaTeX, haben große Vorteile gegenüber den proprietären Formaten. Ich kann mir den Text von anderen Programmen zusammenstellen lassen. So brauche ich Vorlesungsinhalte, die für mehrere Veranstaltungen relevant sind, nur einmal ablegen. Ändern sich diese Bestandteile, sind alle Präsentationen auf einen Schlag angepasst. Machen Sie das einmal mit Powerpoint, Impress oder Keynote. Von der Möglichkeit, an zentraler Stelle Layoutänderungen vorzunehmen ganz zu schweigen.

Mit ganz normalem Text ist jeder Anwender Herr seiner Daten. Archivierungsprobleme gibt es nicht. Sicherheitsprobleme auch nicht. Es ist schon recht schwierig einen Schädling in einer Textdatei so unterzubringen, dass er unerkannt bleibt. Selbst wenn dieser in der schieren Masse von Text verborgen wird, es gibt immer genügend Werkzeuge, die nicht von dem Schädling betroffen ist.

Wenn das keine Gründe sind. Wann steigen Sie um?

Update 4.1.2011: als kleine Bestätigung flattert mir heute morgen noch die folgende Seite hinein: Ad Hoc Data Analysis From The Unix Command Line.