XML-Know How

Umbruch

Das Zusammenstellen der Buchseiten und die Steuerung des Umbruchverhaltens auf Absatz- und Zeilenebene beeinflusst maßgeblich die typografische Qualität einer Publikation. Oftmals stehen dabei eine geschlossene Form und die konsequente Einhaltung von Regeln einer guten Lesbarkeit gegenüber und es muss individuell entschieden werden, wo in ein festgelegtes Schema eingegriffen wird.

Im elektronischen Medium ist ein Umbruchs im Sinne eines eigenen Arbeitsschrittes vor einer Veröffentlichung nicht möglich. Vielmehr erfolgt das Ganze zur Laufzeit. Man spricht in diesem Zusammenhang nicht von Umbruch, sondern fasst die Prozessschritte bis zur Darstellung auf dem Bildschirm unter dem Begriff Rendering zusammen. Entsprechend sind bei den elektronischen Publikationsformen individuelle, seitenbezogene Umbrucheingriffe aufgrund der fehlenden Kontrolle des Gestalters über den finalen Umbruch konzeptionell nicht möglich.

Das bedeutet dabei nicht, dass der typografische Grundsatz, Gleiches gleich zu behandeln, nicht zum Tragen kommen könnte. Gewährleistet wird das durch die Regelbasiertheit der CSS-Technologie, über welche die Formatierung eines E-Books erfolgt.

Seitenumbruch

Standardmäßig erfolgt der Seitenumbruch im Lesegerät immer dann, wenn der aktuelle Anzeigebereich mit Text oder anderen Inhaltselementen gefüllt ist. Mit der CSS-Eigenschaft page-break kann ein harter Seitenumbruch eingefügt werden. Diese Umbrüche können prinzipiell an HTML-Strukturen auf Blockebene eingefügt werden; umgekehrt kann auch das Zusammenhalten von Inhaltsstrukturen erzwungen werden. Typische Anwendungsfälle hierfür sind eine neue Seite bei einem Kapitelbeginn oder die Vermeidung eines Seitenumbruchs direkt anschließend an ein Überschriftselement, also die Trennung der Überschrift und des darauffolgenden Absatzes.

Ein neues HTML-Inhaltsdokument wird von den Lesegeräten grundsätzlich auf einer neuen Seite dargestellt.

EPUB 3

In EPUB können die Eigenschaften page-break-before und page-break-after verwendet werden. Mit dem Wert always kann ein Seitenwechsel ­erzwungen, mit avoid kann er vermieden werden. Zusätzlich existiert mit page-break-inside: avoid die Möglichkeit, Inhalte eines Containerelements auf einer Seite zusammenzuhalten. So kann beispielsweise ein Umbruch zwischen einer Abbildung und der Bildunterschrift verhindert werden. Ein Beispiel soll das Ergebnis der page-break-Eigenschaft veranschaulichen.


h1, h2, h3, h4, h5, h6, div.zwischenueberschrift {
  page-break-after: avoid;
}
Listing 4.3 Zusammenhalten von Überschriften
9064.png
Abb. 4.2 Seitenumbruch ohne und mit page-break-Deklaration

Kindle Format 8

Laut der Guidelines ist die Verwendung von page-break-before und page-break-after für Seitenumbrüche möglich, die genauen Werte sind jedoch in der Liste der unterstützten Eigenschaften nicht aufgelistet. Tatsächlich unterstützt das Kindle-Format lediglich das Einfügen von Seitenwechseln mit Hilfe des Werts always. Ungewollte Umbrüche können somit nicht vermieden werden.

Eine Alternative zu page-break-inside, um Elemente zusammenzuhalten, ist die Deklaration display: inline-block am umschließenden Container. Dieser Wert der display-Eigenschaft, die die Anzeigeart eines Elements festlegt, wird jedoch ebenfalls nicht unterstützt. Folglich ist auch die Vermeidung eines Umbruchs innerhalb eines Blocks in KF 8 nicht möglich.

Hurenkinder und Schusterjungen

