Provided by: manpages-pl_0.5-1_all 

NAZWA
man-pages - konwencje pisania linuksowych stron podręcznika ekranowego
SKŁADNIA
man [sekcja] tytuł
OPIS
Strona opisuje konwencje, do których powinno się stosować podczas pisania stron podręcznika ekranowego
dla projektu Linux man-pages, który dokumentuje interfejs programistyczny w przestrzeni użytkownika
udostępniany przez jądro Linux i bibliotekę GNU C. Z tego powodu projekt dotyczy głównie sekcji 2
podręcznika systemowego, jak również wielu podręczników z sekcji 3, 4, 5 i 7. Konwencje opisane tutaj
mogą się także przydać autorom podręczników z innych projektów.
Sekcje stron podręcznika ekranowego
Sekcje podręcznika man są tradycyjnie definiowane następująco:
1 Komendy (programy)
Te komendy mogą być wykonywane przez użytkownika z powłoki.
2 Wywołania systemowe
Te funkcje muszą być obsługiwane przez jądro.
3 Wywołania biblioteczne
Większość funkcji libc.
4 Pliki specjalne (urządzenia)
Pliki, które można znaleźć w /dev.
5 Formaty plików i konwencje
Format dla pliku /etc/passwd i innych nadających się do odczytu przez człowieka.
6 Gry
7 Przegląd, konwencje i różnorodne
Przegląd różnych tematów, konwencje, protokoły, standardy kodowania znaków i inne.
8 Polecenia do zarządzania systemem
Komendy takie, jak mount(8), które wywoływać może tylko root .
Pakiety makr
Nowe strony podręcznika powinny być pisane z użyciem pakietu makr groff an.tmac opisanego w man(7). Wybór
ten podyktowany jest zachowaniem spójności: przytłaczająca większość istniejących podręczników
linuksowych używa tego pakietu makr.
Konwencje wyglądu pliku źródłowego
Prosimy ograniczać długość linii kodu źródłowego do maksymalnie 75 znaków, jeśli jest to możliwe. Pomaga
to unikać zawijania wierszy w niektórych programach pocztowych podczas przesyłania łat do podręczników
ekranowych.
Nowe zdania powinny zaczynać się w nowych liniach. Upraszcza to oglądanie efektów łat, które często
operują na poziomie poszczególnych zdań.
Linia tytułowa
Pierwszą komendą strony podręcznika powinno być polecenie TH:
.TH tytuł sekcja data źródło podręcznik
gdzie:
tytuł Tytuł strony podręcznika, pisany w całości dużymi literami (np. MAN-PAGES).
sekcja Numer sekcji, w której strona powinna się znaleźć (np. 7).
data Data ostatniej wersji strony — prosimy pamiętać o uaktualnianiu jej po każdej zmianie
strony podręcznika, ponieważ jest to najpopularniejsza droga kontrolowania wersji. Daty
powinny być zapisywane w postaci RRRR-MM-DD.
źródło Źródło polecenia, funkcji lub wywołania systemowego.
Dla tych kilku stron z pakietu man-pages znajdujących się w sekcjach 1. i 8.,
najprawdopodobniej należy podać GNU.
Dla wywołań systemowych najodpowiedniejsze będzie Linux. (Wcześniej praktykowano
dodawanie numeru wersji jądra, dla której strona podręcznika została napisana lub
zaktualizowana. Nigdy jednak nie zachowano spójności w robieniu tego, co było
najprawdopodobniej gorsze niż niedołączanie numeru wersji. Dlatego też prosimy unikać
dołączania numeru wersji).
Dla wywołań bibliotecznych będących częścią biblioteki glibc lub innych powszechnie
używanych bibliotek GNU, należy użyć GNU C library, GNU lub pustego łańcucha znaków.
Dla stron w sekcji 4., należy użyć Linux.
W razie wątpliwości, prosimy użyć Linux lub GNU.
podręcznik
Tytuł podręcznika (np. w sekcjach 2. i 3. stron z pakietu man-pages prosimy używać Linux
Programmer's Manual (tj. Podręcznik programisty Linuksa)).
Rozdziały stron podręcznika
Poniższa lista pokazuje rozdziały konwencjonalne lub sugerowane. Większość stron podręcznika powinna
zawierać przynajmniej wyróżnione rozdziały. Prosimy pisać nowe strony podręcznika w taki sposób, by
rozdziały pojawiały się w takiej kolejności, w jakiej są podane na liście.
NAZWA (NAME)
SKŁADNIA (SYNOPSIS)
KONFIGURACJA (CONFIGURATION) [Zwykle tylko w sekcji 4.]
OPIS (DESCRIPTION)
OPCJE (OPTIONS) [Zwykle tylko w sekcjach 1., 8.]
KOD ZAKOŃCZENIA (EXIT STATUS) [Zwykle tylko w sekcjach 1., 8.]
WARTOŚĆ ZWRACANA (RETURN VALUE) [Zwykle tylko w sekcjach 2., 3.]
BŁĘDY (ERRORS) [Zwykle tylko w sekcjach 2., 3.]
ŚRODOWISKO (ENVIRONMENT)
PLIKI (FILES)
ATRYBUTY (ATTRIBUTES) [Zwykle tylko w sekcjach 2, 3]
WERSJE (VERSIONS) [Zwykle tylko w sekcjach 2., 3.]
ZGODNE Z (CONFORMING TO)
UWAGI (NOTES)
BŁĘDY [IMPLEMENTACJI] (BUGS)
PRZYKŁAD (EXAMPLE)
ZOBACZ TAKŻE (SEE ALSO)
W celu zachowania spójności i dla lepszego zrozumienia przekazywanych informacji prosimy używać
zwyczajowych nagłówków wszędzie, gdzie mają zastosowanie. Jeśli jest to konieczne, można użyć własnych
nagłówków, zwłaszcza gdy sprawią, że tekst łatwiej będzie zrozumieć (może być to szczególnie użyteczne w
sekcjach 4. i 5.). Jednakże zanim użyje się własnych nagłówków, prosimy rozważyć użycie nagłówków
zwyczajowych i umieszczenie podrozdziałów (.SS) w rozdziałach opisanych tymi nagłówkami.
Poniżej opisujemy zawartość każdej z powyższych sekcji.
NAZWA Nazwa danej strony podręcznika systemowego. Podręcznik man(7) zawiera ważne detale na temat
wierszy które powinny znaleźć się za poleceniem .SH NAZWA. Wszystkie słowa w tym wierszu
(łącznie ze słowami występującymi zaraz za "\-") powinny być pisane małymi literami z
wyjątkiem konwencji terminologii lub wymagań językowych, które mówią inaczej.
SKŁADNIA Krótko opisuje interfejs polecenia lub funkcji. W przypadku poleceń pokazuje składnię
polecenia i jego argumenty (łącznie z opcjami); pogrubienie jest używane dla tekstu
wpisywanego dosłownie, a kursywa oznacza zastępowalne argumenty. Nawiasy kwadratowe ([])
otaczają argumenty opcjonalne, linie pionowe (|) rozdzielają możliwe wybory, a wielokropek
(...) oznacza możliwość powtarzania. W wypadku funkcji pokazuje wszystkie wymagane
deklaracje danych lub dyrektywy #include, po których następuje deklaracja funkcji.
Jeżeli do uzyskania deklaracji funkcji (lub zmiennej) z pliku nagłówkowego wymagane jest
zdefiniowanie makra testującego, to informacja o tym powinna zostać umieszczona w rozdziale
SKŁADNIA (SYNOPSIS), tak jak to opisano w feature_test_macros(7).
KONFIGURACJA Szczegóły konfiguracji urządzenia. Ta sekcja zazwyczaj występuje tylko w 4. sekcji stron
podręcznika ekranowego.
OPIS opisuje, co robi dany program, funkcja lub format. Objaśnia interakcję z plikami i
standardowym wejściem oraz wartości zwracane na standardowym wyjściu i standardowym wyjściu
błędów. Pomijane są szczegóły dotyczące implementacji i rzeczy wewnętrzne programu, chyba
że są istotne dla zrozumienia interfejsu programu. Opisuje normalne przypadki użycia;
objaśnienie opcji powinno się znaleźć w rozdziale OPCJE.
OPCJE Opisuje opcje linii poleceń akceptowane przez program oraz sposób, w jaki wpływają na jego
zachowanie. Rozdział powinien się pojawiać tylko w sekcjach 1. i 8. stron podręcznika
ekranowego.
KOD WYJŚCIA Określa możliwe wartości kodów zakończenia programu oraz warunki, które powodują zwrócenie
tych wartości. Rozdział powinien się pojawiać tylko w sekcjach 1. i 8. stron podręcznika
ekranowego.
WARTOŚĆ ZWRACANA
W sekcjach 2. i 3. stron podręcznika, rozdział ten określa listę wartości, które opisywana
funkcja biblioteczna zwróci funkcji ją wywołującej, oraz warunki, w których dana wartość
będzie zwracana.
BŁĘDY W sekcjach 2. i 3. stron podręcznika jest to lista wartości, które mogą być przypisane
zmiennej errno w razie wystąpienia błędu, łącznie z informacjami o przyczynach tego błędu.
Elementy listy powinny być wymienione w porządku alfabetycznym.
ŚRODOWISKO Zawiera opis wszystkich zmiennych środowiskowych, wpływających na program i opisuje ten
wpływ.
PLIKI Zawiera listę plików używanych przez program lub funkcję, takich jak pliki konfiguracyjne,
pliki uruchomieniowe oraz pliki używane w czasie działania programu. Należy podać pełną
ścieżkę do pliku, w której podczas instalacji powinno się zmodyfikować katalogi, tak żeby
odpowiadały preferencjom użytkownika. Wiele programów domyślnie instaluje się w /usr/local,
tak że strona podręcznika powinna używać /usr/local jako podstawowego katalogu.
ATRYBUTY Podsumowanie różnych atrybutów funkcji udokumentowanych na danej stronie podręcznika
podzielonych na podsekcje. Zdefiniowano następujące podsekcje:
Wielowątkowość (zob. pthreads(7))
Podsekcja opisuje atrybuty odnoszące się do aplikacji wielowątkowych:
* Czy funkcja jest wątkowo bezpieczna.
* Czy funkcja jest punktem odwołania (ang. cancellation point).
* Czy funkcja jest bezpieczna pod względem anulowania wywołania asynchronicznego.
Szczegóły tych atrybutów można znaleźć w pthreads(7).
WERSJE Krótkie podsumowanie wersji jądra Linuksa lub biblioteki glibc, w której to wersji
opisywane wywołanie systemowe lub funkcja biblioteczna się pojawiły lub ich działanie
zostało znacząco zmienione. Z zasady każda strona podręcznika opisująca nowy interfejs
powinna zawierać rozdział WERSJE (VERSIONS). Niestety wiele istniejących stron nie dołącza
tych informacji (gdyż nie było to wymagane w czasie pisania tych stron). Chętnie przyjmiemy
łaty poprawiające ten problem, jednakże z perspektywy programisty informacje o wersji mają
najprawdopodobniej znaczenie tylko w przypadku interfejsów jądra dodanych w Linuksie 2.4
lub kolejnych (tj. zmiany w stosunku do jądra 2.2) oraz w przypadku funkcji bibliotecznych
dołożonych do glibc od wersji 2.1 (tj. zmiany w stosunku do wersji 2.0).
Strona podręcznika syscalls(2) także dostarcza informacji o wersjach jądra, w których
pojawiły się różne wywołania systemowe.
ZGODNE Z Opisuje standardy lub konwencje związane z opisywaną w podręczniku funkcją lub opisywanym
poleceniem. Strony w sekcjach 2. i 3. powinny wskazywać na wersje standardu POSIX.1, z
którymi są zgodne opisywane w nich wywołania oraz informować o tym, czy wywołanie jest
opisane w standardzie C99 (Prosimy nie przejmować się zbytnio innymi standardami jak SUS,
SUSv2 i XPG lub standardami implementacji SVr4 lub BSD 4.x, chyba że wywołanie jest
opisane w tych standardach, ale nie w bieżącej wersji standardu POSIX.1) (Patrz także
standards(7)).
Jeśli wywołanie nie jest zamieszczone w żadnym standardzie, ale zwyczajowo istnieje w
innych systemach, prosimy wymienić te systemy. Jeśli wywołanie jest specyficzne dla
Linuksa, również należy o tym poinformować.
Jeśli rozdział zawiera tylko i wyłącznie listę standardów (a tak jest zazwyczaj), lista ta
powinna być zakończona kropką (".").
UWAGI Zawiera różnorodne uwagi. W sekcjach 2. i 3. stron podręcznika ekranowego może być
użyteczne podzielenie tego rozdziału na podrozdziały (SS) nazywane Uwagi linuksowe i Uwagi
dotyczące biblioteki glibc.
BŁĘDY Opisuje ograniczenia, znane usterki lub niedogodności oraz inne problematyczne aktywności.
PRZYKŁAD Dostarcza jednego lub więcej przykładów opisujących, jak funkcja, plik lub polecenie są
używane. Szczegóły dotyczące pisania przykładowych programów opisano w sekcji Przykładowe
programy poniżej.
AUTORZY Lista autorów dokumentacji lub programu. Używanie sekcji AUTORZY nie jest zalecane. Ogólnie
lepiej jest nie zaśmiecać każdej strony (z upływem czasu coraz większą) listą autorów.
Podczas pisania lub znaczącego zmieniania strony podręcznika, należy umieścić informacje o
prawach autorskich jako komentarz w stronie źródłowej. Autorzy sterowników urządzeń, którzy
chcieliby podać adres, pod którym należy zgłaszać błędy, powinny umieścić go w rozdziale
BŁĘDY (BUGS).
ZOBACZ TAKŻE Zawiera rozdzieloną przecinkami listę powiązanych stron podręcznika, posortowaną po numerze
sekcji, a następnie alfabetycznie po nazwie. Po nich mogą występować inne powiązane strony
lub dokumenty. Nie należy umieszczać kropki na końcu listy.
Gdy w ZOBACZ TAKŻE znajduje się wiele długich nazw podręczników systemowych to, w celu
poprawienia przejrzystości tekstu, można użyć dyrektyw .ad l (nie wyrównuj do prawej
strony) i .nh (nie dziel). Aby zapobiec dzieleniu pojedynczych nazw podręczników należy je
poprzedzić łańcuchem "\%".
Konwencje czcionek
Dla funkcji, argumenty zawsze są podawane kursywą, nawet w rozdziale SKŁADNIA, w którym reszta funkcji
jest wydrukowana w pogrubieniu:
int myfunction(int argc, char **argv);
Nazwy zmiennych podobnie jak nazwy argumentów powinny być pisane kursywą.
Nazwy plików (niezależnie od tego, czy są pełnymi ścieżkami czy odniesieniami do plików w katalogu
/usr/include) są zawsze pisane kursywą (np. <stdio.h>), z wyjątkiem nazw występujących w rozdziale
SKŁADNIA (SYNOPSIS), w którym pliki dołączane są wyróżniane pogrubieniem (np. #include <stdio.h>).
Odwołania do standardowych plików dołączanych znajdujących się w /usr/include powinny zawierać nazwę
pliku nagłówkowego w nawiasach trójkątnych, tak jak to jest przyjęte w języku C (np. <stdio.h>).
Makra specjalne, które są zwykle pisane dużymi literami, są pogrubiane (np. MAXINT). Wyjątek: nie
pogrubiamy słowa NULL.
Podczas wyliczania listy kodów błędów, kody są pogrubiane (taka lista zwykle używa makra .TP).
Pełne polecenia, jeśli są długie, powinny być zapisywane w nowych liniach odpowiednio wciętych, na
przykład:
man 7 man-pages
Jeśli polecenie jest krótkie, to może być zawarte bezpośrednio w tekście zdania i napisane kursywą, na
przykład man 7 man-pages. W tym wypadku, można rozważyć użycie w odpowiednich miejscach polecenia spacji
nierozdzielających ("\ "). Opcje polecenia powinny być zapisywane kursywą, np. -l.
Wyrażenia, jeśli nie są zapisywane w osobnych, wciętych liniach, powinny być podawane kursywą. Ponownie,
jeśli wyrażenie jest włączone do zwykłego tekstu, to właściwe może być używanie spacji nierozdzielających
w tym wyrażeniu.
Każde odwołanie do programu, funkcji itp. będących tematem bieżącej strony podręcznika, powinno nazwę
zapisaną czcionką pogrubioną. Jeśli tematem jest funkcja (tj. bieżąca strona pochodzi z sekcji 2. lub
3.), to po nazwie powinna występować para nawiasów zapisanych czcionką roman (zwykłą). Na przykład w
stronie podręcznika fcntl(2) odwołania do tematu tej strony będą zapisane jako fcntl(). Preferowanym
sposobem zapisania tego w pliku źródłowym strony jest:
.BR fcntl ()
(Używanie tego formatu zamiast "\fB...\fP()" upraszcza pisanie narzędzi przetwarzających pliki źródłowe
stron podręcznika ekranowego).
Wszelkie odwołania do innych stron podręcznika powinny być pisane przy użyciu pogrubionej czcionki dla
nazwy strony, po której - bez rozdzielania spacjami - zawsze powinien następować numer sekcji pisany
czcionką zwykłą (niepogrubioną), np. intro(2). Preferowany sposób zapisania tego w kodzie źródłowym
strony jest następujący:
.BR intro (2)
(Dodawanie numerów sekcji w odwołaniach pozwala narzędziom takim jak man2html(1) na utworzenie stron
zawierających poprawne odnośniki hipertekstowe).
Pisownia
Od wersji 2.59 pakiet man-pages używa pisowni amerykańskiej. Prosimy przestrzegać tej konwencji
dotyczącej pisowni we wszystkich nowo pisanych stronach podręcznika ekranowego i podczas przesyłania nam
łat do istniejących stron.
Wielkie litery
W podsekcjach ("SS") wielką literą należy pisać tylko pierwsze słowo w tytule, z wyjątkiem sytuacji gdy
innego zapisu wymagają zasady językowe lub nazwy własne.
Przykładowe programy i sesje powłoki
Strony podręcznika mogą zawierać przykładowe programy pokazujące, jak używać wywołania systemowego lub
funkcji bibliotecznej. Jednakże proszę zauważyć, że:
* Przykładowe programy powinny być pisane w języku C.
* Zamieszczenie programu przykładowego jest konieczne i użyteczne tylko wtedy, gdy program ten pokazuje
coś, czego nie można w prosty sposób zawrzeć w tekstowym opisie demonstrowanego interfejsu. Program
przykładowy nie robiący nic poza wywoływaniem funkcji interfejsu zazwyczaj nie ma większego sensu.
* Przykładowy program powinien być raczej krótki (dobrze by było, gdyby miał mniej niż 100 linii,
idealnie - mniej niż 50 linii).
* Przykładowe programy nie powinny sprawdzać błędów wywołań systemowych czy funkcji bibliotecznych.
* Przykładowe programy powinny być kompletne i powinny się kompilować za pomocą cc -Wall bez wypisywania
żadnych ostrzeżeń.
* Kiedy tylko to możliwe i właściwe, programy przykładowe powinny pozwalać na eksperymenty, różnicując
swoje zachowanie zależnie od wejścia (idealnie pochodzącego z argumentów linii poleceń lub
alternatywnie z wejścia czytanego przez program).
* Przykładowe programy powinny być sformatowane w stylu "Kernighan & Ritchie" z wcięciami o rozmiarze
czterech spacji. (Nie należy używać znaków tabulacji w kodzie źródłowym!)
Przykłady wyglądu przykładowych programów można znaleźć w wait(2) i pipe(2).
Włączając sesję powłoki pokazującą użycie programu lub innej właściwości systemu, należy używać czcionki
pogrubionej dla tekstu wprowadzanego przez użytkownika, tak aby odróżnić go od tekstu produkowanego przez
system.
Wcięcia definicji struktur, logów sesji powłoki itp.
Definicje struktur, logi z sesji powłoki itp dołączane do tekstu powinny zawierać wcięcia o długości 4
spacji (tj. powinny być umieszczone w bloku otoczonym przez .in +4n i .in).
PRZYKŁAD
Wzorcowymi przykładami tego, jak powinny wyglądać strony podręczników z pakietu man-pages, są strony
pipe(2) i fcntl(2).
ZOBACZ TAKŻE
man(1), man2html(1), groff(7), groff_man(7), man(7), mdoc(7)
O STRONIE
Angielska wersja tej strony pochodzi z wydania 3.52 projektu Linux man-pages. Opis projektu oraz
informacje dotyczące zgłaszania błędów można znaleźć pod adresem http://www.kernel.org/doc/man-pages/.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM) <pborys@p-
soft.silesia.linux.org.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 3.52 oryginału.
Linux 2013-06-21 MAN-PAGES(7)