withanage / heimpt

Heidelberg Monograph PublishingTool (heiMPT) is a stand-alone platform, as well as a plug-in application for OMP. It enables a high degree of automation in the digital publication process.
https://github.com/withanage/heimpt
GNU General Public License v3.0
22 stars 3 forks source link

Antena house CSS Renderer #18

Closed withanage closed 5 years ago

withanage commented 8 years ago

@kadowa Falls wir jetzt keine eindeutige Entscheidung zwischen AH und Prince schwierig sein sollte, wäre eine Untersuchng der AH-CSS Formatter gegen Prince nötig, da diese auch css3 verwendet. http://www.antennahouse.com/antenna1/css/ @fkrb was denkst Du ?

ghost commented 8 years ago

@withanage Ja, ein Vergleich wäre sinnvoll. Jemand müsste die CSS-Version des AH-Formatters herunterladen und installieren. Die Layoutbeispiele auf der Prince-Seite sind beeindruckend, ich fürchte aber, dass diese Beispiele nicht vollautomatisch erzeugt wurden.

Am 19.01.2016 um 13:08 schrieb Dulip Withanage:

@kadowa https://github.com/kadowa Falls wir jetzt keine eindeutige Entscheidung zwischen AH und Prince schwierig sein sollte, wäre eine Untersuchng der AH-CSS Formatter gegen Prince nötig, da diese auch css3 verwendet. http://www.antennahouse.com/antenna1/css/ @fkrb https://github.com/fkrb was denkst Du ?

— Reply to this email directly or view it on GitHub https://github.com/withanage/mpt/issues/18.

Frank Krabbes Heidelberg University Publishing Universitätsbibliothek Heidelberg Plöck 107-109 69117 Heidelberg

Tel: +49 (0)6221 542569 Fax: +49 (0)6221 542623

E-Mail: krabbes@ub.uni-heidelberg.de

http://heiup.uni-heidelberg.de http://www.ub.uni-heidelberg.de

kadowa commented 8 years ago

Bei diesen Beispielen hier http://www.princexml.com/samples/ ist jeweils die HTML-Source dabei – damit müsste sich eigentlich nachvollziehen lassen, ob sich die entsprechende Ausgabe tatsächlich vollautomatisch erzeugen lässt.

withanage commented 8 years ago

@kadowa in deinem link http://www.princexml.com/samples/ steht, dass prince direkt jats unterstützt. Kannst Du bitte das Beispiel da testen? Wurde als neues Ticket eingetragen #19

kadowa commented 8 years ago

Das Beispiel lässt sich einwandfrei reproduzieren, s. https://github.com/withanage/mpt/blob/master/static/tests/misc/pdf/bmj_sample.prince.pdf.

withanage commented 8 years ago

@kadowa , kannst Du dann Habenstein mit dem gleichen stylesheet produzieren und das Ergebnis hochladen ? Antennahouse hat auch das gleiche Verfahren und das PDF scheint auch sehr gut zu sein.

Quelle http://antennahouse.com/CSSInfo/CSS-Page-Tutorial-en-20080831.zip Ergebnis http://antennahouse.com/CSSInfo/CSS-Page-Tutorial-en.pdf

kadowa commented 8 years ago

Habe exemplarisch Kapitel 1 und 2 formatiert, Ergebnis s. https://github.com/withanage/mpt/blob/master/static/tests/habenstein/pdf/hst04.ch1.prince.pdf und https://github.com/withanage/mpt/blob/master/static/tests/habenstein/pdf/hst05.ch2.prince.pdf. Glaube allerdings nicht, dass uns das viel weiter bringt; das Stylesheet ist für Journal-Artikel konzipiert und das sieht man auch.

withanage commented 8 years ago

@kadowa danke. ich finde die Ergebnisse nicht schlecht. Wenn Du bei ah css formatter weiter macht kannst du auch in html paar multilinguale texte einfügen. Ich verwende dieses tool lorem-ipsum zu generieren. http://generator.lorem-ipsum.info/

ghost commented 8 years ago