Die Abtrennung einer einzelnen Zeile eines Absatzes in Folge eines Seitenwechsels ist im Buchsatz als Hurenkind bzw. Schusterjunge bekannt. Als ­Hurenkind wird die letzte Zeile eines Absatzes am Kopf einer neuen Seite bezeichnet. Schusterjunge beschreibt einen Absatzbeginn in der letzten Zeile einer Seite.

Generell werden Hurenkinder aufgrund einer Störung des Leseflusses als satztechnische Fehler betrachtet, während Schusterjungen trotz des ästhetischen Einflusses auf das Satzbild größtenteils akzeptiert sind.

EPUB 3

Der CSS-Standard 2.1 definiert zur Kontrolle dieser Umbruchsituationen die beiden Eigenschaften widows und orphans. Mit widows kann eine be­stimmte Anzahl an Zeilen nach einem Seitenumbruch erzwungen werden, für orphans gilt dies für die Zeilen vor dem Seitenumbruch.


p {
  widows: 3;
  orphans: 2;
}
Listing 4.4 Die CSS-Eigenschaften widows und orphans

Mit dieser Deklaration stehen am Anfang einer Seite mindestens drei Zeilen eines Absatzes, am Ende einer Seite bleiben mindestens zwei Zeilen stehen. Durch diese Eigenschaften kann zusätzlicher Weißraum am Seitenende entstehen.

Kindle Format 8

Die Vermeidung von Hurenkindern und Schusterjungen durch die Eigenschaften widows und orphans wird vom Kindle Format 8 nicht unterstützt.

Zeilenumbruch

Eine wesentliche Aufgabe des Buchsatzes ist es, ein ruhiges Satzbild zu erzielen. Speziell das Umbrechen von Zeilen und die Worttrennungen spielen dabei eine zentrale Rolle. Der Zeilenumbruch ist abhängig von der Satzart und der Länge der Zeilen. Im klassischen Satz ist der Umbruch statisch und es wird oft ein hoher manueller Aufwand betrieben, um ein ausgewogenes Schriftbild zu erhalten.

Für die digitalen, dynamisch umbrechenden Formate müssen bedingt durch unterschiedlichste Bildschirmgrößen theoretisch alle Varianten der Zeilenbreite und Satzart berücksichtigt werden. Moderne Browser-­Engines12, welche die technische Grundlage von E-Book-Readern bilden, beherrschen heute lediglich eine automatische Trennung an Leerräumen und bestimmten Sonderzeichen. Automatische und sprachabhängige Silben- und Worttrennungen werden nicht unterstützt. Speziell bei langen oder zusammengesetzten Wörtern und geringer Satzbreite ergibt sich unter Umständen ein Zeilenfall, der sich störend auf den Lesefluss auswirkt.

Mit der HTML-Entity ­13 („soft hyphen“) existiert die Möglichkeit, innerhalb eines Wortes eine Trennfuge für eine Silbentrennung auszu­zeichnen. Diese bedingten Umbrüche müssen allerdings für jede gewünschte Trennstelle explizit in die Daten eingefügt werden. Aufgrund der besseren Lesbarkeit des Quellcodes und des Grundsatzes der Trennung von Inhalt und Layout sollte diese Auszeichnung nur an kritischen Stellen und nicht global vorgenommen werden. Auch die bewusste Verwendung der  -Entity („non-breaking space“) zur Vermeidung von Zeilenumbrüchen an bestimmten Leerstellen kann sinnvoll sein, um beispielsweise die Trennung von Namenszusätzen oder Zahlen und Einheiten auszu­schließen.

Unabhängig von einem automatischen Umbruch kann mit dem leeren HTML-Element br ein manueller harter Zeilenumbruch innerhalb eines Blockelements erzielt werden.

EPUB 3

Die EPUB-Spezifikation definiert die Eigenschaft -epub-hyphens, die dem CSS 3-Standard entliehen ist, als Teil des EPUB-Profils. Mit dieser Eigenschaft kann die Silbentrennung für den Inhalt eines Elements kontrolliert werden. Mögliche Werte der Eigenschaft sind none, manual und auto.

