Provided by: manpages-pl_0.5-1_all bug

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.