Formatieren von Strukturelementen

(Auszug aus "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" von Thomas Schraitle)

Titel von Kapiteln, Anhängen und anderen Strukturelementen werden über das Template mit Namen component.title formatiert. Allerdings fügt dieses den Namen (wie "Kapitel", "Anhang" usw.), Nummerierung und den Titel ein. Möchten Sie Nummerierung und Titel getrennt formatieren, müssen Sie das obige Template anpassen. Gehen Sie wie folgt vor:

  1. Erstellen Sie eine Anpassungsdatei, wie in Anpassungsdatei für (X)HTML anlegen gezeigt. Setzen Sie in Ihrer Anpassungsdatei den Parameter html.stylesheet auf Ihre CSS-Datei (siehe Einfügen eines Verweises auf eine CSS-Datei).
  2. Kopieren Sie das Template mit Namen component.title in Ihre Anpassungsdatei. Sie finden es je nach Zielformat in html/component.xsl oder xhtml/component.xsl.
  3. Lokalisieren Sie folgenden Code innerhalb des Templates:
<xsl:apply-templates select="$node" mode="object.title.markup"> 
    <xsl:with-param name="allow-anchors" select="1"/> 
</xsl:apply-templates>
  1. Ersetzen Sie den Code aus Schritt 3 durch folgende Zeilen:
<div class="component-title">
  <h1 class="label">
    <xsl:apply-templates select="$node" mode="label.markup"/>
  </h1> 
  <h1 class="title">
    <xsl:apply-templates select="$node" mode="title.markup"/>
  </h1> 
</div>

Zeile 1: Gruppiert sowohl Zahl als auch Titel in einem div, damit die Gruppe als Ganzes formatiert werden kann.
Zeilen 2 und 5: Erzeugt ein h1-Element für die Zahl bzw. für den Titel. Durch das zusätzliche class-Attribut lässt sich das Element über CSS individuell formatieren.
Zeile 3: Ermittelt die Zahl der aktuellen Komponente.
Zeile 6: Ermittelt den Titel der aktuellen Komponente.

  1. Erstellen Sie eine CSS-Datei. Die folgenden Regeln wurden von der DocBook-Homepage entnommen und leicht verändert. Sie schieben Zahl und Titel an den rechten Rand, wobei die Zahl extrem vergrößert wurde:
div.component-title { 
  text-align: right; 
} 
h1.label { 
  font-size: 900%; 
  font-weight: normal; 
  font-family: sans-serif; 
  margin-bottom: 0px; 
  padding-bottom: 0px; 
  margin-top: 0px; 
  padding-top: 0px; 
} 
div.component-title h1.title { 
  font-family: sans-serif; 
  font-size: 200%; 
  margin-top: 0px; 
  padding-top: 0px; 
  margin-right: 20px; 
}

Die folgende Abbildung zeigt das Ergebnis (Text aus Wikipedia).

Trennung von Zahl und Titel

Abbildung: Trennung von Zahl und Titel

  

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema DocBook bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2009 Millin Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Millin Verlag, Siebengebirgsring 36, 53797 Lohmar, info(at)millin.de