Durch den Standardwert manual werden lediglich mit ­ ausgezeichnete Stellen getrennt. none lässt keine Worttrennungen zu, während mit auto zusätzlich zu den Softhyphen automatisch und sprachabhängig durch die Render-Engine getrennt wird. Bedingte Trennzeichen haben dabei Priorität. Die Sprache des Inhaltsdokuments kann am html-Wurzelelement oder bei mehrsprachigen Inhalten direkt am Container- oder Absatzelement notiert werden.

Mit EPUB 3 ist zudem die Definition eines mehrspaltigen Layouts entsprechend des CSS 3-Moduls möglich. Die Ausrichtung in Spalten lässt sich durch die Angabe der (relativen) Spaltenbreite oder der Spaltenanzahl festlegen. Für die Bestimmung der Mindestbreite der Spalten wird die Eigenschaft column-width verwendet, die Spaltenanzahl wird mit column-count angegeben. Diese Eigenschaften können an Blockelementen deklariert werden. Darüber hinaus kann mit column-gap der Spaltenabstand definiert werden, column-rule dient der Darstellung einer Spaltenlinie, deren Stil, Breite und Farbe angegeben werden kann. Lediglich die Möglichkeit, Elemente (typischerweise Überschriften) per column-span über mehrere Spalten darzustellen wird vom EPUB-Standard nicht unterstützt.

Kindle Format 8

Das KF 8-Format liefert keine Umsetzung für automatische Worttrennungen. Speziell bei Blocksatz und großer Schrift entsteht hier ein sehr unregelmäßiges Schriftbild mit sichtbaren Löchern. Mit der unterstützten CSS 3-Eigenschaft word-wrap wird generell der Umgang mit zeilenlangen Wörtern am Zeilenende festgelegt. Der Wert normal verursacht in KF 8 einen Übersatz über die Länge der Zeile hinaus, weshalb der Standardwert break-word, der einen Umbruch erzwingt (jedoch ohne Trennzeichen), nicht überschrieben werden sollte und die Verwendung der Deklaration folglich nicht sinnvoll ist.

Die Entities ­ und   werden korrekt dargestellt.

Satzarten

Das Schriftbild ist in hohem Maße abhängig von der verwendeten Satzart. Im Allgemeinen wird dabei unterschieden zwischen

  • Blocksatz,
  • Rauh- bzw. Flattersatz,
  • Satz auf Mittelachse sowie
  • Formsatz.

Die Wahl der Schriftsatzart ist primär eine inhaltliche und funktionale Entscheidung. Aufgrund seiner Eigenschaften hinsichtlich der Lesbarkeit hat sich in der Buchtypografie der Blocksatz bewährt. Bei dieser Textausrichtung wird die volle Satzbreite der Seite ausgenutzt, wodurch eine gerade rechte Satzkante entsteht. Erzielt wird die regelmäßige Zeilenlänge, indem die Wortzwischenräume zeilenabhängig verändert werden.

Im Gegensatz hierzu sind beim Flattersatz die Wortzwischenräume konstant, die Zeilen sind folglich unterschiedlich lang. Den Namen erhält diese Satzart durch das unregelmäßige „Flattern“ der Zeilenenden. Bei dieser Satzart wird selten getrennt.

Der Rauhsatz entspricht vom Zeilenfall dem Blocksatz. Im Unterschied zu diesem ist aber der Wortabstand über alle Zeilen hinweg gleich. Der Rauhsatz hat somit eine schmalere Flatterzone als der echte Flattersatz, da hier nicht versucht wird, auf Zeilenrhythmik zu achten und Silbentrennungen zu vermeiden.

Beim Mittelachsensatz ist die Zeilenmitte symmetrisch an einer gedachten Mittelachse ausgerichtet. Diese Satzart wird weniger im Mengensatz angewandt, in der Buchgestaltung findet sie häufig bei der Titelei, bei Überschriften oder im Gedichtsatz Anwendung. Der Formsatz ist eine Methode, einen Text entsprechend der Kontur eines Objektes, typischerweise einer Abbildung, auszurichten oder selbst in Form eines Objektes zu setzen.

