Willkommen

Navigation


Statistik
8280
Benutzer online
Mitglieder: 1.852.427
Themen: 670.142
Beiträge: 4.119.937

 
Antwort Themen-Optionen
Alt 06.12.10, 02:02   #1 (Permalink)
Benutzerbild von Kincaid
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

Da ich jetzt schon länger Zeit erfolglos auf der Suche nach ordentlichen Büchern im ePub Format bin habe ich mich jetzt mal schlau gemacht wie man ein PDF einigermassen zufriedenstellend in ePub umwandelnt. Ich bin dabei auf den PDF to ePub Converter gestoßen der schon ganz annehmbare ePub Dateien erzeugt. Ein großes Problem dabei ist aber das dieses Tool für jede Seite im PDF ein eigenes Kapitel erstellt, das stört mich, ich kann aber auch keine Einstellung finden um das zu ändern. Jetzt wollte ich also mit Sigil das ePub bearbeiten, Fehler im Text lassen sich auch ganz leicht korrigieren, bei den Kapiteln wirds allerdings schwieriger. Ich dachte eigentlich es wäre kein Problem mehrere Kapitel zu markieren und zu einem zusammenzufügen, das kann Sigil aber nicht. Ich kann immer nur ein Kapitel mit dem vorherigen zusammenfügen, das heißt also in meinem Fall muss ich etwa 350 mal zuerst mit rechts- dann auf "merge with previous" klicken, ziemlich mühsam und es dauert auch jedesmal ein paar Sekunden. Gibt es keine schnelle Möglichkeit einfach alle Kapitel zu entfernen und eigene einzufügen?

Mit Zitat antworten Beitrag melden
   

Download 06.12.10, 02:02   Top
Mitglied seit: Dec 2009
Beiträge: 92
GulliBZ
Member
 
Kapitel in ePub zusammenführen

~ DOWNLOAD ~

Kapitel in ePub zusammenführen

Status: Bild anzeigen



Alt 06.12.10, 07:10   #2 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Das gepinnte Tutorial hier im Unterforum hast du gelesen? Überdenk deine Methode.

Mit Zitat antworten Beitrag melden
   
Alt 06.12.10, 23:03   #3 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

Danke, hab mir das Tutorial angeschaut und das Buch nochmal komplett von PDF zu ePub konvertiert, und zwar nach der Zeitintensiven Anleitung. Hat bis auf ein paar Dinge ganz gut geklappt. Den Teil mit dem ersetzen in Sigil hab ich nich wirklich verstanden und das ging auch nicht wirklich gut. Hab das genau nach Anleitung gemacht und trotzdem nach jeder Überschrift einen Absatz im selben Font wie die Überschrift bekommen, musste das dann nochmal von Hand ändern.

Ich will das ganze ja per Stanza auf dem iPod Touch lesen, wie mach ich denn dann das mit dem Inhaltsverzeichnis am besten? Ich hab bei den Kapiteln Chapter Breaks eingefügt und die Dateien die dadurch entstanden sind ordentlich benannt und Tags vergeben (Cover, Table of Content...) in Stanza hab ich kein Inhaltsverzeichnis. Was muss ich noch machen?

Edit: Beim zweiten Versuch mit einem anderen Buch hab ich ein neues Problem. Wenn ich wie in Schritt 10 die regular expressions ersetze findet der Finereader keine Übereinstimmung:

[ BILD ANZEIGEN ] [?]

Mein Fließtextfont ist Font3, also müsste es doch eigentlich klappen ohne was zu ändern, oder?

Geändert von Kincaid (07.12.10 um 00:15 Uhr).
Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 11:25   #4 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Ein Inhaltverzeichnis erstellst du indem du in Sigil die Überschriften in einen <h2></h2> oder <h3></h3> Tag setzt.

Dh. in die Quellcode-Ansicht wechseln und die p's aus den <p></p> Tags der Überschriften in h2 oder h3 umändern. h2 wäre eine Überschrift erster Ordnung, h3 eine Überschrift zweiter Ordnung (eingerückt im Inhaltsverzeichnis), usw. Wie das Inhaltsverzeichnis am Ende aussieht, kannst du unter Tools/TOC nachprüfen.

Die Regular Expressions sind so geschrieben, dass sie nach Möglichkeit die Überschriften nicht in den Zusammenführungsprozess von Paragraphen ohne Satzendzeichen miteinbinden. Es gibt jedoch keine gangbare Möglichkeit längere Überschriften automatisiert beispielsweise von sonderformatierten Absätzen zu unterscheiden.

Bei letzteren soll die Zusammenführungsregex greifen, bei ersteren nicht.

In den Regex treffe ich daher eine Unterscheidung nach der Länge einer potentiellen Überschrift (sind die Zahlen in den geschwungenen Klammern). Die Regex die im Beitrag steht ist sozusagen auf Kompromissbasis geschrieben und nimmt eine Abwägung vor, was noch als Überschrift zu sehen, und was bereits als Paragraph handzuhaben ist.

Jedes Buch ist anders. Wenn eine der beiden oder beide Regex nicht greifen hast du nur die Option sie etwas zu modifizieren, sodass sie greifen. Dazu musst du lernen was sie genau bewirken. Wie sie genau aufgebaut sind.

"Ich hab nicht genau verstanden, was die tun" ist keine Option, das ist Resignation. Wenn du Fragen hast, stell Fragen. Wenn du nur sagen willst, dass es dir zu kompliziert ist - darf ich dir erklären, dass es nicht einfacher geht. Das ist so - es ist nicht nur einfach dahergesagt.

Es liegt am Problem, und solange nicht noch jemand mit einer komplexeren, aber besseren Formel (einem Algorithmus) daherkommt, wird sich daran auch nichts ändern - die Komplexität des Problems bekommst du nicht kleiner. Leider.

Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 12:06   #5 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

Das mit dem Inhaltsverzeichnis werde ich mal ausprobieren, danke schonmal dafür.

Zitat:
Zitat von notimp Beitrag anzeigen
"Ich hab nicht genau verstanden, was die tun" ist keine Option, das ist Resignation. Wenn du Fragen hast, stell Fragen. Wenn du nur sagen willst, dass es dir zu kompliziert ist - darf ich dir erklären, dass es nicht einfacher geht. Das ist so - es ist nicht nur einfach dahergesagt.
Das sollte keine Resignation sondern eine Feststellung sein. Ich würde gerne verstehen was dort genau passiert, was die Formel bedeutet. Wahrscheinlich wird das aber nicht mal eben in ein paar Minuten abgehandelt sein. Wahrscheinlich wird es zu weit führen kurz zu erklären was die einzelnen Teile bedeuten, wofür zB ( |sgc-\d) oder (\s*|\S*) steht, oder? Woran kann es denn liegen das der erste Absatz nach einer Überschrift bei mir immer auch als Überschrift formatiert wurde?

Bei dem zweiten Buch hatte jedes Kapitel neben der Nummer auch einen Titel, war dann also die Überschrift so lang das sie nicht mehr als Überschrift erkannt wurde und deshalb wurde beim ersetzen nichts gefunden? Du schreibst die Anzahl der Zeichen ist die Zahl in der geschweiften Klammer. Da stehen jeweils zwei Zahlen, was bedeutet die erste und was die zweite? Wie müsste ich die Zahlen ändern damit längere Überschriften auch als solche erkannt werden?

Beim zweiten Buch hatte ich dann auch das Problem das ein paar Kapitel nach dem Importieren in Calibre einfach nicht vorhanden waren, ich musste dann in Sigil das komplette Kapitel kopieren und in das vorherige oder das nächste einfügen. Das kann allerdings daran liegen das ich ein wenig im Quelltext rumgepfuscht habe weil die überschriften teilweise falsch formatiert waren. Kann gut sein das ich da am Quelltext irgendwas kaputt gemacht habe.

Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 13:03   #6 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Gut so. Ich habe mich bisher immer ein wenig dagegen gesträubt noch ein weitere Tutorial zur Formatierung zu schreiben, weil das eben etwas mehr Aufwand bedeutet, als nur einen simplen Leitfaden zu liefern, aber wenn du die Fragen stellst, gebe ich dir die Antworten, und wenn du wo anstehst, sehe ich wo Probleme bestehen, also versuchen wirs mal, vielleicht wird aus dem Beitrag noch ein weiteres Tutorial.

Zuerst zur zweiten Frage. Warum findet im Zweiten Buch weder die erste noch die zweite Regex etwas? Ist der Text der Überschrift zu lang? Atw. Keine Ahnung. Sag dus mir.

Was häufig passiert, wenn der Text der Überschrift lang ist, ist, dass die erste Regex nur wenig bis gar keine Punkte findet die sie ersetzt. Wenn beide nichts finden, weicht der html Aufbau stark von dem ab was ich erwarte, sollte nicht oder nur selten vorkommen. Dann ists aber nicht nur die länge der Überschriften.

Die erste Regex ist nicht destruktiv. Das einzige was sie macht ist, dass sie einen Eintrag im style Tag eines Absatzes verdoppelt. Das hat absolut keine sichtbaren Auswirkungen. Hier kannst du dich also mit den Zahlen in den geschwungenen Klammern spielen wie du es möchtest, das einzige was du dabei machst, ist dass du einige Paragraphen im Quelltext (durch diese Verdopplung) markierst.

Am Ende sind das dann die Absätze die nicht mit den vorhergehenden zusammengelegt werden. Auch wenn die vorhergehenden Absätze am ende kein Satzendzeichen haben.

Dass erste Absätze die Formatierung der Überschrift übernehmen, passiert dadurch, dass sie mit dem Überschriftparagraphen zusammengelegt werden. Hätten die ersten Paragraphen diesen verdoppelten fontZAHL Eintrag vor dem Zusammenlegen bekommen, wären sie nicht mit dem vorhergehenden Paragraphen (hier der Überschrift) zusammengelegt worden.
-

Jetzt zu den einzelnen Teilen der Regex die du angefragt hast.

{1,9} bedeutet der Ausdruck vor dieser Klammer (kann auch ein Klammerausdruck sein, dann aber mit () ) muss 1 bis 9 mal vorkommen.

Bei

{0,9} kann der Ausdruck davor null bis 9 mal vorkommen, dh er muss nicht mal dastehen, aber auch wenn er neunmal hintereinander dasteht, ist das noch ok.
--

| steht für oder, also entweder das was links neben dem strich steht, oder was rechts davon steht.

( |sgc-\d) steht daher für: Alles was in der Klammer ist ist ein Ausdruck. Entweder ein Abstand (Leerzeichen, das ist das direct nach der aufgehenden Klammer), oder ein sgc-\d.

