aboutsummaryrefslogtreecommitdiff
path: root/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.xml')
-rw-r--r--de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.xml2888
1 files changed, 0 insertions, 2888 deletions
diff --git a/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.xml b/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.xml
deleted file mode 100644
index 59653161ea..0000000000
--- a/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.xml
+++ /dev/null
@@ -1,2888 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- 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: r39632
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="xml-markup">
- <title>XML-Dokumente erstellen</title>
-
- <para>In diesem Kapitel werden die beiden vom FDP eingesetzten
- Auszeichnungssprachen XHTML 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 &ndash; 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 xml:id="xml-markup-xhtml">
- <title>XHTML</title>
-
- <para>XHTML ist die XML Version der HyperText Markup Language,
- der Auszeichnungssprache der Wahl im World Wide Web.
- Weitere Informationen zu XHTML finden sich unter
- <uri xlink:href="http://www.w3.org/">http://www.w3.org/</uri>.</para>
-
- <para>XHTML kommt bei der Erstellung der Webseiten des
- FreeBSD-Projektes zum Einsatz. Für technische Dokumentationen
- sollte XHTML jedoch nicht eingesetzt werden, da DocBook eine
- größere und bessere Auswahl an Elementen bietet. Folglich
- sollte XHTML 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, 4.0 sowie eine XML konforme Version namens
- XHTML in seiner neuesten Version XHTML 1.0 (verfügbar als
- <emphasis>strict</emphasis> und <emphasis>transitional</emphasis>
- Variante.</para>
-
- <para>Die XHTML-DTDs sind über den Port <package>textproc/xhtml</package> verfügbar und werden
- automatisch als Teil des Metaports <package>textproc/docproj</package>
- installiert.</para>
-
- <sect2>
- <title>Formale Öffentliche Bezeichner</title>
-
- <!--@todo Optimierungskandidat. Oliver Fischer -->
- <para>Da es mehrere Version von XHTML gibt, existieren auch
- mehrere FÖPs, zu denen ein XHTML-Dokument konform
- erklärt werden kann. Die Mehrzahl der sich auf der
- FreeBSD-Webseite befindenden XHTML-Seiten sind zu der lockeren
- Version von XHTML 1.0 konform.</para>
-
- <programlisting>PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"</programlisting>
- </sect2>
-
- <sect2>
- <title>Die Elemente <tag>head</tag> und
- <tag>body</tag></title>
-
- <para>Ein XHTML-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>) umfasst den eigentlichen
- Dokumenteninhalt, der für den Leser bestimmt ist. In einem
- XHTML-Dokument werden diese Bereiche über die Elemente
- <tag>head</tag> und <tag>body</tag>
- voneinander abgegrenzt. Beide sind Kinder des Wurzelelementes
- <tag>html</tag>.</para>
-
- <example>
- <title>Die Struktur eines XHTML-Dokumentes</title>
-
- <programlisting>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
- &lt;head&gt;
- &lt;title&gt;<replaceable>Der Dokumententitel</replaceable>&lt;/title&gt;
- &lt;/head&gt;
-
- &lt;body&gt;
-
- &hellip;
-
- &lt;/body&gt;
-&lt;/html&gt;</programlisting>
- </example>
- </sect2>
-
- <sect2>
- <title>Blockelemente</title>
-
- <sect3>
- <title>Überschriften</title>
-
- <para>XHTML kennt sechs verschiedene Elemente, mit denen
- Überschriften ausgezeichnet werden können. Das bekannteste
- Element ist <tag>h1</tag>, das sich am Anfang der
- Überschriftenhierarchie befindet. <tag>h1</tag>
- folgen die Überschriftenelemente <tag>h2</tag> bis
- <tag>h6</tag>. Der Inhalt von
- <tag>h<replaceable>N</replaceable></tag> stellt den
- Text der Überschrift dar.</para>
-
- <example>
- <title><tag>h1</tag>, <tag>h2</tag>&hellip;</title>
-
- <para>Fügen Sie in eine der existierenden Übungsdateien folgendes ein:</para>
-
- <programlisting>&lt;h1&gt;Erstes Kapitel&lt;/h1&gt;
-
-&lt;!&hyphen;- Hier steht die Einführung -&hyphen;&gt;
-
-&lt;h2&gt;Das ist die Überschrift des ersten Kapitels&lt;/h2&gt;
-
-&lt;!&hyphen;- Hier steht der Inhalt des ersten Kapitels -&hyphen;&gt;
-
-&lt;h3&gt;Das ist die Überschrift des ersten Unterkapitels&lt;/h3&gt;
-
-&lt;!&hyphen;- Hier steht der Inhalt des ersten Unterkapitels -&hyphen;&gt;
-
-&lt;h2&gt;Das ist die Überschrift des zweiten Kapitels&lt;/h2&gt;
-
-&lt;!&hyphen;- Hier steht der Inhalt des zweiten Kapitels -&hyphen;&gt;</programlisting>
- </example>
-
- <para>Eine XHTML-Seite sollte immer nur eine Überschrift
- <tag>h1</tag> haben. Dieser Überschrift können
- beliebig viele Kapitel mit einer Überschrift
- <tag>h2</tag> folgen, die selbst wiederum eine
- beliebige Anzahl von Kapiteln mit einer Überschrift
- <tag>h3</tag> enthalten können. Diese
- Verschachtelung setzt sich bis zu Kapiteln mit einer
- <tag>h6</tag>-Ü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>&lt;h1&gt;Erstes Kapitel&lt;/h1&gt;
-
-&lt;!&hyphen;- Allgemeines zum Dokument -&hyphen;&gt;
-
-&lt;h3&gt;Unterkapitel&lt;/h3&gt;
-
-&lt;!&hyphen;- h3 folgt direkt auf h1. h2 wurde ausgelassen -&hyphen;&gt;</programlisting>
- </example>
- </sect3>
-
- <sect3>
- <title>Absätze</title>
-
- <para>Absätze können in XHTML mit Hilfe des Elementes
- <tag>p</tag> ausgezeichnet werden.</para>
-
- <example>
- <title>Absätze mit dem Element <tag>p</tag></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 enthalten.</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>XHTML 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
- <tag>ol</tag> (für
- <foreignphrase><emphasis>o</emphasis>rdered
- <emphasis>l</emphasis>ist</foreignphrase>) ausgezeichnet,
- unsortierte Listen mit <tag>ul</tag> (für
- <foreignphrase><emphasis>u</emphasis>nordered
- <emphasis>l</emphasis>ist</foreignphrase>) und
- Definitionslisten mit <tag>dl</tag>.</para>
-
-
- <para>Listenpunkte sortierter und unsortierter Listen werden
- mit dem Element <tag>li</tag> ausgezeichnet,
- welches Text oder andere Blockelemente enthalten kann.
- Begriffe, die in einer Definitionslisten enthalten sind,
- werden mit dem Element <tag>dt</tag> (für
- <foreignphrase><emphasis>d</emphasis>efinition
- <emphasis>t</emphasis>erm</foreignphrase>) ausgezeichnet.
- Die Erklärung zu diesem Begriff wird mit Hilfe des Elementes
- <tag>dd</tag> (für <foreignphrase>definition
- description</foreignphrase>) markiert. So wie
- <tag>li</tag>, kann das Element
- <tag>dd</tag> ebenfalls andere Blockelemente
- aufnehmen.</para>
-
- <example>
- <title>Listen mit <tag>ul</tag> und
- <tag>ol</tag> 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 <tag>dl</tag> 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 XHTML-Spezifikation ist dafür das Element
- <tag>pre</tag> vorgesehen, welches dafür sorgt, dass
- Zeilenumbrüche erhalten bleiben und Leerzeichen nicht
- zusammengefasst werden. Browser verwenden für den
- Inhalt des Elementes <tag>pre</tag>
- üblicherweise eine Fixschrift.</para>
-
- <example>
- <title>Vorformatierten Text mit <tag>pre</tag> 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:
-
- &lt;URL:http://people.FreeBSD.org/~nik/primer/index.html&gt;
-
- Kommentare und Anmerkungen sind willkommen.
-
- N</pre>]]></programlisting>
-
- <para>Beachten Sie, dass <literal>&lt;</literal> und
- <literal>&amp;</literal> nach wie vor als Sonderzeichen
- erkannt werden. Daher wird in diesem Beispiel auch
- <literal>&amp;lt;</literal> an Stelle von
- <literal>&lt;</literal> verwendet. Aus dem gleichen
- Grund wurde auch <literal>&amp;gt;</literal> an Stelle
- von <literal>&gt;</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 XHTML mit Hilfe des Elements
- <tag>table</tag> auszeichnen. Eine Tabelle setzt
- sich aus einer oder mehreren Zeilen (<tag>tr</tag>)
- zusammen, von denen jede mindestens eine Zelle
- (<tag>td</tag>) 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 <tag>p</tag> zu umschließen.</para>
-
- <example>
- <title>Einfache Tabelle mit <tag>table</tag></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>XHTML kennt die Möglichkeit, dass sich eine
- Zelle mehrere Zeilen und/oder Spalten erstrecken kann.
- Sollen beispielsweise mehrere Spalten zusammenfassen werden,
- kann dies 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 Tabelle 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>
- <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
- <tag>strong</tag> und <tag>em</tag> erreicht
- werden. <tag>strong</tag> stellt dabei eine
- stärkere Hervorhebung als <tag>em</tag> dar,
- wobei mit <tag>strong</tag> ausgezeichnete Elemente
- fett und mit <tag>em</tag> ausgezeichnete Elemente
- kursiv dargestellt werden. Allerdings ist diese Aussage
- nicht verlässlich, da die Darstellung vom Browser
- abhängig ist. In der Praxis ist es so, dass Webseiten
- nur strukturelle und semantische Informationen enthalten
- und Stylesheets später auf diese Informationen
- angewendet werden. Beachten Sie also die Semantik und
- nicht die Formatierung wenn Sie mit diesen
- Tags arbeiten.</para>
-
- <example>
- <title>Text mit <tag>em</tag> und <tag>strong</tag>
- 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>
- <title>Nicht-proportionale Schrift für Texte</title>
-
- <para>Der Tag <tag>tt</tag> erlaubt es,
- Text in einer schreibmaschinenähnlichen
- Schrift darzustellen.</para>
-
- <example>
- <title>Nicht-proportionale Schrift mit
- <tag>tt</tag></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>
- </sect2>
-
- <sect2 xml: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 <tag>a</tag> und dessen Attribute <tag role="attribute">href</tag>, 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>&lt;a href="..."&gt;</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>XHTML 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 <tag>a</tag> gesetzt werden, nur das anstelle
- von <literal>href</literal> das Attribut
- <literal>name</literal> gesetzt werden
- muss.</para>
-
- <example>
- <title>Anwendung von <literal>&lt;a id="..."&gt;</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 XHTML-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 xml:id="xml-markup-docbook">
- <title>Die DocBook DTD</title>
-
- <para>DocBook wurde ursprünglich von HaL Computer Systems und
- O'Reilly &amp; Associates als DTD für das Erstellen von
- technischen Dokumenten entwickelt
-
- <footnote><para>Einen kurzen historischen Abriss finden Sie unter
- <link xlink:href="http://www.oasis-open.org/docbook/intro.shtml#d0e41">http://www.oasis-open.org/docbook/intro.shtml#d0e41</link>.</para>
- </footnote>.
-
- Seit 1998 wird es vom <link xlink:href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=docbook">
- DocBook Technical Committee</link> 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 XHTML.</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
- Elementinhalt folgt. Die informelle Variante hingegen hat
- keinen Titel.</para>
- </note>
-
- <para>Die DocBook DTD ist in der Ports-Sammlung im Port <package>textproc/docbook</package> enthalten und wird
- bei der Installation des Metaports <package>textproc/docproj</package> automatisch
- installiert.</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,&hellip;) 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 (<link xlink:href="http://svnweb.FreeBSD.org/doc/head/share/xml/freebsd.dtd">head/share/xml/freebsd.dtd</link>)
- 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.2-Based Extension//EN"</programlisting>
- </sect2>
-
- <sect2 xml: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 <tag>chapter</tag>-Elemente strukturiert
- wird. Sollte das noch nicht ausreichend sein, können die
- einzelnen Kapitel eines Buches mit Hilfe des Elementes
- <tag>part</tag> in Teile aufgespalten werden. Das
- Handbuch ist beispielsweise auf diese Weise aufgebaut.</para>
-
- <para>Kapitel (<tag>chapter</tag>) können weiterhin in
- Unterkapitel unterteilt werden. Diese werden durch die
- Elemente <tag>sect1</tag> ausgezeichnet. Soll ein
- Unterkapitel selbst weitere Unterkapitel enthalten, kann das
- über das Element <tag>sect2</tag> geschehen. Diese
- Unterteilung kann bis zur Tiefe von fünf Unterkapiteln &ndash;
- über die Elemente <tag>sect3</tag>,
- <tag>sect4</tag> und <tag>sect5</tag> &ndash;
- 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 einfacher strukturiert
- als ein Buch. So kann ein Artikel beispielsweise keine Kapitel
- (<tag>chapter</tag>) enthalten. Stattdessen kann der
- Inhalt eines Artikels nur durch die schon bekannten
- <tag>sect<replaceable>N</replaceable></tag>-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&nbsp;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 <link xlink:href="&url.base;/de/docs.html">Tutorien von
- FreeBSD</link> sind als Artikel verfasst, während
- hingegen die <link xlink:href="&url.books.faq;/index.html">FreeBSD-FAQ</link> und das <link xlink:href="&url.books.handbook;/index.html">FreeBSD-Handbuch</link> als
- Bücher verfasst wurden.</para>
-
- <sect3>
- <title>Bücher schreiben</title>
-
- <para>Der Inhalt eines Buches wird in einem
- <tag>book</tag>-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
- <tag>bookinfo</tag>-Element abgelegt werden.</para>
-
- <example>
- <title>Buchvorlage <tag>book</tag> mit
- <tag>bookinfo</tag></title>
-
- <!-- Can't put this in a marked section because of the
- replaceable elements -->
- <programlisting>&lt;book&gt;
- &lt;bookinfo&gt;
- &lt;title&gt;<replaceable>Titel</replaceable>&lt;/title&gt;
- &lt;author&gt;
- &lt;firstname&gt;<replaceable>Vorname</replaceable>&lt;/firstname&gt;
- &lt;surname&gt;<replaceable>Nachname</replaceable>&lt;/surname&gt;
- &lt;affiliation&gt;
- &lt;address&gt;&lt;email&gt;<replaceable>E-Mail-Adresse</replaceable>&lt;/email&gt;&lt;/address&gt;
- &lt;/affiliation&gt;
- &lt;/author&gt;
-
- &lt;copyright&gt;
- &lt;year&gt;<replaceable>1998</replaceable>&lt;/year&gt;
- &lt;holder role="mailto:<replaceable>E-Mail-Adresse</replaceable>"&gt;<replaceable>Vollständiger Name</replaceable>&lt;/holder&gt;
- &lt;/copyright&gt;
-
- &lt;releaseinfo&gt;&#36;FreeBSD&#36;&lt;/releaseinfo&gt;
-
- &lt;abstract&gt;
- &lt;para&gt;<replaceable>Kurze Zusammenfassung des Buchinhaltes.</replaceable>&lt;/para&gt;
- &lt;/abstract&gt;
- &lt;/bookinfo&gt;
-
- &hellip;
-
-&lt;/book&gt;</programlisting>
- </example>
- </sect3>
-
- <sect3>
- <title>Artikel schreiben</title>
-
- <para>Der Inhalt eines Artikels wird in einem
- <tag>article</tag>-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
- <tag>articleinfo</tag>-Element abgelegt
- werden.</para>
-
- <example>
- <title>Artikelvorlage <tag>article</tag> mit
- <tag>articleinfo</tag></title>
-
- <!-- Can't put this in a marked section because of the
- replaceable elements -->
- <programlisting>&lt;article&gt;
- &lt;articleinfo&gt;
- &lt;title&gt;<replaceable>Titel</replaceable>&lt;/title&gt;
-
- &lt;author&gt;
- &lt;firstname&gt;<replaceable>Vorname</replaceable>&lt;/firstname&gt;
- &lt;surname&gt;<replaceable>Nachname</replaceable>&lt;/surname&gt;
- &lt;affiliation&gt;
- &lt;address&gt;&lt;email&gt;<replaceable>E-Mail-Adresse</replaceable>&lt;/email&gt;&lt;/address&gt;
- &lt;/affiliation&gt;
- &lt;/author&gt;
-
- &lt;copyright&gt;
- &lt;year&gt;<replaceable>1998</replaceable>&lt;/year&gt;
- &lt;holder role="mailto:<replaceable>E-Mail-Adresse</replaceable>"&gt;<replaceable>Vollständiger Name</replaceable>&lt;/holder&gt;
- &lt;/copyright&gt;
-
- &lt;releaseinfo&gt;&#36;FreeBSD&#36;&lt;/releaseinfo&gt;
-
- &lt;abstract&gt;
- &lt;para&gt;<replaceable>Kurze Zusammenfassung des Artikelinhalts.</replaceable>&lt;/para&gt;
- &lt;/abstract&gt;
- &lt;/articleinfo&gt;
-
- &hellip;
-
-&lt;/article&gt;</programlisting>
- </example>
- </sect3>
-
- <sect3>
- <title>Kapitel</title>
-
- <para>Kapitel werden mit dem
- <tag>chapter</tag>-Element angelegt und müssen ein
- <tag>title</tag>-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>
-
- &hellip;
-</chapter>]]></programlisting>
- </example>
-
- <para>Kapitel können nicht leer sein. Neben einem
- <tag>title</tag>-Element müssen sie weiteren Inhalt
- beinhalten. Falls ein leeres Kapitel benötig wird, kann dies
- durch das Einfügen eines leeren Absatzes
- (<tag>para</tag>) 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 xml: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 <tag>chapter</tag>-Elemente in Kapitel
- unterteilt. Eine weitergehende Untergliederung kann durch
- das Anlegen von Unterkapiteln erreicht werden. Im Gegensatz
- zu Kapiteln, die durch <tag>chapter</tag>-Elemente
- ausgezeichnet werden, erfolgt die Auszeichnung von
- Unterkapitel mit dem Element
- <tag>sect<replaceable>n</replaceable></tag>. Das
- <replaceable>n</replaceable> in Elementnamen trifft eine
- Aussage über die Gliederungstiefe, auf der sich das
- Unterkapitel befindet. Ein <tag>sect1</tag>-Element
- kann mehrere Elemente vom Typ <tag>sect2</tag>
- enthalten, die die Unterkapitel der
- nächsten Gliederungsebene darstellen.
- <tag>sect5</tag> 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>
-
- &hellip;
- </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>
-
- &hellip;
- </sect3>
- </sect2>
-
- <sect2>
- <title>Zweiter Unterabschnitt (1.2.2)</title>
-
- &hellip;
- </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 <tag>part</tag>
- unterteilen</title>
-
- <para>In den Fällen, in denen die Unterteilung eines Buches in
- Kapitel nicht ausreichend ist, können mehrere
- Kapitel mit dem Element <tag>part</tag> zu
- einem Teil zusammengefasst werden.</para>
-
- <programlisting><![CDATA[<part>
- <title>Einführung</title>
-
- <chapter>
- <title>Überblick</title>
-
- &hellip;
- </chapter>
-
- <chapter>
- <title>Was ist FreeBSD?</title>
-
- &hellip;
- </chapter>
-
- <chapter>
- <title>Die Geschichte von FreeBSD</title>
-
- &hellip;
- </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 (<tag>formalpara</tag>),
- normale Absätze (<tag>para</tag>) und einfache
- Absätze (<tag>simpara</tag>).</para>
-
- <para>Normale Absätze und einfache Absätze
- unterscheiden sich dadurch, dass innerhalb von
- <tag>para</tag> Blockelemente erlaubt sind,
- innerhalb von <tag>simpara</tag> hingegen nicht. Es
- ist empfehlenswert, <tag>para</tag> den Vorzug
- zu geben.</para>
-
- <example>
- <title>Absatz mit <tag>para</tag></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><tag>blockquote</tag></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 <tag>tip</tag>
- (für Tipps), <tag>note</tag> (für
- Anmerkungen), <tag>warning</tag> (für
- Warnungen), <tag>caution</tag> (für besonders
- ernstzunehmende Warnungen) und <tag>important</tag>
- (für wichtige Anmerkungen) ausgezeichnet werden. Trifft
- keines dieser Elemente für die auszuzeichnende Stelle
- zu, sollte diese mit dem Element <tag>sidebar</tag>
- 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 (<tag>note</tag>) ist eine
- Information, die von jedem Leser beachtet werden
- sollte.</para>
- </listitem>
-
- <listitem>
- <para>Eine wichtige Anmerkung
- (<tag>important</tag>) eine Variation einer
- Anmerkung.</para>
- </listitem>
-
- <listitem>
- <para>Eine Warnung (<tag>warning</tag>)
- betrifft einen möglichen Hardwareschaden
- oder weist auf eine Gefahr für Leib und Leben
- hin.</para>
- </listitem>
-
- <listitem>
- <para>Eine besonders ernstzunehmende Warnung
- (<tag>caution</tag>) betrifft einen möglichen
- Datenverlust oder Softwareschaden.</para>
- </listitem>
- </itemizedlist>
-
- <example>
- <title><tag>warning</tag></title>
-
- <programlisting><![CDATA[<warning>
- <para>Wenn Sie FreeBSD auf Ihrer Festplatte installieren,
- kann es sein, da&amp;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 <tag>itemizedlist</tag>,
- <tag>orderedlist</tag> und
- <tag>procedure</tag> 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><tag>itemizedlist</tag> und
- <tag>orderedlist</tag> ähneln sehr stark ihren
- HTML-Gegenstücken <tag>ul</tag> und
- <tag>ol</tag>. Beide Listenarten müssen
- mindestens ein Element <tag>listitem</tag>
- enthalten. Das <tag>listitem</tag> Element
- muss mindestens ein weiteres Blockelement
- enthalten.</para>
-
- <para><tag>procedure</tag> unterscheidet sich ein
- wenig von den vorhergehenden. Es enthält
- <tag>step</tag>-Elemente, die wiederum
- <tag>step</tag>- oder
- <tag>substel</tag>-Elemente enthalten können.
- Ein <tag>step</tag>-Element kann nur Blockelemente
- aufnehmen.</para>
-
- <example>
- <title><tag>itemizedlist</tag>,
- <tag>orderedlist</tag> und
- <tag>procedure</tag></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&hellip;</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&hellip;</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
- <tag>programmlisting</tag> zur Verfügung. Im
- Gegensatz zu anderen DocBook-Elementen wird der
- Elementinhalt von <tag>programmlisting</tag>
- <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><tag>programlisting</tag></title>
-
- <programlisting><![CDATA[<para>Am Ende sollte Ihr Programm wie folgt
- aussehen:</para>
-
-<programlisting>#include &amp;lt;stdio.h&amp;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 &lt;stdio.h&gt;
-
-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
- (<tag>programlisting</tag>,
- <tag>literallayout</tag>, &hellip;) mit
- <tag>co</tag>-Elementen markiert werden, wobei jedes
- Element ein eindeutiges <literal>id</literal>-Attribut
- besitzen muss. Anschließend sollte ein
- <tag>calloutlist</tag>-Element eingefügt werden,
- dessen Elemente sich auf die <tag>co</tag>-Elemente
- des Beispiels beziehen und die jeweiligen Anmerkungen
- enthalten.</para>
-
- <example>
- <title>Das <tag>co</tag>- und das
- <tag>calloutlist</tag>-Element</title>
-
- <programlisting><![CDATA[<para>Am Ende sollte Ihr Programm wie folgt
- aussehen:</para>
-
-<programlisting>#include &amp;lt;stdio.h&amp;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 &amp;lt;stdio.h&amp;gt; <co xml:id="co-ex-include"/>
-
-int <co xml:id="co-ex-return"/>
-main(void)
-{
- printf("Hallo Welt\n"); <co xml: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
- <tag>table</tag>-Element. Dieses Element selbst
- beinhaltet mindestens ein Element <tag>tgroup</tag>,
- das über ein Attribut die Spaltenanzahl der Tabelle
- bestimmt. Innerhalb des Elementes <tag>tgroup</tag>
- kann sich ein Element <tag>thead</tag> mit den
- Spaltenüberschriften und ein Element
- <tag>tbody</tag> mit dem eigentlichen Tabelleninhalt
- befinden. Beide Elemente beinhalten
- <tag>row</tag>-Elemente, die wiederum
- <tag>entry</tag>-Elemente beinhalten. Jedes
- <tag>entry</tag>-Element stellt eine einzelne
- Tabellenzelle dar.</para>
-
- <example>
- <title>Tabellen mittels <tag>informaltable</tag>
- 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
- <tag>informaltable</tag> 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
- <tag>informaltable</tag> hinzugefügt werden
- (<literal>&lt;informaltable frame="none"&gt;</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><tag>screen</tag></term>
-
- <listitem>
- <para>Gedacht zur Auszeichnung von Bildschirminhalten.
- Im Unterschied zu anderen Elementen werden Leerzeichen
- innerhalb des Elementes <tag>screen</tag>
- unverändert übernommen.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><tag>prompt</tag>,
- <literal>&amp;prompt.root;</literal> und
- <literal>&amp;prompt.user;</literal></term>
-
- <listitem>
- <para>Eingabeaufforderungen des Rechners
- (Betriebssystem, Shell oder Anwendung) sind ein häufig
- auftretender Teil dessen, was der Benutzer auf dem
- Bildschirm zu sehen bekommt. Sie sollten mit
- <tag>prompt</tag> ausgezeichnet werden.</para>
-
- <para>Ein Spezialfall sind die beiden
- Eingabeaufforderungen der Shell für normale
- Benutzer und den Superuser <systemitem class="username">root</systemitem>.
- Jedes mal wenn auf eine von diesen beiden Nutzerrollen
- hingewiesen werden soll, sollte entweder
- <literal>&amp;prompt.root;</literal> oder
- <literal>&amp;prompt.user;</literal> eingesetzt
- werden. Beide Entitäten können auch
- außerhalb von <tag>screen</tag>
- verwendet werden.</para>
-
- <note>
- <para><literal>&amp;prompt.root;</literal> und
- <literal>&amp;prompt.user;</literal> sind
- FreeBSD-spezifische Erweiterungen der DocBook DTD
- und nicht in der originalen DocBook DTD
- enthalten.</para>
- </note>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><tag>userinput</tag></term>
-
- <listitem>
- <para>Das Element <tag>userinput</tag> ist
- für die Auszeichnung von Benutzereingaben
- gedacht.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <example>
- <title><tag>screen</tag>, <tag>prompt</tag>
- und <tag>userinput</tag></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
- <tag>programlisting</tag> ausgezeichnet werden.
- Vielmehr sollte <tag>programlisting</tag> 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
- <tag>emphasis</tag> 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
- <tag>b</tag> und <tag>i</tag>, 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 <tag>important</tag> verwendet
- werden.</para>
-
- <example>
- <title>Das Element <tag>emphasis</tag></title>
-
- <programlisting><![CDATA[<para>FreeBSD ist zweifelslos <emphasis>das</emphasis> führende
- Unix-artige Betriebssystem 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
- <tag>quote</tag> ausgezeichnet werden. Innerhalb von
- <tag>quote</tag> 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 <tag>keycap</tag> beschreibt
- eine bestimmte Taste der Tastatur.
- Für die Auszeichnung von Maustasten
- steht analog das Element <tag>mousebutton</tag> zur
- Verfügung. Mit Hilfe von <tag>keycombo</tag>
- können beliebige Tasten- und Maustastenkombinationen
- beschrieben werden.</para>
-
- <para>Das Element <tag>keycombo</tag> 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
- <tag>keycombo</tag> <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>Schlussendlich 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 <tag>application</tag>
- ausgezeichnet werden.</para>
-
- <para>Befehle können zusammen mit der betreffenden
- Hilfeseite über das DocBook-Element
- <tag>citerefentry</tag> ausgezeichnet werden.
- <tag>citerefentry</tag> muss zwei weitere
- Elemente enthalten: <tag>refentrytitle</tag>,
- für den Befehlsnamen, und <tag>manvolnum</tag>,
- 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="xml-primer-general-entities">Allgemeinen
- Entitäten</link>, der diese Arbeit erleichtert. Er
- ist in der Datei
- <filename>doc/share/xml/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>&amp;man.Hilfeseite.Kategorie;</literal>.</para>
-
- <para>Der Anfang eines Dokumentes, das diese Entitäten
- einbindet, könnte so aussehen:</para>
-
- <programlisting>&lt;!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
-&lt;!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"&gt;
-%man; &hellip; ]&gt;</programlisting>
-
- <para>Um Befehle innerhalb des Fließtextes auszuzeichnen,
- kann das Element <tag>command</tag> genutzt werden.
- Die Optionen eines Befehles können mit Hilfe von
- <tag>option</tag> ausgezeichnet werden.</para>
-
- <para>Wenn man sich mehrmals hintereinander auf den gleichen
- Befehl bezieht, sollte man beim ersten Auftreten die Notation
- <literal>&amp;man.command.section;</literal>
- verwenden. Für alle folgenden Referenzen sollte hingegen
- <tag>command</tag> verwendet werden. Dadurch
- verbessert sich das Erscheinungsbild, insbesondere von HTML,
- deutlich.</para>
-
- <para>Die Unterscheidung zwischen <tag>command</tag>
- und <tag>application</tag> 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 verbreiteteste
- UNIX-Mailserver.</para>
-
-<para><application>Sendmail</application> besteht aus den Programmen
- <citerefentry>
- <refentrytitle>sendmail</refentrytitle>
- <manvolnum>8</manvolnum>
- </citerefentry>, &amp;man.mailq.1;, und &amp;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>&amp;man.Hilfeseite.Kategorie;</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
- <tag>filename</tag> ausgezeichnet werden.</para>
-
- <example>
- <title>Das Element <tag>filename</tag></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.xml</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.xml</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
- <tag>filename</tag> 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 <tag>filename</tag>
- nur die Kategorie und den Namen des Ports enthalten, aber
- nicht das Verzeichnis
- <filename>/usr/ports</filename>.</para>
-
- <example>
- <title>Portsnamen und das Element <tag>filename</tag></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 <package>net/ethereal</package>.</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>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 <tag>devicename</tag> genutzt
- werden.</para>
-
- <para>Allerdings besteht nicht immer diese
- Wahlmöglichkeit. Einige Geräte, wie zum Beispiel
- Netzwerkkarten haben keinen Eintrag unter
- <filename>/dev</filename> oder werden anders
- dargestellt.</para>
-
- <example>
- <title>Gerätenamen per <tag>devicename</tag>
- 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 gehö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 Diskettenlaufwerk 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 <filename>sio</filename> 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
- <filename>ed0</filename> nicht unterhalb von
- <filename>/dev</filename>.</para>
-
- <para>Unter MS-DOS wird das erste Diskettelaufwerk als
- <filename>a:</filename> 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 <tag>hostid</tag> 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 normalen 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
- <tag>hostid</tag></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
- <systemitem>localhost</systemitem> angesprochen werden, dem immer
- die IP-Adresse <systemitem class="ipaddress">127.0.0.1</systemitem>
- zugeordnet ist.</para>
-
- <para>Zur Domain <systemitem class="fqdomainname">FreeBSD.org</systemitem> gehören
- verschieden Rechner, inklusive <systemitem class="fqdomainname">freefall.FreeBSD.org</systemitem> und <systemitem class="fqdomainname">bento.FreeBSD.org</systemitem>.</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
- <systemitem class="netmask">255.255.255.255</systemitem>, die auch
- hexadezimal als <systemitem class="netmask">0xffffffff</systemitem>
- 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 <systemitem class="etheraddress">08:00:20:87:ef:d0</systemitem>.</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 <tag>username</tag>
- ausgezeichnet werden.</para>
-
- <example>
- <title>Das Element <tag>username</tag></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
- <systemitem class="username">root</systemitem> 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 <tag>marketarget</tag> und
- <tag>makevar</tag> zur Verfügung.
- <tag>maketarget</tag> bezeichnet ein Ziel eines
- <filename>Makefile</filename>s, das als Parameter beim
- Aufruf von <command>make</command> angegeben werden kann.
- <tag>makevar</tag> 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><tag>maketarget</tag> und
- <tag>makevar</tag></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> veranlasst 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 beeinflusst 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
- <buildtarget>all</buildtarget> und
- <buildtarget>clean</buildtarget>.</para>
-
- <para>Üblicherweise wird, wenn das Ziel
- <buildtarget>all</buildtarget> aufgerufen wird, die gesamte
- Anwendung neu erstellt. Der Aufruf des Zieles
- <buildtarget>clean</buildtarget> 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
- <buildtarget>clean</buildtarget> kann von einer Reihe von
- Variablen beeinflusst werden. Stellvertretend seien
- hier <varname>CLOBBER</varname> und
- <varname>RECURSE</varname> 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
- <tag>programlisting</tag> ausreichend, jedoch nicht
- immer. So ist <tag>programlisting</tag> 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 <tag>literal</tag> zum Einsatz
- kommen.</para>
-
- <example>
- <title><tag>literal</tag></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 parallele 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 <tag>replaceable</tag> 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 <tag>replaceable</tag></title>
-
- <programlisting><![CDATA[<screen>&prompt.user; <userinput>man <replaceable>command</replaceable></userinput></screen>]]></programlisting>
-
- <para>Darstellung:</para>
-
- <informalexample>
- <screen>&prompt.user; <userinput>man command</userinput></screen>
- </informalexample>
-
- <para>Dieses Beispiel zeigt, dass nur der Text mit
- <tag>replaceable</tag> 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
- n</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
- <tag>errorname</tag> vorgesehen.</para>
-
- <example>
- <title>Das Element <tag>errorname</tag></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 <package>graphics/ImageMagick</package>
- zusätzlich zu installieren, da er
- <emphasis>nicht</emphasis> vom Port <package>textproc/docproj</package> 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
- <tag>mediaobject</tag>-Element eingefügt, das
- als Container für medienspezifische Elemente fungieren
- kann. Für die Zwecke des FDPs sind das die Elemente
- <tag>imageobject</tag> und
- <tag>textobject</tag>.</para>
-
- <para>In das <tag>mediaobject</tag>-Element sollten
- ein Element vom Typ <tag>imageobject</tag> und zwei
- <tag>textobject</tag>-Elemente eingefügt
- werden. Das <tag>imageobject</tag>-Element verweist
- auf die eigentliche Grafikdatei. Dabei ist allerdings nur
- der Dateipfad ohne Erweiterung anzugegeben. Die
- <tag>textobject</tag>-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 einzubindende Grafik
- in der Datei <filename>bild1.png</filename> vor, die die
- Darstellung eines As in einem Rechteck enthält. Die
- ASCII-Alternative könnte so ausgezeichnet werden:</para>
-
- <programlisting>&lt;mediaobject&gt;
- &lt;imageobject&gt;
- &lt;imagedata fileref="bild1"&gt; <co xml:id="co-image-ext"/>
- &lt;/imageobject&gt;
- &lt;textobject&gt;
- &lt;literallayout class="monospaced"&gt;+ - - - - - - - - - - - - - - -+ <co xml:id="co-image-literal"/>
-| A |
-+- - - - - - - - - - - - - - -+&lt;/literallayout&gt;
- &lt;/textobject&gt;
- &lt;textobject&gt;
- &lt;phrase&gt;Ein Bild&lt;/phrase&gt; <co xml:id="co-image-phrase"/>
- &lt;/textobject&gt;
-&lt;/mediaobject&gt;</programlisting>
-
- <calloutlist>
- <callout arearefs="co-image-ext">
- <para>Innerhalb vom Element <tag>imageobject</tag>
- befindet sich ein Element <tag>imagedata</tag>,
- 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 <tag>textobject</tag>-Element
- enthält ein <tag>literallayout</tag>-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 öffnenden 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 <tag>textobject</tag>-Element
- sollte lediglich ein <tag>phrase</tag>-Element
- enthalten. Wird das Dokument nach HTML konvertiert, wird
- dessen Inhalt für das Attribut
- <literal>alt</literal> des <tag>img</tag>-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
- <varname>IMAGES</varname> enthalten sein.
- <varname>IMAGES</varname> 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>&hellip;
-IMAGES= bild1.eps bild2.png bild3.png
-&hellip;</programlisting>
-
- <para>Eine andere Möglichkeit wäre:</para>
-
- <programlisting>&hellip;
-IMAGES= bild1.eps
-IMAGES+= bild2.png
-IMAGES+= bild3.png
-&hellip;</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.
- <varname>IMAGES</varname> 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="xml-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.xml</filename>,
- <filename>kapitel2/kapitel.xml</filename> und
- <filename>kapitel3/kapitel.xml</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 <varname>IMAGES</varname> und
- in den <tag>imagedata</tag>-Elementen immer auch den
- Verzeichnisnamen enthalten.</para>
-
- <para>Soll beispielsweise die Datei
- <filename>kapitel1/bild1.png</filename> in das in
- <filename>kapitel1/kapitel.xml</filename> enthaltene
- Kapitel eingebunden werden, sollte dies so erfolgen:</para>
-
- <programlisting>&lt;mediaobject&gt;
- &lt;imageobject&gt;
- &lt;imagedata fileref="kapitel1/bild1"&gt; <co xml:id="co-image-dir"/>
- &lt;/imageobject&gt;
-
- &hellip;
-&lt;/mediaobject&gt;</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>&hellip;
-IMAGES= kapitel1/bild1.png
-&hellip;</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 <tag>chaper</tag>- und
- <tag>sect*</tag>-Elemente sollten aus diesem Grunde
- ein gesetztes <literal>id</literal>-Attribut
- besitzen.</para>
-
- <example>
- <title><tag>chapter</tag> und <tag>section</tag>
- 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 <tag>anchor</tag> mit gesetztem
- Attribut <literal>id</literal> eingefügt werden.
- <tag>anchor</tag> kann selber keinen weiteren Inhalt
- aufnehmen.</para>
-
- <example>
- <title>Querverweise und das Element
- <tag>anchor</tag></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 <tag>xref</tag> oder
- <tag>link</tag> 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><tag>xref</tag> und <tag>link</tag>
- unterscheiden sich jedoch hinsichtlich der Art und Weise,
- auf die der Text erzeugt wird, auf dem der Querverweis
- liegt. Kommt <tag>xref</tag> zum Einsatz, hat der
- Autor keine Kontrolle darüber &ndash; der Text wird
- automatisch für ihn erzeugt.</para>
-
-
- <example>
- <title>Einsatz von <tag>xref</tag></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
- <tag>xref</tag> einen Querverweis zu einer mit
- <tag>anchor</tag> gekennzeichneten Stelle
- anzulegen. Da <tag>anchor</tag> 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
- <tag>link</tag> verwendet werden. Im Gegensatz zu
- <tag>xref</tag> kann <tag>link</tag> Inhalt
- aufnehmen, der dann für den Verweis verwendet
- wird.</para>
-
-
- <example>
- <title><tag>link</tag> 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 <tag>link</tag>
- <emphasis>kann</emphasis> auf mit
- <tag>anchor</tag> gekennzeichnete Stellen im
- Dokument verwiesen werden, da der Inhalt von
- <tag>link</tag> 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 &ndash; 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 <tag>ulink</tag> 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 <tag>ulink</tag></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 <link xlink:href="&url.base;/de/index.html">FreeBSD-Homepage</link>
- aufzurufen.</para>
-
-
- </example>
- </sect3>
- </sect2>
- </sect1>
-</chapter>