Ich habe mir den Prince 10 angesehen (K.s Tests und und eigene) und bin (nach 2 Tagen) von Prince recht beeindruckt. Ich dokumentiere meine Ergebnisse der Übersicht halber erstmal in einem Excel-Sheet, aber negativ aufgefallen ist mir bisher nur:

Ich habe noch keine Idee, wie sich die letzten beiden Punkte irgendwie lösen lassen. Wenn wir das nicht lösen können, wird die Paginierung des Buches schwierig. Hier müsste man gucken, ob der AH-CSS-Formatierer das unterstützt. Die FO-Variante kann das, hat aber wieder andere Nachteile.

withanage commented 8 years ago

@fkrb danke. Wäre doch auch gut, dass die excel Daten in der Struktur @kadowa angelegt hat https://github.com/withanage/mpt/wiki/doc2pdf:-Tests dokumentiert wird. @kadowa wird ah-css in der Test-suite intergrieren und in einem 2.te Schritt ein python post-processing Skript vorbereiten. Wäre gut, dass du auch noch bei ah-css paar kritische tests machen könnte.

ghost commented 8 years ago

Ja, das folgt alles noch :)

Zitat von Dulip Withanage notifications@github.com:

@fkrb danke. Wäre doch auch gut, dass der excel Daten in der
Struktur @kadowa angelegt hat
https://github.com/withanage/mpt/wiki/doc2pdf:-Tests dokumentiert wird. @kadowa wird ah-css in der Test-suite
intergrieren und in eine 2.te schritt ein python post-processing
skript vorbereiten. Wäre gut, dass du auch noch bei ah css paar
kritische tests machen könnte.


Reply to this email directly or view it on GitHub: https://github.com/withanage/mpt/issues/18#issuecomment-173593558

kadowa commented 8 years ago

Ich experimentiere gerade mit einem Habenstein-Kapitel, um den AHF-CSS-Formatter und Prince zu vergleichen; dabei bin ich auf diese Liste gestoßen: http://www.antennahouse.com/product/ahf60/docs/ahf-focss6.html Offenbar implementiert der CSS-Formatter nicht den kompletten Funktionsumfang des FO-Formatters. Insbesondere fehlen Optionen, um Fußnoten umfangreich zu formatieren, z.B. um Fußnoten in Spalten zu positionieren. Prince kann das hingegen. @fkrb, kannst du diese Einschätzung bestätigen? Damit dürfte der AHF-CSS-Formatter eigentlich raus sein.

ETA: Ich muss mich korrigieren, Fußnoten in Spalten zu positionieren geht doch. @fkrb, du kennst dich besser mit AHF aus – kannst du die oben verlinkte Liste bei Gelegenheit mal anschauen und überprüfen, ob Properties fehlen, die für uns relevant sind?

kadowa commented 8 years ago

Zudem scheint mir der AHF-CSS nicht sonderlich robust zu sein; bei unbekannten im CSS-Properties stoppt er mit einer Fehlermeldung (Prince ignoriert diese, was natürlich auch nicht komplett unproblematisch ist). Mit der Angabe column-span: 2 an der falschen (?) Stelle habe ich außerdem einmal diese Ausgabe bekommen: ahf_column_bug

kadowa commented 8 years ago

Hier einmal der direkte Vergleich: https://github.com/withanage/mpt/blob/master/static/tests/habenstein/pdf/hst04.ch1.footnotes.ah.xmlcss.pdf und https://github.com/withanage/mpt/blob/master/static/tests/habenstein/pdf/hst04.ch1.footnotes.prince.pdf – beide wurden mit demselben Stylesheet erzeugt. Auffällig ist die unterschiedliche Platzierung der Fußnoten. Ich vermute, der Unterschied ist, dass Prince in Kauf nimmt, Fußnoten auf die nächste Seite zu verschieben, wenn sie nicht mehr auf die aktuelle passen:

prince: warning: cannot fit footnote(s) on page 10
prince: warning: cannot fit footnote(s) on page 25
ghost commented 8 years ago

@kadowa Danke für diesen Vergleich. Dass Prince die Fußnote dann auf die nächste Seite verschiebt, ist nicht so schön, aber gut, dass der Formatierer in diesen Fällen eine Warnung ausgibt, sodass man hier immerhin manuell eingreifen kann.

