oracular (7) man-pages.7.gz

Provided by: manpages-pl_4.23.1-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, wielu podręczników z sekcji 3, 4 i 7 oraz niektórych podręczników z sekcji 1,  5
       i 8. 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 użytkownika (programy)
              Komendy mogą być wykonywane przez użytkownika z powłoki.

       2 Wywołania systemowe
              Funkcje opakowują operacje wykonywane przez jądro.

       3 Wywołania biblioteczne
              Wszystkie  funkcje  biblioteczne  z  wyłączeniem opakowań wywołań systemowych (większość z funkcji
              libc).

       4 Pliki specjalne (urządzenia)
              Pliki w /dev pozwalające na dostęp do urządzenia poprzez jądro.

       5 Formaty plików i pliki konfiguracyjne
              Opisują różne czytelne dla człowieka formaty plików i pliki konfiguracyjne.

       6 Gry  Gry i zabawne programiki dostępne w systemie.

       7 Przegląd, konwencje i różnorodne
              Przegląd i opsi różnych tematów, konwencje, protokoły, standardy kodowania  znaków,  standardowego
              wyglądu systemu plikó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.

   Linia tytułowa
       Pierwszą komendą strony podręcznika powinno być polecenie TH:

              .TH tytuł sekcja data źródło rozdział-podręcznika

       Argumenty komendy są następujące:

       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  nietrywialnej  zmiany  dokonanej  w  podręczniku. W projekcie man-pages konieczna
              aktualizacja tych dat jest wykonywana automatycznie przez skrypty,  dlatego  nie  ma  konieczności
              zawierania ręcznej aktualizacji w łatce). Daty powinny być zapisywane w postaci RRRR-MM-DD.

       źródło Nazwa i wersja projektu udostępniającego stronę podręcznika (niekoniecznie będzie to pakiet, który
              udostępnia samą funkcjonalność).

       rozdział-podręcznika
              Zwykle pole to powinno pozostać puste, jako że wartość domyślna jest wystarczająca.

   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
              BIBLIOTEKA           [Zwykle tylko w sekcjach 2 i 3]
              SKŁADNIA
              KONFIGURACJA         [Zwykle tylko w sekcji 4]
              OPIS
              OPCJE                [Zwykle tylko w sekcjach 1 i 8]
              STATUS ZAKOŃCZENIA   [Zwykle tylko w sekcjach 1 i 8]
              WARTOŚĆ ZWRACANA     [Zwykle tylko w sekcjach 2 i 3]
              BŁĘDY                [Zwykle tylko w sekcjach 2 i 3]
              ŚRODOWISKO
              PLIKI
              ATRYBUTY             [Zwykle tylko w sekcjach 2 i 3]
              WERSJE               [Zwykle tylko w sekcjach 2 i 3]
              STANDARDY
              HISTORIA
              UWAGI
              ZASTRZEŻENIA
              USTERKI
              PRZYKŁADY
              AUTORZY              [Odradzane]
              ZGŁASZANIE BŁĘDÓW    [Nieużywane w projekcie man-pages]
              PRAWA AUTORSKIE      [Nieużywane w projekcie man-pages]
              ZOBACZ TAKŻE

       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 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.

       BIBLIOTEKA
              Biblioteka udostępniająca symbol.

              Pokazywana  jest  tu  ogólna nazwa biblioteki, następnie, w nawiasie, nazwa pliku biblioteki oraz,
              jeśli to potrzebne, flaga konsolidatora wymaganego do podlinkowania do  niego  programu  (libfoo[,
              -lfoo]).

       SKŁADNIA
              Zwięzłe podsumowanie interfejsu 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   Opis tego, 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.

              Przy opisywaniu nowego zachowania lub nowych flag wywołania systemowego lub funkcji bibliotecznej,
              proszę  pamiętać o zanotowaniu wersji jądra lub biblioteki C która wprowadziła tę zmianę. Zalecaną
              metodą przestawienia tej informacji przy flagach jest postać  części  listy  .TP,  w  następującej
              formie (tutaj dla nowej flagi wywołania systemowego):

                       XYZ_FLAG (od Linuksa 3.7)
                              Opis flagi...

              Dołączenie  informacji  o  wersji  jest  szczególnie  ważne  dla  użytkowników  którzy są zmuszeni
              korzystać ze starszego jądra lub biblioteki  C  (co  jest  powszechne  w  przypadku  np.  systemów
              wbudowanych).

       OPCJE  Opis  opcji  wiersza  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.

              Gdy  wiele  różnych  warunków  wywołuje  ten  sam  błąd,  preferowanym  podejściem jest utworzenie
              odrębnych wpisów listy (z powtórzonymi nazwami błędów) dla każdego z warunków. W ten sposób  jasna
              będzie  rozdzielność  warunków,  w  których wystąpił błąd, lista może być czytelniejsza oraz można
              podać dodatkowe informacje specyficzne dla każdego z warunków (np. wersję jądra, w której  po  raz
              pierwszy wystąpił dany warunek).

              Elementy listy powinny być wymienione w porządku alfabetycznym.

       ŚRODOWISKO
              Lista wszystkich zmiennych środowiskowych, wpływających na program i opis tego wpływu.

       PLIKI  Lista  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.  Więcej
              informacji w podręczniku attributes(7).

       WERSJE Podsumowanie systemów, na których API zachowuje się odmiennie lub gdzie występuje podobne API.

       STANDARDY
              Opisuje  standardy  lub  konwencje  związane  z  opisywaną  w  podręczniku  funkcją lub opisywanym
              poleceniem.

              Preferowane terminy do użycia w różnych standardach są wypisane jako nagłówki w standards(7).

              Ten rozdział powinien odnotowywać obecne standardy, z którymi zgodne jest API.

              Jeśli API nie jest zamieszczone w żadnym standardzie, ale zwyczajowo istnieje w innych  systemach,
              prosimy  wymienić te systemy. Jeśli wywołanie jest specyficzne dla Linuksa lub GNU, również należy
              o tym poinformować. Należy zamieścić również wzmiankę, jeśli jest dostępne w BSD.

              Jeśli rozdział zawiera tylko i wyłącznie listę standardów (a tak jest zazwyczaj), lista ta powinna
              być zakończona kropką (".").

       HISTORIA
              Zwięzłe  podsumowanie wersji jądra Linux lub glibc, w których pojawiło się wywołanie systemowe lub
              funkcja biblioteczna, albo w której znacznie zmieniło się jej działania.

              Z zasady każda strona podręcznika opisująca nowy interfejs  powinna  zawierać  rozdział  HISTORIA.
              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  Linuksa  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.

       Stare  wersje  standardów należy odnotować tutaj, zamiast w rozdziale STANDARDY, przykładami są standardy
       implementacji SVr4 i 4.xBSD albo SUS, SUSv2 i XPG.

       UWAGI  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.

              W  sekcji  2  proszę  użyć  nagłówka  Różnice biblioteki C/jądra aby opisać uwagi dotyczące różnic
              (jeśli takie występują) między funkcją  opakowującą  biblioteki  C  dla  wywołania  systemowego  i
              surowym interfejsem wywołania systemowego zapewnianym przez jądro.

       ZASTRZEŻENIA
              Ostrzeżenia  o  częstym  sposobie błędnego stosowania API przez użytkowników, niebędące błędem API
              ani błędem projektowym.

       USTERKI
              Opis ograniczeń, znanych usterek lub niedogodności oraz innych problematycznych aktywności.

       PRZYKŁADY
              Jeden 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 USTERKI.

       ZGŁASZANIE BŁĘDÓW
              Projekt man-pages nie używa  rozdziału  ZGŁASZANIE  BŁĘDÓW  w  stronach  podręcznika  systemowego.
              Informacje  na  ten  temat  są  dostarczane w sekcji KOLOFON generowanej skryptem. Wiele projektów
              dodaje jednak rozdział ZGŁASZANIE BŁĘDÓW. Zaleca się umieszczenie go blisko końca strony.

       PRAWA AUTORSKIE
              Projekt man-pages nie używa rozdziału PRAW AUTORSKICH w stronach podręcznika,  informacje  na  ten
              temat  znajdują się bowiem w źródle strony. W stronach, w których ten rozdział jest obecny, zaleca
              się umieszczenie go blisko końca strony, tuż nad ZOBACZ TAKŻE.

       ZOBACZ TAKŻE
              Rozdzielona przecinkami lista powiązanych  stron  podręcznika,  po  której  mogą  występować  inne
              powiązane strony lub dokumenty.

              Lista  powinna  być posortowana po numerze sekcji, a następnie alfabetycznie po nazwie. 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 "\%".

              Biorąc pod uwagę rozproszoną i autonomiczną naturę projektów WiOO i jej dokumentacji, często  jest
              konieczne  i  w  wielu  przypadkach  pożądane,  aby  sekcja  ZOBACZ  TEŻ  zawierała odniesienia do
              podręczników systemowych udostępnianych przez inne projekty.

