2992 lines
108 KiB
XML
2992 lines
108 KiB
XML
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
|
<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved.
|
|
|
|
Redistribution and use in source (SGML DocBook) and 'compiled' forms
|
|
(SGML HTML, PDF, PostScript, RTF and so forth) with or without
|
|
modification, are permitted provided that the following conditions
|
|
are met:
|
|
|
|
1. Redistributions of source code (SGML DocBook) must retain the above
|
|
copyright notice, this list of conditions and the following
|
|
disclaimer as the first lines of this file unmodified.
|
|
|
|
2. Redistributions in compiled form (transformed to other DTDs,
|
|
converted to PDF, PostScript, RTF and other formats) must reproduce
|
|
the above copyright notice, this list of conditions and the
|
|
following disclaimer in the documentation and/or other materials
|
|
provided with the distribution.
|
|
|
|
THIS DOCUMENTATION IS PROVIDED BY NIK CLAYTON "AS IS" AND ANY EXPRESS OR
|
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
DISCLAIMED. IN NO EVENT SHALL NIK CLAYTON BE LIABLE FOR ANY DIRECT,
|
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
|
|
POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
$FreeBSD$
|
|
$FreeBSDde$
|
|
basiert auf: r38851
|
|
-->
|
|
|
|
<chapter id="sgml-markup">
|
|
<title>SGML-Dokumente erstellen</title>
|
|
|
|
<para>In diesem Kapitel werden die beiden vom FDP eingesetzen
|
|
Auszeichnungssprachen HTML und DocBook behandelt. Hierbei
|
|
beschränkt sich dieses Kapitel auf die Elemente, die bei der
|
|
täglichen Arbeit am ehesten zum Einsatz kommen werden.</para>
|
|
|
|
<para>Beide Sprachen besitzen eine große Anzahl von Elementen.
|
|
Das erschwert es, das richtige Element in der richtigen Situation
|
|
auszuwählen. Aus diesem Grund werden zu jedem Element auch
|
|
immer Beispiele angeboten, die den richtigen Einsatz des Elements
|
|
verdeutlichen sollen.</para>
|
|
|
|
<para>Es ist nicht das Ziel dieses Kapitels möglichst viele
|
|
Elemente beider Sprachen zu behandeln – dies wäre nur
|
|
eine Wiederholung der eigentlichen Sprachreferenz. Sofern es
|
|
Unklarheiten zur Verwendung einzelner Elemente und Auszeichnung
|
|
von bestimmten Sachverhalten gibt, können diese an &a.doc;
|
|
geschickt werden.</para>
|
|
|
|
<note>
|
|
<title>Fluß- kontra Blockelemente</title>
|
|
|
|
<!--@todo
|
|
Fussnote bzgl. der UEbersetzung von "inline" einfuegen.
|
|
Oliver Fischer
|
|
-->
|
|
|
|
<para>Wenn im folgenden von
|
|
<emphasis>Flußelementen</emphasis> die Rede ist, sind
|
|
damit Elemente gemeint, die in einem Blockelement auftreten
|
|
können und keinen Zeilenumbruch hervorrufen.
|
|
<emphasis>Blockelemente</emphasis> hingegen erzeugen unter
|
|
anderem einen Zeilenumbruch<footnote><para>Die englische
|
|
Bezeichnung <foreignphrase>inline element</foreignphrase>
|
|
wurde in Anlehnung an das Wort <quote>Fließtext</quote>
|
|
mit <quote>Flußelement</quote>
|
|
übersetzt.</para></footnote>.</para>
|
|
</note>
|
|
|
|
<sect1 id="sgml-markup-html">
|
|
<title>HTML</title>
|
|
|
|
<para>HTML, die <foreignphrase>HyperText Markup
|
|
Language</foreignphrase>, ist die Auszeichnungssprache des
|
|
Internets. Weitere Informationen zu HTML finden sich unter
|
|
<ulink url="http://www.w3.org/"></ulink>.</para>
|
|
|
|
<para>Sie kommt bei der Erstellung der Webseiten des
|
|
FreeBSD-Projektes zum Einsatz. Für technische Dokumentationen
|
|
sollte HTML jedoch nicht eingesetzt werden, da DocBook eine
|
|
größere und bessere Auswahl an Elementen bietet. Folglich
|
|
sollte HTML nur für die FreeBSD-Webseiten verwendet werden.</para>
|
|
|
|
<para>Die HTML-Spezifikation liegt bis jetzt in mehreren Versionen
|
|
vor: 1, 2, 3.0, 3.2 und (die aktuelle) 4.0. Von letzterer
|
|
existieren zwei Varianten: <quote>streng</quote> (HTML 4.0
|
|
Strict) und <quote>locker</quote> (HTML 4.0
|
|
Transitional).</para>
|
|
|
|
<para>Die HTML-DTDs sind über den Port <filename
|
|
role="package">textproc/html</filename> verfügbar und werden
|
|
automatisch als Teil des Metaports <filename
|
|
role="package">textproc/docproj</filename>
|
|
mitinstalliert.</para>
|
|
|
|
<sect2>
|
|
<title>Formale Öffentliche Bezeichner</title>
|
|
|
|
<!--@todo Optimierungskandidat. Oliver Fischer -->
|
|
<para>Da es mehrere Version von HTML gibt, existieren auch
|
|
mehrere FÖPs, zu denen ein HTML-Dokument konform
|
|
erklärt werden kann. Die Mehrzahl der sich auf der
|
|
FreeBSD-Webseite befindenen HTML-Seiten sind zu der lockeren
|
|
Version von HTML 4.0 konform.</para>
|
|
|
|
<programlisting>PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"</programlisting>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Die Elemente <sgmltag>head</sgmltag> und
|
|
<sgmltag>body</sgmltag></title>
|
|
|
|
<para>Ein HTML-Dokument unterteilt sich normalerweise in zwei
|
|
Bereiche: <quote>head</quote> und <quote>body</quote>. Der
|
|
Kopf (<foreignphrase>head</foreignphrase>) enthält Metadaten
|
|
wie den Dokumententitel und Angaben zum Autor. Der Rumpf
|
|
(<foreignphrase>body</foreignphrase>) umfaßt den eigentlichen
|
|
Dokumenteninhalt, der für den Leser bestimmt ist. In einem
|
|
HTML-Dokument werden diese Bereiche über die Elemente
|
|
<sgmltag>head</sgmltag> und <sgmltag>body</sgmltag>
|
|
voneinander abgegrenzt. Beide sind Kinder des Wurzelelementes
|
|
<sgmltag>html</sgmltag>.</para>
|
|
|
|
<example>
|
|
<title>Die Struktur eines HTML-Dokumentes</title>
|
|
|
|
<programlisting><html>
|
|
<head>
|
|
<title><replaceable>Der Dokumententitel</replaceable></title>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
…
|
|
|
|
</body>
|
|
</html></programlisting>
|
|
</example>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Blockelemente</title>
|
|
|
|
<sect3>
|
|
<title>Überschriften</title>
|
|
|
|
<para>HTML kennt sechs verschiedene Elemente, mit denen
|
|
Überschriften ausgezeichnet werden können. Das bekannteste
|
|
Element ist <sgmltag>h1</sgmltag>, das sich am Anfang der
|
|
Überschriftenhierarchie befindet. <sgmltag>h1</sgmltag>
|
|
folgen die Überschriftenelemente <sgmltag>h2</sgmltag> bis
|
|
<sgmltag>h6</sgmltag>. Der Inhalt von
|
|
<sgmltag>h<replaceable>N</replaceable></sgmltag> stellt den
|
|
Text der Überschrift dar.</para>
|
|
|
|
<example>
|
|
<title><sgmltag>h1</sgmltag>, <sgmltag>h2</sgmltag>…</title>
|
|
|
|
<para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para>
|
|
|
|
<programlisting><![CDATA[<h1>Erstes Kapitel</h1>
|
|
|
|
<!-- Hier steht die Einführung -->
|
|
|
|
<h2>Das ist die Überschrift des ersten Kapitels</h2>
|
|
|
|
<!-- Hier steht der Inhalt des ersten Kapitels -->
|
|
|
|
<h3>Das ist die Überschrift des ersten Unterkapitels</h3>
|
|
|
|
<!-- Hier steht der Inhalt des ersten Unterkapitels -->
|
|
|
|
<h2>Das ist die Überschrift des zweiten Kapitels</h2>
|
|
|
|
<!-- Hier steht der Inhalt des zweiten Kapitels -->]]></programlisting>
|
|
</example>
|
|
|
|
<para>Eine HTML-Seite sollte immer nur eine Überschrift
|
|
<sgmltag>h1</sgmltag> haben. Dieser Überschrift können
|
|
beliebig viele Kapitel mit einer Überschrift
|
|
<sgmltag>h2</sgmltag> folgen, die selbst wiederum eine
|
|
beliebige Anzahl von Kapiteln mit einer Überschrift
|
|
<sgmltag>h3</sgmltag> enthalten können. Diese
|
|
Verschachtelung setzt sich bis zu Kapiteln mit einer
|
|
<sgmltag>h6</sgmltag>-Überschrift fort. Es sollte vermieden
|
|
werden, Elemente in der Überschriftenhierarchie
|
|
auszulassen.</para>
|
|
|
|
<example>
|
|
<title>Falsche Verschachtelung von Überschriften</title>
|
|
|
|
<para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para>
|
|
|
|
<programlisting><![CDATA[<h1>Erstes Kapitel</h1>
|
|
|
|
<!-- Allgemeines zum Dokument -->
|
|
|
|
<h3>Unterkapitel</h3>
|
|
|
|
<!-- h3 folgt direkt auf h1. h2 wurde ausgelassen -->]]></programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Absätze</title>
|
|
|
|
<para>Absätze können in HTML mit Hilfe des Elementes
|
|
<sgmltag>p</sgmltag> ausgezeichnet werden.</para>
|
|
|
|
<example>
|
|
<title>Absätze mit dem Element <sgmltag>p</sgmltag></title>
|
|
|
|
<para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para>
|
|
|
|
<programlisting><![CDATA[<p>Das hier, das ist ein Absatz. Absätze können
|
|
andere Elemente enhalten.</p>]]></programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Blockzitate</title>
|
|
|
|
<para>Ein Blockzitat ist ein etwas umfangreicheres Zitat aus
|
|
einem anderen Text, das nicht zum aktuellen Absatz
|
|
gehört.</para>
|
|
|
|
<example>
|
|
<title>Blockzitat</title>
|
|
|
|
<para>Fügen Sie in eine der existierenden Übungsdateien
|
|
folgendes ein:</para>
|
|
|
|
<programlisting><![CDATA[<blockquote>
|
|
<p>Artikel 1: Menschenwürde; Grundrechtsbindung der
|
|
staatlichen Gewalt</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p>Die Würde des Menschen ist unantastbar. Sie zu achten
|
|
und zu schützen ist Verpflichtung aller staatlichen
|
|
Gewalten.</p>
|
|
</li>
|
|
<li>
|
|
<p>Das Deutsche Volk bekennt sich darum zu unverletzlichen
|
|
und unveräußerlichen Menschenrechten als Grundlage jeder
|
|
menschlichen Gemeinschaft, des Friedens und der
|
|
Gerechtigkeit in der Welt.</p>
|
|
</li>
|
|
<li>
|
|
<p>Die nachfolgenden Grundrechte binden Gesetzgebung,
|
|
vollziehende Gewalt und Rechtsprechung als
|
|
unmittelbar geltendes Recht.</p>
|
|
</li>
|
|
</ol>
|
|
</blockquote>]]></programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Listen</title>
|
|
|
|
<para>HTML kennt drei Arten von Listen: sortierte, unsortierte
|
|
und Definitionslisten. Ein Eintrag in einer sortierten Liste
|
|
wird üblicherweise mit einer Nummer versehen, Einträge in
|
|
unsortierten Listen hingegen mit einem Aufzählungspunkt.
|
|
Definitionslisten wiederum bestehen aus zwei Teilen: Der
|
|
erste enthält den Begriff der definiert werden soll und der
|
|
zweite dessen Erläuterung.</para>
|
|
|
|
<para>Sortierte Listen werden mit dem Element
|
|
<sgmltag>ol</sgmltag> (für
|
|
<foreignphrase><emphasis>o</emphasis>rdered
|
|
<emphasis>l</emphasis>ist</foreignphrase>) ausgezeichnet,
|
|
unsortierte Listen mit <sgmltag>ul</sgmltag> (für
|
|
<foreignphrase><emphasis>u</emphasis>nordered
|
|
<emphasis>l</emphasis>ist</foreignphrase>) und
|
|
Definitionslisten mit <sgmltag>dl</sgmltag>.</para>
|
|
|
|
|
|
<para>Listenpunkte sortierter und unsortierter Listen werden
|
|
mit dem Element <sgmltag>li</sgmltag> ausgezeichnet,
|
|
welches Text oder andere Blockelemente enthalten kann.
|
|
Begriffe, die in einer Definitionslisten enthalten sind,
|
|
werden mit dem Element <sgmltag>dt</sgmltag> (für
|
|
<foreignphrase><emphasis>d</emphasis>efinition
|
|
<emphasis>t</emphasis>erm</foreignphrase>) ausgezeichnet.
|
|
Die Erklärung zu diesem Begriff wird mit Hilfe des Elementes
|
|
<sgmltag>dd</sgmltag> (für <foreignphrase>definition
|
|
description</foreignphrase>) markiert. So wie
|
|
<sgmltag>li</sgmltag>, kann das Element
|
|
<sgmltag>dd</sgmltag> ebenfalls andere Blockelemente
|
|
aufnehmen.</para>
|
|
|
|
<example>
|
|
<title>Listen mit <sgmltag>ul</sgmltag> und
|
|
<sgmltag>ol</sgmltag> erstellen</title>
|
|
|
|
<para>Fügen Sie in eine der existierenden Übungsdateien
|
|
folgendes ein:</para>
|
|
|
|
<programlisting><![CDATA[<p>Jetzt folgt eine unsortierte Liste. Wahrscheinlich werden
|
|
die einzelnen Einträge mit einem vorangehenden Punkt dargestellt.</p>
|
|
|
|
<ul>
|
|
<li>Erster Eintrag</li>
|
|
|
|
<li>Zweiter Eintrag</li>
|
|
|
|
<li>Dritter Eintrag</li>
|
|
</ul>
|
|
|
|
<p>Die zweite Liste ist sortiert und ihre Einträge bestehen aus mehreren Absätzen.
|
|
Jeder Listeneintrag ist nummeriert.</p>
|
|
|
|
<ol>
|
|
<li><p>Das ist der erste Eintrag mit nur einem Absatz.</p></li>
|
|
|
|
<li><p>Das ist der erste Absatz des zweiten Eintrags.</p>
|
|
|
|
<p>Und das ist der zweite Absatz des zweiten Eintrags.</p></li>
|
|
|
|
<li><p>Der dritte Eintrag besteht ebenfalls nur aus einem Eintrag.</p></li>
|
|
</ol>]]></programlisting>
|
|
</example>
|
|
|
|
<example>
|
|
<title>Definitionslisten mit <sgmltag>dl</sgmltag> erstellen</title>
|
|
|
|
<para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para>
|
|
|
|
<programlisting><![CDATA[<dl>
|
|
<dt>Erster Begriff</dt>
|
|
|
|
<dd><p>Erster Absatz der Erklärung</p>
|
|
|
|
<p>Zweiter Absatz der Erklärung.</p></dd>
|
|
|
|
<dt>Zweiter Begriff</dt>
|
|
|
|
<dd><p>Erster Absatz der Erklärung.</p></dd>
|
|
|
|
<dt>Dritter Begriff</dt>
|
|
|
|
<dd>Erster Absatz der Erklärung zum dritten Begriff.</dd>
|
|
</dl>]]></programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Vorformatierter Text</title>
|
|
|
|
<!--@todo Bezeichnung ,,Schrift mit fester Laufweite'' Richtig?
|
|
Oliver Fischer, 21.03.04 -->
|
|
<para>In einigen Fällen ist es gewollt, dass die Formatierung
|
|
eines Textes im Quelldokument erhalten bleibt, damit der
|
|
Leser diesen genau so sieht, wie ihn der Autor erstellt hat.
|
|
In der HTML-Spezifikation ist dafür das Element
|
|
<sgmltag>pre</sgmltag> vorgesehen, welches dafür sorgt, dass
|
|
Zeilenumbrüche erhalten bleiben und Leerzeichen nicht
|
|
zusammengefaßt werden. Browser verwenden für den
|
|
Inhalt des Elementes <sgmltag>pre</sgmltag>
|
|
üblicherweise eine Fixschrift.</para>
|
|
|
|
<example>
|
|
<title>Vorformatierten Text mit <sgmltag>pre</sgmltag> erstellen</title>
|
|
|
|
<para>Der Originaltext einer E-Mail läßt sich beispielsweise
|
|
wie folgt einbinden:</para>
|
|
|
|
<!--<para>You could use <sgmltag>pre</sgmltag> to mark up an e-mail
|
|
message;</para>-->
|
|
|
|
<programlisting><![CDATA[<pre> From: nik@FreeBSD.org
|
|
To: freebsd-doc@FreeBSD.org
|
|
Subject: Neue Version verfügbar
|
|
|
|
Es ist eine neue Version der Fibel für neue Mitarbeiter am
|
|
FreeBSD-Dokumentationsprojekt verfügbar:
|
|
|
|
<URL:http://people.FreeBSD.org/~nik/primer/index.html>
|
|
|
|
Kommentare und Anmerkungen sind willkommen.
|
|
|
|
N</pre>]]></programlisting>
|
|
|
|
<para>Beachten Sie, dass <literal><</literal> und
|
|
<literal>&</literal> nach wie vor als Sonderzeichen
|
|
erkannt werden. Daher wird in diesem Beispiel auch
|
|
<literal>&lt;</literal> an Stelle von
|
|
<literal><</literal> verwendet. Aus dem gleichen
|
|
Grund wurde auch <literal>&gt;</literal> an Stelle
|
|
von <literal>></literal> verwendet. Achten Sie also
|
|
stets auf Sonderzeichen, wenn Sie normalen Text
|
|
aus E-Mails, Programmcode oder einer anderen Quelle
|
|
kopieren.</para>
|
|
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Tabellen</title>
|
|
|
|
<note>
|
|
<para>Die meisten Textbrowser, beispielsweise Lynx, können
|
|
Tabellen nicht besonders gut darstellen. Deshalb sollten
|
|
Auszeichnungsalternativen in Betracht gezogen werden, um
|
|
eine angemessene Darstellung sicherzustellen.</para>
|
|
</note>
|
|
|
|
<para>Tabellen lassen sich in HTML mit Hilfe des Elements
|
|
<sgmltag>table</sgmltag> auszeichnen. Eine Tabelle setzt
|
|
sich aus einer oder mehreren Zeilen (<sgmltag>tr</sgmltag>)
|
|
zusammen, von denen jede mindestens eine Zelle
|
|
(<sgmltag>td</sgmltag>) enthält. Zellen können wiederum
|
|
andere Blockelemente, wie Absätze oder Listen, enthalten.
|
|
Auch können sie auch andere Tabellen aufnehmen, wobei die
|
|
Verschachtelungstiefe unbegrenzt ist. Soll die Tabellenzelle
|
|
nur einen Textabsatz enthalten, ist es nicht notwendig den
|
|
Text mit einem <sgmltag>p</sgmltag> zu umschließen.</para>
|
|
|
|
<example>
|
|
<title>Einfache Tabelle mit <sgmltag>table</sgmltag></title>
|
|
|
|
<para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para>
|
|
|
|
<programlisting><![CDATA[<p>Eine einfache 2x2 Tabelle.</p>
|
|
|
|
<table>
|
|
<tr>
|
|
<td>Obere linke Zelle</td>
|
|
|
|
<td>Obere rechte Zelle</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Untere linke Zelle</td>
|
|
|
|
<td>Untere rechte Zelle</td>
|
|
</tr>
|
|
</table>]]></programlisting></example>
|
|
|
|
<para>HTML kennt die Möglichkeit, dass sich eine
|
|
Zelle mehrere Zeilen und/oder Spalten erstrecken kann.
|
|
Sollen beispielsweise mehrere Spalten zusammenfassen werden,
|
|
kann dies mit mit Hilfe des Attributes
|
|
<literal>colspan</literal> erreicht werden, indem man ihm
|
|
die Anzahl der zusammenzufassenden Spalten zuweist.
|
|
Ähnliches gilt für die Zusammenfassung von Zeilen:
|
|
Hierfür wird dem Attribut <literal>rowspan</literal>
|
|
die Anzahl der zusammenzufassenden Zeilen zugewiesen.</para>
|
|
|
|
<example>
|
|
<title>Anwendung des Attributes <literal>rowspan</literal></title>
|
|
|
|
<programlisting><![CDATA[<p>Diese Tabelle besteht aus einer langen Zelle auf der
|
|
linken Seite und zwei kleineren Zellen auf der rechten.</p>
|
|
|
|
<table>
|
|
<tr>
|
|
<td rowspan="2">Lang und dünn</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Obere Zelle</td>
|
|
|
|
<td>Untere Zelle</td>
|
|
</tr>
|
|
</table>]]></programlisting>
|
|
</example>
|
|
|
|
<example>
|
|
<title>Anwendung des Attributes <literal>colspan</literal></title>
|
|
|
|
<programlisting><![CDATA[<p>Eine breite Zeile oben und zwei schmalere Zeilen
|
|
darunter.</p>
|
|
|
|
<table>
|
|
<tr>
|
|
<td colspan="2">Obere Zelle</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Linke untere Zelle</td>
|
|
|
|
<td>Rechte untere Zelle</td>
|
|
</tr>
|
|
</table>]]></programlisting>
|
|
</example>
|
|
|
|
<example>
|
|
<title>Gemeinsame Anwendung der Attrbute <literal>rowspan</literal> und
|
|
<literal>colspan</literal></title>
|
|
|
|
<programlisting><![CDATA[<p>Eine Tablle mit 3-mal-3 Zellen. Oben links
|
|
werden 2 mal 2 Zelle zusammengezogen.</p>
|
|
|
|
<table>
|
|
<tr>
|
|
<td colspan="2" rowspan="2">Große obere linke Zelle</td>
|
|
|
|
<td>Obere rechte Zelle</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<!-- Da sich die zusammengefaßte Zelle über zwei Zeilen
|
|
erstreckt, befindet sich das die durch dieses <td>
|
|
definierte Zelle ganz rechts. -->
|
|
|
|
<td>Mittlere rechte Zelle</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>Untere linke Zelle</td>
|
|
|
|
<td>Untere mittlere Zelle</td>
|
|
|
|
<td>Untere rechte Zelle</td>
|
|
</tr>
|
|
</table>]]></programlisting>
|
|
</example>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Flußelemente</title>
|
|
|
|
<sect3>
|
|
<title>Hervorheben von Information</title>
|
|
|
|
<para>Sollen sich bestimmte Informationen von anderen optisch
|
|
abheben, kann dies mit den HTML-Tags
|
|
<sgmltag>strong</sgmltag> und <sgmltag>em</sgmltag> erreicht
|
|
werden. <sgmltag>strong</sgmltag> stellt dabei eine
|
|
stärkere Hervorhebung als <sgmltag>em</sgmltag> dar,
|
|
wobei mit <sgmltag>strong</sgmltag> ausgezeichnete Elemente
|
|
fett und mit <sgmltag>em</sgmltag> ausgezeichnete Elemente
|
|
kursiv dargestellt werden. Allerdings ist diese Aussage
|
|
nicht verläßlich, da die Darstellung vom Browser
|
|
abhängig ist.</para>
|
|
|
|
<example>
|
|
<title>Text mit <sgmltag>em</sgmltag> und <sgmltag>strong</sgmltag>
|
|
hervorheben</title>
|
|
|
|
<programlisting><![CDATA[<p><em>Dieses</em> Wort ist hervorgehoben,
|
|
während <strong>dieses noch stärker hervorgehoben ist.</p>]]></programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<!--? Was ist typografisch richtig: schräg oder kursiv?
|
|
Oliver Fischer -->
|
|
<title>Fett- und Schrägschrift</title>
|
|
|
|
<para>Da mittels HTML auch Festlegungen über die
|
|
Darstellung getroffen werden können, gibt es die
|
|
Möglichkeit direkt zu bestimmen, dass bestimmte
|
|
Inhalte fett oder kursiv dargestellt werden sollen. Mit
|
|
<sgmltag>b</sgmltag> eingefaßte Inhalte werden fett
|
|
und mit <sgmltag>i</sgmltag> eingefaßte kursiv
|
|
dargestellt.</para>
|
|
|
|
<example>
|
|
<title>Text mit <sgmltag>b</sgmltag> und <sgmltag>i</sgmltag>
|
|
formatieren</title>
|
|
|
|
<programlisting><![CDATA[<p><b>Dieses</b> Wort wird fett dargestellt,
|
|
während <i>dieses</i> kursiv dargestellt wird.</p>]]></programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Nicht-proportionale Schrift für Texte</title>
|
|
|
|
<para>Der Tag <sgmltag>tt</sgmltag> erlaubt es,
|
|
Text in einer schreibmaschinenähnlichen
|
|
Schrift darzustellen.</para>
|
|
|
|
<example>
|
|
<title>Nicht-proportionale Schrift mit
|
|
<sgmltag>tt</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<p>Dieses Dokument wurde ursprünglich von
|
|
Nik Clayton geschrieben. Nick Clayton kann unter der E-Mail-Adresse
|
|
<tt>nik@FreeBSD.org</tt> erreicht werden.</p>]]></programlisting>
|
|
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Änderung der Schriftgröße</title>
|
|
|
|
<para>HTML bietet auch Möglichkeiten, um Einfluß
|
|
auf die Schriftgröße zu nehmen, das heißt,
|
|
zu bestimmen, ob die Schrift größer oder kleiner
|
|
als die Standardschrift dargestellt werden soll. Es gibt
|
|
drei verschiedene Wege, dies zu erreichen:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Mittels der Tags <sgmltag>big</sgmltag> und
|
|
<sgmltag>small</sgmltag> kann die
|
|
Darstellungsgröße des eingeschlossenen Textes
|
|
vergrößert respektive verkleinert werden.
|
|
HTML erlaubt es zudem, diese Tags zu verschachteln, so
|
|
dass auch <literal><big><big>Das ist
|
|
wesentlich
|
|
größer.</big></big></literal>
|
|
geschrieben werden kann.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das gleiche Ergebnis kann über die Zuweisung der
|
|
Werte <literal>1</literal> und <literal>-1</literal> an
|
|
das Attribut <sgmltag role="attribute">size</sgmltag>
|
|
des Tags <sgmltag>font</sgmltag> erreicht werden. Diese
|
|
Vorgehensweise sollte allerdings als veraltet betrachtet
|
|
werden, da der Einsatz eines CSS hierfür die bessere
|
|
Lösung darstellt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Über die Zuweisung von absoluten Werten im Bereich
|
|
von <literal>1</literal> bis <literal>7</literal> an das
|
|
Attribut <literal>size</literal> des Tags
|
|
<sgmltag>font</sgmltag> <footnote>
|
|
<para>Der Standardwert für <literal>size</literal> ist
|
|
<literal>3</literal>.</para></footnote>. Diese
|
|
Herangehensweise ist ebenfalls veraltet und sollte nicht
|
|
mehr angewandt werden.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<example>
|
|
<title>Schriftgröße ändern mit
|
|
<sgmltag>big</sgmltag>, <sgmltag>small</sgmltag> und
|
|
<sgmltag>font</sgmltag></title>
|
|
|
|
<para>Die folgenden HTML-Schnipsel bewirken alle das gleiche:</para>
|
|
|
|
<programlisting><![CDATA[<p>Dieser Text ist <small>etwas kleiner</small>. Dieser
|
|
jedoch <big>ein wenig größer</big>.</p>
|
|
|
|
<p>Dieser Text ist <font size="-1">etwas kleiner</font>. Dieser
|
|
jedoch <font size="+1">ein wenig größer</font>.</p>
|
|
|
|
<p>Dieser Text ist <font size="2">etwas kleiner</font>. Dieser
|
|
jedoch <font size="4">ein wenig größer</font>.</p>]]></programlisting>
|
|
</example>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="links">
|
|
<title>Links</title>
|
|
|
|
<note>
|
|
<para>Bei Links handelt es sich ebenfalls Flußelemente.</para>
|
|
</note>
|
|
|
|
<sect3>
|
|
<title>Auf andere Dokumente im WWW verweisen</title>
|
|
|
|
<para>Um auf ein anderes Dokument im WWW zu verweisen,
|
|
müssen Sie die URL dieses Dokuments kennen.</para>
|
|
|
|
<para>Links auf andere Dokumente im WWW werden in HTML durch
|
|
den Tag <sgmltag>a</sgmltag> und dessen Attribute <sgmltag
|
|
role="attribute">href</sgmltag>, das die Zieladresse
|
|
enthält, angelegt. Der Inhalt des Elementes wird selbst
|
|
zum Link und seine Darstellung erfolgt verschieden vom
|
|
übrigen Text. Meist geschieht das durch eine andere
|
|
Schriftfarbe oder dadurch, dass der Linktext
|
|
unterstrichen wird.</para>
|
|
|
|
<example>
|
|
<title><literal><a href="..."></literal> benutzen</title>
|
|
|
|
<programlisting><![CDATA[<p>Weitere Informationen stehen auf der
|
|
<a href="http://www.FreeBSD.org/">FreeBSD-Webseite</a> zur Verfügung.</p>]]></programlisting>
|
|
</example>
|
|
|
|
<para>Beim Aufruf dieses Links wird das referenzierte Dokument vom
|
|
Browser geladen und mit dessen Seitenanfang dargestellt.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Auf bestimmte Dokumentenabschnitte verweisen</title>
|
|
|
|
<para>HTML unterstützt neben einfachen Links auch solche, die
|
|
auf einen bestimmten Abschnitt innerhalb eines Dokumentes
|
|
verweisen. Dazu müssen die Abschnitte, auf die verwiesen
|
|
werden soll, mit Hilfe von sogenannten <quote>Ankern</quote>
|
|
markiert werden. Diese Anker können ebenfalls mit Hilfe des
|
|
Tags <sgmltag>a</sgmltag> gesetzt werden, nur das anstelle
|
|
von <sgmltag role="attribute">href</sgmltag> das Attribut
|
|
<sgmltag role="attribute">name</sgmltag> gesetzt werden
|
|
muss.</para>
|
|
|
|
<example>
|
|
<title>Anwendung von <literal><a name="..."></literal></title>
|
|
|
|
<programlisting><![CDATA[<p><a name="absatz1">Auf</a> diesen Absatz kann mit
|
|
Hilfe seines Namens (<tt>absatz1</tt>) verwiesen werden.</p>]]></programlisting>
|
|
</example>
|
|
|
|
<para>Um auf einen so gekennzeichneten Abschnitt zu verweisen,
|
|
muss die URL des Dokumentes um das Zeichen
|
|
<literal>#</literal> und den Namen des Zielankers erweitert
|
|
werden.</para>
|
|
|
|
<example>
|
|
<title>Auf einen Abschnitt eines anderen Dokumentes
|
|
verweisen</title>
|
|
|
|
<para>Für dieses Beispiel wird davon ausgegangen, dass der mit
|
|
<literal>absatz1</literal> gekennzeichnete Absatz sich in
|
|
der HTML-Datei <filename>foo.html</filename>
|
|
befindet.</para>
|
|
|
|
<programlisting><![CDATA[<p>Weitere Informationen können im
|
|
<a href="foo.html#absatz1">ersten Absatz</a> der Datei
|
|
<tt>foo.html</tt> gefunden werden.</p>]]></programlisting>
|
|
</example>
|
|
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="sgml-markup-docbook">
|
|
<title>Die DocBook DTD</title>
|
|
|
|
<para>DocBook wurde ursprüglich von HaL Computer Systems and
|
|
O'Reilly & Associates als DTD für das Erstellen von
|
|
technischen Dokumenten entwickelt
|
|
|
|
<footnote><para>Einen kurzen historischen Abriss finden Sie unter
|
|
<ulink
|
|
url="http://www.oasis-open.org/docbook/intro.shtml#d0e41">http://www.oasis-open.org/docbook/intro.shtml#d0e41</ulink>.</para>
|
|
</footnote>.
|
|
|
|
Seit 1998 wird es vom <ulink
|
|
url="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=docbook">
|
|
DocBook Technical Committee</ulink> gewartet. DocBook ist sehr
|
|
stark auf die Beschreibung von Inhalten, und nicht auf die
|
|
Darstellung des Inhalts ausgerichtet. Damit steht es im Gegensatz
|
|
zu LinuxDoc und HTML.</para>
|
|
|
|
<note>
|
|
<title>Formelle und informelle Elemente</title>
|
|
|
|
<para>Einige Elemente der DocBook DTD sind in zwei Varianten
|
|
vorhanden: <emphasis>formell</emphasis> und
|
|
<emphasis>informell</emphasis>. Üblicherweise besitzt die
|
|
formelle Variante einen Titel, dem der eigentliche
|
|
Elementeninhalt folgt. Die informelle Variante hingegen hat
|
|
keinen Titel.</para>
|
|
</note>
|
|
|
|
<para>Die DocBook DTD ist in der Ports-Sammlung im Port <filename
|
|
role="package">textproc/docbook</filename> enthalten und wird
|
|
bei der Installation des Metaports <filename
|
|
role="package">textproc/docproj</filename> automatisch
|
|
mitinstalliert.</para>
|
|
|
|
<sect2>
|
|
<title>Die FreeBSD-Erweiterungen</title>
|
|
|
|
<para>Für das FDP wurde die DocBook DTD durch das
|
|
FreeBSD-Dokumentationsproject um zusätzliche Elemente
|
|
erweitert, um damit präzisiere
|
|
Auszeichnungsmöglichkeiten zur Verfügung zu haben.
|
|
Sofern im folgenden FreeBSD-spezifische Elemente genutzt
|
|
werden, wird explizit darauf hingewiesen werden.</para>
|
|
|
|
<para>Wenn nachfolgend im Text der Begriff
|
|
<quote>DocBook</quote> verwendet wird, ist damit die durch das
|
|
FDP erweiterte Version der DocBook DTD gemeint.</para>
|
|
|
|
<note>
|
|
<para>Die durch das FDP vorgenommenen Erweiterungen sind nicht
|
|
FreeBSD-spezifisch. Sie wurden lediglich vorgenommen, da sie
|
|
für die Arbeit des FDPs als nützlich erschienen.
|
|
Für den Fall, das in den anderen *nix-Lagern (NetBSD,
|
|
OpenBSD, Linux,…) Interesse daran besteht, gemeinsam
|
|
eine Standarderweiterung für die DocBook DTD zu
|
|
entwickeln, kann mit dem &a.doceng; Verbindung aufgenommen
|
|
werden.</para>
|
|
</note>
|
|
|
|
<para>Zum jetzigen Zeitpunkt sind die FreeBSD-Erweiterungen
|
|
nicht Bestandteil der Ports-Sammlung. Sie werden im
|
|
&os;-Subversion-Repository (<ulink
|
|
url="http://svnweb.FreeBSD.org/doc/head/share/sgml/freebsd.dtd">head/share/sgml/freebsd.dtd</ulink>)
|
|
verwaltet.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Formelle Öffentliche Bezeichner</title>
|
|
|
|
<para>In Übereinstimmung mir der DocBook-Richtlinie zur
|
|
Erstellung von Bezeichnern für DocBook-Erweiterungen lautet
|
|
der Bezeichner der erweiterten FreeBSD-Variante:</para>
|
|
|
|
<programlisting>PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN"</programlisting>
|
|
</sect2>
|
|
|
|
<sect2 id="docbookstructure">
|
|
<title>Die Struktur von DocBook-Dokumenten</title>
|
|
|
|
<para>DocBook erlaubt es, Dokumente auf verschiedene Weise zu
|
|
strukturieren. Innerhalb des FDPs werden hauptsächlich zwei
|
|
Arten von DocBook-Dokumenten verwendet: Buch und Artikel.
|
|
Beide unterscheiden sich darin, dass ein Buch auf der obersten
|
|
Ebene durch <sgmltag>chapter</sgmltag>-Elemente strukturiert
|
|
wird. Sollte das noch nicht ausreichend sein, können die
|
|
einzelnen Kapitel eines Buches mit Hilfe des Elementes
|
|
<sgmltag>part</sgmltag> in Teile aufgespalten werden. Das
|
|
Handbuch ist beispielsweise auf diese Weise aufgebaut.</para>
|
|
|
|
<para>Kapitel (<sgmltag>chapter</sgmltag>) können weiterhin in
|
|
Unterkapitel unterteilt werden. Diese werden durch die
|
|
Elemente <sgmltag>sect1</sgmltag> ausgezeichnet. Soll ein
|
|
Unterkapitel selbst weitere Unterkapitel enthalten, kann das
|
|
über das Element <sgmltag>sect2</sgmltag> geschehen. Diese
|
|
Unterteilung kann bis zur Tiefe von fünf Unterkapiteln –
|
|
über die Elemente <sgmltag>sect3</sgmltag>,
|
|
<sgmltag>sect4</sgmltag> und <sgmltag>sect5</sgmltag> –
|
|
fortgeführt werden. Der eigentliche Inhalt, um den es ja in
|
|
dem Artikel oder Buch geht, wird unterhalb der hier genannten
|
|
Elemente eingefügt.</para>
|
|
|
|
<para>Vom Aufbau her ist ein Artikel ist einfacher strukturiert
|
|
als ein Buch. So kann ein Artikel beispielsweise keine Kapitel
|
|
(<sgmltag>chapter</sgmltag>) enthalten. Stattdessen kann der
|
|
Inhalt eines Artikels nur durch die schon bekannten
|
|
<sgmltag>sect<replaceable>N</replaceable></sgmltag>-Elemente
|
|
in einen oder mehrere Abschnitte gegliedert werden.
|
|
Überlegen Sie sich vor dem Schreiben eines Textes,
|
|
ob der zu schreibende Text am
|
|
besten als Buch oder als Artikel angelegt wird. Artikel eignen
|
|
sich besser für Texte, die nicht in mehrere Kapitel
|
|
aufgeteilt werden müssen und mit einem Umfang von
|
|
ungefähr 20 bis 25 Seiten vergleichsweise kurz sind.
|
|
Natürlich ist das nur eine Richtlinie. Bücher sind
|
|
dementsprechend am besten für lange Texte geeignet, die
|
|
sich sinnvoll in Kapitel unterteilen lassen und
|
|
möglichweiser noch Anhänge und ähnliches
|
|
enthalten können.</para>
|
|
|
|
<para>Alle <ulink url="&url.base;/de/docs.html">Tutorien von
|
|
FreeBSD</ulink> sind als Artikel verfaßt, während
|
|
hingegen die <ulink
|
|
url="&url.books.faq;/index.html">FreeBSD-FAQ</ulink> und das <ulink
|
|
url="&url.books.handbook;/index.html">FreeBSD-Handbuch</ulink> als
|
|
Bücher verfaßt wurden.</para>
|
|
|
|
<sect3>
|
|
<title>Bücher schreiben</title>
|
|
|
|
<para>Der Inhalt eines Buches wird in einem
|
|
<sgmltag>book</sgmltag>-Element abgelegt. Neben dem
|
|
Textteil des Buches kann dieses Element weitergehende
|
|
Informationen über das Buch selbst,
|
|
wie Meta-Informationen zum Erstellen eines
|
|
Stichwortverzeichnisses oder zusätzliche
|
|
Inhalte zum Erstellen einer Titelei, enthalten. Diese
|
|
zusätzlichen Inhalte sollten in einem
|
|
<sgmltag>bookinfo</sgmltag>-Element abgelegt werden.</para>
|
|
|
|
<example>
|
|
<title>Buchvorlage <sgmltag>book</sgmltag> mit
|
|
<sgmltag>bookinfo</sgmltag></title>
|
|
|
|
<!-- Can't put this in a marked section because of the
|
|
replaceable elements -->
|
|
<programlisting><book>
|
|
<bookinfo>
|
|
<title><replaceable>Titel</replaceable></title>
|
|
<author>
|
|
<firstname><replaceable>Vorname</replaceable></firstname>
|
|
<surname><replaceable>Nachname</replaceable></surname>
|
|
<affiliation>
|
|
<address><email><replaceable>E-Mail-Adresse</replaceable></email></address>
|
|
</affiliation>
|
|
</author>
|
|
|
|
<copyright>
|
|
<year><replaceable>1998</replaceable></year>
|
|
<holder role="mailto:<replaceable>E-Mail-Adresse</replaceable>"><replaceable>Vollständiger Name</replaceable></holder>
|
|
</copyright>
|
|
|
|
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
|
|
<abstract>
|
|
<para><replaceable>Kurze Zusammenfassung des Buchinhaltes.</replaceable></para>
|
|
</abstract>
|
|
</bookinfo>
|
|
|
|
…
|
|
|
|
</book></programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Artikel schreiben</title>
|
|
|
|
<para>Der Inhalt eines Artikels wird in einem
|
|
<sgmltag>article</sgmltag>-Element abgelegt. Neben
|
|
dem Textteil kann dieses Element weitere Teile,
|
|
wie Meta-Informationen zum Erstellen eines
|
|
Stichwortverzeichnisses oder zusätzliche
|
|
Inhalte zum Erstellen einer Titelei, enthalten.
|
|
Analog zu einem Buch, sollten diese Informationen in einem
|
|
<sgmltag>articleinfo</sgmltag>-Element abgelegt
|
|
werden.</para>
|
|
|
|
<example>
|
|
<title>Artikelvorlage <sgmltag>article</sgmltag> mit
|
|
<sgmltag>articleinfo</sgmltag></title>
|
|
|
|
<!-- Can't put this in a marked section because of the
|
|
replaceable elements -->
|
|
<programlisting><article>
|
|
<articleinfo>
|
|
<title><replaceable>Titel</replaceable></title>
|
|
|
|
<author>
|
|
<firstname><replaceable>Vorname</replaceable></firstname>
|
|
<surname><replaceable>Nachname</replaceable></surname>
|
|
<affiliation>
|
|
<address><email><replaceable>E-Mail-Adresse</replaceable></email></address>
|
|
</affiliation>
|
|
</author>
|
|
|
|
<copyright>
|
|
<year><replaceable>1998</replaceable></year>
|
|
<holder role="mailto:<replaceable>E-Mail-Adresse</replaceable>"><replaceable>Vollständiger Name</replaceable></holder>
|
|
</copyright>
|
|
|
|
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
|
|
<abstract>
|
|
<para><replaceable>Kurze Zusammenfassung des Artikelinhalts.</replaceable></para>
|
|
</abstract>
|
|
</articleinfo>
|
|
|
|
…
|
|
|
|
</article></programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Kapitel</title>
|
|
|
|
<para>Kapitel werden mit dem
|
|
<sgmltag>chapter</sgmltag>-Element angelegt und müssen ein
|
|
<sgmltag>title</sgmltag>-Element enthalten. Verwendet werden
|
|
können sie nur in Büchern.</para>
|
|
|
|
<example>
|
|
<title>Ein einfaches Kapitel</title>
|
|
|
|
<programlisting><![CDATA[<chapter>
|
|
<title>Kapitelüberschrift</title>
|
|
|
|
…
|
|
</chapter>]]></programlisting>
|
|
</example>
|
|
|
|
<para>Kapitel können nicht leer sein. Nebem einem
|
|
<sgmltag>title</sgmltag>-Element müssen sie weiteren Inhalt
|
|
beinhalten. Falls ein leeres Kapitel benötig wird, kann dies
|
|
durch das Einfügen eines leeren Absatzes
|
|
(<sgmltag>para</sgmltag>) erreicht werden.</para>
|
|
|
|
<example>
|
|
<title>Ein leeres Kapitel</title>
|
|
|
|
<programlisting><![CDATA[<chapter>
|
|
<title>Das ist ein leeres Kapitel</title>
|
|
|
|
<para></para>
|
|
</chapter>]]></programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3 id="unterkapitel">
|
|
<title>Unterkapitel</title>
|
|
|
|
<!-- Bei der Uebersetzung dieser Stelle bin ich
|
|
bewusst vom Original abgewichen, da ich die
|
|
Begriffe Kapitel und Kapitel anstatt
|
|
Kapitel und Abschnitt benutze. Eine
|
|
originalgetreue Uebersetzung wuerde somit an dieser
|
|
Stelle nur zu Verwirrung fuehren.
|
|
Oliver Fischer, 14.04.2004 -->
|
|
|
|
<para>Bücher werden auf der obersten Gliederungsebene
|
|
durch <sgmltag>chapter</sgmltag>-Elemente in Kapitel
|
|
unterteilt. Eine weitergehende Untergliederung kann durch
|
|
das Anlegen von Unterkapiteln erreicht werden. Im Gegensatz
|
|
zu Kapiteln, die durch <sgmltag>chapter</sgmltag>-Elemente
|
|
ausgezeichnet werden, erfolgt die Auszeichnung von
|
|
Unterkapitel mit dem Element
|
|
<sgmltag>sect<replaceable>n</replaceable></sgmltag>. Das
|
|
<replaceable>n</replaceable> in Elementnamen trifft eine
|
|
Aussage über die Gliederungstiefe, auf der sich das
|
|
Unterkapitel befindet. Ein <sgmltag>sect1</sgmltag>-Element
|
|
kann mehrere Elemente vom Typ <sgmltag>sect2</sgmltag>
|
|
enthalten, die die Unterkapitel der
|
|
nächsten Gliederungsebene darstellen.
|
|
<sgmltag>sect5</sgmltag> ist das letzte Element, das auf
|
|
diese Art zur Gliederung eingesetzt werden kann.</para>
|
|
|
|
<example>
|
|
<title>Unterkapitel</title>
|
|
|
|
<programlisting><![CDATA[<chapter>
|
|
<title>Ein Beispielkapitel</title>
|
|
|
|
<para>Ein beliebiger Text.</para>
|
|
|
|
<sect1>
|
|
<title>Erster Abschnitt (1.1)</title>
|
|
|
|
…
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<title>Zweiter Abschnitt (1.2)</title>
|
|
|
|
<sect2>
|
|
<title>Erster Unterabschnitt (1.2.1)</title>
|
|
|
|
<sect3>
|
|
<title>Erster Unterunterabschnitt (1.2.1.1)</title>
|
|
|
|
…
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Zweiter Unterabschnitt (1.2.2)</title>
|
|
|
|
…
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>]]></programlisting>
|
|
</example>
|
|
|
|
<note>
|
|
<para>Die Unterkapitel dieses Beispiels wurden zu
|
|
Demonstrationszwecken manuell durchnummeriert. In
|
|
<quote>normalen</quote> Dokumenten wird diese Aufgabe von
|
|
den Stylesheets übernommen.</para>
|
|
</note>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Bücher mittels <sgmltag>part</sgmltag>
|
|
unterteilen</title>
|
|
|
|
<para>In den Fällen, in denen die Unteilung eines Buches in
|
|
Kapitel nicht ausreichend ist, können mehrere
|
|
Kapitel mit dem Element <sgmltag>part</sgmltag> zu
|
|
einem Teil zusammengefasst werden.</para>
|
|
|
|
<programlisting><![CDATA[<part>
|
|
<title>Einführung</title>
|
|
|
|
<chapter>
|
|
<title>Überblick</title>
|
|
|
|
…
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<title>Was ist FreeBSD?</title>
|
|
|
|
…
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<title>Die Geschichte von FreeBSD</title>
|
|
|
|
…
|
|
</chapter>
|
|
</part>]]></programlisting>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Blockelemente</title>
|
|
|
|
<sect3>
|
|
<title>Absätze</title>
|
|
|
|
<para>DocBook kennt drei Arten von Absätzen: Absätze
|
|
mit Überschrift (<sgmltag>formalpara</sgmltag>),
|
|
normale Absätze (<sgmltag>para</sgmltag>) und einfache
|
|
Absätze (<sgmltag>simpara</sgmltag>).</para>
|
|
|
|
<para>Normale Absätze und einfache Absätze
|
|
unterscheiden sich dadurch, dass innerhalb von
|
|
<sgmltag>para</sgmltag> Blockelemente erlaubt sind,
|
|
innerhalb von <sgmltag>simpara</sgmltag> hingegen nicht. Es
|
|
ist empfehlenswert, <sgmltag>para</sgmltag> den Vorzug
|
|
zu geben.</para>
|
|
|
|
<example>
|
|
<title>Absatz mit <sgmltag>para</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Das ist ein Absatz. Absätze können fast jedes andere
|
|
Element aufnehmen.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Das ist ein Absatz. Absätze können fast jedes andere
|
|
Element aufnehmen.</para>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Blockzitate</title>
|
|
|
|
<para>Blockzitate sind textlich umfangreichere Zitate aus
|
|
einem anderen Text, die nicht innerhalb des aktuellen
|
|
Absatzes angezeigt werden sollen. Wahlweise können
|
|
Blockzitate eine Überschrift haben und die Zitatquelle
|
|
nennen.</para>
|
|
|
|
<example>
|
|
<title><sgmltag>blockquote</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Ein Auszug aus dem Grundgesetz:</para>
|
|
|
|
<blockquote>
|
|
<title>Menschenwürde; Grundrechtsbindung der staatlichen Gewalt</title>
|
|
|
|
<attribution>Aus dem Grundgesetz</attribution>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Die Würde des Menschen ist unantastbar. Sie zu achten
|
|
und zu schützen ist Verpflichtung aller staatlichen
|
|
Gewalten.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Das Deutsche Volk bekennt sich darum zu unverletzlichen
|
|
und unveräußerlichen Menschenrechten als Grundlage jeder
|
|
menschlichen Gemeinschaft, des Friedens und der
|
|
Gerechtigkeit in der Welt.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Die nachfolgenden Grundrechte binden Gesetzgebung,
|
|
vollziehende Gewalt und Rechtsprechung als
|
|
unmittelbar geltendes Recht.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</blockquote>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<blockquote>
|
|
<title>Menschenwürde; Grundrechtsbindung der
|
|
staatlichen Gewalt</title>
|
|
|
|
<attribution>Aus dem Grundgesetz</attribution>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Die Würde des Menschen ist unantastbar. Sie
|
|
zu achten und zu schützen ist Verpflichtung
|
|
aller staatlichen Gewalten.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Das Deutsche Volk bekennt sich darum zu
|
|
unverletzlichen und unveräußerlichen
|
|
Menschenrechten als Grundlage jeder menschlichen
|
|
Gemeinschaft, des Friedens und der Gerechtigkeit in
|
|
der Welt.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Die nachfolgenden Grundrechte binden
|
|
Gesetzgebung, vollziehende Gewalt und Rechtsprechung
|
|
als unmittelbar geltendes Recht.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</blockquote>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Tipps, Anmerkungen, Warnungen, wichtige Informationen
|
|
und Randbemerkungen</title>
|
|
|
|
<para>In bestimmten Fällen kann es nützlich sein,
|
|
dem Leser zusätzliche Informationen zu geben, die sich
|
|
vom Haupttext abheben, damit der Leser sie besser wahrnimmt.
|
|
Abhängig von der Art der Information, können
|
|
solche Stellen mit einem der Elemente <sgmltag>tip</sgmltag>
|
|
(für Tipps), <sgmltag>note</sgmltag> (für
|
|
Anmerkungen), <sgmltag>warning</sgmltag> (für
|
|
Warnungen), <sgmltag>caution</sgmltag> (für besonders
|
|
ernstzunehmende Warnungen) und <sgmltag>important</sgmltag>
|
|
(für wichtige Anmerkungen) ausgezeichnet werden. Trifft
|
|
keines dieser Element für die auszuzeichnende Stelle
|
|
zu, sollte diese mit dem Element <sgmltag>sidebar</sgmltag>
|
|
ausgezeichnet werden.</para>
|
|
|
|
<para>Da die richtige Einordnung einer auszuzeichnenden
|
|
Textstelle nicht immer leicht zu treffen ist, werden in der
|
|
DocBook-Dokumentation folgende Empfehlungen gegeben:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Eine Anmerkung (<sgmltag>note</sgmltag>) ist eine
|
|
Information, die von jedem Leser beachtet werden
|
|
sollte.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Eine wichtige Anmerkung
|
|
(<sgmltag>important</sgmltag>) eine Variation einer
|
|
Anmerkung.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Eine Warnung (<sgmltag>warning</sgmltag>)
|
|
betrifft einen möglichen Hardwareschaden
|
|
oder weist auf eine Gefahr für Leib und Leben
|
|
hin.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Eine besonders ernstzunehmende Warnung
|
|
(<sgmltag>caution</sgmltag>) betrifft einen möglichen
|
|
Datenverlust oder Softwareschaden.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<example>
|
|
<title><sgmltag>warning</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<warning>
|
|
<para>Wenn Sie FreeBSD auf Ihrer Festplatte installieren,
|
|
kann es sein, da&szlig; Sie Windows nie mehr benutzen wollen.</para>
|
|
</warning>]]></programlisting>
|
|
</example>
|
|
|
|
<para>Eine Warnung wird wie folgt dargestellt:</para>
|
|
|
|
<warning>
|
|
<para>Wenn Sie FreeBSD auf Ihrer Festplatte installieren,
|
|
kann es sein, dass Sie Windows nie mehr benutzen wollen.</para>
|
|
</warning>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Listen und Handlungsanweisungen</title>
|
|
|
|
<para>Listen sind ein oft gebrauchtes Hilfsmittel, wenn es
|
|
darum geht, Informationen für den Benutzer
|
|
übersichtlich darzustellen oder eine Abfolge von
|
|
Arbeitsschritten zu beschreiben, die notwendig sind, um ein
|
|
bestimmtes Ziel zu erreichen. Zur Auszeichnung von Listen
|
|
stellt DocBook die Elemente <sgmltag>itemizedlist</sgmltag>,
|
|
<sgmltag>orderedlist</sgmltag> und
|
|
<sgmltag>procedure</sgmltag> zur Verfügung.<footnote>
|
|
<para>DocBook kennt noch andere Elemente für die
|
|
Auszeichnung von Listen, die an dieser Stelle jedoch
|
|
nicht behandelt werden.</para>
|
|
</footnote>.</para>
|
|
|
|
<para><sgmltag>itemizedlist</sgmltag> und
|
|
<sgmltag>orderedlist</sgmltag> ähneln sehr stark ihren
|
|
HTML-Gegenstücken <sgmltag>ul</sgmltag> und
|
|
<sgmltag>ol</sgmltag>. Beide Listenarten müssen
|
|
mindestens ein Element <sgmltag>listitem</sgmltag>
|
|
enthalten. Das <sgmltag>listitem</sgmltag> Element
|
|
muss mindestens ein weiteres Blockelement
|
|
enthalten.</para>
|
|
|
|
<para><sgmltag>procedure</sgmltag> unterscheidet sich ein
|
|
wenig von den vorhergehenden. Es enthält
|
|
<sgmltag>step</sgmltag>-Elemente, die wiederum
|
|
<sgmltag>step</sgmltag>- oder
|
|
<sgmltag>substel</sgmltag>-Elemente enthalten können.
|
|
Ein <sgmltag>step</sgmltag>-Element kann nur Blockelemente
|
|
aufnehmen.</para>
|
|
|
|
<example>
|
|
<title><sgmltag>itemizedlist</sgmltag>,
|
|
<sgmltag>orderedlist</sgmltag> und
|
|
<sgmltag>procedure</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<itemizedlist>
|
|
<listitem>
|
|
<para>Das ist das erste Listenelement.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das ist das zweite Listenelement.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Das ist das erste Aufzählungselement.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das ist das zweite Aufzählungselement.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Machen Sie zuerst dies.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Und dann machen Sie das..</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Und jetzt noch das…</para>
|
|
</step>
|
|
</procedure>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Das ist das erste Listenelement.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das ist das zweite Listenelement.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Das ist das erste Aufzählungselement.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Das ist das zweite Aufzählungselement.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</example>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Machen Sie zuerst dies.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Und dann machen Sie das..</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Und jetzt noch das…</para>
|
|
</step>
|
|
</procedure>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Dateiinhalte auszeichnen</title>
|
|
|
|
<para>Technische Dokumente enthalten oft auch
|
|
Konfigurationsbeispiele oder Quellcodeschnipsel. Zur
|
|
Auszeichnung dieser Inhalte, stellt Docbook das Element
|
|
<sgmltag>programmlisting</sgmltag> zur Verfügung. Im
|
|
Gegensatz zu anderen DocBook-Elementen wird der
|
|
Elementinhalt von <sgmltag>programmlisting</sgmltag>
|
|
<emphasis>nicht</emphasis> normalisiert, das heißt,
|
|
dass alle Leerzeichen, Tabulatoren und
|
|
Zeilenumbrüche unverändert übernommen werden.
|
|
Aus diesem Grund ist es unter anderem wichtig, dass
|
|
sich der öffende Tag in der selben Zeile wie der Anfang
|
|
des darzustellenden Textes befindet. Gleiches gilt für
|
|
den schließenden Tag: Er muss sich am Ende der
|
|
letzten Zeile befinden. Wird das nicht beachtet, kann es
|
|
sein, dass unerwartete Leerzeichen und Leerzeilen in
|
|
der Ausgabe auftauchen.</para>
|
|
|
|
<example>
|
|
<title><sgmltag>programlisting</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Am Ende sollte Ihr Programm wie folgt
|
|
aussehen:</para>
|
|
|
|
<programlisting>#include &lt;stdio.h&gt;
|
|
|
|
int
|
|
main(void)
|
|
{
|
|
printf("Hallo Welt!\n");
|
|
}</programlisting>]]></programlisting>
|
|
|
|
<para>Die spitzen Klammern der
|
|
<literal>#include</literal>-Anweisung können nicht direkt
|
|
verwendet werden, sondern müssen über ihre Entitäten
|
|
eingebunden werden.</para>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Am Ende sollte Ihr Programm wie folgt aussehen:</para>
|
|
|
|
<programlisting>#include <stdio.h>
|
|
|
|
int
|
|
main(void)
|
|
{
|
|
printf("Hallo Welt!\n");
|
|
}</programlisting>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Textanmerkungen</title>
|
|
|
|
<para>Textanmerkungen<footnote><para>
|
|
auf Englisch:
|
|
<foreignphrase>callout</foreignphrase></para></footnote>
|
|
sind ein Mechanismus, um auf bestimmte Stellen in einem
|
|
vorhergehenden Beispiel oder Text zu verweisen.</para>
|
|
|
|
<para>Um solche Verweise anzulegen, müssen die betreffenden
|
|
Stellen in den Beispielen
|
|
(<sgmltag>programlisting</sgmltag>,
|
|
<sgmltag>literallayout</sgmltag>, …) mit
|
|
<sgmltag>co</sgmltag>-Elementen markiert werden, wobei jedes
|
|
Element ein eindeutiges <literal>id</literal>-Attribut
|
|
besitzen muss. Anschließend sollte ein
|
|
<sgmltag>calloutlist</sgmltag>-Element eingefügt werden,
|
|
dessen Elemente sich auf die <sgmltag>co</sgmltag>-Elemente
|
|
des Beispiels beziehen und die jeweiligen Anmerkungen
|
|
enthalten.</para>
|
|
|
|
<example>
|
|
<title>Das <sgmltag>co</sgmltag>- und das
|
|
<sgmltag>calloutlist</sgmltag>-Element</title>
|
|
|
|
<programlisting><![CDATA[<para>Am Ende sollte Ihr Programm wie folgt
|
|
aussehen:</para>
|
|
|
|
<programlisting>#include &lt;stdio.h&gt; <co id="co-ex-include"/>
|
|
|
|
int <co id="co-ex-return"/>
|
|
main(void)
|
|
{
|
|
printf("Hallo Welt\n"); <co id="co-ex-printf"/>
|
|
}</programlisting>
|
|
|
|
<calloutlist>
|
|
<callout arearefs="co-ex-include">
|
|
<para>Bindet die Headerdatei <filename>stdio.h</filename> ein.</para>
|
|
</callout>
|
|
|
|
<callout arearefs="co-ex-return">
|
|
<para>Bestimmt den Typ des Rückgabewertes von <function>main()</function>.</para>
|
|
</callout>
|
|
|
|
<callout arearefs="co-ex-printf">
|
|
<para>Ruft die Funktion <function>printf()</function> auf, die
|
|
<literal>Hallo Welt!</literal> auf der Standardausgabe ausgibt</para>
|
|
</callout>
|
|
</calloutlist>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Am Ende sollte Ihr Programm wie folgt aussehen:</para>
|
|
|
|
<programlisting>#include &lt;stdio.h&gt; <co id="co-ex-include"/>
|
|
|
|
int <co id="co-ex-return"/>
|
|
main(void)
|
|
{
|
|
printf("Hallo Welt\n"); <co id="co-ex-printf"/>
|
|
}</programlisting>
|
|
|
|
<calloutlist>
|
|
<callout arearefs="co-ex-include">
|
|
<para>Bindet die Headerdatei <filename>stdio.h</filename> ein.</para>
|
|
</callout>
|
|
|
|
<callout arearefs="co-ex-return">
|
|
<para>Bestimmt den Typ des Rückgabewertes von <function>main()</function>.</para>
|
|
</callout>
|
|
|
|
<callout arearefs="co-ex-printf">
|
|
<para>Ruft die Funktion <function>printf()</function> auf, die
|
|
<literal>Hallo Welt!</literal> auf der Standardausgabe ausgibt</para>
|
|
</callout>
|
|
</calloutlist>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Tabellen</title>
|
|
|
|
<para>Im Gegensatz zu HTML ist es nicht notwendig, Tabellen zu
|
|
Layoutzwecken einzusetzen, da die Layoutaufgabe von den
|
|
Stylesheets übernommen wird. Stattdessen sollten Tabellen
|
|
nur für die Auszeichnung von Daten in Tabellenform genutzt
|
|
werden.</para>
|
|
|
|
<para>Vereinfacht betrachtet (für Details sollte die
|
|
DocBook-Dokumentation zu Rate gezogen werden) besteht eine
|
|
Tabelle, die entweder als formelle oder als informelle
|
|
Tabelle angelegt werden kann, aus einem
|
|
<sgmltag>table</sgmltag>-Element. Dieses Element selbst
|
|
beinhaltet mindestens ein Element <sgmltag>tgroup</sgmltag>,
|
|
das über ein Attribut die Spaltenanzahl der Tabelle
|
|
bestimmt. Innerhalb des Elementes <sgmltag>tgroup</sgmltag>
|
|
kann sich ein Element <sgmltag>thead</sgmltag> mit den
|
|
Spaltenüberschriften und ein Element
|
|
<sgmltag>tbody</sgmltag> mit dem eigentlichen Tabelleninhalt
|
|
befinden. Beide Elemente beinhalten
|
|
<sgmltag>row</sgmltag>-Elemente, die wiederum
|
|
<sgmltag>entry</sgmltag>-Elemente beinhalten. Jedes
|
|
<sgmltag>entry</sgmltag>-Element stellt eine einzelne
|
|
Tabellenzelle dar.</para>
|
|
|
|
<example>
|
|
<title>Tabellen mittels <sgmltag>informaltable</sgmltag>
|
|
auszeichnen</title>
|
|
|
|
<programlisting><![CDATA[<informaltable pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Spaltenüberschrift 1</entry>
|
|
<entry>Spaltenüberschrift 2</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>Zeile 1, Spalte 1</entry>
|
|
<entry>Zeile 1, Spalte 2</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Zeile 2, Spalte 1</entry>
|
|
<entry>Zeile 2, Spalte 2</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<informaltable pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Spaltenüberschrift 1</entry>
|
|
<entry>Spaltenüberschrift 2</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>Zeile 1, Spalte 1</entry>
|
|
<entry>Zeile 1, Spalte 2</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Zeile 2, Spalte 1</entry>
|
|
<entry>Zeile 2, Spalte 2</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</example>
|
|
|
|
<para>Verwenden Sie stets das Attribut <literal>pgwide</literal>
|
|
mit dem Wert <literal>1</literal>, wenn Sie das Element
|
|
<sgmltag>informaltable</sgmltag> benutzen. Ein Bug des
|
|
Internet Explorers verhindert ansonsten die korrekte
|
|
Darstellung dieser Tabellen.</para>
|
|
|
|
<para>Soll die Tabelle keinen Rand haben, kann das Attribut
|
|
<literal>frame</literal> mit dem Wert
|
|
<literal>none</literal> dem Element
|
|
<sgmltag>informaltable</sgmltag> hinzugefügt werden
|
|
(<literal><informaltable frame="none"></literal>)).</para>
|
|
|
|
<example>
|
|
<title>Tabelle mit Attribut
|
|
<literal>frame="none"</literal></title>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Spaltenüberschrift 1</entry>
|
|
<entry>Spaltenüberschrift 2</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>Zeile 1, Spalte 1</entry>
|
|
<entry>Zeile 1, Spalte 2</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Zeile 2, Spalte 1</entry>
|
|
<entry>Zeile 2, Spalte 2</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Beispiele für den Leser</title>
|
|
|
|
<para>Oft gilt es, für dem Benutzer Beispiele
|
|
zu geben, die er dann selber nachvollziehen soll. Meist
|
|
handelt es sich dabei um interaktive Dialoge zwischen Mensch
|
|
und Maschine: Der Benutzer gibt einen Befehl ein und
|
|
erhält eine Antwort vom System. Ein Satz
|
|
von speziellen Elementen und Entitäten unterstützt
|
|
den Autor bei der Auszeichnung solcher Textstellen:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><sgmltag>screen</sgmltag></term>
|
|
|
|
<listitem>
|
|
<para>Gedacht zur Auszeichnung von Bildschirminhalten.
|
|
Im Unterschied zu anderen Elementen werden Leerzeichen
|
|
innerhalb des Elementes <sgmltag>screen</sgmltag>
|
|
unverändert übernommen.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><sgmltag>prompt</sgmltag>,
|
|
<literal>&prompt.root;</literal> und
|
|
<literal>&prompt.user;</literal></term>
|
|
|
|
<listitem>
|
|
<para>Eingabeaufforderungen des Rechners
|
|
(Betriebssysten, Shell oder Anwendung) sind ein häufig
|
|
auftretender Teil dessen, was der Benutzer auf dem
|
|
Bildschirm zu sehen bekommt. Sie sollten mit
|
|
<sgmltag>prompt</sgmltag> ausgezeichnet werden.</para>
|
|
|
|
<para>Ein Spezialfall sind die beiden
|
|
Eingabeaufforderungen der Shell für normale
|
|
Benutzer und den Superuser <username>root</username>.
|
|
Jedesmal wenn auf eine von diesen beiden Nutzerrollen
|
|
hingewiesen werden soll, sollte entweder
|
|
<literal>&prompt.root;</literal> oder
|
|
<literal>&prompt.user;</literal> eingesetzt
|
|
werden. Beide Entitäten können auch
|
|
außerhalb von <sgmltag>screen</sgmltag>
|
|
verwendet werden.</para>
|
|
|
|
<note>
|
|
<para><literal>&prompt.root;</literal> und
|
|
<literal>&prompt.user;</literal> sind
|
|
FreeBSD-spezifische Erweiterungen der DocBook DTD
|
|
und nicht in der originalen DocBook DTD
|
|
enthalten.</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><sgmltag>userinput</sgmltag></term>
|
|
|
|
<listitem>
|
|
<para>Das Element <sgmltag>userinput</sgmltag> ist
|
|
für die Auszeichnung von Benutzereingaben
|
|
gedacht.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<example>
|
|
<title><sgmltag>screen</sgmltag>, <sgmltag>prompt</sgmltag>
|
|
und <sgmltag>userinput</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<screen>&prompt.user; <userinput>ls -1</userinput>
|
|
foo1
|
|
foo2
|
|
foo3
|
|
&prompt.user; <userinput>ls -1 | grep foo2</userinput>
|
|
foo2
|
|
&prompt.user; <userinput>su</userinput>
|
|
<prompt>Password: </prompt>
|
|
&prompt.root; <userinput>cat foo2</userinput>
|
|
This is the file called 'foo2'</screen>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<screen>&prompt.user; <userinput>ls -1</userinput>
|
|
foo1
|
|
foo2
|
|
foo3
|
|
&prompt.user; <userinput>ls -1 | grep foo2</userinput>
|
|
foo2
|
|
&prompt.user; <userinput>su</userinput>
|
|
<prompt>Password: </prompt>
|
|
&prompt.root; <userinput>cat foo2</userinput>
|
|
This is the file called 'foo2'</screen>
|
|
</example>
|
|
|
|
<note>
|
|
<para>Obgleich der Inhalt der Datei
|
|
<filename>foo2</filename> in dem obigen Beispiel angezeigt
|
|
wird, sollte dieser nicht mit
|
|
<sgmltag>programlisting</sgmltag> ausgezeichnet werden.
|
|
Vielmehr sollte <sgmltag>programlisting</sgmltag> einzig
|
|
und allein für die Darstellung von Dateifragmenten
|
|
außerhalb von Benutzeraktionen gewählt
|
|
werden.</para>
|
|
</note>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Flußelemente</title>
|
|
|
|
<sect3>
|
|
<title>Hervorhebungen</title>
|
|
|
|
<para>Wenn es darum geht bestimmte Wörter oder Textstellen
|
|
hervorzuheben, sollte dafür das Element
|
|
<sgmltag>emphasis</sgmltag> verwendet werden. Das so
|
|
ausgezeichnete Text wird dann kursiv oder fett dargestellt;
|
|
im Falle einer Sprachausgabe würde es anders betont
|
|
werden.</para>
|
|
|
|
<para>Im Gegensatz zu den HTML mit seinen Elementen
|
|
<sgmltag>b</sgmltag> und <sgmltag>i</sgmltag>, kennt DocBook
|
|
keinen Weg, um diese Darstellung zu
|
|
ändern<footnote><para>Anmerkung des
|
|
Übersetzers: Hier sollte man sich noch einmal ins
|
|
Gedächtnis rufen, dass mittels der DocBook DTD nur
|
|
Inhalte ausgezeichnet werden und nicht das Layout
|
|
bestimmt wird.</para></footnote>. Handelt es sich bei
|
|
dem darzustellenden um eine wichtige Information, kann
|
|
alternativ <sgmltag>important</sgmltag> verwendet
|
|
werden.</para>
|
|
|
|
<example>
|
|
<title>Das Element <sgmltag>emphasis</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>FreeBSD ist zweifelslos <emphasis>das</emphasis> führende
|
|
Unix-artige Bestriebssystem für die Intel-Plattform.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>FreeBSD ist zweifelslos <emphasis>das</emphasis> führende
|
|
Unix-artige Bestriebssystem für die Intel-Plattform.</para>
|
|
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Zitate</title>
|
|
|
|
<para>Um einen Auszug aus einer anderen Quelle zu zitieren
|
|
oder kenntlich zu machen, dass eine bestimmte Wendung
|
|
im übertragenen Sinne zu verstehen ist, kann der
|
|
betreffende Text mit Hilfe des Elementes
|
|
<sgmltag>quote</sgmltag> ausgezeichnet werden. Innerhalb von
|
|
<sgmltag>quote</sgmltag> können die meisten der
|
|
normalerweise zur Verfügung stehenden Elemente genutzt
|
|
werden.</para>
|
|
|
|
<example>
|
|
<title>Richtig zitieren</title>
|
|
|
|
<programlisting><![CDATA[<para>Es sollte immer sichergestellt werden, dass die Suche die Grenzen
|
|
zwischen <quote>lokaler und öffentlicher Administration</quote>
|
|
(RFC 1535) einhält.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Es sollte immer sichergestellt werden, das die Suche
|
|
die Grenzen zwischen <quote>lokaler und öffentlicher
|
|
Administration</quote> (RFC 1535) einhält.</para>
|
|
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Tasten, Maustasten und Tastenkombinationen</title>
|
|
|
|
<para>Das Element <sgmltag>keycap</sgmltag> beschreibt
|
|
eine bestimmte Taste der Tastatur.
|
|
Für die Auszeichnung von Maustasten
|
|
steht analog das Element <sgmltag>mousebutton</sgmltag> zur
|
|
Verfügung. Mit Hilfe von <sgmltag>keycombo</sgmltag>
|
|
können beliebige Tasten- und Maustastenkombinationen
|
|
beschrieben werden.</para>
|
|
|
|
<para>Das Element <sgmltag>keycombo</sgmltag> besitzt ein
|
|
Attribut <literal>action</literal>, dem einer der Werte
|
|
<literal>click</literal>, <literal>double-click</literal>,
|
|
<literal>other</literal>, <literal>press</literal>,
|
|
<literal>seq</literal> oder <literal>simul</literal>
|
|
zugewiesen werden kann. Die letzten beiden Werte deuten an,
|
|
dass die genannte Kombination nacheinander oder
|
|
gleichzeitig gedrückt werden soll. Die Stylesheets
|
|
fügen zwischen die einzelnen Unterelemente von
|
|
<sgmltag>keycombo</sgmltag> <quote>+</quote>-Zeichen
|
|
ein.</para>
|
|
|
|
|
|
<example>
|
|
<title>Tasten, Maustasten und Tastenkombinationen</title>
|
|
|
|
<para>Diese Eingaben zeichnen Sie wie folgt aus:</para>
|
|
|
|
<programlisting><![CDATA[<para>Mit der Tastenkombination <keycombo action="simul"><keycap>Alt</keycap>
|
|
<keycap>F1</keycap></keycombo> kann auf die zweite virtuelle Konsole
|
|
umgeschaltet werden.</para>
|
|
|
|
<para>Um <command>vi</command> zu beenden, ohne die Änderungen zu
|
|
speichern, muss <keycombo action="seq"><keycap>Esc</keycap>
|
|
<keycap>:</keycap><keycap>q</keycap><keycap>!</keycap>
|
|
</keycombo> eingegeben werden.</para>
|
|
|
|
<para>Der Fenstermanager ist so konfiguriert, dass mittels
|
|
<keycombo action="simul"><keycap>Alt</keycap>
|
|
<mousebutton>rechter Maustaste</mousebutton> </keycombo>
|
|
Fenster verschoben werden können.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Mit der Tastenkombination <keycombo
|
|
action="simul"><keycap>Alt</keycap>
|
|
<keycap>F1</keycap></keycombo> kann auf die zweite
|
|
virtuelle Konsole umgeschaltet werden.</para>
|
|
|
|
<para>Um <command>vi</command> zu beenden, ohne die
|
|
Änderungen zu speichern, muss <keycombo
|
|
action="seq"><keycap>Esc</keycap>
|
|
<keycap>:</keycap><keycap>q</keycap><keycap>!</keycap>
|
|
</keycombo> eingegeben werden.</para>
|
|
|
|
<para>Der Fenstermanager ist so konfiguriert, dass mittels
|
|
<keycombo action="simul"><keycap>Alt</keycap>
|
|
<mousebutton>rechter Maustaste</mousebutton>
|
|
</keycombo>
|
|
Fenster verschoben werden können.</para>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Anwendungen, Befehle, Optionen und Hilfeseiten</title>
|
|
|
|
<para>Oft besteht die Notwendigkeit auf bestimmte Anwendungen
|
|
und Befehle zu verweisen. Der Unterschied zwischen einer
|
|
Anwendung und einem Befehl liegt darin, dass eine
|
|
Anwendung ein einzelnes oder eine Gruppe von Programmen ist,
|
|
mit denen eine bestimmte Aufgabe erledigt werden kann. Ein
|
|
Befehl hingegen ist der Name eines Programmes, dass der
|
|
Benutzer aufrufen kann<footnote><para>Der Befehl
|
|
<command>mozilla</command> startet das Programm
|
|
<application>mozilla</application>.</para>
|
|
</footnote>.</para>
|
|
|
|
<para>Desweiteren kann es auch vorkommen, dass die
|
|
von einem Programm (in einem bestimmten Fall)
|
|
akzeptierten Optionen genannt werden müssen.</para>
|
|
|
|
<para>Schlußendlich ist es oft gewünscht, zu einem
|
|
Befehl dessen Abschnitt der Manualseiten im
|
|
Unix-üblichen Stil <quote>Befehl(Zahl)</quote>
|
|
anzugeben.</para>
|
|
|
|
<para>Anwendungsnamen können mit <sgmltag>application</sgmltag>
|
|
ausgezeichnet werden.</para>
|
|
|
|
<para>Befehle können zusammen mit der betreffenden
|
|
Hilfeseite über das DocBook-Element
|
|
<sgmltag>citerefentry</sgmltag> ausgezeichnet werden.
|
|
<sgmltag>citerefentry</sgmltag> muss zwei weitere
|
|
Elemente enthalten: <sgmltag>refentrytitle</sgmltag>,
|
|
für den Befehlsnamen, und <sgmltag>manvolnum</sgmltag>,
|
|
für die Kategorie der Hilfeseite.</para>
|
|
|
|
<para>Diese Art auf Befehle zu verweisen kann sehr
|
|
ermüdent sein. Daher gibt es einen Satz von
|
|
<link linkend="sgml-primer-general-entities">Allgemeinen
|
|
Entitäten</link>, der diese Arbeit erleichtert. Er
|
|
ist in der Datei
|
|
<filename>doc/share/sgml/man-refs.ent</filename> enhalten
|
|
und kann über den folgenden Bezeichner eingebunden
|
|
werden:</para>
|
|
|
|
<programlisting>PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"</programlisting>
|
|
|
|
<para>Jede Entität in dieser Datei ist wie folgt aufgebaut:
|
|
<literal>&man.<replaceable>Hilfeseite</replaceable>.<replaceable>Kategorie</replaceable>;</literal>.</para>
|
|
|
|
<para>Der Anfang eines Dokumentes, das diese Entitäten
|
|
einbindet, könnte so aussehen:</para>
|
|
|
|
<programlisting><!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
|
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
|
|
%man; … ]></programlisting>
|
|
|
|
<para>Um Befehle innerhalb des Fließtextes auszuzeichen,
|
|
kann das Element <sgmltag>command</sgmltag> genutzt werden.
|
|
Die Optionen eines Befehles können mit Hilfe von
|
|
<sgmltag>option</sgmltag> ausgezeichnet werden.</para>
|
|
|
|
<para>Wenn man sich mehrmals hintereinander auf den gleichen
|
|
Befehl bezieht, sollte man beim ersten Auftreten die Notation
|
|
<literal>&man.<replaceable>command</replaceable>.<replaceable>section</replaceable>;</literal>
|
|
verwenden. Für alle folgenden Referenzen sollte hingegen
|
|
<sgmltag>command</sgmltag> verwendet werden. Dadurch
|
|
verbessert sich das Erscheinungsbild, insbesondere von HTML,
|
|
deutlich.</para>
|
|
|
|
<para>Die Unterscheidung zwischen <sgmltag>command</sgmltag>
|
|
und <sgmltag>application</sgmltag> kann schwer sein, und
|
|
manchmal ist die Entscheidung, welches Element das richtige
|
|
ist, nicht leicht. Das folgende Beispiel soll diese
|
|
Unterscheidung erleichtern.</para>
|
|
|
|
<example>
|
|
<title>Anwendungen, Befehle und Optionen</title>
|
|
|
|
<programlisting><![CDATA[<para><application>Sendmail</application> ist der verbreitetste
|
|
UNIX-Mailserver.</para>
|
|
|
|
<para><application>Sendmail</application> besteht aus den Programmen
|
|
<citerefentry>
|
|
<refentrytitle>sendmail</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</citerefentry>, &man.mailq.1;, und &man.newaliases.1;.</para>
|
|
|
|
<para>Mittels der Option <option>-bp</option> kann
|
|
<citerefentry><refentrytitle>sendmail</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</citerefentry> den Status der Mailwarteschlange ausgeben.
|
|
Der Status der Mailwarteschlange kann durch den Befehl
|
|
<command>sendmail -bp</command> überprüft werden.</para>]]></programlisting>
|
|
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para><application>Sendmail</application> ist der
|
|
verbreitetste UNIX-Mailserver.</para>
|
|
|
|
<para><application>Sendmail</application> besteht aus den
|
|
Programmen
|
|
<citerefentry>
|
|
<refentrytitle>sendmail</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</citerefentry>,
|
|
&man.mailq.1; sowie &man.newaliases.1;.</para>
|
|
|
|
<para>Mittels der Option <option>-bp</option> kann
|
|
<citerefentry><refentrytitle>sendmail</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</citerefentry> den Status der Mailwarteschlange ausgeben.
|
|
Der Status der Mailwarteschlange kann durch den Befehl
|
|
<command>sendmail -bp</command> überprüft
|
|
werden.</para>
|
|
</example>
|
|
|
|
<note>
|
|
<para>Die Schreibweise
|
|
<literal>&man.<replaceable>Hilfeseite</replaceable>.<replaceable>Kategorie</replaceable>;</literal>
|
|
ist leichter lesbar.</para>
|
|
</note>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Dateien, Verzeichnisse und Erweiterungen</title>
|
|
|
|
<para>Immer wenn in einem Text der Name einer Datei, eines
|
|
Verzeichnisses oder eine Dateierweiterung vorkommt, sollte
|
|
die betreffende Stelle mit dem Element
|
|
<sgmltag>filename</sgmltag> ausgezeichnet werden.</para>
|
|
|
|
<example>
|
|
<title>Das Element <sgmltag>filename</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Die SGML-Quellen des
|
|
englischen Handbuches befinden sich im Verzeichnis
|
|
<filename
|
|
class="directory">/usr/doc/en/handbook/</filename>. In
|
|
diesem Verzeichnis befindet sich eine Datei
|
|
<filename>handbook.sgml</filename>. Desweiteren sollte
|
|
sich eine Datei mit dem Namen
|
|
<filenname>Makefile</filename> zusammen mit mehreren
|
|
Dateien mit der Endung <filename>.ent</filename> in diesem
|
|
Verzeichnis befinden.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Die SGML-Quellen des englischen Handbuches befinden
|
|
sich im Verzeichnis
|
|
<filename>/usr/doc/en/handbook/</filename>. In diesem
|
|
Verzeichnis befindet sich eine Datei
|
|
<filename>handbook.sgml</filename>. Desweiteren sollte
|
|
sich eine Datei mit dem Namen
|
|
<filename>Makefile</filename> zusammen mit mehreren
|
|
Dateien mit der Endung <filename>.ent</filename> in diesem
|
|
Verzeichnis befinden.</para>
|
|
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Portnamen</title>
|
|
|
|
<note>
|
|
<title>FreeBSD-Erweiterung</title>
|
|
|
|
<para>Die hier genannten Elemente sind Bestandteil der
|
|
FreeBSD-Erweiterung für DocBook und sind nicht in der
|
|
originalen DocBook DTD enthalten.</para>
|
|
</note>
|
|
|
|
<para>An einigen Stellen ist es notwendig, den Namen eines
|
|
Ports aus FreeBSDs Ports-Sammlung in Dokumenten zu verwenden.
|
|
In diesem Fall sollte ebenfalls das Element
|
|
<sgmltag>filename</sgmltag> eingesetzt werden, dabei aber
|
|
dem Element das Attribut <literal>role</literal> mit dem
|
|
Wert <literal>package</literal> zugewiesen werden. Da die
|
|
Ports-Sammlung an jeder beliebigen Stelle im Dateisystem
|
|
installiert werden kann, sollte <sgmltag>filename</sgmltag>
|
|
nur die Kategorie und den Namen des Ports enthalten, aber
|
|
nicht das Verzeichnis
|
|
<filename>/usr/ports</filename>.</para>
|
|
|
|
<example>
|
|
<title>Portsnamen und das Element <sgmltag>filename</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Wenn Sie Ihr Netz und dessen Datenverkehr analysieren
|
|
möchten, dann installieren Sie bitte den Port <filename
|
|
role="package">net/ethereal</filename>.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Wenn Sie Ihr Netz und dessen Datenverkehr analysieren
|
|
möchten, dann installieren Sie bitte den Port <filename
|
|
role="package">net/ethereal</filename>.</para>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Gerätedateien unterhalb von
|
|
<filename>/dev</filename></title>
|
|
|
|
<note>
|
|
<title>FreeBSD-Erweiterung</title>
|
|
|
|
<para>Die hier genannten Elemente sind Bestandteil der
|
|
FreeBSD-Erweiterung für DocBook und sind nicht in der
|
|
originalen DocBook DTD enthalten.</para>
|
|
</note>
|
|
|
|
<para>Wird in einem Dokument Bezug auf Gerätedateien
|
|
unterhalb von <filename class="directory">dev</filename>
|
|
genommen, dann gibt es zwei Möglichkeiten diese
|
|
auszuzeichnen. Zum einen kann man sich auf das Gerät
|
|
beziehen, so wie es unter <filename>/dev</filename> zu
|
|
finden ist, und zum anderen kann man sich auf den
|
|
Gerätenamen beziehen, wie es innerhalb des Kerns
|
|
verwendet wird. Für letztere Möglichkeit sollte
|
|
das Element <sgmltag>devicename</sgmltag> genutzt
|
|
werden.</para>
|
|
|
|
<para>Allerdings besteht nicht immer diese
|
|
Wahlmöglichkeit. Einige Geräte, wie zum Beispiel
|
|
Netzwerkkartenm haben keinen Eintrag unter
|
|
<filename>/dev</filename> oder werden anders
|
|
dargestellt.</para>
|
|
|
|
<example>
|
|
<title>Gerätenamen per <sgmltag>devicename</sgmltag>
|
|
auszeichnen</title>
|
|
|
|
<programlisting><![CDATA[<para>Unter FreeBSD wird die serielle Datenübertragung über
|
|
<devicename>sio</devicename> abgewickelt, das unterhalb von
|
|
<filename>/dev</filename> eine Reihe von Einträgen anlegt.
|
|
Zu diesen Einträgen behören beispielsweise
|
|
<filename>/dev/ttyd0</filename> und
|
|
<filename>/dev/cuaa0</filename>.</para>
|
|
|
|
<para>Andererseits erscheinen Geräte wie beispielsweise
|
|
<devicename>ed0</devicename> nicht unterhalb von
|
|
<filename>/dev</filename>.</para>
|
|
|
|
<para>Unter MS-DOS wird das erste Diskettelaufwerk als
|
|
<devicename>a:</devicename> bezeichnet. FreeBSD
|
|
bezeichnet es als <filename>/dev/fd0</filename>.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Unter FreeBSD wird die serielle Datenübertragung
|
|
über <devicename>sio</devicename> abgewickelt, das
|
|
unterhalb von <filename>/dev</filename> eine Reihe von
|
|
Einträgen anlegt. Zu diesen Einträgen
|
|
behören beispielsweise
|
|
<filename>/dev/ttyd0</filename> und
|
|
<filename>/dev/cuaa0</filename>.</para>
|
|
|
|
<para>Andererseits erscheinen Geräte wie beispielsweise
|
|
<devicename>ed0</devicename> nicht unterhalb von
|
|
<filename>/dev</filename>.</para>
|
|
|
|
<para>Unter MS-DOS wird das erste Diskettelaufwerk als
|
|
<devicename>a:</devicename> bezeichnet. FreeBSD bezeichnet
|
|
es als <filename>/dev/fd0</filename>.</para>
|
|
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Rechner, Domains, IP-Adressen und mehr</title>
|
|
|
|
<note>
|
|
<title>FreeBSD-Erweiterung</title>
|
|
|
|
<para>Die hier genannten Elemente sind Bestandteil der
|
|
FreeBSD-Erweiterung für DocBook und sind nicht in der
|
|
originalen DocBook DTD enthalten.</para>
|
|
</note>
|
|
|
|
|
|
<para>Bezeichner für Rechner können in Abhängigkeit
|
|
der Bezeichnungsweise auf verschiedene Art und Weise
|
|
ausgezeichnet werden. Gemeinsam ist allen, dass sie
|
|
das Element <sgmltag>hostid</sgmltag> benutzen. Über das
|
|
Attribut <literal>role</literal> wird die Art des Bezeichners
|
|
genauer bestimmt.</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Kein Rollenattribut oder
|
|
<literal>role="hostname"</literal></term>
|
|
|
|
<listitem>
|
|
<para>Ohne Rollenattribut stellt der umschlossene Text
|
|
einen normlen Rechnernamen wie
|
|
<literal>freefall</literal> oder
|
|
<literal>wcarchive</literal> dar. Wenn es
|
|
gewünscht ist, kann mittels
|
|
<literal>role="hostname"</literal> explizit angegeben
|
|
werden, dass es sich um einen Rechnernamen
|
|
handelt.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>role="domainname"</literal></term>
|
|
|
|
<listitem>
|
|
<para>Ein Domainname wie <literal>FreeBSD.org</literal>
|
|
oder <literal>ngo.org.uk</literal>. Er enthält keinen
|
|
Rechnernamen.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>role="fqdn"</literal></term>
|
|
|
|
<listitem>
|
|
<para>Vollqualifizierter Domainname wie
|
|
<literal>www.FreeBSD.org</literal>. Enthält sowohl
|
|
einen Domainnamen als auch einen Rechnernamen.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>role="ipaddr"</literal></term>
|
|
|
|
<listitem>
|
|
<para>Eine IP-Adresse, meistens als durch Doppelpunkte
|
|
getrenntes Tupel von vier Zahlen dargestellt.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>role="ip6addr"</literal></term>
|
|
|
|
<listitem>
|
|
<para>Eine IPv6-Adresse.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>role="netmask"</literal></term>
|
|
|
|
<listitem>
|
|
<para>Eine Netzwerkmaske, dargestellt als ein durch
|
|
Doppelpunkte getrenntes Vierzahlentupel, einer Hexzahl
|
|
oder als ein <literal>/</literal>, dem eine Zahl
|
|
folgt.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>role="mac"</literal></term>
|
|
|
|
<listitem>
|
|
<para>Eine MAC-Adresse, dargestellt durch zweistellige
|
|
Hexzahlen, die durch Doppelpunkte getrennt
|
|
sind.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<example>
|
|
<title><literal>role</literal> und
|
|
<sgmltag>hostid</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Der lokale Rechner kann immer über den Namen
|
|
<hostid>localhost</hostid> angesprochen werden, dem immer
|
|
die IP-Adresse
|
|
<hostid role="ipaddr">127.0.0.1</hostid> zugeordnet ist.</para>
|
|
|
|
<para>Zur Domain <hostid role="domainname">FreeBSD.org</hostid>
|
|
gehören verschiedene Rechner, inklusive <hostid
|
|
role="fqdn">freefall.FreeBSD.org</hostid> und <hostid
|
|
role="fqdn">pointyhat.FreeBSD.org</hostid>.</para>
|
|
|
|
<para>Wenn eine IP-Adresse einer Netzwerkkarte zugeordnet wird,
|
|
was mit der Hilfe von <command>ifconfig</command> geschieht,
|
|
sollte <emphasis>immer</emphasis> die Netzmaske
|
|
<hostid role="netmask">255.255.255.255</hostid>, die auch
|
|
hexadezimal als <hostid role="netmask">0xffffffff</hostid>
|
|
abgegeben werden kann, benutzt werden.</para>
|
|
|
|
<para>Die MAC-Adresse ist für jede existierende Netzwerkkarte
|
|
auf der Welt eindeutig. Eine typische MAC-Adresse ist
|
|
beispielsweise <hostid
|
|
role="mac">08:00:20:87:ef:d0</hostid>.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Der lokale Rechner kann immer über den Namen
|
|
<hostid>localhost</hostid> angesprochen werden, dem immer
|
|
die IP-Adresse <hostid role="ipaddr">127.0.0.1</hostid>
|
|
zugeordnet ist.</para>
|
|
|
|
<para>Zur Domain <hostid
|
|
role="domainname">FreeBSD.org</hostid> gehören
|
|
verschieden Rechner, inklusive <hostid
|
|
role="fqdn">freefall.FreeBSD.org</hostid> und <hostid
|
|
role="fqdn">bento.FreeBSD.org</hostid>.</para>
|
|
|
|
<para>Wenn eine IP-Adresse einer Netzwerkkarte zugeordnet
|
|
wird, was mit der Hilfe von <command>ifconfig</command>
|
|
geschieht, sollte <emphasis>immer</emphasis> die Netzmaske
|
|
<hostid role="netmask">255.255.255.255</hostid>, die auch
|
|
hexadezimal als <hostid role="netmask">0xffffffff</hostid>
|
|
abgegeben werden kann, benutzt werden.</para>
|
|
|
|
<para>Die MAC-Adresse ist für jede existierende
|
|
Netzwerkkarte auf der Welt eindeutig. Eine typische
|
|
MAC-Adresse ist beispielsweise <hostid
|
|
role="mac">08:00:20:87:ef:d0</hostid>.</para>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Benutzernamen</title>
|
|
|
|
<note>
|
|
<title>FreeBSD-Erweiterung</title>
|
|
|
|
<para>Die hier genannten Elemente sind Bestandteil der
|
|
FreeBSD-Erweiterung für DocBook und sind nicht in der
|
|
originalen DocBook DTD enthalten.</para>
|
|
</note>
|
|
|
|
<para>Namen von Benutzern, wie
|
|
<literal>root</literal> oder <literal>bib</literal>,
|
|
können mit dem Element <sgmltag>username</sgmltag>
|
|
ausgezeichnet werden.</para>
|
|
|
|
<example>
|
|
<title>Das Element <sgmltag>username</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Für die meisten Administrationsaufgaben müssen
|
|
Sie als <username>root</username> angemeldet sein.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Für die meisten Administrationsaufgaben müssen Sie als
|
|
<username>root</username> angemeldet sein.</para>
|
|
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Beschreibung von <filename>Makefile</filename>s</title>
|
|
|
|
<note>
|
|
<title>FreeBSD-Erweiterung</title>
|
|
|
|
<para>Die hier genannten Elemente sind Bestandteil der
|
|
FreeBSD-Erweiterung für DocBook und sind nicht in der
|
|
originalen DocBook DTD enthalten.</para>
|
|
</note>
|
|
|
|
<para>Zur Beschreibung von Teilen einer Makedatei stehen die
|
|
beiden Elemente <sgmltag>marketarget</sgmltag> und
|
|
<sgmltag>makevar</sgmltag> zur Verfügung.
|
|
<sgmltag>maketarget</sgmltag> bezeichnet ein Ziel eines
|
|
<filename>Makefile</filename>s, das als Parameter beim
|
|
Aufruf von <command>make</command> angegeben werden kann.
|
|
<sgmltag>makevar</sgmltag> hingegen bezeichnet eine
|
|
Variable, die entweder in einem
|
|
<filename>Makefile</filename> definiert oder
|
|
<command>make</command> auf der Befehlszeile übergeben
|
|
werden kann, um so den Bauprozess zu beeinflussen.</para>
|
|
|
|
<example>
|
|
<title><sgmltag>maketarget</sgmltag> und
|
|
<sgmltag>makevar</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Zwei übliche Ziele in einem <filename>Makefile</filename>
|
|
sind <maketarget>all</maketarget> und
|
|
<maketarget>clean</maketarget>.</para>
|
|
|
|
<para>Üblicherweise wird, wenn das Ziel <maketarget>all</maketarget>
|
|
aufgerufen wird, die gesamte Anwendung neu erstellt. Der Aufruf
|
|
des Zieles <maketarget>clean</maketarget> veranlaßt das
|
|
Löschen aller temporären Dateien (zum Beispiel
|
|
<filename>.o</filename>), die während der Übersetzung erzeugt
|
|
wurden.</para>
|
|
|
|
<para>Das genaue Verhalten von <maketarget>clean</maketarget>
|
|
kann von einer Reihe von Variablen beeinflußt werden.
|
|
Stellvertretend seien hier <makevar>CLOBBER</makevar> und
|
|
<makevar>RECURSE</makevar> genannt.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Zwei übliche Ziele in einem
|
|
<filename>Makefile</filename> sind
|
|
<maketarget>all</maketarget> und
|
|
<maketarget>clean</maketarget>.</para>
|
|
|
|
<para>Üblicherweise wird, wenn das Ziel
|
|
<maketarget>all</maketarget> aufgerufen wird, die gesamte
|
|
Anwendung neu erstellt. Der Aufruf des Zieles
|
|
<maketarget>clean</maketarget> veranlaßt das
|
|
Löschen aller temporären Dateien (zum Beispiel
|
|
<filename>.o</filename>), die während der
|
|
Übersetzung erzeugt wurden.</para>
|
|
|
|
<para>Das genaue Verhalten von
|
|
<maketarget>clean</maketarget> kann von einer Reihe von
|
|
Variablen beeinflußt werden. Stellvertretend seien
|
|
hier <makevar>CLOBBER</makevar> und
|
|
<makevar>RECURSE</makevar> genannt.</para>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Text buchstabengetreu übernehmen</title>
|
|
|
|
<para>Für das Handbuch ist es oft notwendig, Textausschnitte
|
|
buchstabengetreu darzustellen. Hierbei kann es sich um Texte
|
|
handeln, die aus einer anderen Datei stammen oder die der
|
|
Leser eins-zu-eins aus dem Handbuch kopieren können
|
|
soll.</para>
|
|
|
|
<para>In einigen Fällen ist zu diesem Zwecke
|
|
<sgmltag>programlisting</sgmltag> ausreichend, jedoch nicht
|
|
immer. So ist <sgmltag>programlisting</sgmltag> zum Beispiel
|
|
nicht einsetzbar, wenn es darum geht, einen Auszug aus einer
|
|
Datei innerhalb eines Absatzes einzufügen. In solchen Fällen
|
|
sollte das Element <sgmltag>literal</sgmltag> zum Einsatz
|
|
kommen.</para>
|
|
|
|
<example>
|
|
<title><sgmltag>literal</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Die Zeile <literal>maxusers 10</literal> in der
|
|
Kernelkonfigurationsdatei beeinflußt die Größe vieler
|
|
Systemtabellen und kann als ungefähr als Richtwert dafür
|
|
gelten, wie viele paralle Anmeldungen das System handhaben
|
|
kann.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Die Zeile <literal>maxusers 10</literal> in der
|
|
Kernelkonfigurationsdatei beeinflußt die Größe vieler
|
|
Systemtabellen und kann als ungefähr als Richtwert dafür
|
|
gelten, wie viele paralle Anmeldungen das System handhaben
|
|
kann.</para>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Benutzerspezifische Eingaben darstellen</title>
|
|
|
|
<!--@todo Klingt ein wenig kompiliziert.
|
|
Oliver Fischer -->
|
|
|
|
<para>Es kommt oft vor, dass der Leser Beispiele,
|
|
Dateinamen oder Kommandozeilen verändern muss.
|
|
Für einen solchen Anwendungsfall
|
|
ist das Element <sgmltag>replaceable</sgmltag> gedacht. Es
|
|
kann <emphasis>innerhalb</emphasis> von anderen Elementen
|
|
genutzt werden, um die Teile auszuzeichnen, die es zu
|
|
ersetzen gilt.</para>
|
|
|
|
<example>
|
|
<title>Das Element <sgmltag>replaceable</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<screen>&prompt.user; <userinput>man <replaceable>command</replaceable></userinput></screen>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<informalexample>
|
|
<screen>&prompt.user; <userinput>man <replaceable>command</replaceable></userinput></screen>
|
|
</informalexample>
|
|
|
|
<para>Dieses Beispiel zeigt, dass nur der Text mit
|
|
<sgmltag>replaceable</sgmltag> umschlossen werden soll,
|
|
den der Benutzer einzusetzen hat. Sämtlicher anderer
|
|
Text sollte wie üblich ausgezeichnet werden.</para>
|
|
|
|
<programlisting><![CDATA[<para>Die Zeile
|
|
<literal>maxusers <replaceable>n</replaceable></literal>
|
|
in der Kernelkonfigurationsdatei bestimmt die Größe vieler Systemtabellen
|
|
und stellt einen groben Richtwert dafür dar, wie viele gleichzeitige Anmeldungen
|
|
das System unterstützt.</para>
|
|
|
|
<para>Für einen Arbeitsplatzrechner stellt <literal>32</literal> einen guten
|
|
Wert für <replaceable>n</replaceable> dar.</para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Die Zeile <literal>maxusers
|
|
<replaceable>n</replaceable></literal> in der
|
|
Kernelkonfigurationsdatei bestimmt die Größe
|
|
vieler Systemtabellen und stellt einen groben Richtwert
|
|
dafür dar, wie viele gleichzeitige Anmeldungen das
|
|
System unterstützt.</para>
|
|
|
|
<para>Für einen Arbeitsplatzrechner stellt
|
|
<literal>32</literal> einen guten Wert für
|
|
<replaceable>n</replaceable> dar.</para>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Fehlermeldungen des Systems darstellen</title>
|
|
|
|
<para>In manchen Fällen kann es nötig sein,
|
|
Fehlermeldungen darzustellen, die von FreeBSD erzeugt werden
|
|
können. Für solche Fälle ist das Element
|
|
<sgmltag>errorname</sgmltag> vorgesehen.</para>
|
|
|
|
<example>
|
|
<title>Das Element <sgmltag>errorname</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[ <screen><errorname>Panic: cannot mount root</errorname></screen> ]]></programlisting>
|
|
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<informalexample>
|
|
<screen><errorname>Panic: cannot mount root</errorname></screen>
|
|
</informalexample>
|
|
</example>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2>
|
|
<title>Bilder und Grafiken</title>
|
|
|
|
<important>
|
|
<para>Die Verwendung von Grafiken innerhalb der Dokumentation
|
|
ist momentan noch in einem experimentellen Stadium. Es ist
|
|
daher wahrscheinlich, dass sich die hier beschriebenen
|
|
Mechanismen noch ändern werden.</para>
|
|
|
|
<para>Für die Verwendung von Grafiken ist es notwendig,
|
|
den Port <filename
|
|
role="package">graphics/ImageMagick</filename>
|
|
zusätzlich zu installieren, da er
|
|
<emphasis>nicht</emphasis> vom Port <filename
|
|
role="package">textproc/docproj</filename> mitinstalliert
|
|
wird.</para>
|
|
|
|
<para>Das beste Beispiel für den Einsatz von Grafiken ist
|
|
der unter
|
|
<filename>doc/en_US.ISO8859-1/articles/vm-design/</filename>
|
|
zu findene Artikel <quote>Design elements of the FreeBSD VM
|
|
system</quote>. Falls beim Lesen der folgenden Kapitel
|
|
Fragen unbeantwortet oder unklar bleiben, empfiehlt es sich,
|
|
die unter dem genannten Verzeichnis befindlichen Dateien zu
|
|
studieren und anhand ihrer zu verstehen, wie alles
|
|
zusammenhängt. Es empfiehlt sich, den Artikel in
|
|
verschiedenen Ausgabeformaten zu erzeugen, da man so sehen
|
|
kann, wie die Grafiken in Abhängigkeit vom
|
|
Ausgabemedium angeordnet werden.</para>
|
|
</important>
|
|
|
|
<sect3>
|
|
<title>Unterstütze Grafikformate</title>
|
|
|
|
<para>Zur Zeit werden nur zwei Grafikformate unterstützt.
|
|
Welches von beiden Formaten zum Einsatz kommen sollte,
|
|
hängt von der Art der Grafik ab.</para>
|
|
|
|
<para>Für Bilder, die vorrangig Vektorelemente wie
|
|
Netzwerkdiagramme, Zeitlinien und ähnliches beinhalten,
|
|
sollte Encapsulated Postscript als Format gewählt
|
|
werden. Wichtig ist es in diesem Fall, dass die
|
|
Grafikdatei die Endung <filename>.eps</filename> hat.
|
|
Für Bitmapgrafiken, wie zum Beispiel Bildschirmfotos,
|
|
steht das Portable Network Grafic Format zur
|
|
Verfügung. In diesem Fall, sollte die Grafikdatei immer
|
|
die Endung <filename>.png</filename> haben.</para>
|
|
|
|
<para>In das Subversion-Repository sollten <emphasis>nur</emphasis>
|
|
Grafiken in diesen beiden Formaten übernommen
|
|
werden.</para>
|
|
|
|
<para>Es sollte darauf sehr darauf geachtet werden, das
|
|
richtige Format für das richtige Bild zu wählen.
|
|
Erwartungsgemäß wird es Dokumente geben, die eine
|
|
Mischung aus PNG- und EPS-Grafiken enthalten. In solchen
|
|
Fällen, stellen die Makedateien die Verwendung des
|
|
richtigen Formats in Abhängigkeit vom Ausgabeformat
|
|
sicher. <emphasis>Deshalb sollte die gleiche Grafik niemals
|
|
in zwei unterschiedlichen Formaten in das CVS-Archiv
|
|
übernommen werden</emphasis>.</para>
|
|
|
|
<important>
|
|
<para>Es ist absehbar, dass das Dokumentationsprojekt
|
|
in Zukunft das Scalable Vector Graphic-Format (SVG) als
|
|
Standardformat für Vektorgrafiken übernehmen
|
|
wird. Zum jetzigen Zeitpunkt ist dieser Wechsel noch nicht
|
|
möglich, da der Stand der jetzigen SVG-Anwendungen
|
|
noch nicht den dafür notwendigen Erfordernissen
|
|
entspricht.</para>
|
|
</important>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>DocBook-Elemente für den Grafikeinsatz</title>
|
|
|
|
<para>Das Auszeichnen von Bildern mittels DocBook ist relativ
|
|
einfach. Zuerst wird ein
|
|
<sgmltag>mediaobject</sgmltag>-Element eingefügt, das
|
|
als Container für medienspezifische Elemente fungieren
|
|
kann. Für die Zwecke des FDPs sind das die Elemente
|
|
<sgmltag>imageobject</sgmltag> und
|
|
<sgmltag>textobject</sgmltag>.</para>
|
|
|
|
<para>In das <sgmltag>mediaobject</sgmltag>-Element sollten
|
|
ein Element vom Typ <sgmltag>imageobject</sgmltag> und zwei
|
|
<sgmltag>textobject</sgmltag>-Elemente eingefügt
|
|
werden. Das <sgmltag>imageobject</sgmltag>-Element verweist
|
|
auf die eigentliche Grafikdatei. Dabei ist allerdings nur
|
|
der Dateipfad ohne Erweiterung anzugegeben. Die
|
|
<sgmltag>textobject</sgmltag>-Elemente werden dafür
|
|
genutzt, Texte aufzunehmen, die dem Leser anstelle des
|
|
Bildes oder zusammen mit dem Bild angezeigt werden.</para>
|
|
|
|
<para>Dies kann unter zwei Umständen geschehen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Wenn ein Dokument als HTML-Datei durch einem Browser
|
|
angezeigt wird. In diesem Falle muss jeder Grafik
|
|
ein Alternativtext zugeordnet werden, der dem Leser
|
|
angezeigt werden kann. Meist ist das notwendig, wenn der
|
|
Browser die Grafik noch nicht geladen hat oder wenn der
|
|
Benutzer den Mauszeiger über die Grafik
|
|
führt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Wenn das Dokument als Textdatei gelesen wird. Da in
|
|
einer Textdatei keine Grafiken angezeigt werden können,
|
|
sollte es für die Grafik eine Textentsprechung geben,
|
|
die alternativ angezeigt werden kann.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Das folgende Beispiel soll das bisher geschriebene
|
|
illustrieren. Angenommen es liegt eine einzubindene Grafik
|
|
in der Datei <filename>bild1</filename> vor, die die
|
|
Darstellung eines As in einem Rechteck enthält. Die
|
|
ASCII-Alternative könnte so ausgezeichnet werden:</para>
|
|
|
|
<programlisting><mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="bild1"> <co id="co-image-ext"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<literallayout class="monospaced">+ - - - - - - - - - - - - - - -+ <co id="co-image-literal"/>
|
|
| A |
|
|
+- - - - - - - - - - - - - - -+</literallayout>
|
|
</textobject>
|
|
<textobject>
|
|
<phrase>Ein Bild</phrase> <co id="co-image-phrase"/>
|
|
</textobject>
|
|
</mediaobject></programlisting>
|
|
|
|
<calloutlist>
|
|
<callout arearefs="co-image-ext">
|
|
<para>Innerhalb vom Element <sgmltag>imageobject</sgmltag>
|
|
befindet sich ein Element <sgmltag>imagedata</sgmltag>,
|
|
welches mit Hilfe des Attributes
|
|
<literal>fileref</literal> den Namen der Grafikdatei
|
|
(ohne Erweiterung) angibt. Die Bestimmung der
|
|
Dateierweiterung wird von den Stylesheets
|
|
übernommen.</para>
|
|
</callout>
|
|
|
|
<callout arearefs="co-image-literal">
|
|
<para>Das erste <sgmltag>textobject</sgmltag>-Element
|
|
enthält ein <sgmltag>literallayout</sgmltag>-Element,
|
|
dessen Attribut <literal>class</literal> den Wert
|
|
<literal>monospaced</literal> zugewiesen bekommt. Der
|
|
Inhalt dieses Elements wird genutzt, wenn das Dokument
|
|
in Textform ausgegeben wird. An dieser Stelle hat der
|
|
Autor die Möglichkeit seine
|
|
<quote>Textzeichenkünste</quote> unter Beweis zu
|
|
stellen.</para>
|
|
|
|
<para>Wichtig ist, dass die erste und die letzte
|
|
Zeile sich gleichauf mit dem öffenden und dem
|
|
schließenden Tag befindet. Dadurch wird
|
|
sichergestellt, dass keine unnötigen
|
|
Leerzeichen in die Ausgabe aufgenommen werden.</para>
|
|
</callout>
|
|
|
|
<callout arearefs="co-image-phrase">
|
|
<para>Das zweite <sgmltag>textobject</sgmltag>-Element
|
|
sollte lediglich ein <sgmltag>phrase</sgmltag>-Element
|
|
enthalten. Wird das Dokument nach HTML konvertiert, wird
|
|
dessen Inhalt für das Attribut
|
|
<literal>alt</literal> des <sgmltag>img</sgmltag>-Tags
|
|
verwendet.</para>
|
|
</callout>
|
|
</calloutlist>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Die <filename>Makefile</filename>-Einträge</title>
|
|
|
|
<para>Alle in einem Dokument verwendeten Grafiken müssen in
|
|
dem zugehörigen Makefile in der Variable
|
|
<makevar>IMAGES</makevar> enthalten sein.
|
|
<makevar>IMAGES</makevar> sollte immer die Namen der
|
|
<emphasis>Quellgrafiken</emphasis> enthalten. Werden in
|
|
einem Dokument beispielsweise die drei Grafiken
|
|
<filename>bild1.eps</filename>,
|
|
<filename>bild2.png</filename> und
|
|
<filename>bild3.png</filename> referenziert, sollte das
|
|
<filename>Makefile</filename> die folgende Zeile
|
|
enthalten:</para>
|
|
|
|
<programlisting>…
|
|
IMAGES= bild1.eps bild2.png bild3.png
|
|
…</programlisting>
|
|
|
|
<para>Eine andere Möglichkeit wäre:</para>
|
|
|
|
<programlisting>…
|
|
IMAGES= bild1.eps
|
|
IMAGES+= bild2.png
|
|
IMAGES+= bild3.png
|
|
…</programlisting>
|
|
|
|
|
|
<para>Es kann nicht oft genug betont werden: Welche
|
|
Grafikdateien für das zu erzeugende Dokument benötigt
|
|
werden, wird von dem Makefiles bestimmt.
|
|
<makevar>IMAGES</makevar> darf nur die Originaldateien
|
|
enthalten.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Grafiken und Kapitel in Unterverzeichnissen</title>
|
|
|
|
<para>Wenn Sie Ihre Dokumentation in mehrere kleine
|
|
Dateien aufspalten (siehe
|
|
<xref linkend="sgml-primer-include-using-gen-entities"/>),
|
|
müssen Sie sorgfältig vorgehen.</para>
|
|
|
|
<para>Angenommen es handelt sich um ein Buch, dessen drei
|
|
Kapitel in separaten Verzeichnissen angelegt wurden
|
|
(<filename>kapitel1/kapitel.sgml</filename>,
|
|
<filename>kapitel2/kapitel.sgml</filename> und
|
|
<filename>kapitel3/kapitel.sgml</filename>). Enthalten die
|
|
Kapitel Grafiken, empfiehlt es sich, diese in den gleichen
|
|
Verzeichnisses abzulegen, wie die Kapitel selbst. In diesem
|
|
Falle gilt es jedoch zu beachten, dass die Pfade der
|
|
Grafikdateien in der Variable <makevar>IMAGES</makevar> und
|
|
in den <sgmltag>imagedata</sgmltag>-Elementen immer auch den
|
|
Verzeichnisnamen mitenthalten.</para>
|
|
|
|
<para>Soll beispielsweise die Datei
|
|
<filename>kapitel1/bild1.png</filename> in das in
|
|
<filename>kapitel1/kapitel.sgml</filename> enthaltene
|
|
Kapitel eingebunden werden, sollte dies so erfolgen:</para>
|
|
|
|
<programlisting><mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="kapitel1/bild1"> <co id="co-image-dir"/>
|
|
</imageobject>
|
|
|
|
…
|
|
</mediaobject></programlisting>
|
|
|
|
<calloutlist>
|
|
<callout arearefs="co-image-dir">
|
|
<para><literal>fileref</literal> muss den
|
|
Datei- und den Verzeichnisnamen enthalten.</para>
|
|
</callout>
|
|
</calloutlist>
|
|
|
|
<para>Das <filename>Makefile</filename> muss dementsprechend
|
|
die Zeile
|
|
|
|
<programlisting>…
|
|
IMAGES= kapitel1/bild1.png
|
|
…</programlisting>
|
|
|
|
enthalten.</para>
|
|
|
|
<para>Wird dies beachtet, sollte es zu keinen Problemen
|
|
kommen.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Querverweise</title>
|
|
|
|
<note>
|
|
<para>Querverweise sind auch Flußelemente.</para>
|
|
</note>
|
|
|
|
<sect3>
|
|
<title>Querverweise innerhalb eines Dokumentes</title>
|
|
|
|
|
|
<para>Um innerhalb eines Dokumentes Verweise anzulegen, muss
|
|
angegeben werden, von welcher Textstelle aus wohin verwiesen
|
|
werden soll.</para>
|
|
|
|
<para>Jedes DocBook-Element besitzt ein Attribut
|
|
<literal>id</literal>, über das seinem Element ein
|
|
eindeutiger Bezeichner zugewiesen werden kann.</para>
|
|
|
|
|
|
<!-- ?: Mit diesem Absatz bin ich gar nicht zu frieden! -->
|
|
<para>In den meisten Fällen werden Querverweise nur zu
|
|
Kapiteln gesetzt. Die <sgmltag>chaper</sgmltag>- und
|
|
<sgmltag>sect*</sgmltag>-Elemente sollten aus diesem Grunde
|
|
ein gesetztes <literal>id</literal>-Attribut
|
|
besitzen.</para>
|
|
|
|
<example>
|
|
<title><sgmltag>chapter</sgmltag> und <sgmltag>section</sgmltag>
|
|
mit dem Attribut <literal>id</literal></title>
|
|
<!--<title><literal>id on chapters and sections</literal></title>-->
|
|
|
|
<programlisting><![CDATA[<chapter id="kapitel1">
|
|
<title>Einführung</title>
|
|
|
|
<para>Das ist eine Einführung. Sie enthält ein Unterkapitel, das
|
|
ebenfalls einen eigenen Bezeichner hat.</para>
|
|
|
|
<sect1 id="kapitel1-unterkapitel1">
|
|
<title>Unterkapitel 1</title>
|
|
|
|
<para>Das ist ein Unterkapitel.</para>
|
|
</sect1>
|
|
</chapter>]]></programlisting>
|
|
</example>
|
|
|
|
<para>Als Wert für das Attribut <literal>id</literal>
|
|
sollte immer ein selbsterklärender Bezeichner gewählt
|
|
werden. Zudem ist es notwendig, dass dieser Bezeichner
|
|
innerhalb des Dokumentes eindeutig ist. Im obigen Beispiel
|
|
wurde der Bezeichner für das Unterkapitel gebildet,
|
|
indem der Bezeichner des übergeordneten Kapitels um den
|
|
Titel des Unterkapitels erweitert wurde. Diese
|
|
Vorgehensweise hilft sicherzustellen, dass Bezeichner
|
|
eindeutig sind und bleiben.</para>
|
|
|
|
<para>Manchmal soll jedoch nicht auf den Anfang eines Kapitels
|
|
verwiesen werden, sondern zum Beispiel auf eine Stelle in
|
|
einem Absatz oder auf ein bestimmtes Beispiel. In solchen
|
|
Fällen kann an der Stelle, auf die verwiesen werden
|
|
soll, das Element <sgmltag>anchor</sgmltag> mit gesetztem
|
|
Attribut <literal>id</literal> eingefügt werden.
|
|
<sgmltag>anchor</sgmltag> kann selber keinen weiteren Inhalt
|
|
aufnehmen.</para>
|
|
|
|
<example>
|
|
<title>Querverweise und das Element
|
|
<sgmltag>anchor</sgmltag></title>
|
|
|
|
<programlisting><![CDATA[<para>Dieser Absatz enthält ein
|
|
<anchor id="absatz1"/>Ziel für Querverweise, was jedoch keine
|
|
Auswirkung auf dessen Darstellung hat.</para>]]></programlisting>
|
|
</example>
|
|
|
|
<para>Zum Anlegen des eigentlichen Querverweises selbst kann
|
|
eines der beiden Elemente <sgmltag>xref</sgmltag> oder
|
|
<sgmltag>link</sgmltag> genutzt werden. Beide besitzen das
|
|
Attribut <literal>linkend</literal>, dem der
|
|
<literal>id</literal>-Wert des Verweiszieles zugewiesen
|
|
wird. Ob sich das Ziel vor oder nach dem Verweis befindet,
|
|
spielt keine Rolle.</para>
|
|
|
|
<para><sgmltag>xref</sgmltag> und <sgmltag>link</sgmltag>
|
|
unterscheiden sich jedoch hinsichtlich der Art und Weise,
|
|
auf die der Text erzeugt wird, auf dem der Querverweis
|
|
liegt. Kommt <sgmltag>xref</sgmltag> zum Einsatz, hat der
|
|
Autor keine Kontrolle darüber – der Text wird
|
|
automatisch für ihn erzeugt.</para>
|
|
|
|
|
|
<example>
|
|
<title>Einsatz von <sgmltag>xref</sgmltag></title>
|
|
|
|
<!-- @todo Das englische Original sollte um
|
|
einen Link zu dem Beispiel erweitert werden. -->
|
|
<para>Für dieses Beispiel wird davon ausgegangen, dass sich
|
|
folgendes Textfragment irgendwo innerhalb eines Dokumentes
|
|
auftaucht, dass das vorherige
|
|
<literal>id</literal>-Beispiel enthält.</para>
|
|
|
|
|
|
<programlisting><![CDATA[<para>Weitere Informationen gibt
|
|
es im <xref linkend="kapitel1"/>.</para>
|
|
|
|
<para>Genauere Informationen können im
|
|
<xref linkend="kapitel1-unterkapitel1"/> gefunden werden.</para>]]></programlisting>
|
|
|
|
<para>Der Verweistext wird automatisch von den Stylesheets
|
|
erzeugt und so hervorgehoben, dass ersichtlich ist,
|
|
dass es sich bei dem Text um einen Verweis
|
|
handelt.</para>
|
|
|
|
<blockquote>
|
|
<para>Weitere Informationen können in der
|
|
<emphasis>Einführung</emphasis> gefunden
|
|
werden.</para>
|
|
|
|
<para>Genauere Informationen können im
|
|
<emphasis>Unterkapitel 1</emphasis> gefunden
|
|
werden.</para>
|
|
</blockquote>
|
|
</example>
|
|
|
|
<para>Der Text, auf dem der HTML-Link für den Querverweis
|
|
liegt, wurde von den Kapitelüberschriften
|
|
übernommen.</para>
|
|
|
|
<note>
|
|
<para>Das bedeutet, dass es <emphasis>nicht
|
|
möglich</emphasis> ist, mit der Hilfe von
|
|
<sgmltag>xref</sgmltag> einen Querverweis zu einer mit
|
|
<sgmltag>anchor</sgmltag> gekennzeichneten Stelle
|
|
anzulegen. Da <sgmltag>anchor</sgmltag> keinen Inhalt
|
|
aufnehmen kann, können die Stylesheets nicht
|
|
automatisch einen Text für den Verweis
|
|
erzeugen.</para>
|
|
</note>
|
|
|
|
<para>Möchte man selber den für den Verweis
|
|
benutzten Text bestimmen können, sollte das Element
|
|
<sgmltag>link</sgmltag> verwendet werden. Im Gegensatz zu
|
|
<sgmltag>xref</sgmltag> kann <sgmltag>link</sgmltag> Inhalt
|
|
aufnehmen, der dann für den Verweis verwendet
|
|
wird.</para>
|
|
|
|
|
|
<example>
|
|
<title><sgmltag>link</sgmltag> beutzen</title>
|
|
|
|
<para>Für dieses Beispiel wird davon ausgegangen, dass
|
|
es sich in dem Dokument befindet, das auch
|
|
das <literal>id</literal>-Beispiel enthält.</para>
|
|
|
|
<programlisting><![CDATA[<para>Weitere Informationen können
|
|
im <link linkend="kapitel1">ersten Kapitel</link> gefunden
|
|
werden.</para>
|
|
|
|
<para>Genauere Informationen können in
|
|
<link linkend="kapitel1-unterkapitel1">diesem</link> Kapitel
|
|
gefunden werden.</para>]]></programlisting>
|
|
|
|
<para>Aus diesem SGML-Fragment würden die Stylesheets
|
|
folgendes generieren (der hervorgehobene Text deutet den
|
|
erzeugten Verweis an):</para>
|
|
|
|
<blockquote>
|
|
<para>Weitere Informationen können im <emphasis>ersten
|
|
Kapitel</emphasis> gefunden werden.</para>
|
|
|
|
<para>Genauere Informationen können in
|
|
<emphasis>diesem</emphasis> Kapitel gefunden
|
|
werden.</para>
|
|
</blockquote>
|
|
</example>
|
|
|
|
<note>
|
|
<para>Das letzte Beispiel ist schlecht. Es sollten niemals
|
|
Wörter wie <quote>dieses</quote> oder
|
|
<quote>hier</quote> als Linktext benutzt werden. Solche
|
|
Wörter zwingen den Leser dazu, den Kontext des
|
|
Verweises zu lesen, um zu verstehen, wohin der Verweis
|
|
führt.</para>
|
|
</note>
|
|
|
|
<note>
|
|
<para>Mit dem Element <sgmltag>link</sgmltag>
|
|
<emphasis>kann</emphasis> auf mit
|
|
<sgmltag>anchor</sgmltag> gekennzeichnete Stellen im
|
|
Dokument verwiesen werden, da der Inhalt von
|
|
<sgmltag>link</sgmltag> als Text für den Querverweise
|
|
genutzt wird.</para>
|
|
</note>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Verweise auf Dokumente im WWW</title>
|
|
|
|
<para>Das Anlegen von Verweisen auf externe Dokumente ist
|
|
wesentlich einfacher – solange die URL des zu
|
|
referenzierenden Dokumentes bekannt ist. Um von einem
|
|
bestimmten Textabschnitt auf das gewünschte externe
|
|
Dokument zu verweisen, muss die jeweilige Stelle mit
|
|
dem Element <sgmltag>ulink</sgmltag> ausgezeichnet werden.
|
|
Mittels des Attributes <literal>url</literal> kann die
|
|
Adresse des Zieldokumentes angegeben werden. Bei der
|
|
Umformung des Quelldokumentes in die verschiedenen
|
|
Ausgabeformate wird der sich zwischen Start- und Endtag
|
|
befindliche Text für den Verweis übernommen, den
|
|
der Leser aufrufen kann.</para>
|
|
|
|
|
|
<example>
|
|
<title>Verweise mit <sgmltag>ulink</sgmltag></title>
|
|
|
|
<!-- @todo Welchen Fall erforder anstatt? -->
|
|
<programlisting><![CDATA[<para>Natürlich ist es möglich, anstatt diesen Text
|
|
weiterzulesen, sofort die
|
|
<ulink url="&url.base;/de/index.html">FreeBSD-Homepage</ulink>
|
|
aufzurufen.<para>]]></programlisting>
|
|
|
|
<para>Darstellung:</para>
|
|
|
|
<para>Natürlich ist es möglich, anstatt diesen Text
|
|
weiterzulesen, sofort die <ulink
|
|
url="&url.base;/de/index.html">FreeBSD-Homepage</ulink>
|
|
aufzurufen.</para>
|
|
|
|
|
|
</example>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|