Schreiben im Docbook-Format

Docbook

Ich werde ab und zu gefragt, womit ich eigentlich die Artikel, Dokumentationen und die kleinen Bücher schreibe, bzw. welche Werkzeuge Verwendung finden. Hier ein Artikel dazu.

Beruflich bin ich vor Jahren auf das Docbook-Format gestoßen, weil ein neutrales standardisiertes Format die Vorgabe war, dass maschinell sehr einfach verwertbar sein sollte.

Diese Vorgaben lenkten allesamt auf Docbook, denn dieses Format definiert eigentlich die Elemente (insbesondere für Publikationen) für eine definierte XML-Struktur. Hiermit war schonmal die Basis, das Format also die Verwendung von XML vorgegeben.

Im gleichen Atemzug mit Docbook, können gleich notwendige Stylesheets (XSLT) genannt werden. Denn diese XSLTs formatieren die XML-Quellen in das gewünschte Zielformat, wie PDF, XHTML-Seiten, Manpages und und und.

Der Treiber zwischen XML-Quelle und Zielformat ist ein XSLT-Prozessor. Dieser nimmt sich die XML-Quelle und das Stylesheet, um dann die eigentliche Konvertierung (Transformation) vorzunehmen.

Um nun XML-Dateien unter der Berücksichtigung der Docbook-Definition zu erstellen, reicht eigentlich ein simpler Text-Editor aus. Es gibt aber einige Werkzeuge, die sich sehr ausgeklügelt um das Zusammenspiel zwischen des Schreibens als solches und die Belange einer XML-Struktur unter Berücksichtigung von Docbook und anderer Definitionen kümmern. Empfehlen kann ich an dieser Stelle den XML-Editor XMLmind. Dieser Editor ist ein klasse Helfer, was genau diese Aspekte betrifft. Dieser Editor läuft auf verschiedene Betriebssysteme und ist zudem unter bestimmten Voraussetzungen sogar kostenlos. Ein Blick lohnt sich mit Sicherheit, wer sich für dieses Thema interessiert.

Bei den XSLTs sieht es ähnlich aus. Beliebt sind aber die Open-Source-Quellen, die zudem sehr flexibel in der Anpassung sind. Zum Verständnis, XSLTs bestimmen das Zielformat. Wird zum Beispiel ein XSLT für die PDF-Ausgabe gewählt (der Vollständigkeit halber, über den Zwischenschritt der Formatting Objects), so würde das Ausgabeformat keine DIN A4 Seite sein, sondern ein voreingestelltes Amerikanisches (Letter). Man darf aber zu dem XSLT eine Anpassungsdatei erstellen, welche über bestimmte Parameter an den Ausgabe-Formaten schraubt. So kann sehr flexibel nicht nur das Blattformat bestimmt werden, sondern z.B. auch in welcher Schriftart und Größe Überschriften auszusehen haben u.s.w. .

Die Wahl liegt zuletzt bei dem XSLT-Prozessor. Hier gibt es einige freie aber auch kostenpflichtige Exemplare, die sich in der Konvertierungsgeschwindigkeit, unterstützten Funktionen und verschiedenen anderen Belangen unterscheiden. Da XML und XSLTs gültige Standards sind, kann ich uneingeschränkt für den Start xsltproc empfehlen. Dieser XSLT-Prozessor liegt nicht nur fast jeder Unix/Linux-Umgebung bei, er ist zudem Open-Source und erledigt zuverlässig die Standardarbeiten.

Die Frage aller Fragen die kommt, wenn die erste Frage beantwortet wurde ist:”Ist Docbook besser als LaTex?”. Meine Antwort hierzu ist:”Es ist Anders”. Ich kenne mich mit LaTex zu wenig aus, um eine stichhaltige Aussage machen zu können. Beide haben aber die gleichen Vorgehensweisen. Geschrieben wird generell formatlos, also losgelöst von Form und Optik, die ja später im Docbook-Fall durch die XSLTs vergeben wird. Ob ein Wort in Fett dargestellt wird, oder der erste Satz eine Überschrift ist, wird generell über die entsprechenden Elemente gesteuert. Mit XML als Beispiel würde dies so aussehen: Das ist ein Kapitel-Titel. Das Stylesheet bestimmt dann entsprechend das Aussehen für eine etwaige Drucklegung laut Vorgabe. Dabei kann dann u.a. mit bestimmt werden, welche Abhängigkeiten (ob Kapitel erster, zweiter oder dritter Ordnung) maßgebend z.B für die Schriftgröße berücksichtigt werden soll.

Ein großer Vorteil von Docbook und die modernere Basis (XML) ist die relativ einfache Transformation in verschiedene Zielformate, wie z.B. in das aktuelle EPUB-Format. Ich kann mich noch daran erinnern, dass es “damals” mit LaTex nicht ganz so einfach war, relativ unkompliziert HTML-Seiten zu erhalten. Als unschlagbar gilt LaTex aber bis heute beim Textsatz und bei der Unterstützung der Formeldarstellung (wobei ich mir sicher bin, dass hier Docbook ebenfalls gute Resultate erzeugt).

Die Wahl, was nun genommen werden soll, konnte ich für mich einfach durch die Vorgaben bestimmen. Viele Universitäten nutzen LaTex als Vorgabe zur Erstellung wissenschaftlicher Publikationen, wobei dann für die Studenten meist keine Wahl bleibt. Es ist einfacher sich mit dem vorhandenen etablierten zu beschäftigen, als sich etwas komplett Neuem zu widmen. Auch fehlt meistens die Zeit dazu.

In der folgenden Linkliste sind weitere Infos zu finden. Meistens wird auch das Buch “DocBook-XML - Medienneutrales und plattformunabhängiges Publizieren” von Thomas Schraitle genannt, das aus meiner Sicht das deutschsprachige Standardwerk ist. Also einfach mal die nächste Buchhandlung aufsuchen und schmökern.

Link -> Die Docbook-Mutterseite
Link -> Wikipedia zu Docbook
Link -> Wikipedia zum XSL-Transformation
Link -> Wikipedia zum XSLT-Prozessor
Link -> Wikipedia zu LaTex
Link -> Das Docbook-Projekt mit Open-Source Stylesheets
Link -> Projektseite zu xsltproc
Link -> Herstellerseite zum XML-Editor XMLmind