--- 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 --- :note-caption: pass:[Anm.] :tip-caption: Tipp :important-caption: Wichtig :caution-caption: Vorsicht :warning-caption: Warnung :url-EPUB: https://de.wikipedia.org/wiki/EPUB :url-xhtml: https://de.wikibooks.org/wiki/Websiteentwicklung:_XHTML :url-css: https://de.wikibooks.org/wiki/Websiteentwicklung:_CSS :url-libreoffice: https://de.libreoffice.org/ :url-gedit: https://wiki.gnome.org/Apps/Gedit :url-kate: https://kate-editor.org/de/ :url-calibre: https://calibre-ebook.com/ :url-sigil: https://sigil-ebook.com/sigil/ :url-odt: https://de.wikipedia.org/wiki/OpenDocument :url-asciidoctor-epub3: https://asciidoctor.org/docs/asciidoctor-epub3/ :url-pandoc: https://pandoc.org/ :url-libreoffice-handbuch: https://de.libreoffice.org/get-help/documentation/ :url-regex: https://www.keycdn.com/support/regex-cheatsheet :url-epub-structure: https://idpf.github.io/epub-vocabs/structure/ :url-aria-roles: https://www.accessiblepublishing.ca/epub-semantic-aria-roles/#ARIA :url-epub-aria: https://idpf.github.io/epub-guides/epub-aria-authoring/ // Die suchen/ersetzen liste sieht sonst scheußlich aus. [pass] 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 link:{url-epub}[EPUB] 3 e-book. Ich freue mich über kritik und verbesserungsvorschläge. Vorraussetzungen zum mitmachen sind grundlegende kenntnisse in link:{url-xhtml}[XHTML] und link:{url-css}[CSS]. Benötigte programme sind ein textverabeitungsprogramm deiner wahl (zum beispiel link:{url-libreoffice}[LibreOffice], link:{url-gedit}[gedit] oder link:{url-kate}[Kate]) und entweder link:{url-calibre}[Calibre] oder link:{url-sigil}[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. [NOTE] 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. link:{url-odt}[ODT]-dateien (Wie sie LibreOffice schreibt) eignen sich gut. Aber auch reine textformate wie AsciiDocfootnote:[Um AsciiDoc in ein e-book umzuwandeln, wird link:{url-asciidoctor-epub3}[asciidoctor-epub3] benötigt.], Org oder MarkDownfootnote:[Um Org oder MarkDown in ein e-book zu verwandeln, wird link:{url-pandoc}[pandoc] benötigt.] sind geeignet. Beispieldateien für LibreOffice, AsciiDoc, Org und MarkDown finden sich link:#beispieldateien[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].footnote:[Näheres kannst du im link:{url-libreoffice-handbuch}[handbuch von LibreOffice] nachlesen.] 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-[^"]+"` - `` [TIP] Wenn du mehr über reguläre ausdrücke (auch „regex“ genannt) erfahren möchtest, schaue mal bei link:{url-regex}[] (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">` - `Unbekannt` mit + `Dein Titel` - `+([0-9]+)+` mit + `\2` - `+
\[←1\]
\s+
(.+)
+` mit + `+
  • \3
  • +` - `
    ` mit + `
    \n
      ` Und dann in der datei mit den „Anmerkungen“ (normalerweise die letzte) das `
    ` ganz unten mit `
      ` ersetzen. // TODO: Erklärungen für ersetzungen. === 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. .Das ganze sollte dann ungefähr so aussehen: [source,html] -------------------------------------------------------------------------------- Das Testbuch

      Das Testbuch

      Ein Beispieldokument für eine E-book-Anleitung

      -------------------------------------------------------------------------------- Die möglichen werte für `epub:type` kannst du in link:{url-epub-structure}[EPUB 3 Structural Semantics Vocabulary] (englisch) nachlesen. Was es mit `aria-label` auf sich hat, erfährst du in link:{url-aria-roles}[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önnenfootnote:[link:{url-epub-aria}#sec-hd[EPUB Type to ARIA Role Authoring Guide, sektion „Supply Labels“ (englisch)]]. .Beispieldatei mit den richtigen _section_-attributen: [source,html] -------------------------------------------------------------------------------- Das Testbuch

      Zweites Kapitel

      Unterkapitel des zweiten Kapitels

      Lorem ipsum dolor sit amet, […]

      Unterkapitel des Unterkapitels des zweiten Kapitels

      Lorem ipsum dolor sit amet, […]

      -------------------------------------------------------------------------------- [TIP] 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 link:{url-epub-aria}#sec-mappings[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` 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. // Local Variables: // ispell-local-dictionary: "de_DE" // End: