11 KiB
title: "E-books erstellen schritt für schritt" slug: "e-books-erstellen-schritt-fuer-schritt" description: "Von nichts zum fertigen E-book mit freier software. Diese anleitung fängt beim ersten wort an, behandelt grundlagen der gestaltung, legt besonderen wert auf barrierefreiheit und endet mit dem fertigen EPUB 3 e-book." date: 2021-07-10T15:01:09+02:00 type: posts draft: true tags: - E-books - Calibre toc: true ---
Als ich anfing, e-books zu bauen, fand ich leider keine guten anleitungen, die mir schritt für schritt erklären, was ich tun soll. Ich musste mir alles mühsam zusammensuchen. Dies ist der versuch, die gesammelten informationen übersichtlich an einer stelle zu präsentieren. Diese anleitung fängt beim ersten wort an, behandelt grundlagen der gestaltung, legt besonderen wert auf barrierefreiheit (beziehungsweise barrierearmut) und endet mit dem fertigen EPUB 3 e-book. Ich freue mich über kritik und verbesserungsvorschläge.
Vorraussetzungen zum mitmachen sind grundlegende kenntnisse in XHTML und CSS. Benötigte programme sind ein textverabeitungsprogramm deiner wahl (zum beispiel LibreOffice, gedit oder Kate) und entweder Calibre oder Sigil. Alle diese programme sollten über die paketverwaltung deiner Linux-distribution verfügbar sein. Englischkenntnisse sind von vorteil, da es weitergehende informationen häufig nur auf englisch gibt.
Anm.
|
Ich konzentriere mich hier auf LibreOffice und Calibre, andere programme und methoden behandle ich nur am rande. Auf Desktop-Publishing programme kann ich leider nicht eingehen, weil ich da noch keine ahnung von habe. LaTeX muss auch außen vor bleiben, um den rahmen nicht zu sprengen. |
Den text schreiben
Wenn du noch nicht angefangen hast zu schreiben, lohnt es sich über das dateiformat nachzudenken. Unterschiedliche dateiformate lassen sich unterschiedlich gut in e-books umzuwandeln. ODT-dateien (Wie sie LibreOffice schreibt) eignen sich gut. Aber auch reine textformate wie AsciiDoc[1], Org oder MarkDown[2] sind geeignet. Beispieldateien für LibreOffice, AsciiDoc, Org und MarkDown finden sich am ende des posts.
Achte darauf, die elemente des texts semantisch zu gestalten, also sie mit maschinenlesbarer bedeutung zu verknüpfen. Das heißt, wenn du eine überschrift einfügen willst, mache nicht einfach die schrift größer, sondern wähle in LibreOffice die vorlage „Überschrift 1“ oder „Überschrift 2“ und so weiter aus. Wenn du eine fußnote einfügen willst, mache das über menu:Einfügen[Fuß-/Endnote].[3] So weiß das umwandlungsprogramm später, wie das EPUB strukturiert werden soll.
Umwandlung in ein E-book
Füge die ODT-datei in Calibre hinzu, indem du menu:Bücher hinzufügen[Füge Bücher aus einem Ordner hinzu] auswählst. Das menü erreichst du über den kleinen pfeil neben dem grünen icon ganz links. Nun klicke mit der rechten maustaste auf das buch und dann menu:Bücher konvertieren[Einzeln konvertieren]. Stelle sicher, dass als zielformat „EPUB“ ausgewählt ist und ergänze die metadaten auf der rechten seite. Wenn der umwandlungsprozess abgeschlossen ist, klicke mit der rechten maustaste auf das buch und wähle menu:Buch bearbeiten[] aus. Klicke im editor auf menu:Werkzeuge[Buchstrukturen upgraden] und im folgenden dialog auf btn:[Behalte NCX]. Das ist nötig, um kompatibel mit alten lesegeräten zu bleiben.
XHTML und CSS aufräumen
Lösche alle CSS-dateien. Nun klicke auf das käfer-icon in der werkzeugleiste oder menu:Werkzeuge[Check book]. Du wirst einen haufen fehlermeldungen wegen den fehlenden CSS-dateien kriegen. Klicke auf der rechten seite auf „Alle behebbaren Fehler automatisch zu korrigieren versuchen“. Die verweise auf die CSS-dateien sind nun entfernt.
Als nächstes löschen wir alle überflüssigen sachen, die Calibre uns in die
XHTML-dateien geklatscht hat. Öffne dazu eine beliebige XHTML-datei. Nun klicke
auf menu:Suchen[Suchen/Ersetzen]. Schreibe in das Suchen-feld
id="calibre_pb_[0-9]+"
(beachte das leerzeichen am anfang) und lasse das
Ersetzen-feld leer. Stelle den Modus auf „Regex“ und wähle rechts daneben
„Alle Textdateien“ aus. Nun klicke auf btn:[Alle ersetzen]. Wiederhole das ganze
mit folgenden werten im „Suchen“-feld:
-
class="calibre[0-9]*"
-
class="p-[^"]+"
-
<a id="anchor[0-9]+"></a>
Tipp
|
Wenn du mehr über reguläre ausdrücke (auch „regex“ genannt) erfahren möchtest, schaue mal bei https://www.keycdn.com/support/regex-cheatsheet (englisch) vorbei. |
Nun ersetzen wir alle vorkommen von:
-
xmlns:epub="http://www.idpf.org/2007/ops">
mit
xmlns:epub="http://www.idpf.org/2007/ops" lang="de" xml:lang="de">
-
<title>Unbekannt</title>
mit
<title>Dein Titel</title>
-
<sup><a href="([^"])#" class="citation" id="[^"]">()</a></sup>
mit
<sup id="fn\2-backlink"><a epub:type="noteref" role="doc-noteref" href="\1#fn\2">\2</a></sup>
-
<dt id="footnote-([0-9])">[<a href="([^"])#[^"]">←1</a>\]</dt>\s+<dd>(.)</dd>
mit
<li epub:type="endnote" id="fn\1">\3<a href="\2#fn\1-backlink">←</a></li>
-
<dl class="notes">
mit
<section epub:type="endnotes" role="doc-endnotes" class="fussnoten">\n<ol>
Und dann in der datei mit den „Anmerkungen“ (normalerweise die letzte) das
</dl>
ganz unten mit <ol></section>
ersetzen.
Um handarbeit kommen wir nicht herum
Wir öffnen jetzt die titelseite (üblicherweise index_split_000.xhtml
) und
geben dem titel und untertitel IDs, damit wir sie per CSS stylen
können. Anschließend packen wir beide in eine section mit
epub:type="titlepage"
ein.
<?xml version='1.0' encoding='utf-8'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" lang="de" xml:lang="de">
<head>
<title>Das Testbuch</title>
</head>
<body>
<section epub:type="titlepage" aria-label="Titel">
<p id="titel" epub:type="title">Das Testbuch</p>
<p id="untertitel" epub:type="subtitle">Ein Beispieldokument für eine E-book-Anleitung</p>
</section>
</body>
</html>
Die möglichen werte für epub:type
kannst du in EPUB
3 Structural Semantics Vocabulary (englisch) nachlesen. Was es mit aria-label
auf sich hat, erfährst du in EPUB Semantics, ARIA Roles, &
Metadata (englisch).
Gehe nun alle dateien nacheinander durch, und gebe jeder überschrift eine
eindeutige ID. Zum beispiel „kapitel1“ für das erste kapitel und „kapitel1_1“
für das erste unterkapitel des ersten kapitels. Nun packe jedes kapitel in eine
section mit epub:type="chapter"
und role="doc-chapter"
ein. Das attribut
aria-labelledby
setzen wir auf die ID der kapitelüberschrift. Das machen wir,
damit assistenztechnologien einen besseren überblick anbieten
können[4].
<?xml version='1.0' encoding='utf-8'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" lang="de" xml:lang="de">
<head>
<title>Das Testbuch</title>
</head>
<body>
<section epub:type="chapter" role="doc-chapter" aria-labelledby="kapitel2">
<h1 id="kapitel2">Zweites Kapitel</h1>
<section epub:type="chapter" role="doc-chapter" aria-labelledby="kapitel2_1">
<h2 id="kapitel2_1">Unterkapitel des zweiten Kapitels</h2>
<p>Lorem ipsum dolor sit amet, […]</p>
<section epub:type="chapter" role="doc-chapter" aria-labelledby="kapitel2_1_1">
<h3 id="kapitel2_1_1">Unterkapitel des Unterkapitels des zweiten Kapitels</h3>
<p>Lorem ipsum dolor sit amet, […]</p>
</section>
</section>
</section>
</body>
</html>
Tipp
|
Für manche elemente gibt es besser passende epub:type s und/oder
role s. Zum beispiel könnte eine einleitung mit „introduction“ und
„doc-introduction“ markiert werden. Siehe die
EPUB Type to ARIA Role Authoring Guide
(englisch) für weitergehende informationen.
|
Neues CSS schreiben
Beispieldateien
-
LibreOffice: buch.odt
-
Kann mit
ebook-convert buch.odt buch.epub
oder in der GUI von Calibre umgewandelt werden.
-
-
AsciiDoc: buch.adoc
-
Kann mit
asciidoctor-epub3 -o buch.epub buch.adoc
umgewandelt werden.
-
-
Org: buch.org
-
Kann mit
pandoc -o buch.epub buch.org
umgewandelt werden.
-
-
MarkDown: buch.md
-
Kann mit
pandoc -o buch.epub buch.md
umgewandelt werden.
-