table of contents
MAN-PAGES(7) | Linux-Programmierhandbuch | MAN-PAGES(7) |
BEZEICHNUNG¶
man-pages - Konventionen für das Schreiben von Linux-HandbuchseitenÜBERSICHT¶
man [Abschnitt] TitelBESCHREIBUNG¶
Diese Seite beschreibt die Konventionen, die Sie einhalten sollten, wenn Sie Handbuchseiten für das Projekt »Linux man-pages« schreiben. Das Projekt pflegt die Linux-Handbuchseiten der Abschnitte 2, 3, 4, 5 und 7. Die hier beschriebenen Konventionen können auch für die Autoren der Handbuchseiten anderer Projekte von Nutzen sein.Gliederung der Handbuchseiten¶
Die Handbuchseiten sind traditionell in die folgenden Abschnitte eingeteilt:- 1 Befehle (Programme)
- Diese Befehle kann ein Benutzer in der Shell ausführen.
- 2 Systemaufrufe
- Diese Funktionen müssen vom Kernel ausgeführt werden.
- 3 Bibliotheksaufrufe
- die Mehrzahl der Libc-Funktionen
- 4 Spezialdateien (Geräte)
- die Dateien in /dev
- 5 Dateiformate und Konventionen
- die Formate von /etc/passwd und weiteren menschenlesbaren Dateien
- 6 Spiele
- 7 Konventionen und Verschiedenes
- Überblick über verschiedene Themen, Konventionen und Protokolle, Zeichensatz-Standards und diverse andere Dinge
- 8 Befehle für die Systemverwaltung
- Dazu gehören Befehle wie mount(8). Viele davon kann nur root ausführen.
Makropaket¶
Neue Handbuchseiten sollten das in man(7) beschriebene Paket groff an.tmac verwenden. Diese Wahl dient vor allem der Konsistenz: die überwiegende Mehrheit der existierenden Linux-Handbuchseiten wird mit diesen Makros formatiert.Konventionen für die Gestaltung der Quelltexte¶
Bitte beschränken Sie Zeilenlänge im Quelltext, wo immer möglich, auf nicht mehr als etwa 75 Zeichen. So werden Zeilenumbrüche durch verschiedene E-Mail-Clients vermieden, wenn Patches inline eingereicht werden.Titelzeile¶
Der erste Befehl in einer Handbuchseite sollte ein TH-Befehl sein:- Titel
- der Titel der Handbuchseite in Großbuchstaben (z. B. MAN-PAGES)
- Abschnitt
- die Nummer des Abschnitts, in dem die Handbuchseite eingeordnet wurde (z. B. 7)
- Datum
- Das Datum der letzten Überarbeitung – denken Sie daran, es bei jeder Änderung der Handbuchseite zu aktualisieren, weil dies die allgemeinste Form einer Versionskontrolle ist. Es sollte in der Form JJJJ-MM-TT geschrieben werden.
- Quelle
- die Quelle von Befehl, Funktion oder Systemaufruf
- Handbuch
- der Titel des Handbuchs (z. B. für Seiten der Abschnitte 2 und 3 aus dem Paket man-pages verwenden Sie bitte Linux-Programmierhandbuch.
Abschnitte innerhalb einer Handbuchseite¶
Die folgende Liste enthält gebräuchliche und empfohlene Abschnitte. Die meisten Handbuchseiten sollten mindestens die hervorgehobenen Abschnitte enthalten. Gliedern Sie eine neue Handbuchseite so, dass die Abschnitte in der Reihenfolge der Liste platziert werden.BEZEICHNUNG ÜBERSICHT KONFIGURATION [im Allgemeinen nur in Abschnitt 4] BESCHREIBUNG OPTIONEN [im Allgemeinen nur in den Abschnitten 1, 8] EXIT-STATUS [im Allgemeinen nur in den Abschnitten 1 und 8] RÜCKGABEWERT [im Allgemeinen nur in den Abschnitten 2 und 3] FEHLER [typischerweise nur in den Abschnitten 2 und 3] UMGEBUNGSVARIABLE DATEIEN VERSIONEN [im Allgemeinen nur in den Abschnitten 2 und 3] KONFORM ZU ANMERKUNGEN FEHLER BEISPIEL SIEHE AUCH
Bitte verwenden Sie eine traditionelle Überschrift, wo sie zutreffen würde; diese Art von Konsistenz kann die Informationen leichter verständlich machen. Wenn Sie müssen, können Sie eigene Überschriften wählen, wenn die Dinge dadurch leichter zu verstehen sind. (Das kann besonders für Seiten in den Abschnitten 4 und 5 nützlich sein.) Doch bevor Sie das tun, prüfen Sie bitte, ob Sie auch traditionelle Überschriften verwenden können (und innerhalb dieser Abschnitte einige Unterabschnitte ( .SS) einfügen).
- NAME
- Name der Handbuchseite; siehe man(7) für wichtige Einzelheiten über die Zeile(n), die dem Befehl .SH NAME folgen sollte(n)
- ÜBERSICHT
- beschreibt kurz den Befehl oder die Schnittstelle der
Funktion. Für Befehle beschreibt dieser Abschnitt die Syntax des
Befehls und seine Argumente (einschließlich Optionen); Fettschrift
bedeutet, das der Text genau so eingegeben werden muss, austauschbare
Argumente werden durch Kursivschrift gekennzeichnet. Klammern ([]) umgeben
optionale Argumente, senkrechte Striche (|) trennen Elemente, von denen
eins auszuwählen ist und Ellipsen (...) können wiederholt
werden. Für Funktionen enthält er die Deklarationen aller
erforderlichen Daten oder #include-Anweisungen, gefolgt von der
Funktionsdeklaration.
- KONFIGURATION
- Konfigurationsdetails für ein Gerät; Dieser Abschnitt erscheint in der Regel nur in Seiten aus Abschnitt 4.
- BESCHREIBUNG
- erklärt, was das Programm, die Funktion oder das Format bezwecken. Besprechen Sie die Interaktion mit Dateien und Standardeingabe und was in der Standardausgabe oder der Standardfehlerausgabe ausgegeben wird. Lassen Sie Interna und Details der Implementierung aus, wenn sie nicht entscheidend für das Verständnis der Schnittstelle sind. Beschreiben Sie den üblichen Fall, für Informationen über Befehlszeilenoptionen eines Programms verwenden Sie den Abschnitt OPTIONS.
- OPTIONEN
- beschreibt die von einem Programm akzeptierten Befehlszeilenoptionen und wie sie das Verhalten des Programms verändern. Dieser Abschnitt sollte nur in Handbuchseiten der Abschnitte 1 und 8 enthalten sein.
- EXIT-STATUS
- Hier werden die möglichen Werte für den Exit-Status eines Programms und die Umstände, die zur Rückgabe dieser Werte führen, angegeben. Dieser Abschnitt sollte nur in Handbuchseiten der Abschnitte 1 und 8 enthalten sein..
- RÜCKGABEWERT
- Dieser Abschnitt enthält für Handbuchseiten aus den Abschnitten 2 und 3 die Rückgabewerte der Bibliotheksfunktion für die aufrufende Routine und erläutert die Bedingungen, die zu einem bestimmten Rückgabewert führen.
- FEHLER
- Dieser Abschnitt enthält für Handbuchseiten aus den Abschnitten 2 und 3 mögliche Werte, die im Fehlerfall in errno platziert werden und erläutert mögliche Ursachen der Fehler. Die Fehlerliste sollte alphabetisch sortiert sein.
- UMGEBUNGSVARIABLEN
- gibt alle Umgebungsvariablen an, die auf das Programm einwirken und erläutert, was sie bewirken.
- DATEIEN
- führt die Dateien auf, die von dem Programm oder der Funktion benutzt werden: beispielsweise Konfigurationsdateien, Initialisierungsskripte und Dateien, die bearbeitet werden. Geben Sie den vollständigen Pfadnamen dieser Dateien an und nutzen Sie den Installationsprozess, um das Verzeichnis den Erfordernissen der Benutzer anzupassen. Für viele Programme ist als Installationsverzeichnis /usr/local voreingestellt. Ihre grundlegende Handbuchseite sollte daher /usr/local als Basis verwenden.
- VERSIONEN
- Hier steht eine kurze Zusammenfassung der Linux-Kernel oder
Glibc-Versionen, in denen ein Systemaufruf oder eine Bibliotheksfunktion
erschien oder das Verhalten wesentlich veränderte. Als allgemeine
Regel gilt, dass jede neue Schnittstelle einen VERSIONEN-Abschnitt in der
Handbuchseite bewirkt. Leider verfügen viele bestehende
Handbuchseiten nicht über diese Informationen (da es dafür keine
entsprechende Richtlinie gab, als sie geschrieben wurden). Patches zur
Ergänzung dieser Abschnitte sind willkommen. Aus der Sicht von
Programmierern, die neuen Code schreiben, werden diese Informationen wohl
nur interessant sein für Kernel-Schnittstellen, die in Linux 2.4 oder
später hinzugefügt wurden und für geänderte
Bibliotheksfunktionen in der Glibc seit Version 2.1. (D. h. also
Veränderungen seit Kernel 2.2 und Glibc 2.0).
- KONFORM ZU
- Dieser Abschnitt beschreibt alle Normen oder Konventionen,
die die Funktion oder einen von der Handbuchseite beschrieben Befehl
betreffen. Für eine Handbuchseite in Abschnitt 2 oder 3, sollten hier
die POSIX.1-Version(en) stehen, denen der Aufruf entspricht. Auch sollte
angegeben werden, ob der Aufruf in C99 beschrieben ist. (Sorgen Sie sich
nicht zu sehr über andere Standards wie SUS, SUSv2 und XPG oder die
SVr4- und 4.xBSD-Implementierungsstandards, es sei denn, der Aufruf wurde
in diesen Standards beschrieben, ist aber nicht in der aktuellen Version
von POSIX.1 enthalten; siehe standards(7).)
- ANMERKUNGEN
- enthält verschiedene Anmerkungen. Für Handbuchseiten der Abschnitte 2 und 3 werden Sie vielleicht die Unterabschnitte ( SS) Anmerkungen zu Linux und Anmerkungen zur Glibc nützlich finden.
- FEHLER
- führt Einschränkungen, bekannte Mängel oder Unannehmlichkeiten und weiteres fragwürdiges Verhalten auf.
- BEISPIEL
- Dieser Abschnitt enthält ein oder mehrere Beispiele für die Anwendung der Funktion, der Datei oder des Befehls. Wie Beispielprogramme geschrieben werden sollten, beschreibt der Abschnitt Beispielprogramme weiter unten.
- AUTOREN
- gibt die Autoren der Dokumentation oder des Programms an. Von einem AUTOREN-Bereich wird entschieden abgeraten. Allgemein ist es besser, nicht jede Seite mit einer Liste von (im Laufe der Zeit potenziell zahlreichen) Autoren vollzustopfen. Wenn Sie eine Seite schreiben oder signifikant verändern, fügen Sie einen Copyright-Vermerk als Kommentar in der Quelldatei ein. Wenn Sie der Autor eines Gerätetreibers sind und eine Adresse für das Melden von Fehlern angeben wollen, tun Sie das im Abschnitt FEHLER.
- SIEHE AUCH
- enthält eine durch Kommas gegliederte Liste verwandter Handbuchseiten. Die Liste ist nach Abschnittsnummern und in den Abschnitten alphabetisch sortiert. Manchmal folgen weitere Handbuchseiten oder Dokumente mit inhaltlichem Bezug. Schließen Sie die Liste nicht mit einem Punkt ab.
Verwendung von Schriftarten¶
Funktionsargumente werden immer kursiv geschrieben, auch in der ÜBERSICHT. Der Rest der Funktion wird fett geschrieben: int meineFunktion(int argc, char **argv); Variablennamen sollten wie die Namen von Argumenten kursiv geschrieben werden. Dateinamen (ob Pfadnamen oder Verweise auf Dateien im Verzeichnis /usr/include) sind immer kursiv (z. B. <stdio.h>), außer in der ÜBERSICHT, wo eingefügte Dateien fett geschrieben werden (z. B. #include <stdio.h>). Wenn Sie auf eine Standard-Include-Datei unter /usr/include verweisen, umgeben Sie die Header-Datei wie in C gebräuchlich mit spitzen Klammern (z.B. <stdio.h>). Spezielle Makros, die in der Regel mit Großbuchstaben geschrieben werden, werden in Fettdruck gesetzt (z.B. MAXINT). Ausnahme: Schreiben Sie NULL nicht fett. Bei der Aufzählung einer Liste von Fehlercodes werden die Codes in Fettschrift geschrieben. (Diese Liste verwendet in der Regel das Makro .TP.) Vollständige Befehle sollten, wenn sie lang sind, eine eigene, eingerückte Zeile bekommen; zum Beispiel:man 7 man-pages
Kurze Befehle können, kursiv gesetzt, in den laufenden Text aufgenommen werden; z. B. man 7 man-pages. In diesem Fall kann es sich lohnen, an geeigneten Stellen in der Befehlszeile geschützte Leerzeichen ("\ ") zu verwenden. Befehlsoptionen sollten kursiv geschrieben werden, z. B. -l. Ausdrücke, wenn Sie nicht auf einer separaten Zeile eingerückt geschrieben werden, sollten kursiv gesetzt werden. Auch hier kann die Verwendung von geschützten Leerzeichen angezeigt sein, wenn der Ausdruck in den normalen Text integriert ist. Jeder Hinweis auf den Gegenstand der aktuellen Handbuchseite sollte mit diesem Namen in Fettschrift geschrieben werden. Wenn das Thema eine Funktion ist (d.h., die Handbuchseite gehört zu den Abschnitten 2 oder 3), dann sollte der Name ein Paar von Klammern in Normalschrift (Roman) folgen. Zum Beispiel würden in der Handbuchseite von fcntl(2) Verweise auf das Thema der Seite als fcntl() geschrieben werden. Die empfohlene Schreibweise in der Quelldatei ist
.BR fcntl ().Die Verwendung dieses Formats anstatt der Verwendung von »\fB...\fP()« erleichtert die Entwicklung von Werkzeugen für die Auswertung von Handbuch-Quelltexten. Jede Bezugnahme auf eine andere Handbuchseite sollte den Namen fett schreiben und immer ohne Leerräume von der Nummer des Abschnitts in Normalschrift (Roman) gefolgt werden; (z. B. intro(2)). Die empfohlene Schreibweise in der Quelldatei ist
.BR intro (2).(Die Angabe der Abschnittsnummer in Querverweisen ermöglicht es Werkzeugen wie man2html(1) korrekte Hyperlinks zu erstellen.)
Rechtschreibung¶
Seit Release 2.39 folgen die man-pages der amerikanischen Rechtschreibung. Bitte verfassen Sie alle neuen Seiten und Patches nach diesen Konventionen.Beispielprogramme und Shell-Sitzungen¶
Handbuchseiten können Beispielprogramme enthalten, die den Gebrauch von Systemaufrufen oder Bibliotheksfunktionen beschreiben. Beachten Sie jedoch das Folgende:- *
- Beispielprogramme sollten in C geschrieben sein.
- *
- Ein Beispielprogramm ist nur dann notwendig und sinnvoll, wenn es inhaltlich weiter geht als das, was leicht in einer textuellen Beschreibung der Schnittstelle bereitgestellt werden kann. Ein Beispielprogramm, das nichts Anderes tut, als eine Schnittstelle aufzurufen, hat in der Regel wenig Sinn.
- *
- Beispielprogramme sollten eher kurz sein (vorzugsweise weniger als 100 Zeilen, idealerweise weniger als 50 Zeilen).
- *
- Beispielprogramme sollten nach dem Aufruf von System- und Bibliotheksfunktionen prüfen, ob Fehler aufgetreten sind.
- *
- Beispielprogramme sollten vollständig sein und keine Warnungen ausgeben, wenn sie mit cc -Wall kompiliert werden.
- *
- Soweit möglich und angebracht, sollten Beispielprogramme Experimente ermöglichen, wie sich ihr Verhalten durch Variation der Eingabe verändert (idealerweise mittels Befehlszeilenargumenten oder alternativ durch vom Programm gelesene Eingaben).
- *
- Beispielprogramme sollten im Stil von Kernighan und Ritchie (mit Einzügen von 4 Leerzeichen) verfasst werden. (Verwenden Sie in Quelltexten keine Tabulatoren!)
Einzug bei Struktur-Definitionen, Protokollen von Shell-Sitzungen usw.¶
Wenn Struktur-Definitionen, Protokolle von Shell-Sitzungen, usw. im laufenden Text eingefügt werden, rücken Sie diese um 4 Leerzeichen ein (d. h. umschließen Sie den Block mit .in +4n und .in).BEISPIEL¶
Kanonische Beispiele für die Gestaltung von Handbuchseiten für das man-pages-Paket sind pipe(2) und fcntl (2).SIEHE AUCH¶
man(1), man2html(1), groff(7), groff_man(7), man(7), mdoc(7)KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux- man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.28. Oktober 2008 | Linux |