Mit Ausnahme des Formsatzes lassen sich die oben genannten Satzarten in der digitalen Typografie umsetzen. CSS bietet hierfür die Eigenschaft text-align, mit der die horizontale Ausrichtung eines Textes innerhalb von Blockelementen definiert werden kann. Die möglichen Werte sind justify (Blocksatz), left bzw. right (Flattersatz) und center (Mittelachse). Der Standardwert ist individuell abhängig von der Vorgabe durch den E-Book-Reader.

Aufgrund der mangelnden Umsetzung automatischer Worttrennungen ist die Verwendung des Blocksatzes mit justify in der digitalen Typografie allgemein nicht empfehlenswert. Durch den Zeilenausgleich können speziell bei langen Wörtern deutlich sichtbare Lücken entstehen, die das Lesen erschweren. Eine schmale Spaltenbreite verstärkt diesen Effekt.

9100.png
Abb. 4.3 Wortzwischenräume bei Blocksatz im E-Book

Technisch bedingt werden E-Book-Inhalte heute größtenteils im Flattersatz formatiert. Während im klassischen Satz eine manuelle Durcharbeitung dieser Satzart unerlässlich ist, um einen möglichst harmonischen Wechsel von langen und kurzen Zeilen zu erzielen, entfällt dieser Aufwand bei den digitalen Formaten aufgrund des nicht kontrollierbaren Umbruchs. Da keine Trennregeln definiert werden können, wird nicht zwischen Rauh- und Flattersatz unterschieden.

EPUB 3

Mit der Überarbeitung des EPUB 3-Formats ist die -epub-hyphens-Eigenschaft Bestandteil des EPUB-CSS-Profils. Unterstützt das Ausgabesystem automatische Worttrennungen, ist der wesentliche Nachteil bei der Verwendung von Blocksatz mit text-align: justify beseitigt. Zwar können dennoch gerade bei schmalen Zeilen störende Wortabstände auftreten, durch die Trennungen entsteht jedoch ein deutlich ruhigeres, gut lesbares Schriftbild.

Das EPUB-Format erweitert die Möglichkeiten der Textausrichtung zudem um die spezifische Eigenschaft –epub-text-align-last. Mit dieser Eigenschaft kann die Ausrichtung der letzten Zeile eines Absatzes festgelegt werden. Neben dem Standardwert auto, der sich nach der text-align-Eigenschaft richtet, sind die Werte left, right, center und justify (erzwungener Blocksatz) möglich.

Kindle Format 8

Wird im Stylesheet für das KF 8-Format keine text-align-Deklaration angegeben, stellt der Kindle Previewer die Inhalte grundsätzlich im Blocksatz dar. Da das Format keine CSS-Eigenschaft für die Silbentrennung beinhaltet, empfiehlt es sich, diesen Standardwert zu überschreiben.

Um die Eigenschaft für das gesamte Inhaltsdokument am body-Container zu deklarieren muss die Anweisung !important ergänzt werden.


body {
  text-align: left !important;
  […]
}
Listing 4.5 Überschreibung der Blocksatzdeklaration von KF 8

Durch die Anweisung wird in diesem Fall die Überschreibung des Wertes durch hinterlegte Standardwerte verhindert. Ohne !important würde der Inhalt weiterhin in Blocksatz dargestellt werden. Individuelle Überschreibungen durch höherwertige Deklarationen, zum Beispiel an Absatz-Elementen einer bestimmten Klasse, können dennoch umgesetzt werden. Alternativ kann die Textausrichtung auch direkt an den Blockelementen deklariert werden.


12 Die Rendering-Engines sind für visuelle Darstellung von Text- und weiteren Medieninformationen im Browser zuständig. Die iBooks-Anwendung basiert beispielsweise auf der WebKit-Engine.

13 Zum besseren Verständnis werden im Text sprechende HTML-Entities verwendet. Korrekt ist die XHTML-konforme hexadezimale Notation.