From bf7aee663a2d9d1f5ac8e883ed31954a01888ec3 Mon Sep 17 00:00:00 2001 From: tastytea Date: Tue, 27 Jul 2021 21:25:57 +0200 Subject: [PATCH] =?UTF-8?q?E-books=20erstellen:=20Noch=20mehr=20aufr=C3=A4?= =?UTF-8?q?umen,=20sections.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ooks erstellen schritt für schritt.de.adoc | 127 ++++++++++++++++-- 1 file changed, 113 insertions(+), 14 deletions(-) diff --git a/content/posts/E-books erstellen schritt für schritt.de.adoc b/content/posts/E-books erstellen schritt für schritt.de.adoc index 1bfc3f5..33a7a9a 100644 --- a/content/posts/E-books erstellen schritt für schritt.de.adoc +++ b/content/posts/E-books erstellen schritt für schritt.de.adoc @@ -11,11 +11,6 @@ tags: toc: true --- -:source-highlighter: pygments -:idprefix: -:experimental: true -:toc: -:toclevels: 2 :note-caption: pass:[Anm.] :tip-caption: Tipp :important-caption: Wichtig @@ -35,6 +30,13 @@ toc: true :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 @@ -51,10 +53,11 @@ 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. +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 +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. @@ -66,10 +69,11 @@ 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 MarkDown -sind geeignetfootnote:[Um Org oder MarkDown in ein e-book zu verwandeln, wird -link:{url-pandoc}[pandoc] benötigt.]. Beispieldateien für LibreOffice, AsciiDoc, -Org und MarkDown finden sich link:#beispieldateien[am ende des posts]. +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 @@ -109,14 +113,109 @@ __Ersetzen__-feld leer. Stelle den _Modus_ auf „Regex“ und wähle rechts dan „Alle Textdateien“ aus. Nun klicke auf btn:[Alle ersetzen]. Wiederhole das ganze mit folgenden werten im „Suchen“-feld: -* ` class="calibre[0-9]*"` -* ` class="p-[^"]+"` -* `` +- ` 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