KONWENCJE REDAKCYJNE I DOTYCZĄCE FORMATOWANIA

       Poniższe  podrozdziały  opisują  wybór  szczegółowych   rozwiązań   dotyczących   preferowanego   sposobu
       formatowania oraz redagowania różnych rozdziałów w projekcie man-pages.

   SKŁADNIA
       Należy umieścić prototyp(y) funkcji w .nf/.fi, aby uniknąć wypełniania.

       Gdy  w  składni  wskazany  jest  więcej  niż  jeden  prototyp  funkcji,  prototypy nie powinny być zwykle
       rozdzielone pustym wierszem. Można je jednak zastosować (używając .PP) w następujących przypadkach:

       •  do rozdzielenia długiej listy prototypów funkcji w powiązane grupy (zob. np. list(3));

       •  w innych przypadkach poprawiających czytelność.

       W SKŁADNI, długi prototyp funkcji może wymagać kontynuacji w  nowym  wierszu.  Wiersz  ten  należy  wciąć
       zgodnie z następującymi zasadami:

       (1)  Jeśli  istnieje  pojedynczy prototyp wymagający kontynuacji, należy wyrównać wiersz kontynuacji tak,
            aby zaczynał się tuż pod początkiem listy argumentów z wiersza powyżej, biorąc pod  uwagę  przypadek
            renderowania  na  urządzeniu  ze  stałą  szerokością  fontu  (np.  na xterm) (wyjątek: wcięcie można
            dostosować, aby uniknąć bardzo długiego wiersza kontynuacji lub  aby  zapobiec  kolejnemu  wierszowi
            kontynuacji, gdy prototyp funkcji jest bardzo długi). Przykład:

                int tcsetattr(int fd, int optional_actions,
                              const struct termios *termios_p);

       (2)  Jednak  gdy  wiele  funkcji  w  SKŁADNI  wymaga  wierszy kontynuacji i nazwy funkcji mogą mieć różną
            długość, należy wyrównać wszystkie wiersze kontynuacji, aby zaczynały się w tej samej kolumnie. Daje
            to  lepsze renderowanie w wyjściu PDF (ponieważ SKŁADNIA używa fontu o zmiennej szerokości, w którym
            spacje są renderowane jako znaki węższe niż większość pozostałych). Przykład:

                int getopt(int argc, char * const argv[],
                           const char *optstring);
                int getopt_long(int argc, char * const argv[],
                           const char *optstring,
                           const struct option *longopts, int *longindex);

   WARTOŚĆ ZWRACANA
       Preferowanym sposobem zapisu ustawienia errno jest "ustawiane jest errno  wskazując  błąd"  lub  podobne.
       Jest to spójne z redakcją użytą w POSIX.1 oraz FreeBSD.

   ATRYBUTY
       Proszę zauważyć, co następuje:

       •  Proszę  opakowywać  tabelę  w tym rozdziale w .ad l/.ad, aby uniknąć wypełniania tekstu oraz w .nh/.hy
          aby wyłączyć dzielenie słów.

       •  Proszę upewnić się, że tabela zajmuje całą szerokość strony, korzystając  z  opisu  lbx  do  jednej  z
          kolumn  (zwykle  pierwszej,  choć w niektórych przypadkach dobrym wyborem jest ostatnia, jeśli zawiera
          dużo tekstu).

       •  Można swobodnie stosować makro T{/T}  pozwalając  na  przełamanie  komórek  tabeli  na  wiele  wierszy
          (pamiętając, że strony mogą być czasem renderowane na szerokość mniejszą niż 80 kolumn).

       Aby zobaczyć zastosowania powyższych uwag, należy sprawdzić źródła różnych stron podręcznika.

