In der Document Type Definition des Projekts SAUS hat sich eine Menge getan. Die
Document Type Definition stellt die logischen (und manchmal auch layout-spezifische)
Elemente zur Verfügung, die dür eine Dokumentation im Rahmen des
Projekts nötig sind. Dieser Bericht dokumentiert die Fähigkeiten
der saus.dtd anhand zahlreicher Beispiele.
Die maschinellen Interpretation eines in SGML geschriebenen
Dokuments basiert auf einer sog. Document Type Definition. Die Document Type Definition beschreibt die
logische Syntax, die in einem Dokument verwendete werden muß,
damit ein es übersetzt und in andere Formate wie LaTeX oder
HTML überführt werden kann. In dieser Dokumentation werden die
Fähigkeiten der Document Type Definition des Projekts SAUS beschrieben. Diese Document Type Definition
hat den Namen saus.dtd und steht im
Verzeichnis $(SGMLDIR)/dtd/.
In dieser Dokumentation hat jedes Element bzw. jede scharf
umrandete Elementgruppe einen eigenen Abschnitt. In jedem dieser
Absätze werden diese Elemente bzw. Elementgruppen nach folgendem
Schema beschrieben:
Beschreibung des Layouts, bzw. ein Layout-Beispiel
Aufzählung der Unterelemente mit Verweis auf die
entsprechenden Abschnitte
Die erste Zeile eines SGML-Dokuments beginnt für das Projekt
SAUS mit dem folgenden Eintrag:
Hier werden das erste Starttag und die zu benutzende Document Type Definition
festgelegt. Das erste Starttag lautet <saus>, so
daß also die zweite Zeile des Dokuments lauten muß:
Als nächstes ist man vor die Wahl gestellt, was man eigentlich
schreiben möchte. Man kann eine der folgenden Möglichkeiten wählen:
In diesem Dokumenttyp sollen die einzelnen Projektgruppen ihre
Arbeit vorstellen. Der Gesamtbericht setzt sich hauptsächlich
aus Dokumenten diesen Typs zusammen.
Aus Dokumenten diesen Typs soll sich der spätere Endbericht
zusammensetzen. Jeder Teilbericht hat eine Titelseite mit einem
Titel, den Namen der Autoren, einem Datum und eventuell Fußnoten
zu den einzelnen Autoren. Es folgen Inhaltsverzeichnis,
Tabellenverzeichnis und Bildverzeichnis, bevor der eigentliche
Text beginnt. Am Schluß befinden sich ein Literaturverweis und
ein Register.
Der Teilbericht besteht also aus folgenden Elementen:
optionale Einstellungen zur Abschaltung von Verzeichnissen
(
settings)
Titelseite mit Titel, Autoren und Datum (
titlepag)
eine optionale Markierung, um im Gesamtbericht Referenzen auf
den Teilbericht zu ermöglichen (
xref)
Themen als Stichworte für das Indexregister (
keywords)
Ein Teilbericht könnte z.B. folgendermaßen beginnen:
Dokumentation der SAUS Document Type DefinitionJan KuhlmannkelvinMatr. Nr. 890574
< /p>
...
Das Beispiel erklärt auch viele der Elemente, die erst in
späteren Abschnitten angesprochen werden. Für nähere
Informationen zu solchen Elementen sei auf die entsprechenden
Abschnitte verwiesen.
Das Referat hat exakt das gleiche Aussehen wie der Teilbericht
(s. Kap.
teilber, S.
teilber). Aus
diesem Grund verzichte ich an dieser Stelle auf den Eintrag in
der saus.dtd und ein Beispiel.
Dieser Dokumenttyp dient der Dokumentation von Quellcode und
Objektklassen. Auf eine Titelseite und ein Inhaltsverzeichnis
folgt die Dokumentation und Literatur- sowie Indexregister.
Eine Dokumentation besteht aus folgenden Elementen:
optionale Einstellungen zur Abschaltung von Verzeichnissen
(
settings)
Titelseite mit Titel, Autoren und Datum (
titlepag)
eine optionale Markierung, um im Gesamtbericht Referenzen auf
die Dokumentation zu ermöglichen (
xref)
Themen als Stichworte für das Indexregister (
keywords)
Auf die Frage nach projektbegleitenden Vorlesungen empfiehlt BKB die
Veranstaltung 3-763: Entwicklung verteilter Systeme in CSP von Hui
Shi Freitags von 0800-1200 in MZH 7210.
Eine Liste mit Leistungseinschätzungen will BKB an das Projektbrett
hängen.
...
Die meisten Einträge sind durch dieses Beispiel vollständig erklärt. Im
Unterschied zu Teilbericht, Referat und Codedokumentation kann im
Protokoll nur ein Autor erwähnt werden. Für nähere Informationen zu
einzelnen Einträgen sei auf die entsprechenden Kapitel verwiesen.
Dieser Dokumenttyp ist speziell für Folien gedacht: Der Text
wird auf die Folienhöhe gestreckt, und es wird ein besonders
großer Zeichensatz verwendet. Jede Folie kann um 90° gekippt
werden. Eine Folie hat eine Überschrift und kann einen frei
definierbaren Text im Kopf haben, z.B. ein Datum oder den Namen
des Autors. Folien werden nicht durchnummeriert. Bei Folien entfallen
alle Formalitäten der Teilberichte, Referate und Dokumentationen.
Folien anthalten einzelne Folien, die folgende Elemente enthalten:
Titel (Attribut title)
Schalter für das Kippen der Folie (erlaubte Werte: "ja"
bzw. "nein", die Voreinstellung ist "nein") (Attribut
sideways)
optionaler Text für die rechte obere Seite der Folie (Attribut
text)
Abschnitte sind die Hauptgliederungselemente eines
Dokuments. Ein Absatz hat immer eine Nummer und eine Überschrift
und die meistens im Inhaltsverzeichnis des Dokuments erscheint.
Die Größe dieser Überschrift richtet sich dabei nach der
Schachtelungstiefe. Die SAUS-Document Type Definition unterscheidet fünf
schachtelbare Absatztiefen (<section>,
<section1>, <section2>,
<section3> und <section4>).
Ein Absatz enthält:
Titel (Attribut title)
eine optionale Markierung, um Referenzen auf diesen Absatz zu
ermöglichen (
xref)
für <section4> gibt es einen Schalter, der
bestimmt, ob der Titel dieses Abschnitts im Inhaltsverzeichnis
erscheinen soll (erlaubte Werte: "ja" und "nein",
Voreinstellung "ja") (Attribut verz)
Worgetreue Segmente sind für den unübersetzten (1:1) Abdruck von
Texten gedacht. In ihnen werden keine Entites übersetzt, und
sogar SGML-tags dürfen im Klartext eingegeben werden. Allein
Enttags (wie z.B. </saus> dürefn nicht benutzt
werden, weil sich darüber der SGML-Übersetzer
beschwert. Ansonsten werden alle Zeichen wortgetreu ausgegeben,
sogar Leerzeichen und Zeilenumbrüche. Wortgetreue Segmente
werden in Schreibmaschinenschrift ausgegeben. Sie beginnen immer
in einer neuen Zeile, und Text nach der wortgetreuen Umgebung
beginnt auch wieder in einer neuen Zeile. Die
<code>-Umgebung setzt den wortgetreuen Text
zusätzlich noch zwischen zwei horizontale Linien. Als Beispiele
für das Aussehen von <code>-Umgebungen sollen die
Zitate aus der saus.dtd reichen.
Wortgetreue Segmente enthalten Freitext.
Die Zeilen für wortegtreue Umgebungen in der
saus.dtd:
In vielen Elementen der SAUS Document Type Definition kann Text eingefügt werden. Hierbei
handelt es sich nicht nur um Freitext, sondern auch um einzelne
weitere Elemente, wie:
Tabellen sind Konstrukte zur Visualisierung von formatierbaren
Daten. Sie sind in Zeilen und Spalten unterteilt, die jeweils
durch Linien voneinander getrennt sein können. Sie können in
gewissen Grenzen positioniert werden, mit einer Bezeichnung und
einer Markierung für spätere Referenzierungen versehen werden.
Tabellenkonstrukte enthalten:
eine Positionierungsangabe (Voreinstellung "htbp", s.u.) (Attribut
loc)
optionale Markierung zur späteren Referenzierung der Tabelle
(
xref)
Die Werte der Positionierunsangabe haben in der LaTeX-Umsetzung
folgende Bedeutung:
'h' für here, also an der Stelle der Definition
't' für top, also am Kopf der (ggf. nächsten) Seite
'b' für bottom, also am Fuß der (ggf. nächsten) Seite
'p' für page, also allein auf der nächsten Seite
Die eigentliche Tabelle steht in der <table>-Umgebung
und enthält folgende Elemente:
eine Formatierungsangabe (s.u.) (Atrribut ca)
beliebig viele Zeilenumbrüche (<hline>, s.u.)
beliebig viele Datenzeilen (<tabrow>, s.u.)
Die Formatierungsangabe der Tabellen kann aus folgenden Zeichen in
beliebiger Reihenfolge bestehen:
'l', für left, also eine linksbündige Spalte
'r', für right, also eine rechtsbündige Spalte
'c', für centered, also eine zentrierte Spalte
'p', gefolgt von einer Breitenangabe mit Einheit in
geschweiften Klammern (also z.B. '{5cm}') zur Festlegung der
Spaltenbreite. Text, der diese Breite überschreitet, wird
umgebrochen. Zu beachten ist dabei, daß keine Worte getrennt
werden, was zu unschönem Aussehen führen kann.
'|', also eine vertikale Linie zwischen den Spalten
Die Summe der Zeichen l, r und c bestimmt die Zahl der
Spalten der Tabelle. Die einzelnen Spalten werden innerhalb
einer Zeile mit dem Element <colsep>
getrennt. Für nähere Informationen steht weiter unten ein
Beispiel zur Verfügung.
Tabellen werden in der saus.dtd wie folgt definiert:
rechtsbündig
zentriert
umgebrochen
linksbündig
rot
grün
rot, grün und blau zugleich
blau
Eine einfache Tabelle
Eine Tabelle wie Tabelle
tab00 kann wie folgt erzeugt werden:
rechtsbündigzentriertumgebrochenlinksbündigrotgrünrot, grün und blau zugleichblau
Die Bildumgebung erlaubt es, Bilder in einen Text
einzufügen. Bilder können in gewissen Grenzen positioniert
werde, ihre Größe kann bestimmt werden, ihnen kann eine
Bezeichnung und eine Merkierung gegeben werden. Auf Bilder wird
aus dem Text heraus über den Filenamen des Bildes zugegriffen.
Eine Bildumgebung enthält also folgende Elemente:
eine Positionierungsangabe (Voreinstellung "htbp", s.u.) (Attribut
loc, s. Kap.
tabular, S.
tabular)
Die SAUS-DTD unterscheidet drei Arten von Aufzählungen, die sich
in der Art der Markierung der einzelnen Elemente
unterscheiden. Die <itemize>-Umgebung nutzt einen
Punkt, die <enum>-Umgebung Zahlen und die
<descrip>-Umgebung selbst definierte
Texte. Aufzählungen können beliebig geschachtelt werden. Die
Elemente der Aufzählungen werden jeweils je nach
Schachtelungstiefe eingerückt.
Aufzählungen enthalten:
im Fall von <itemize> und <enum>
einzelne Elemente (<item>, s.u.)
im Fall von <descrip> optionale Markierungen
(<tag>) gefolgt von Elementen (s.u.).
Die einzelnen Elemente wiederum bestehen aus beliebig vielen
Absätzen.
Die saus.dtd defiert Aufzählungen wie folgt:
Es folgen drei Beispiele und der dazugehörige Programmtext:
Formeln erscheinen abgesetzt mit Nummer, abgesetzt ohne Nummer oder
in Text eingebettet (ohne Nummer). Es werden viele spezielle
mathematische Symbole unterstützt, sowie eine an die Höhe der
Formeln angepaßte Klammerung. Hierzu ist anzumerken, daß
alle Klammern bis auf '|' beliebig geschachtelt werden können.
Die Bar ('|') kann nicht geschachtelt werden, weil es hier keinen
Unterschied zwischen linker und rechter Klammer gibt.
Eine runde Klammer muß nicht unbedingt von einer runden
Klammer geschlossen werden, und man muß Klammern nicht unbedingt
schließen.
Formeln enthalten:
Hoch- oder tiefgestellte Schrift (<hoch> und
<tief>)
Brüche (<frac>)
Wurzeln (<sqrt>)
Funktionen mit Grenzen (<sum>,
<prod>, <int>,
<det>, <gcd>,
<inf>, <lim>,
<liminf>, <limsup>,
<max>, <min>,
<Pr> und <sup>)
Über- und Unterstreichungen bzw. -klammerungen
(<overline>, <underline>,
<overbrace> und <underbrace>)
Übereinandergestellte Symbole (<stack>)
Tabellen mit mathematischen Symbolen (<array>)
Die saus.dtd hält einige Zeilen bereit:
Ein paar Beispiele sollen diese Umgebungen demonstrieren:
Hier folgt eine Formel im Text:
=\(\cos\)π
Man schaltet einfach nicht die <formula>-Umgebung
ein.