ePub selbst erstellen (Teil 3): Das Inhaltsverzeichnis auf NCX-Basis erzeugen

eBook am Strand lesen

Nachdem wir uns in Teil 1 um die grundlegende Struktur eines eBooks nach dem ePub2-Standard gekümmert und uns in Teil 2 mit der OPF-Datei beschäftigt haben, kommen wir nun zum Inhaltsverzeichnis.

Das Inhaltsverzeichnis wirkt auf dem ersten Blick wie ein schwieriger Fall, aber bei näherem Hinsehen erkennt man schnell eine sich wiederholende Struktur aus navPoint-Elementen. Hierbei vergeben wir eine id und eine playOrder. Mit der id können wir wie immer auf die Datei referenzieren. Die playOrder bestimmt die Anzeigereihenfolge. Sehen wir uns das im Beispiel an.

Die Datei inhaltsverzeichnis.ncx

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN" "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1" xml:lang="de">
    <head>
        <!-- Hier kommt die Buchidentifikation aus content.opf hinein. -->
        <meta name="dtb:uid" content="uuid:HIER:BEISPIELSWEISE:EINE:UUID" />
        <meta content="0" name="dtb:totalPageCount" />
        <meta content="0" name="dtb:maxPageNumber" />
    </head>
    <!-- Hier kommt der Buchtitel hinein. -->
    <docTitle>
        <text>DER TITEL DES BUCHS</text>
    </docTitle>
    <!-- Hier kommt der Autorenname hinein. -->
    <docAuthor>
        <text>AUTORENVORNAME AUTORENNACHNAME</text>
    </docAuthor>
    <!-- Die Navigation: Jede Datei ist ein eigener navPoint. -->
    <navMap>
        <navPoint id="titel" playOrder="1">
            <navLabel>
                <text>Titel</text>
            </navLabel>
            <content src="titel.xhtml" />
        </navPoint>
        <navPoint id="kapitel_1“ playOrder=" 2 ">
            <navLabel>
                <text>Kapitel 1</text>
            </navLabel>
            <content src="kapitel_1.xhtml "/>
        </navPoint>
        <navPoint id="kapitel_2 " playOrder="3 ">
            <navLabel>
                <text>Kapitel 2</text>
            </navLabel>
            <content src="kapitel_2.xhtml "/>
        </navPoint>
        <navPoint id="ende " playOrder="4 ">
            <navLabel>
                <text>Ende</text>
            </navLabel>
            <content src="ende.xhtml "/>
        </navPoint>
    </navMap>
</ncx>

Nach einiger formaler Angaben zum XML und dem Öffnen des ncx-Wurzelelements nennen wir innerhalb von head unsere eindeutige Buchidentifikation abermals und können dort Angaben über die Länge des Buchs machen. Wir überlassen dies aber dem Lesegerät und tragen dafür in beiden Fällen eine 0 ein.

Nach dem head-Abschnitt tragen wir unseren Buchtitel ein und nennen die Autorin oder Autor. Schließlich kommen wir mit dem Öffnen von navMap zur eigentlichen Navigation.

Damit sind wir mit inhaltsverzeichnis.ncx fertig, die in der Datei enthaltenen Kommentare erklären die einzelnen Felder.

Nun haben wir alles vorbereitet. Jetzt ist es an der Zeit, eine ePub-Datei zu erstellen. Das machen wir, indem wir das Verzeichnis mit dem ZIP-Verfahren komprimieren und die Endung „zip“ einfach in „epub“ ändern.

Komprimieren mit macOS

Je nach Betriebssystem kommen unterschiedliche Lösungsansätze zum Zug. Unter macOS nimmt man am besten das Terminal. Zwar kann man am Mac einfach über das Kontextmenü Verzeichnisse komprimieren, aber beim ePub ist das nicht so einfach: Der Grund ist, dass die Datei „mimetype“ nicht komprimiert werden darf. Außerdem legt der „Finder“ in jeden Ordner eine versteckte Datei namens „.DS _Store“. Diese Dateien müssen wir beim eBook entfernen, ansonsten erhalten wir Warnungen.

Im Terminal navigiert man in das Verzeichnis, das des ePubs hinein, so dass bei der Ausgabe des Verzeichnisinhalts („ls“) folgende Ausgabe kommt:

„META-INF OEBPS mimetype“

Wenn bei der Eingabe von „ls“ das im Terminal erscheint, dann sind wir richtig. Nun geben wir folgenden Befehl ein, wobei wir „<NAME_DER_EBOOK_DATEI>“ durch den Bezeichnung ersetzen, die die eBook-Datei haben soll.

zip -rX ../<NAME_DER_EBOOK_DATEI>.epub mimetype META-INF/ OEBPS/ -x „*.DS_Store“