Ja, dass der AHF-CSS-Formatierer nicht alle Funktionen der FO-Version übernimmt, ist interessant, zumal es sich bei der Fußnotenfunktion für die Platzierung innerhalb von Spalten um proprietäre Erweiterungen handelt. Ich habe jetzt selbst noch nicht ausprobiert, wie Prince Spalten-Fußnoten behandelt, aber einen proprietären Befehl gibt es für Prince. Was man auch mal testen könnte, sind zweispaltige Fußnoten unter einem einspaltigen Text, ich glaube aber nicht, dass das geht. Man müsste dann wohl ein zweispaltiges Grundlayout definieren und den eigentlichen Fließtext als span=2 definieren.

Größte Sorgen bereitet mir bei CSS for Paged Media im Moment, dass man die Seitenfolgen nicht kontrollieren kann. Ich kann z. B. nicht festlegen, dass die Seitenanzahl eines generierten Inhaltsverzeichnisses durch zwei teilbar sein muss und es notfalls mit leeren Seiten aufgefüllt werden muss. Hast Du evtl. eine Idee?

Am 22.01.2016 um 11:07 schrieb kadowa:

Hier einmal der direkte Vergleich: https://github.com/withanage/mpt/blob/master/static/tests/habenstein/pdf/hst04.ch1.footnotes.ah.xmlcss.pdf und https://github.com/withanage/mpt/blob/master/static/tests/habenstein/pdf/hst04.ch1.footnotes.prince.pdf – beide wurden mit demselben Stylesheet erzeugt. Auffällig ist die unterschiedliche Platzierung der Fußnoten. Ich vermute, der Unterschied ist, dass Prince in Kauf nimmt, Fußnoten auf die nächste Seite zu verschieben, wenn sie nicht mehr auf die aktuelle passen:

|prince: warning: cannot fit footnote(s) on page 10 prince: warning: cannot fit footnote(s) on page 25 |

— Reply to this email directly or view it on GitHub https://github.com/withanage/mpt/issues/18#issuecomment-173867738.

Frank Krabbes Heidelberg University Publishing Universitätsbibliothek Heidelberg Plöck 107-109 69117 Heidelberg

Tel: +49 (0)6221 542569 Fax: +49 (0)6221 542623

E-Mail: krabbes@ub.uni-heidelberg.de

http://heiup.uni-heidelberg.de http://www.ub.uni-heidelberg.de

kadowa commented 8 years ago

Das mit den Spalten habe ich oben nochmal ergänzt; AHF löst das anders als Prince, daher schien es erst so, als würde das nicht gehen.

Eine gerade Seitenzahl durch das automatische Auffüllen mit leeren Seiten zu erzeugen kann Prince, schau mal hier: http://www.princexml.com/forum/topic/1344/even-page-count

kadowa commented 8 years ago

Dass Prince die Fußnote dann auf die nächste Seite verschiebt, ist nicht so schön, aber gut, dass der Formatierer in diesen Fällen eine Warnung ausgibt, sodass man hier immerhin manuell eingreifen kann.

Die Lösung von AHF ist anscheinend, stattdessen auf vielen Seiten einen Umbruch einzufügen. Dass dabei oft weniger als die Hälfte der Seite mit Text gefüllt ist, finde ich ziemlich unschön. Mich würde mal interessieren, welche Algorithmen hinter diesem beobachteten Verhalten stecken. Dann könnte man etwas fundierter vergleichen.

ghost commented 8 years ago

Ich habe einmal eine überlange Fußnote mit AHF-FO gerechnet und ebenfalls einen interessanten Bug generiert, wie man auf Seite 1 sehen kann (https://github.com/withanage/mpt/blob/master/static/tests/misc/pdf/columns-ahf-fn-bug.pdf). Wäre das nicht, das Verhalten wäre eigentlich ok.

Mein Problem mit dem Textumfluss bei mehrspaltigen Abbildungen ist gelöst, das kann AHF-FO. Wie Prince wird aber die Reihenfolge der Abbildungen verändert, wenn die Abbildung schon vorher irgendwohin passt.