View Single Post
Old 03-12-2013, 08:06 AM   #265
mmat1
Berti
mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.mmat1 ought to be getting tired of karma fortunes by now.
 
mmat1's Avatar
 
Posts: 1,196
Karma: 4985964
Join Date: Jan 2012
Location: Zischebattem
Device: Acer Lumiread
Quote:
Originally Posted by pynch View Post
Also gut, hier eine kurze Kurzbeschreibung, die nur andeutet und keineswegs ausreichend erklärt, wie die Schritte aussehen, die sich an die Durchnummerierung anschließen:

Nach der Rückersetzung dürfte es im Code ungefähr folgendermaßen aussehen (das class="footnote" ist weg, weil für das Funktionieren dieses Workarounds <span>s ausschließlich für Fußnoten verwendet werden dürfen):

<p>Text Text Text<span id="sigil_toc_id_25">Fußnotentext</span> Text.</p>

Daraus wird mit Regex (<span id="sigil_toc_id_(.*?)"> ersetzen durch <sup><a>\1</a></sup><span id="\1">) das hier:

<p>Text Text Text<sup><a>25</a></sup><span id="25">Fußnotentext</span> Text.</p>

Jetzt dupliziert man die html-Datei, um dann aus der ersten html-Datei den Fußnotentext rauszuwerfen (mit <span(.*?)</span>. Diese enthält dann nur noch den Buchtext mit Fußnotenzeichen, die einfach mit Regex zu Links werden.

Aus der zweiten Datei muss man mit Regex alles löschen, was nicht Teil der Fußnotentext-<span>s ist. Das geht nur mit mehreren Schritten, die ich jetzt nicht genauer erklären möchte, weil ich auf die Schnelle etwas vergessen könnte, was das Dokument ruiniert. Wenn diese erledigt sind, lassen sich Fußnoten auch wieder mit Regex einfach verlinken.

Bei diesem Verfahren ist zu beachten, dass man nicht dauernd zwischenspeichern darf, echte Überschriften-IDs vor dem Procedere umbenannt werden müssen, damit eine bei 1 beginnende Fußnotenzählung ohne Lücken rauskommt und noch diverse weitere Dinge, die ich, wenn’s akut wird, gerne ausführlicher darstellen kann.

Etwas klarer geworden, Doitsu?
Ich würde das so machen:

Erstmal alle echten Überschriften in etwas umbauen, das später unschwer wieder zurückgebaut werden kann:

<h(\d)>Überschrift</h\1> --> <p class"h\1">Überschrift</p>

Danach alle Fussnoten in h1 konvertieren.

<span class="footnote">Für die Füsse</span> --> <h1>Für die Füsse</h1>

Jetzt das Inhaltsverzeichnis gernerieren, die Fussnoten sollten nun hübsch in einer fortlaufenden Folge durchnumeriert sein.

Danach ein sogenanntes Inline-Toc generieren, das lässt sich später einfach in die Fussnotenseite konvertieren und die Referenz auf die Quelldatei ist auch gleich mit drin (Ein Epub besteht ja meist aus mehreren Dateien).

Aus den <h1> werden dann Links gebastelt

Und zum Schluss die <p class="h?"> wieder zurück in richtige Überschriften.

Ist das Vorgehen nachvollziehbar ?

mmat1 is offline   Reply With Quote