Formeln einbinden in DocBook

DocBook & MathML

Wenn man mathematische Formeln in DocBook einbinden möchte gibt es zwei Wege. Ersten kann man die Formeln mit einem Programm in GIF- oder PNG-Grafiken umwandeln und diese dann einbinden oder man nutzt das MathML-Modul. MathML ist eine XML-Anwendung, mit der man mathematische Formeln in XML ausdrücken kann.

Grafische Formeln. 

In jedem Fall benötigt man, um Formeln einzubinden das Element equation. Als Kinder zulässig sind blockinfo oder title, der in DocBook 5.0 obligatorisch werden wird, dann eine optionale alternative Umschreibung (alt) und mindestens ein mediaobject, welches die Grafik als imageobject enthalten kann oder mindestens ein graphic-Element.

Beispiel 4.8. Grafische Formeln in DocBook

<!DOCTYPE equation PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<equation><title>Fermats Letzter Satz</title>
  <alt>x^n + y^n &ne; z^n &forall; n &ne; 2</alt>
  <graphic fileref="images/fermat.png"/>
</equation>

Die Darstellung im Dokument erfolgte folgendermaßen:

Gleichung 4.1. Fermats Letzter Satz

MathML

Um MathML zu verwenden, muss man einen anderen Doctype angeben, da es mit dem DocBook MathML-Module eine Version von DocBook gibt, die um die MathML-Elemente erweitert wurde. Wenn dieses Modul verwendet wird, können equation und inlineequation das Element mml:math enthalten, welches wiederum jeglichen MathML-Inhalt umfassen kann.

Zum Zeitpunkt der Erstellung dieses Tutoriums konnte von den üblichen Webbrowsern nur Mozilla und Netscape 7 MathML anzeigen und nur passivetex war in der Lage, DocBook mit MathML in PDF zu wandeln. Aufgrund einiger Unzulänglichkeiten von passivetex verzeichte ich jetzt auf Beispiele für DocBook & MathML.

Das MathML Modul, welches auf DocBook 4.1.2 basiert findet man bei Oasis und die MathML-Spezifikation gibt es beim World Wide Web Consortium.