Läuft der Befehl erfolgreich durch, dann haben wir eine Ebene überhalb des Verzeichnisses, in dem wir den Befehl ausgeführt haben, eine Datei namens „<NAME_DER_EBOOK_DATEI>.epub“. Das ist unser eBook.

Komprimieren mit Windows

Auch unter Windows könenn wir das eBook über die Kommandozeile erstellen. Hierfür installieren wir die kostenlose ZIP-Software namens „zip.exe“ von stahlworks.com. Nach der Installation – beispielsweise unter „c: \zip \“ – können wir das Komprimieren beginnen, indem wir mit dem Tastenkürzel [Windows+R] die Eingabeaufforderung aufrufen und darin den Befehl „cmd“ schreiben. Auf diese Weise öffnen wir die Kommandozeile.

Darin navigieren wir in das Verzeichnis, das unsere Daten enthält, so dass die Kommandozeile „c:<DAS_VERZEICHNIS>“ anzeigt. Hier führen wir nacheinander folgende Befehle aus, wobei auch hier <NAME_DER_EBOOK_DATEI> durch den jeweiligen Namen für die Datei ersetzt werden muss:

c: \zip\zip.exe <NAME_DER_EBOOK_DATEI>.epub -DX0 mimetype

c:\ zip\zip.exe <NAME_DER_EBOOK_DATEI>.epub -rDX9 META-INF OEBPS

Laufen die beiden Befehle erfolgreich durch, dann sind wir fertig, denn nun haben wir unser eBook als eine Datei namens „<NAME _DER _EBOOK _DATEI>.epub“.

Das eBook validieren

Mit der Erstellung sind wir aber noch nicht fertig, denn wir müssen sicherstellen, dass das Ergebnis ein valides eBook ist. Dafür können wir Webseiten wie beispielsweise einen EPUB Validator verwenden. Etwas komfortabler geht das mit einem kleinen Programm, dass von der pagina.gmbh kostenlos zur Verfügung gestellt wird, dem ePub-Checker. Diesen Offline-Validator gibt es für alle gängigen Betriebssysteme.

Zum Validieren starten wir den ePub-Checker und ziehen unser eBook ins Fenster. Nach einer kurzen Denkpause zeigt uns die Anwendung, ob wir alles richtig gemacht haben oder ob es unser eBook fehlerhaft ist. Falls Fehler auftreten, nennt das Programm die Datei, in der der Fehler aufgetreten ist und auch die Zeile, wo das Problem ist. Auf diese Weise lassen sich die meisten Probleme schnell lokalisieren und auch beheben. Oftmals handelt es sich um Dateien, die nicht gefunden werden konnten, weil der Pfad nicht stimmt oder der Dateiname falsch geschrieben wurde.

Haben wir alle Fehler behoben und vom ePub-Checker grünes Licht bekommen, dann sind wir tatsächlich fertig.

Das eBook für Amazon Kindle validieren

Es gilt nur zu bedenken, dass wir nun zwar mit der Validierung nach dem ePub-Standard fertig sein mögen, dies bedeutet allerdings nicht, dass beispielsweise Amazons Kindle Store unser ePub ohne Weiteres annimmt. Um sicherzustellen, dass unser ePub auch für Amazons Kindle Store geeignet ist, laden wir uns den kostenlosen Kindle Previewer auf unseren Rechner. Das Programm gibt es sowohl für macOS als auch für Windows. Erst, wenn der Previewer uns bestätigt, dass unser ePub auch für den Kindle Store gültig ist, sind wir tatsächlich fertig.

Tools zum Erstellen von eBooks

Zum Abschluss hier noch der Hinweis auf einige Programme, die bei der Erstellung von eBooks behilflich sein können.

Calibre

Calibre ist eine kostenlose Anwendung, mit der du eBooks erstellen und auch bearbeiten kannst. Die Software gibt es für Mac, Win und Linux. Die Bedienung ist nicht gerade intuitiv, aber dafür ist das Programm recht mächtig und erledigt viele Aufgaben über eine grafische Oberfläche.

Apple Pages

Wenn du einen Mac, ein iPhone oder ein iPad hast, hast du bestimmt auch Apple Pages. Damit lassen sich vergleichsweise einfach eBooks erstellen. Dein eigenes Buch kannst du anschließend sogar recht einfach über Apple Books veröffentlichen.

ePub2-Spezifikation

Hierbei handelt es sich um kein Werkzeug, aber Wissenswert ist das Ganze dennoch. Falls du so richtig tief in die eBook-Erstellung einsteigen willst, dann empfiehlt sich ein Blick in die ePub2-Spezifikation

Photo by Maarten van den Heuvel on Unsplash