eBook mit Tabelle

Eine oder mehrere Tabellen in mein eBook einbauen? Vorsicht, nicht alle Reader unterstützen die genormten ePub-Features! Diverse Hersteller und Plattformen kochen ihr eigenes Format-Süppchen. Amazon, dessen Formate auf ePub aufbauen, hält sich nicht an alle CSS-Regeln! Und auch Kobo hat mit Kepub (Kobo-ePub) einige Abweichungen vorgesehen. Das Schlimmste sind aber die Leser! Die verschieben ihre Bücher wild zwischen Tablet, eReader und Smartphone. Kein Wunder, dass manche Shops die Tabellen im eBook generell verdammen. Es geht aber trotzdem, mit HTML, CSS und Sigil!

Tabellen erstellen

In OpenOffice, LibreOffice, Word oder Pages Textverarbeitungsprogramm lassen sich Tabellen ja leicht erstellen, und auch der eBook-Editor Jutoh bietet eine Tabellenfunktion an. Die Frage ist nur, ob diese dann auch überall angezeigt werden. Besser ist Sigil! Da hast du den Code immer im Blickfeld!

Sigil für Tabellen

Der ePub-Editor Sigil hat zwar keine Tabellenfunktion eingebaut, aber dafür hat er alles an Bord, was für eine „handgemachte“ Tabelle gebraucht wird. Einen sauberen HTML-Editor. Mit den Tags für Tabelle <table>, Tabellenreihe <tr> und Tabellendaten <td> lässt sich ganz fix eine simple Tabelle erstellen, so in dieser Art:

Spalte 1 Spalte 2
Und so weiter Und so fort

Der Quellcode zum obigen Beispiel:
<table>
<tr> <td>Spalte 1</td> <td>Spalte 2</td> </tr>
<tr> <td>Und so weiter</td> <td>Und so fort</td> </tr>
</table>

Tabellen mit CSS

Soweit zu puren HTML-Tabellen. Wem das genügt, braucht hier nicht mehr weiter zu lesen! Wer aber für ein Fachbuch mehrere Sorten von Tabellen braucht, greift auf Tabellenklassen zurück, und dafür gibt es CSS. Ein eBook ist nicht anders aufgebaut als eine Website. Der einzige Unterschied: Die Seiten heißen Kapitel und enden auf .xhtml. Ansonsten ist der Aufbau gleich, und das gilt für ePub-Bücher, aber auch für die Amazonformate Mobi und AZW. Wo sich eine Überschrift, ein Absatz oder eine Tabelle befindet, steht in den HTML-Befehlen. Wie die Überschrift, Absatz oder Tabelle genau aussehen, steht im Stylesheet, der CSS-Datei.

CSS zuweisen

Damit das Ganze funktioniert, muss im Header jeder XHTML-Datei auf das Stylesheet verwiesen werden. In einem ePub (in Sigil kann man die Verzeichnisstruktur öffnen) sieht die Verlinkung auf CSS in der Regel so aus:
<link rel="stylesheet" type="text/css" href="../Styles/Style0001.css" />

CSS in Sigil
CSS in Sigil

In Sigil kann das Stylesheet per Rechtklick zugewiesen werden. Einfach im Buchbrowser links eine oder mehrere .xhtml-Dateien anklicken, also alle Kapitel des eBooks! Dann mit der rechten Maustaste das Kontextmenü öffnen. „Verknüpfe Stylesheets“ auswählen. Nicht vergessen, das Häkchen unter „Einbeziehen“ zu setzen, sonst tut sich gar nichts. Wenn die CSS zugewiesen ist, dürfen sich die Profis an die Gestaltung der Tabellen machen. Allerdings solltest du es nicht übertreiben. Je komplizierter und verschachtelter, desto eher klinken sich eReader und Leseapp dann einfach aus und verwenden ihr eigenes CSS!

Relative Werte für eBook-CSS

Vorsicht: Für die Größenangaben können in CSS prinzipiell absolute oder relative Werte verwendet werden. Absolute Werte wie px (Pixel) pt (Punkt) oder cm (Zentimeter) sind für eBooks allerdings ungeeignet, denn die fixe Darstellung benachteiligt entweder große oder kleine Bildschirme.
Es bleiben die relativen Werte em und %. Üblich ist em. Dann orientiert sich die Schriftgröße am Eltern-Element. Und natürlich dürfen auch für Breite und Höhe der Tabelle keine absoluten Werte eingetragen werden.

CSS validieren

Sigil Validierung
Sigil Validierung

Für die Validierung eines eBooks bietet Sigil diverse Möglichkeiten. Aufgerufen werden alle findet im Menü über Werkzeuge. Die Rechtschreibprüfung gehört zwar nicht zur Validierung, aber wenn schon, denn schon. Es gibt diese drei Möglichkeiten

  1. Rechtschreibprüfung
  2. Epub-Validierung, das erledigt die eingebaute Sigil FlightCrew (Shortcut F7)
  3. CSS-Validierung

Wenn ihr eine Tabelle mit CSS formatiert habt, dann prüft erstmal mit Methode 3! Ein Fehler lässt sich so viel leichter eingrenzen!