\d steht für irgendeine Zahl. Alle einzelnen Buchstaben vor denen in der Regex ein \ steht sind spezielle "Platzhalter", dh Operatoren die für etwas bestimmtes stehen. \d steht für eine Zahl mit einer Stelle. \d* würde für eine Zahl mit beliebig vielen Stellen stehen. \d{1,4} steht für eine einstellige Zahl, direkt gefolgt von 2-3 weiteren einstelligen Zahlen (1-4 Wiederholungen des Ausdrucks vor der Klammer). Findet daher sowohl 1 als auch 11 als auch 111 als auch 2010.

sgc-\d steht daher für sgc-ZAHL wobei ZAHL eine beliebige einstellige Zahl sein kann. (Anm. Mögliches Fehlerpotention bei Zahlen die zwei oder mehrstellig sind?)

sgc-ZAHL zb sgc-1 wird von Sigil verwendet um Sonderformatierungen zu kennzeichnen. Jedes sgc-ZAHL steht in sigil für eine Sonderformatierung. Für welche genau, siehst du, wenn du in einer html Datei im Quelltext ganz rauf scrollst, dort ist jedes sgc- dann "aufgeschlüsselt", so dass du siehtst, welche Sonderformatierung (zb Kursiv) es trägt.
--

\s steht für ein leeres Zeichen, wobei \s* zum Beispiel auch Absätze "mitnimmt". Dh \s spricht nicht NUR Leerzeichen an. Gemeint sind Absätze im Quelltext, dh, nicht Absätze die du im Endresultat (in der Buchansicht) siehst.

(\s*|\S*) ist ein kleiner Trick. \S steht für alles was nicht \s ist, also alle Zeichen die keine leeren Zeichen sind. * bedeutet, dass sie sich beliebig oft hintereinander wiederholen können. \s*|\S* bedeutet also im Grunde "egal was dort steht", entweder ein leeres Zeichen, oder ein anderes Zeichen, zb. der Buchstabe A, oder ein ?, das sich beliebig oft hintereinander wiederholen kann. \S* Schliesst nicht nur AAA mit ein, sondern zb auch Wort, WORT, oder Word! - Trotzdem ist es keine Endlosschleife, dh nicht alles was im Quelltext danach kommt wird automatisch miteingeschlossen. Warum nicht? Weil \S* nur solange Zeichen einschließt, bis ein leeres Zeichen, zb ein Leerzeichen kommt.

Im Grunde ist (\s*|\S*) also ein Ausdruck, den ich - wenn ich ihm sage wie oft er sich hintereinander wiederholen darf, dazu einsetzen kann Wörter zu "zählen". Nicht exakt, da ich ja nicht weiss, ob er jetzt ein Wort oder ein Leerzeichen zählt, aber schätzungsweise. Ich sage ihm also er soll einen Ausdruck erwarten der maximal, circa so lange ist. Maximal desshalb, da ich ihm danach eine geschwungene Klammer hinsetze die ein Minimum hat, das auch 0 sein kann, aber eben ein Maximum hat, das nur eine bestimmte Anzahl an Wiederholungen zulässt.

Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 13:39   #7 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Für das Verständnis der Regex brauchst du noch zwei weitere Komponenten.

[^AUSDRUCK] steht für "ALLES AUSSER AUSDRUCK"

font[^1] bedeutet also jeder fontZAHL Ausdruck der nicht font1 lautet
-

\1

Kann nur im Ersetzen Feld stehen und bezieht sich auf den ersten Klammerausdruck im Suchen Feld. Da ich den ganzen Suchen Ausdruck eingeklammert habe, und diese Klammer die erste ist, bedeutet \1 hier in der Praxis, all das was du bei Suchen gefunden hast ersetzt du mit sich selbst (= keine Veränderung), und dem was noch im Ersetzen Feld steht.

Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 17:02   #8 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

Erstmal vielen dank dass du dir so viel Zeit nimmst um mir die Funktionsweise zu erklären, das ist in Foren nicht selbstverständlich.

Du hast mich auch etwas missverstanden, die zweite Expression findet was, die Absätze ohne Satzendzeichen werden also zusammengefügt, nur eben auch die Überschriften mit dem ersten Absatz weil die erste Expression nichts findet.

Jetzt möchste ich nochmal wiederholen um sicher zu sein das ich alles richtig verstanden habe:

Zitat:
(<p><span class="font[^3] .... </span></p>
bedeutet erstmal alle Textstellen finden die nicht mit font3 formatiert sind und

Zitat:
\s*<p><span class="font3)">
bedeutet das in der nächsten Zeile im Quelltext eine Textstelle stehen muss die mit font3 formatiert ist.

Zitat:
(<a id="bookmark\d"></a>){0,1}
findet alle bookmark tags, also bookmark1, bookmark2 usw... bookmark darf aber nur maximal einmal vorhanden sein oder gar nicht. Hier habe ich noch eine Frage, wofür ist bookmark, welche Auswirkung hat es wenn es in einem Tag steht?

Zitat:
(\s*|\S*){1,15}
findet alles was 1-15 Wörter UND Leerzeichen lang ist.

Zitat:
Wort1 Wort2
würde als von

Zitat:
(\s*|\S*){1,3}
nicht aber von

Zitat:
(\s*|\S*){1,2}
gefunden werden da das Leerzeichen mitgezählt wird, richtig?

Sind meine Überschriften also zu lang ersetze ich die 15 zb mit einer 20, wird zu viel ersetzt ersetze ich die 15 mit einer 10.

Zitat:
([^(.|?|!|<|>|«|"|:|“)])</span></p>\s*<p><span class="font3">
findet dann also jede Stelle im Text an der am Ende keines der Satzzeichen steht und in der nächsten Zeile im Quelltext hinter class= genau einmal "font3" steht und

Zitat:
\1
ersetzt dann den schliessenden Teil der ersten und den öffnenden Teil (wie nennt man das richtig?) der zweiten Zeile durch das letzte Zeichen im ersten Absatz plus ein einfaches Leerzeichen wodurch beide Absätze zu einem werden. Ist doch eigentlich gar nicht so schwer.

Zitat:
( |sgc-\d){0,3}">
habe ich noch nicht ganz verstanden. Du schreibst zB sgc-1 sagt Sigil das der Text kursiv dargestellt werden soll, oder fett oder was die 1 eben bedeutet. Du schreibst auch das man jedes sgc aufgeschlüsselt in der html Datei sehen kann. Wo genau? Im head-teil? Mein head-teil sieht wie folgt aus:

Zitat:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="ABBYY FineReader 10" name="generator" />
<meta content="William Gibson" name="author" />

<title>Neuromancer</title>
<link href="../Styles/Neuromancer%20-%20William%20Gibson_cropped.css" rel="stylesheet" type="text/css" />
</head>
Keine Spur von sgc, auch im restlichen Quellcode nicht.


Ich denke prinzipiell habe ich verstanden wie es funktioniert, trotzdem kann ich nicht nachvollziehen warum bei mir der erste Ausdruck nicht gefunden wird. Hier mal ein Teil aus meinem Quelltext:

Code:
<p><span class="font4" style="font-weight:bold;">1 Startschuß</span></p> <p><span class="font3">Sie setzten in New Delhi einen Knallfrosch auf Turner an, der auf seine Pheromone und seine Haarfarbe programmiert war. In einer Straße, die Chandni Chauk hieß, holte er Turner ein und kam durch einen Wald nackter brauner Beine und Rikscharäder zu seinem gemieteten BMW gekrochen. Sein Kern war ein Kilo rekristallisiertes Hexogen und Blättchen-TNT.</span></p> <p><span class="font3">Turner sah ihn nicht kommen. Das letzte, was er von Indien sah, war die rosa Stuckfassade eines gewissen Khush-Oil Hotels.</span></p>
Müsste die erste Zeile hier nicht die Kriterien treffen? Der font ist nicht 3, sgc und bookmark sind optional und es sind 2 Wörter und ein Leerzeichen vorhanden. In der nächsten Zeile steht auch font3. Trotzdem meldet Sigil das kein Treffer gefunden wurde.

Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 17:39   #9 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Ok, zu deinen Fragen.

\1 steht für "die erste Klammer in der Suchen Zeile", da ich die ganze Zeile einklammere - steht es für die Ergebnisse der ganzen Suchen Zeile. Dh. mit der Formel in der Suchen Zeile suche ich nach allen Stellen im Text, die bestimte Kriterien erfüllen, mit \1 ersetze ich sie (da in der ersetzen Zeile) exakt wieder durch sich selbst. Dh auch wenn die konkreten Suchergebnisse unterschiedlich sind (es sind andere Sätze, andere Überschriften), ersetzt \1 die gefundenen Textpassagen wieder jeweils durch sich selbst.

Würde in der Zeile also nur \1 stehen, würde garnichts passieren. Aber ich ersetze andere Teile, die nach den Teilen kommen, die ich gezielt suche.

Der Bookmark tag steht manchmal in einem Text bei einer Überschrift, wenn diese Überschrift im pdf Dokument bereits Teil eines Inhaltsverzeichnisses war, und Finereader diesen "Link" bei der Umwandlung auch erkennt. Dann verpasst er der Überschrift einen bookmark tag. Passiert nicht immer, aber manchmal. Daher 0,1

Das sgc-ZAHL steht normalerweise ein bischen weiter unten im html code, aber nur ein bischen weiter unten. Und es ist eine besonderheit von Sigil, die erst auftaucht, wen Sigil das erste mal html Tidy (eine Formel die den Quelltext besser und richtig strukturiert) durchlaufen lässt. Das ist an dieser Stelle allerdings zu viel Information. Tidy läuft in Sigil automatisch bei jedem wechseln der Ansicht, dh sobald du den Quelltext das erste mal siehst, sollte es bereits einmal drübergelaufen sein. Es sei denn du hast es deaktiviert (Icon gaaaanz rechts in Sigil, Option ist mit der letzten Version dazugekommen).

Wenn du keinen einzigen sgc-ZAHL Eintrag siehst, kann das daher rühren, dass es im ganzen html Text keine einzige Sonderformatierung gibt - die nicht bereits im Stylesheet definiert ist. Ist selten, kann aber vorkommen.

In jedem Text in dem du ein sgc-ZAHL siehst, siehst du am Anfang der html auch eine Auflistung wofür die einzelnen sgc Elemente stehen.

Wenn du testweise einmal ein sgc-ZAHL Element erstellen möchtest, geh in die Buchansicht und formatiere einen Satz als Blocksatz, oder als rechtsbündig, oder als zentriert, ... und wechsel dann wieder in die html Ansicht (html tidy muss aktiviert sein).

Der Rest stimmt.
--

Konkret zu deinem Quelltext:

font-weight: bold ist eine Sonderformatierung und sie sollte eigentlich ein sgc-ZAHL Zeichen bekommen (durch eines ersetzt werden). Sicher, dass du html tidy nicht deaktiviert hast?

Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 17:47   #10 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Anm. an mich selbst. Dass ich mit sgc-ZAHL tags arbeite und nicht mit den konkreten Sonderformatierungen die im text stehen, bevor Sigil mit html tidy drüberbügelt, rührt noch daher, dass es in Sigil bis vor kurzem keine Option gab das zu deaktivieren.

sgc-ZAHL hat den Nachteil, dass ich damit mehr generalisiere, als wenn ich zB nur nach "fetten" Einträgen suchen würde. Ich könnte überlegen die Paragraphen nach einer Überschrift mit dem verdoppelten fontZAHL Eintrag zu markieren, bevor tidy das erste Mal über den Text läuft. Das würde es vielleicht möglich machen Überschriften einfacher zu identifizieren.

ABER

Leider weiß ich aus Erfahrung, dass Finereader nicht immer alle Überschriften gleich formatiert, selbst wenn sie die gleiche Formatierung haben sollten. Außerdem wäre es komplexer einzeln zu erklären, wonach man in einem Buch genau sucht. Man sucht nach Sonderformatierungen (eben sgc-ZAHL) in Absätzen die nur eine bestimmte länge haben. Eben nach sgc-ZAHL.

Ich muss mir in der Praxis anschauen, ob die neue "mögliche Methode" (zuerst ohne tidy) Sinn macht... Aktuell denke ich eher dass nicht...

Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 18:20   #11 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Was die beiden RegEx genau machen:

(<p><span class="font[^1]( |sgc-\d){0,3}">(<a id="bookmark\d"></a>){0,1}(\s*|\S*){1,15}</span></p>\s*<p><span class="font1)">
replacewith
\1 font1">

Sucht nach: Einem Paragraphen (<p>) der nicht die Formatierung fontZAHLDESHAUPTTEXTTEILS hat, der 0-3 sgc-ZAHL Einträge hat, die für eine Sonderformatierung stehen, der einen Bookmark Tag haben kann, oder nicht - und der in etwa 15 Worte und/oder Leere Zeichen hat, gerne auch weniger, aber nicht mehr. Der danach geschlossen wird. Und auf den ein weiterer Paragraph folgt, der die font des Haupttextteils trägt.

Ergo die erste Regex sucht nach Überschriften, auf die sofort ein Haupttexteil folgt.

Die erste Klammer wird allerdings nicht am Ende der Zeile, sondern noch vor "> geschlossen, dh, beim Ersetzungsprozess mit \1 fällt "> schon mal weg. (Die behauptung dass ich den Ganzen Ausdruck einklammere, war also falsch, mein Fehler, es ist nur "fast der ganze".)

Was dazukommt ist: fontZAHLDESHAUPTTEXTTEILS"> , damit verdoppelt sich der font Eintrag (hier font1) im ersten Paragraphen nach einer Überschrift, und der Tag wird mit "> wieder geschlossen.
-

Sinn: Markieren von Paragraphen mit Haupttextteilschrift dirrekt nach potentiellen Überschriften durch das verdoppeln des fontZAHLDESHAUPTTEXTTEILS Eintrags.
----

([^(.|?|!|<|>|«|"|:|“)])</span></p>\s*<p><span class="font1">
replacewith
\1LEERZEICHEN

Sucht nach allen Paragraphen die KEIN gültiges Satzendzeichen haben, die dort aber trotzdem schon aufhören und nach denen ein gültiger neuer Paragraph mit Haupttextteilformatierung beginnt.

Und ersetzt das letze Zeichen dieses Paragraphen (das kein Satzendzeichen ist, aber es ist nichts desto trotz ein Zeichen) wieder durch sich selbst (\1), gefolgt von einem Leerzeichen. Das Ende ders ersten und der Anfang des neuen Paragraphen (nur die tags, kein Inhalt) werden dadurch gelöscht (\1 ersetzt ihn hier NICHT durch sich selbst, dh er fällt beim Ersetzen weg), wodurch die beiden Paragraphen zusammengelegt werden. Das Leerzeichen brauchts, damit das Letze Wort des ersten Paragraphen und das erste Wort des zweiten Paragraphen nicht aufeinanderkleben.

Diese zweite Regex trifft KEINE hier zweiten Paragraphen bei denen der fontZAHLDESHAUPTTEXTZEILS Eintrag verdoppelt wurde, weil gezielt nur nach <p><span class="font1"> gesucht wird. (Und nicht nach <p><span class="font1 font1">)

\s* braucht es, weil im Quellcode an dieser Stelle ein Zeilenumbruch steht. Dieser Zeilenumbruch existiert in der Buchansicht NICHT für den Zeilenumbruch in der Buchansicht ist das beginnen eines neuen <p> Tags verantwortlich. Dh auch <p>erstertext</p><p>undochwas</p> würde in der Buchansicht, dem htmlstandard konform als zwei Paragraphen mit einem Zeilenumbruch dazwischen angezeigt werden.

Der Zeilenumbruch lässt sich später über den Stylesheet auch auf 0px höhe definieren, wodurch er sichtbar verschwindet, aber das ist KOMPLETT WAS ANDERES, und da sind wir dann bereits in der Formatierung des Fließtexts mittels Stylesheet. Anderer Beitrag, auch im Tutorialthread vorhanden.

Geändert von notimp (07.12.10 um 18:39 Uhr).
Mit Zitat antworten Beitrag melden
Danke
1 Benutzer
   
Alt 07.12.10, 18:54   #12 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Achja, und wenn dus noch nicht machst, wenn du eine RegEx erstellst, oder modifizierst, arbeite zuerst mit Suche (strg+F) und nicht mit Ersetzen, dann siehst du was eine RegEx findet. Macht das Verstehen einfacher.

Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 18:55   #13 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

Okay, vielen Dank nochmal. Denke damit hab ich das wichtigste verstanden und kann mit meinen konkreten Fall nochmal genauer anschauen. Melde mich dann wieder wenn die nächsten Fragen auftauchen.

Zitat:
Achja, und wenn dus noch nicht machst, wenn du eine RegEx erstellst, oder modifizierst, arbeite zuerst mit Suche (strg+F) und nicht mit Ersetzen, dann siehst du was eine RegEx findet. Macht das Verstehen einfacher.
Hab ich probiert, hat halt nur nix gefunden, deshalb hats mir nich wirklich geholfen.

Mit Zitat antworten Beitrag melden
   
Alt 07.12.10, 19:01   #14 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Sicherstellen, dass Regular Expressions aktiviert ist. Wenn aber kein sgc-ZAHL im Quelltext ist, anstelle dessen aber etwas was ich dort nicht erwarte, ist es klar, dass die RegEx nicht funktioniert.

Sag mir Bescheid, ob dir die sgc Einträge auch bei anderen pdfs fehlen, ob das deaktivieren von Tidy daran schuld war, oder ob du die Regex umschreiben musstest.

lg

notimp

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 01:55   #15 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

Tidy war tatsächlich deaktiviert, jetzt nach dem aktivieren sehe ich es auch.

Ich habe jetzt das erste Buch nochmal komplett neu bearbeitet, angefangen beim croppen. Hier kann jetzt auch wieder nichts gefunden werden, siehe den angehängten Screenshot.

[ BILD ANZEIGEN ] [?]

Auf dem Screenshot kannst du auch sehen das im Ersetzen-Fenster alles so eingestellt ist wie in deinem Tutorial, bis auf die Richtungsoption, ich habe aber Up, Down und All probiert, immer mit dem selben Ergebnis. Ich kanns mir echt nich erklären. Zeile 65 muss doch eigentlich als Überschrift erkannt werden.

Jetzt hab ich mal ein wenig mit der Expression rumgespielt bis mal was gefunden wurde (mit "Find next", nicht mit "Replace All"). Dazu nochmal ein Screenshot:

[ BILD ANZEIGEN ] [?]

Das seltsame ist, wenn ich ein komplette Zeile aus dem Quellcode kopiere und in das "Find what:" Feld einfüge wird immer noch nichts gefunden. Das oben auf dem Screenshot ist das einzige bei dem überhaupt irgendwas gefunden wurde, und das obwohl er ja gerade das nicht markieren sollte. In der Expression steht ja font[^4], der font in dieser Zeile ist aber 4. Ausserdem werden genau die letzten 15 Wörter, bzw Leerzeichen markiert obwohl doch eigentlich nur die Zeilen gefunden werden sollen in denen maximal 15 Wörter/Leerzeichen stehen.



Jetzt verstehe ich allerdings gar nichts mehr. Ich habe die 15 gegen eine 2 ersetzt, damit wurden die Stellen korrekt gefunden. Danach bin ich Stück für Stück wieder hoch gegangen und jetzt wird mit 15 auch was gefunden. Jetzt klappt es plötzlich.

[ BILD ANZEIGEN ] [?]

Ich sehe keinen Unterschied zu der Expression in screen2

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 02:26   #16 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

So langsam steige ich aber tatsächlich durch, zumindest hab ich die Regular Expressions schon soweit verstanden das ich eine eigene Schreiben konnte um die Überschriften als Kapitel für das Inhaltsverzeichnis taggen zu können.

Dazu habe ich aber auch nochmal eine Frage: Das Buch ist eingeteilt in Teile und die Teile sind nochmal eingeteilt in Kapitel. Die Teile habe ich mit <h2> getaggt, die Kapitel mit <h3>. Das Problem dabei ist aber das die Teile wie folgt Überschrieben sind:

Zitat:
Erster Teil
Chiba City Blues
Die Überschrift besteht also aus zwei Zeilen die ich jeweils als <h2> getaggt habe. Das ist aber im Inhaltsverzeichnis etwas unschön da dort ja jetzt "Erster Teil" und "Chiba City Blues" als zwei Punkte im Inhaltsverzeichnis dargestellt werden. Ich könnte natürlich einfach beides zusammen in einen h2-Tag schreiben, kann ich aber dann trotzdem noch den Zeilenumbruch im Buch behalten?

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 07:26   #17 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

@Kincaid: Solange es funktioniert ist gut. MIt der 15 runtergehen musst du nie. Wenn dann musst du raufgehen, hast aber das Problem, dass dann eventuell mehr Paragraphen als nur die ersten nach Überschriften durch die Verdopplung definiert werden.

Bezüglich der Regular Expression die plötzlich nicht gegriffen hat. Es reicht hier aus, wenn du am Ende ein Leerzeichen zuviel in der RegEx hast, das du vielleicht nicht einmal siehst, und sie greift nicht mehr. Vielleicht wars das..

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 07:28   #18 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

@soulipsist: Danke, auf die Idee mit dem Alternativtext bin ich bisher noch nicht gekommen.

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 07:30   #19 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Zum Verständnis, Tidy kannst du zwischendurch wieder deaktivieren, es muss nur am Anfang, beim ersten Wechseln der Ansichten Aktiv sein, damit Sigil die sgc-ZAHL Tags setzt.

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 13:26   #20 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

Danke für den Tipp mit dem Alternativtext, ist ja auch hilfreich bei Seiten die nur aus Bildern bestehen, Inhaltsverzeichnisse zb. Ist auch für mein Problem sehr gut weil ich dann, wie im original Buch, die beiden Zeilen unterschiedlich Formatieren kann. "Chiba City Blues" steht dann ohne den h2-Tag in der nächsten Zeile, im Inhaltsverzeichnis stehts aber trotzdem dabei.

Das mit dem Zeilenumbruch hätte ich natürlich auch einfach mal ausprobieren können, ist ja im Grunde auch nur einfaches html, da kenne ich mich ein klein wenig aus.

Zitat:
Zitat von notimp
@Kincaid: Solange es funktioniert ist gut. MIt der 15 runtergehen musst du nie. Wenn dann musst du raufgehen, hast aber das Problem, dass dann eventuell mehr Paragraphen als nur die ersten nach Überschriften durch die Verdopplung definiert werden.
Mich hats halt irritiert das er die letzten 15 Wörter/Leerzeichen eines Absatzes markiert hat, dachte vllt findet er aus irgendeinem Grund nur Absätze mit mehr als 15. Ist zwar nicht logisch aber hat mich ja dann am Ende doch zur Lösung des Problems gebracht, bzw ist das Problem dadurch aus irgendeinem Grund verschwunden.

Zitat:
Zitat von notimp
Bezüglich der Regular Expression die plötzlich nicht gegriffen hat. Es reicht hier aus, wenn du am Ende ein Leerzeichen zuviel in der RegEx hast, das du vielleicht nicht einmal siehst, und sie greift nicht mehr. Vielleicht wars das..
An ein Leerzeichen hab ich auch zuerst gedacht, das wars aber nicht. Ich hab ja ausser der Zahl nichts verändert und ich hab die ganze Expression auch vorher schon auf Leerzeichen überprüft, da war keins das da nicht hingehört. Naja, wie du sagst, hauptsache es geht jetzt. Bin mal gespannt wie es mit dem nächsten Buch wird.

Vielen dank an euch beide für die Zeit die ihr investiert habt.

Zitat:
Zitat von soulipsist Beitrag anzeigen
(Übrigens: Neuromancer, seufz...)
Ich kannte es bisher noch nicht und bin bei der Suche nach alten Spieleklassikern darauf gestossen. Mit dem Spiel bin ich nicht ganz klar gekommen, ist dann wohl doch nen tick zu "klassisch". Ein Remake mit altem Spielprinzip aber aktualisierter Bedienung würde ich sofort zocken. Das ganze Setting hat mir dann aber doch so gut gefallen das ich jetzt mal die Bücher lesen will, das war eigentlich der Grund warum ich mich überhaupt erst mit dem ganzen Thema hier auseinander gesetzt habe.

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 14:21   #21 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

Zu früh gefreut.

Ich habe das eBook fertig bearbeitet und als ePub gespeichert, danach in Calibre importiert und auf meinem iPod Touch in Stanza geladen. Da gibt es aber jetzt mehrere Probleme, ich weiß nur leider nicht ob der Fehler in Sigil, Calibre oder Stanza passiert ist:

1. Bilder werden am Ende einer Seite abgeschnitten und der Rest auf der nächsten Seite dargestellt. Kann ich irgendwie erzwingen das Bilder auf eine passende Größe skaliert und komplett auf einer Seite dargestellt werden?

2. Am Ende eines Kapitels wird nicht auf die nächste Seite umgebrochen, heißt also alle Kapitel die ich mit <h2> oder <h3> getaggt hab fangen mitten auf einer Seite an. Bei den h3-Tags ist das nicht so schlimm, die Überschriften mit h2-Tags hätte ich aber schon gerne immer auf einer neuen Seite.

3. Das Inhaltsverzeichnis wird zwar korrekt in Stanza angezeigt, wenn ich aber dann zu einem Kapitel springen will lande ich immer auf der allerersten Seite des Buchs, also dem Cover. In Calibre klappt das allerdings noch, wird also ein Problem in Stanza sein.

Edit: Zwei der Probleme konnte ich mit einem Workaround lösen: Ich habe überall dort wo ein 2-Tag steht ein Chapter Break eingefügt, jetzt fängt jeder Teil auf einer neuen Seite an und ich kann sowohl zu den h2- als auch zu den h3-Tags springen. Dass das mit den h3-Tags klappt wundert mich allerdings, da dort ja kein Chapter Break vorhanden ist. Die Lösung ist allerdings etwas unschön: Stanza kann mit anzeigen wo ich mich im Buch befinde. Es zeigt mir das aktuelle Kapitel an gefolgt von zB "Seite 50/450" und wieviel Prozent des Buches ich gelesen habe. Kapitelanzeige und Prozentanzeige funktionieren immer noch wunderbar. Die Seitenanzeige bezieht sich bei der aktuellen Seite und der Gesamtzahl allerdings auf den aktuellen Teil. Ich bin also bei der letzten Seite des zweiten Teils nicht bei zb "Seite 138/450" sondern bei "Seite 68/68", die nächste Seite ist dann "Seite 1/54". Damit könnte ich leben, besser wäre aber trotzdem eine Lösung ohne Chapter Break. Alternativ dazu würde mir auch reichen Stanza zu überreden mir die aktuelle Seite und die Gesamtzahl der Seiten bezogen auf das ganze Buch anzuzeigen, bei den Prozenzen klappt das ja auch, allerdings finde ich dafür keine Einstellung.

Das Problem mit den Bildern besteht aber immer noch.

Geändert von Kincaid (08.12.10 um 14:45 Uhr).
Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 18:34   #22 (Permalink) Top
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Chapter Break war richtig. Ist kein Workarround, sonder der tatsächliche Weg.

Das mit den Bildern ist Stanza spezifisch, nehme ich an. Dh. ein Problem von Stanza.
DIe Einstellungen für die Bilder hast du dem Tutorial nach im Finereader auf 72dpi heruntergesetzt? Falls nicht, machen. Steht nicht umsonst im Tutorial.

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 20:58   #23 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

Gut, wenn Chapter Break die richtige Methode war dann werd ich wohl mit der falschen Seitenanzeige leben müssen, ist ja auch wieder nur ein Problem bei Stanza.

96dpi steht im Tutorial, 72 gibts als Option nicht. Ja, hab ich eingestellt. Aber das ändert ja nur die Qualität, die Maße des Bildes sollten sich ja nicht ändern wenn ich die dpi verändere. Das Problem wird wohl das Seitenverhältnis der Bilder sein. Stanza skaliert die soweit runter das sie von der breite genau aufs Display passen, dann sind sie allerdings länger als eine Seite und werden Unterbrochen. Gerade für Bilder ein ziemlich unpraktisches Verhalten. Ich nehme an du liest deine Bücher nicht mit Stanza? Dann kannst du mir da natürlich auch nicht weiterhelfen.

Edit: Eben bekam ich in Finereader beim Einlesen eines Bildes die Meldung dass das Bild nicht entzerrt wurde und ich das mit dem Bildeditor bearbeiten soll. Was heißt das und wo finde ich den Bildeditor? Ist damit ein eingebauter oder ein externer Editor gemeint? Kann in den Menüs nix finden.

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 21:31   #24 (Permalink) Top
Benutzerbild von Kincaid
Threadstarter
Mitglied seit: Dec 2009
Beiträge: 92
Kincaid ist offline
Kincaid
Member
 
Kapitel in ePub zusammenführen

img width="100%" heisst doch, wenn ich mich richtig erinnere, dass das Bild auf die Breite des Bildschirms skaliert wird, richtig? Das ist ja genau das was Stanza sowieso schon macht, ich bräuchte eher height="100%", das aber auch wieder nicht bei allen Bildern. Eigentlich brauche ich eher skalieren auf ganze Höhe ODER Breite, je nachdem was zuerst erreicht ist. Gibt es in html eigentlich ne Option für eine maximale Höhe/Breite in Pixeln? Damit könnte es ja auch gehen, der Nachteil wäre dann natürlich dass das eBook auf mein Display optimiert ist und auf anderen Geräten doch wieder geschnitten wird.

In meinem Fall sind die Teile des Buches die ich als Bilder eingelesen habe, mit Ausnahme des Covers, keine wirklichen Bilder sondern Textstellen die ich nicht als Fließtext dargestellt haben will weil sie eine spezielle Formatierung haben. Zum Beispiel die Seite mit dem Titel, dem Autor, dem Herausgeber usw... Beim letzten Versuch habe ich den Rahmen für die Bilder genau um den Text gezogen, gerade Versuche ich den Rahmen über die komplette Breite zu ziehen, oben und unten aber knapp über, bzw unter den Text. Dadurch sollte Stanza ja, da es das Bild auf volle Breite skaliert, nicht mehr so viel skalieren und es müsste auf eine Seite passen, zumindest in der Theorie. Für ganzseitige Bilder werde ich auch vor und nach dem Bild Chapter Breaks einfügen damit auch wirklich jedes Bild nur auf einer Seite dargestellt wird. Bin mal gespannt ob das so hinhaut wie ich es mir vorstelle.

Mit Zitat antworten Beitrag melden
   
Alt 08.12.10, 22:06   #25 (Permalink)
Benutzerbild von notimp
Mitglied seit: Sep 2008
Beiträge: 1.422
notimp ist offline
notimp
Member
 
Kapitel in ePub zusammenführen

Mit dem Kindle geht das so viel entspannter, der autoresized zu große Bilder automatisch..

Sorry, ja 96dpi, nit 72.

In einer der letzten Versionen ist in Calibre auch ein Bug gefixt der direct auf den mobi Interpretor vom Kindle abgezielt hat und wonach Bilder größer gezerrt dargestellt wurden.

Muss mir bei Gelegenheit vielleicht mal anschauen, ob 96dpi nicht noch erhöht werden könnte...

Mit Zitat antworten Beitrag melden
   
Antwort


 

Ähnliche Themen
Thema Forum
Naruto Manga Englisch [Kapitel 0 - Kapitel 497] Comics/Mangas


Themen-Optionen



Jetzt registrieren


Registrieren | Forum-Mitarbeiter | Kontakt | Nutzungsbedingungen

Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 Uhr.

All trademarks are the property of their respective owners.
Copyright ©2008 - 2012 BoerseBZ