Bevor mein Java-Buch auf dem Markt kam, schrieb ich zwei andere Assembler-Bücher, doch da die nie bei einem Verlag veröffentlicht wurden (für Assembler war es schon ein bisschen spät), blieben sie auf Datenträgern. Das C64-Assembler-Buch ist nicht mehr “überliefert”, doch das Amiga-Buch ist noch vorhanden. Ich habe es Anfang der 1990er Jahre in reinem ASCII geschrieben, dann etwas später nach LaTeX konvertiert. Weil ich das Buch nun der Allgemeinheit zugänglich mache suchte ich ein Weg — auch weg von TeX — zu einem offenen Textformat, aus dem alle mögliche Zielformate generiert werden können.
Pandoc
Pandoc ist ein großartiges Werkzeug, was im Grunde zwischen verschiedenen Dokumentenformaten konvertiert. Die Homepage glänzt mit folgendem Bild:
Installation: Unter http://johnmacfarlane.net/pandoc/installing.html#windows gibt es ein MSI-Paket für Windows, nach der Installation bekommt man im Local-Data-Bereich die Exe-Datei und drei Textdateien.
Zunächst entschied ich mich für AsciiDoc als Beschreibungssprache und konnte dann mit der Konvertierung beginnen.
$ pandoc.exe -s book.tex -t asciidoc -o out.asciidoc
Die CPU-Last ging hoch, ich wartet und es passierte nichts. Ich ließ es stundenlang laufen, doch der Prozess hängte, der Speicherverbrauch stieg auch nicht mehr an, wohl aber verbrauchte der Prozess CPU. Eine komplette Konvertierung schied aus, also zerlegte ich das Buch in viele kleine Teile und konnte so die mehr als 400 Seiten in AsciiDoc konvertieren. Die Umsetzung ist akzeptabel, Index-Einträge werden leider nicht übernommen. An einigen Stellen verschluckte sich Pandoc und es war im Grunde nicht die Größe der Datei, sondern gewisse Konstellationen, die Pandoc aus der Bahn warfen.
AsciiDoc
Mit einem AsciiDoc-Dokument in der Hand konnte ich das Buch überarbeiten und in die Ausgabeformate konvertieren. Pandoc ist in dem Prozess nicht mehr nötig, das Tool asciidoc reicht. Um es zum Laufen zu bringen, muss man als erstes Python installieren, nicht die aktuelle Python 3.x Version, sondern Python 2.x. Dann holt man sich sich bei https://github.com/asciidoc/asciidoc das ZIP-Archiv und packt es aus.
Nach einem Aufruf von
$ asciidoc.py -b html5 -a icons -a toc2 out.asciidoc
hatte ich ein schönes Buch in Online-Form. Die aktuelle Version des Amiga Assembler-Buches gibt es unter http://retrobude.de/dokumente/amiga-assembler-buch/.
Die farbliche syntaktische Hervorhebung übernimmt ein externes Tool, zur Installation und Konfiguration schaue hier.