STYLISTYKA

       Poniższe  podrozdziały  opisują  preferowany styl w projekcie man-pages. Szczegóły nie są opisane, dobrym
       źródłem jest zwykle Chicago Manual of Style, proszę również przeszukać  pliki  obecne  w  drzewie  źródeł
       projektu.

   Używanie języka neutralnego płciowo
       Tam gdzie się tylko da, należy używać języka neutralnego płciowo. Do tego celu można posłużyć się słowami
       "they" ("them", "themself", "their").

   Konwencje formatowania do stron podręcznika opisujących polecenia
       W przypadku stron podręcznika opisujących polecenia (zwykle w sekcji 1 i 8), argumenty zawsze są podawane
       kursywą, nawet w rozdziale SKŁADNIA.

       Nazwa polecenia i jego opcji powinny być zawsze formatowe w pogrubieniu.

   Konwencje formatowania do stron podręcznika opisujących funkcje
       W  przypadku  stron podręcznika opisujących funkcje (zwykle w sekcji 2 i 3), argumenty zawsze są podawane
       kursywą, nawet w rozdziale SKŁADNIA, w którym reszta funkcji jest podana w pogrubieniu:

        int myfunction(int argc, char **argv);

       Nazwy zmiennych podobnie jak nazwy argumentów powinny być pisane kursywą.

       Każde odwołanie do programu, funkcji itp. będących  tematem  bieżącej  strony  podręcznika,  powinno  być
       zapisane  czcionką  pogrubioną,  po  której  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).

   Używanie semantycznych przełamań wierszy
       W źródłach strony podręcznika nowe zdania powinny rozpoczynać się od nowego wiersza, długie zdania należy
       przełamać  zgodnie  z  interpunkcją  (na przecinkach, dwukropkach itp.), a długie zdania podrzędne należy
       podzielić  na  wyrażenia.  Ta  konwencja  zwana  czasem  "semantycznym  przełamaniem   wiersza"   ułatwia
       zwizualizowanie  łatek,  które  często  działają  na  poziomie  poszczególnych zdań, zdań podrzędnych lub
       wyrażeń.

   Listy
       Występują różne rodzaje list:

       Oznaczone zdania
              Używane do listy znaczników i ich opisów. Gdy znaczniki  są  stałymi  (makrami  lub  liczbami)  są
              pogrubione. Proszę korzystać z makra .TP (ang. Tagged Paragraph).

              Niniejszy podrozdział "Oznaczone zdania" jest dobrym przykładem tego typu listy.

       Listy numerowane
              Elementy są poprzedzone liczbą w nawiasie (1), (2). Oznaczają listę kroków posiadających określoną
              kolejność.

              Jeśli występują podkroki, są numerowane jako (4.2).

       Listy pozycyjne
              Elementy są poprzedzone liczbą (indeksem) w nawiasach kwadratowych  [4],  [5].  Oznaczają  pola  w
              zestawie. Pierwszym indeksem będzie:

              0      Jeśli reprezentuje pole w strukturze danych C, aby zachować spójność z tablicami.
              1      Gdy reprezentuje pole pliku, aby zachować spójność z narzędziami takimi jak cut(1).

       Listy alternatywne
              Elementy  są  poprzedzone  literami  w nawiasie (a), (b). Reprezentują zestaw (zwykle) rozłącznych
              alternatyw.

       Listy punktowane
              Elementy są poprzedzone symbolem punktora (\[bu] - ang.  bullet).  Zwykle  oznaczane  jest  w  ten
              sposób wszystko, co nie pasuje do innych typów list.

       Uwagi numerowane
              Nie są to tak naprawdę listy, ale składnia jest identyczna do "list pozycyjnych".

       Pomiędzy  symbolem  listy  a  jej  elementami powinny być dokładnie 2 spacje. Nie dotyczy to "oznaczonych
       zdań", korzystających z domyślnych reguł wcięć.

   Konwencje formatowania (ogólne)
       Akapity należy rozdzielać odpowiednimi markerami (zwykle .P albo .IP).  Nie  należy  rozdzielać  akapitów
       pustymi wierszami, gdyż powoduje to nieprawidłowe renderowanie w niektórych formatach wyjściowych (takich
       jak PostScript i PDF).

       Nazwy plików (niezależnie od tego, czy są pełnymi ścieżkami czy odniesieniami do plików nagłówkowych)  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  nagłówkowych  dołączanych  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 wierszach odpowiednio wciętych, z
       pustym wierszem przed i po poleceniu, 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.

       Przy pokazywaniu przykładowej sesji powłoki, wejście użytkownika należy pogrubić, na przykład

           $ date
           Thu Jul  7 13:01:27 CEST 2016

       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).

       Znaki kontrolne powinny być zapisywane czcionką pogrubioną, bez cytatów np. ^X.

   Pisownia
       Od wersji 2.59 pakiet man-pages używa pisowni amerykańskiej (wcześniej była to losowa mieszanina  pisowni
       amerykańskiej  i  brytyjskiej).  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.

       Oprócz ogólnie znanych różnic jest też kilka subtelniejszych zmian których trzeba pilnować.

       •  Amerykański angielski częściej używa form "backward",  "upward",  "toward"  itd.  a  angielski  zwykle
          "backwards", upwards", "towards" itd.

       •  Są  sprzeczne  opinie  na temat "acknowledgement" i "acknowledgment". To drugie dominuje, ale nie jest
          uniwersalnie stosowane w amerykańskim agielskim. Pierwsze jest stosowane przez POSIX oraz  w  licencji
          BSD. W projekcie Linux man-pages używa się "acknowledgement".

   Wersje BSD
       Klasyczny  schemat  zapisu  wersji  BSD  to  x.yBSD, gdzie x.y to wersja (np. 4.2BSD). Proszę unikać form
       takich jak BSD 4.3.

   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. Na przykład:

           .SS Unikod w Linuksie

   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) i  należy  je  formatować  za
       pomocą makr .EX i .EE oraz otoczyć odpowiednimi znacznikami akapitów (.P albo .IP). Przykład:

           .P
           .in +4n
           .EX
           int
           main(int argc, char *argv[])
           {
               return 0;
           }
           .EE
           .in
           .P

   Preferowane terminy
       Poniższa  tabela pokazuje część preferowanych terminów w stronach podręcznika, głównie w celu zapewnienia
       spójności między poszczególnymi podręcznikami.

       Termin               Niezalecany              Uwagi
       ──────────────────────────────────────────────────────────────────────
       bit mask             bitmask
       built-in             builtin
       Epoch                epoch                    Do epoki Uniksa
                                                     (00:00:00, 1 Jan 1970
                                                     UTC)
       filename             file name
       filesystem           file system
       hostname             host name
       inode                i-node
       lowercase            lower case, lower-case
       nonzero              non-zero
       pathname             path name
       pseudoterminal       pseudo-terminal
       privileged port      reserved port, system
                            port
       real-time            realtime, real time
       run time             runtime
       saved set-group-ID   saved group ID, saved
                            set-GID
       saved set-user-ID    saved user ID, saved
                            set-UID

       set-group-ID         set-GID, setgid
       set-user-ID          set-UID, setuid
       superuser            super user, super-user
       superblock           super block,
                            super-block
       symbolic link        symlink
       timestamp            time stamp
       timezone             time zone
       uppercase            upper case, upper-case
       usable               useable
       user space           userspace
       username             user name
       x86-64               x86_64                   Chyba że odnosi się do
                                                     wyniku "uname -m" itp.
       zeros                zeroes

       Zob. też Zapis z dywizem przydawek złożonych poniżej.

   Terminy niezalecane
       Poniższa tabela pokazuje część niezalecanych terminów w stronach podręcznika, razem z proponowanymi
       alternatywami, głównie w celu zapewnienia spójności między poszczególnymi podręcznikami.

       Niezalecane       Zalecane                Uwagi
       ───────────────────────────────────────────────────────────────────────

       32bit             32-bit                  podobnie 8-bit, 16-bit, etc.
       current process   calling process         Częsty błąd programistów
                                                 jądra piszących strony
                                                 podręcznika ekranowego
       manpage           man page, manual page
       minus infinity    negative infinity
       non-root          unprivileged user
       non-superuser     unprivileged user
       nonprivileged     unprivileged
       OS                operating system
       plus infinity     positive infinity
       pty               pseudoterminal
       tty               terminal
       Unices            UNIX systems
       Unixes            UNIX systems

   Znaki towarowe
       Proszę używać poprawnego zapisu znaków towarowych. Poniższa lista zawiera poprawne zapisy różnych  znaków
       towarowych, które są niekiedy zapisywane niepoprawnie:

              DG/UX
              HP-UX
              UNIX
              UnixWare

   NULL, NUL, wskaźnik null i bajt null
       A wskaźnik null jest wskaźnikiem wskazującym na nic i pojawia się zwykle jako stała NULL. NUL jest bajtem
       null, bajtem o wartości 0, reprezentowanym w C jako stałą znakowa '\0'.

       Preferowanym terminem na wskaźnik jest "wskaźnik null" lub "NULL"; proszę unikać terminu "wskaźnik NULL".

       Preferowanym terminem w kontekście bajtów jest "bajt null". Proszę unikać terminu "NUL", ponieważ jest on
       łatwy  do  pomylenia  z   "NULL".  Proszę starać się nie używać również "bajt zerowy" i "znak null". Bajt
       który przerywa łańcuch C powinien być opisywany jako "przerywający bajt null"; łańcuchy te  można  nazwać
       "null-terminated", lecz proszę unikać terminu "NUL-terminated".

   Odnośniki
       Odnośniki  tworzy  się  parą makr .UR/.UE (zob. groff_man(7)). W ten sposób tworzy się poprawne odnośniki
       których można użyć w przeglądarce internetowej przy renderowaniu strony przez np.:

           BROWSER=firefox man -H nazwa-strony

   Używanie e.g., i.e., etc., a.k.a. i podobnych
       Ogólnie rzecz biorąc powinno się unikać skrótów takich jak "e.g.", "i.e.",  "etc.",  "cf.",  "a.k.a."  na
       rzecz pełnego zapisu ("for example", "that is", "and so on", "compare to", "also known as").

       Jedynym miejscem gdzie skróty są dopuszczone to krótkie wtrącenia (np. takie jak to).

       Zawsze  należy  zapisywać  te  skróty  z  kropką.  Dodatkowo  "e.g." i "i.e."  powinny zawsze kończyć się
       przecinkiem.

   Pauza "em"
       Sposobem zapisu pauzy "em" — znaku który pojawia się na obu końcach tego wtrącenia — w *roff  jest  macro
       "\[em]".  Na terminalu ASCII pauza "em" jest zwykle renderowana jako dwa dywizy, lecz w innych sytuacjach
       pokazuje się jako długa pauza. Pauza "em" w języku angielskim powinna być zapisywana bez otaczających  ją
       spacji.

   Zapis z dywizem przydawek złożonych
       Terminy złożone powinny być zapisywane z dywizem, gdy są używane w formie przydawki. Przykłady:

              32-bit value
              command-line argument
              floating-point number
              run-time check
              user-space function
              wide-character string

   Zapis z dywizem przedrostków multi, non, pre, re, sub itd.
       Ogólną  tendencją  we  współczesnym  angielskim  jest  nie  stosowanie zapisu po przedrostkach takich jak
       "multi", "non", "pre", "re", "sub" itd. Strony podręcznika powinny z reguły stosować się  do  tej  zasady
       tam,  gdzie przedrostki są używane w naturalnych dla angielskiego konstrukcjach z prostymi przedrostkami.
       Poniższa lista daje pogląd na preferowane formy:

              interprocess
              multithreaded
              multiprocess
              nonblocking
              nondefault
              nonempty
              noninteractive
              nonnegative
              nonportable
              nonzero
              preallocated
              precreate
              prerecorded
              reestablished
              reinitialize
              rearm
              reread
              subcomponent
              subdirectory
              subsystem

       Dywizy powinny być zachowane w przedrostkach używanych w niestandardowych  dla  angielskiego  słowach,  w
       znakach towarowych, rzeczownikach tego wymagających, akronimach lub zwrotach złożonych. Przykłady:

              non-ASCII
              non-English
              non-NULL
              non-real-time

       Proszę  zauważyć,  że "re-create" i "recreate" to dwa odrębne czasowniki, przy czym prawdopodobnie chcemy
       wykorzystać ten pierwszy.

   Tworzenie optymalnych glifów
       Gdy wymagany jest prawdziwy znak minus  (np.  w  przypadku  liczb  takich  jak  -1,  w  przypadku  strony
       podręcznika  zawierającej  odniesienia  do  innych  stron takie jak utf-8(7) lub przy zapisywaniu opcji z
       początkowym dywizem, takich jak ls -l), proszę używać następującej postaci w źródłach stron podręcznika:

           \-

       Zalecenie to dotyczy też przykładów kodu.

       Użycie prawdziwego znaku minusa ma na celu:

       •  Lepsze renderowanie w sytuacjach innych niż terminal ASCII, w szczególności w  PDF  i  na  terminalach
          Unicode/UTF-8.

       •  Generowanie  glifów,  które  po skopiowaniu z wyrenderowanych stron utworzą prawdziwy znak minusa przy
          wklejeniu na terminal.

       Aby utworzyć znak pojedynczego prostego cudzysłowu który wyświetla się poprawnie w stronach ASCII,  UTF-8
       i PDF proszę używać "\[aq]" ("cytowania apostrofu") np.

           \[aq]C\[aq]

       gdzie  C jest cytowanym znakiem. Zalecenie do tyczy się również stałych znakowych używanych w przykładach
       kodu.

       Tam, gdzie wymagany jest prawidłowy znak karety (^) renderujący się poprawnie w  terminalu  i  w  PDF-ie,
       proszę  użyć  "\[ha]".  Jest  to  szczególnie  konieczne  w  przykładach  kodu,  aby  uzyskać  prawidłowe
       renderowanie karety w formacie PDF.

       Surowy znak "~" daje  kiepskie  renderowanie  w  PDF-ie.  Zamiast  tego  należy  użyć  "\[ti]".  Jest  to
       szczególnie konieczne w przykładach kodu, aby uzyskać prawidłowe renderowanie w formacie PDF.

   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ładowe programy powinny być krótkie (dobry przykład często można zademonstrować w mniej  niż  100
          wierszy  kodu),  choć  w  niektórych przypadkach do prawidłowego zilustrowania użycia API konieczne są
          dłuższe programy.

       •  Zalecany jest kod ekspresywny.

       •  Tam gdzie to przydatne, należy stosować  komentarze.  Całe  zdania  w  komentarzach  zamieszczanych  w
          oddzielnych  wierszach  należy zakończyć kropką. Kropki należy zwykle unikać w komentarzach wtrąconych
          (stosowanych w tym samym wierszu co kod); są one zresztą zwykle krótkimi równoważnikami, a nie pełnymi
          zdaniami.

       •  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!). Można użyć poniższego
          polecenia do sformatowania swojego kodu źródłowego do stylu bliskiego pożądanemu:

              indent -npro -kr -i4 -ts4 -sob -l72 -ss -nut -psl prog.c

       •  W celu zachowania spójności, wszystkie przykładowe programy powinny się kończyć jednym z poniższych:

              exit(EXIT_SUCCESS);
              exit(EXIT_FAILURE);

          Proszę unikać poniższych form w celu zakończenia programu:

              exit(0);
              exit(1);
              return n;

       •  Jeśli przed kodem źródłowym znajduje się wyczerpujące wyjaśnienie, kod źródłowy powinien być oznaczony
          podrozdziałem Kod źródłowy programu, jak w przykładzie:

              .SS Kod źródłowy programu

          Zawsze należy go zastosować, jeśli wyjaśnienie zawiera log z sesji powłoki.

       Włączając sesję powłoki pokazującą użycie programu lub innej właściwości systemu:

       •  Należy umieścić log z sesji powyżej kodu źródłowego.

       •  Należy wciąć log z sesji czterema spacjami.

       •  Należy  używać czcionki pogrubionej dla tekstu wprowadzanego przez użytkownika, tak aby odróżnić go od
          tekstu produkowanego przez system.

       Przykłady wyglądu przykładowych programów można znaleźć w wait(2) i pipe(2).

PRZYKŁADY

       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), attributes(7), groff(7), groff_man(7), man(7), mdoc(7)

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>,
       Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje  o  warunkach  licencji  można  uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ lub
       nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej  ⟨manpages-pl-
       list@lists.sourceforge.net⟩.