freiesMagazin als HTML und EPUB erstellen

Ein Leser fragte uns kürzlich, wie das Magazin denn als HTML und EPUB erstellt wird. Den prinzipiellen Ablauf hatten wir in freiesMagazin 11/2012 bereits beschrieben, aber es gab kein konkretes Beispiel. Dies wollen wir hiermit nachreichen.

Hinweis: Der Ablauf wurde unter Xubuntu 12.04 LTS getestet, sollte auf anderen Distributionen bzw. neueren Ubuntu-Versionen aber genauso funktionieren, solange sich die Funktionalität der verwendeten Programme nicht geändert hat.

Vorbereitung

Es sind ein paar Vorbereitungen notwendig, ehe man das gleiche EPUB erhält, wie es bei freiesMagazin jeden Monat veröffentlicht wird.

Notwendige Programme

Wichtig sind vor allem ein C- und C++-Compiler wie der GCC (zum Test wurde Version 4.6.3 benutzt) sowie TCL (in Version 8.5) und Ruby (in Version 1.9.1).

Wer das Magazin neben HTML und EPUB auch als originales PDF erzeugen will, benötigt noch eine LaTeX-Distribution wie TeX Live. Wichtig ist hierbei, dass für den Test die ziemliche alte Version von 2009 benutzt wurde. Es ist bekannt, dass sich in der Version 2011 das Paket colortbl geändert hat, sodass die farbigen Tabellen nicht korrekt dargestellt werden. Daneben haben sich in Version 2013 auch die Trennmuster geändert, sodass der Beispielartikel vielleicht nicht überall „ordentlich“ aussieht.

Beispiel herunterladen

Als Beispiel wurde ein Teil aus freiesMagazin 04/2014 genommen. Um die Downloadgröße gering zu halten, sind aber nur zwei Artikel enthalten und auch die Leserbriefe fehlen. Für die Darstellung der HTML- und EPUB-Erstellung reicht dies aber.

Hinweis: Da die Ausgabeformate alle automatisiert über Konsolenskripte erstellt werden, wird ein Großteil der Anleitung im Terminal stattfinden.

Zuerst lädt man sich das Beispiel herunter und entpackt es. Am besten macht man dies im /tmp-Verzeichnis:

$ cd /tmp
$ wget http://www.freiesmagazin.de/ftp/freiesMagazin-beispiel.tar.gz
$ tar -xzf freiesMagazin-beispiel.tar.gz

Als nächstes muss man eine Umgebungsvariable setzen, die bei den freiesMagazin-Teammitglieder gesetzt ist:

$ FM_SVNPATH=/tmp/freiesMagazin
$ export FM_SVNPATH

Sigil kompilieren

Der größte Aufwand ist die Kompilierung von Sigil. Sigil ist ein EPUB-Erzeugungsprogramms. In der Version 0.5 gab es noch eine undokumentierte Konsolenanbindung, die leider in späteren Versionen entfallen ist. Diese Anbindung benötigt man aber zwingend, wenn man das Magazin automatisiert auf der Konsole erstellen will.

Das ist der Grund, wieso man nicht eine neuere Sigil-Version aus den Paketquellen nutzen sollte. Zusätzlich wurde der Quellcode noch etwas angepasst, sodass das erstellte EPUB besser aussieht.

Zuerst lädt man sich den Quellcode von Sigil 0.5.0 herunter und entpackt diesen:

$ cd /tmp
$ wget http://sigil.googlecode.com/files/Sigil-0.5.0-Code.zip
$ unzip -d Sigil Sigil-0.5.0-Code.zip

Danach muss man den freiesMagazin-Patch einspielen, der aber nur die Konsolenausgabe korrigiert:

$ patch Sigil/src/Sigil/main.cpp $FM_SVNPATH_RED/skripte/Sigil0.5.0.patch
patching file Sigil/src/Sigil/main.cpp

Um Sigil zu kompilieren, sollte man sich auch die Datei INSTALL.txt im Sigil-Ordner durchlesen. Man benötigt zahlreiche Pakete, die dort beschrieben sind.

Wenn diese installiert sind, kann man den Make-Ordner anlegen und Sigil kompilieren:

$ cd /tmp
$ mkdir SigilMake
$ cd SigilMake
$ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release /tmp/Sigil
$ make

Die Kompilierung dauert eine ganze Weile. Wenn sie fehlerfrei abgeschlossen ist, muss man das kompilierte Programm noch an eine Stelle im Pfad legen, wo es gefunden wird. Das ist beispielsweise /usr/local/bin/ oder ohne Root-Rechte unter ~/bin/:

$ mkdir -p ~/bin/
$ cp bin/sigil ~/bin/

Das war auch schon die Vorbereitung, die man nur einmalig machen muss.

PDF-Ausgabe erstellen (optional)

Das Erstellen der PDF-Ausgabe ist optional und nicht notwendig, wenn man nur an HTML oder EPUB interessiert ist. Für die Übersetzung benötigt man nur eine TeX-Distribution:

$ cd $FM_SVNPATH/2014-04
$ pdflatex 04-2014.tex

Den pdflatex-Lauf sollte man aufgrund der Verweise im Dokument noch einmal wiederholen. Danach kann man die Datei 04-2014.pdf im PDF-Betrachter seiner Wahl anschauen.

HTML-Ausgabe erstellen

Die HTML-Version dient zum einen der Anzeige im Browser, zum anderen aber auch zwingend als Vorlage für das EPUB, sodass dieser Schritt nicht optional ist.

Die Konvertierung geht per Skript, wobei für die Konvertierung von LaTeX nach HTML das Programm TTH benutzt wird:

$ cd $FM_SVNPATH/verwaltung/skripte
$ ./convert_html.sh 04 2014

Als Ergebnis findet man im Ordner 2014-04 zwei HTML-Dateien: freiesMagazin-2014-04.html für die HTML-Version ohne Bilder und freiesMagazin-2014-04-bilder.html für die Version mit Bildern.

EPUB-Ausgabe erstellen

Für die Erstellung des EPUB ist es zwingend Voraussetzung, dass zum einen die HTML-Ausgabe erstellt wurde und auch das gepatchte Sigil im Pfad zu finden ist:

$ cd $FM_SVNPATH/skripte
$ ./convert_epub.sh 04 2014

Als Ergebnis erhält man eine EPUB-Version ohne Bilder, freiesMagazin-2014-04.epub, und eine mit Bildern, freiesMagazin-2014-04-bilder.epub.

Fazit

Dies war es auch schon. Sieht man von der Kompilierung der gepatchten Sigil-Version ab, ist die Erstellung von HTML und EPUB aus dem LaTeX-Code ziemlich einfach. In der Redaktion ist natürlich alles so voreingestellt, dass die vorbereiteten Schritte nicht mehr getan werden müssen.

Pingback

[...] der prinzipiell Ablauf der Konvertierung ist, aber es fehlten die konkreten Beispiele und Skripte. Link zur Anleitung Geschrieben von Dee in LaTeX, Linux und Open Source um 10:12 | Kommentare (0) | Trackbacks (0) [...]

Inhalt abgleichen