Provided by: manpages-pl_0.7-2_all 

NAZWA
PolyglotMan, rman - odwrotna kompilacja stron podręcznika z postaci sformatowanej do różnych formatów
źródłowych: ASCII, roff, TkMan, Tk, Sections, HTML, SGML, MIME, LaTeX, LaTeX2e, RTF, POD.
SKŁADNIA
rman [ opcje ] [ plik ]
OPIS
Najbardziej aktualną dokumentację można znaleźć pod adresem http://polyglotman.sourceforge.net/rman.html
PolyglotMan przyjmuje strony man podręcznika systemowego z większości popularnych odmian Uniksa i
przekształca je na jeden z wielu formatów tekstu źródłowego. PolyglotMan był wcześniej znany pod nazwą
RosettaMan. Program wykonywalny jest wciąż nazywa się rman z powodu skryptów, które mogą zależeć od tej
nazwy; można przyjąć, że nazwa ta oznacza "reverse man" ("odwrotny man"). Poprzednio PolyglotMan wymagał,
by strony przed przetwarzaniem zostały sformatowane przez nroff. Od wersji 3.0 woli źródła [tn]roff i
zwykle daje wyniki, które są jeszcze lepsze. Przetwarzanie źródłowej postaci stron podręcznika jest
jedyną metodą tłumaczenia tabel. Jednakże przetwarzanie źródeł nie jest tak dojrzałe jak przetwarzanie
stron sformatowanych, dlatego pomocniczo zawsze można spróbować przetwarzania stron sformatowanych.
W analizie źródeł [tn]roff powinno się zaimplementować dowolnie duży podzbiór [tn]roff, czego nie
zrobiłem i nie zrobię, zatem wyniki mogą być czasem niepoprawne. Zaimplementowałem jednak znaczący
podzbiór poleceń [tr]roff używanych w stronach man, łącznie z tbl (ale nie eqn), testami if oraz
definicjami makr ogólnych. Wyniki zatem zwykle wyglądają doskonale. Jeśli nie, należy sformatować stronę
przy pomocy nroff przed przesłaniem jej do PolyglotMan. Jeśli jednak PolyglotMan nie rozpoznaje ważnego
makra używanego przez liczną klasę stron man, to proszę o wysłanie mi e-maila ze źródłem i stroną
sformatowaną nroff-em, a zobaczę, co da się zrobić. Uruchamiając PolyglotMan ze źródłem strony
zawierającym makro .so (włączanie innych stron albo przekierowanie do innego źródła [tn]roff), powinno
się być w katalogu nadrzędnym danej strony, gdyż strony są zapisywane przy takim właśnie założeniu. Na
przykład przed przekształceniem /usr/share/man/man1/ls.1 należy zmienić katalog na /usr/share/man.
PolyglotMan przyjmuje strony podręczników z systemów: SunOS, Sun Solaris, Hewlett-Packard HP-UX, AT&T
System V, OSF/1 aka Digital UNIX, DEC Ultrix, SGI IRIX, Linux, FreeBSD, SCO. Przetwarzanie postaci
źródłowej działa dla: SunOS, Sun Solaris, Hewlett-Packard HP-UX, AT&T System V, OSF/1 aka Digital UNIX,
DEC Ultrix. Potrafi tworzyć strony w formatach: "tylko drukowalne ASCII" (usunięte znaki sterujące),
"tylko nagłówki sekcji", Tk, TkMan, [tn]roff (tradycyjne źródła stron man), XML, HTML, MIME, LaTeX,
LaTeX2e, RTF, Perl 5 POD. Modularna budowa umożliwia łatwe dodawanie dodatkowych formatów wyjściowych.
Najnowsza wersja PolyglotMan dostępna jest zawsze pod adresem http://polyglotman.sourceforge.net/.
OPCJE
Poniższe dwie opcje nie powinny być używane z innymi. Powodują zakończenie pracy przez PolyglotMan bez
przetwarzania wejścia.
-h|--help Wyświetla listę opcji wiersza poleceń i kończy pracę.
-v|--version Wyświetla numer wersji i kończy pracę.
Filtr powinno się zawsze podawać jako pierwszy parametr, gdyż ustawia on różne inne parametry. Pozostałe
opcje należy podać po nim.
-f|--filter <ASCII|roff|TkMan|Tk|Sections|HTML|XML|MIME|LaTeX|LaTeX2e|RTF|POD>
Ustawia filtr wyjścia. Domyślnie jest to ASCII.
-S|--source PolyglotMan usiłuje samodzielnie określić, czy dane wejściowe są w postaci źródłowej czy w
sformatowanej; opcji tej należy użyć do zadeklarowania wejścia w postaci źródłowej.
-F|--format|--formatted
PolyglotMan usiłuje samoczynnie określić czy dane wejściowe są w postaci źródłowej czy w
sformatowanej; posłuż się tą opcją do zadeklarowania wejścia w postaci sformatowanej.
-l|--title łańcuch-printf
W trybie HTML ustawia tytuł (znacznik <TITLE>) stron man, pobierając parametry takie jak
opcja -r.
-r|--reference|--manref łańcuch-printf
W trybach HTML i XML określa postać URL, przy pomocy której będą pozyskiwane inne strony
podręcznika. Łańcuch może używać dwu podanych parametrów: nazwy strony podręcznika i jej
sekcji (zobacz rozdział "Przykłady"). Jeżeli łańcuch jest pusty (tak jak ustawiony z
powłoki przez "-r ''"), ma wartość "-" lub "off", to odnośniki występujące na stronie
podręcznika nie będą zamieniane na znaczniki HREF, lecz tylko będą zapisywane czcionką
pochyłą (italic). Jeśli printf obsługuje określanie pozycji XPG3, to może to być dość
elastyczne.
-V|--volumes <lista rozdzielana drukropkami>
Ustawia listę dozwolonych wolumenów (sekcji stron podręcznika) sprawdzanych podczas
wyszukiwania powiązań z innymi stronami man. Domyślnie jest to 1:2:3:4:5:6:7:8:9:o:l:n:p
(nazwy części mogą być wieloznakowe). Jeżeli strona podręcznika zawiera tekst składający
się z znaków niebędących spacjami, po których bezpośrednio występują: nawias otwierający,
jedna z nazw z powyżej zdefiniowanych sekcji opcjonalnie kończąca się innymi znakami oraz
nawias zamykający — to taki tekst jest traktowany jako odnośnik do innej strony
podręcznika. Jeżeli w użytej opcji -V łańcuch znaków zaczyna się od znaku równości, to nie
są dozwolone żadne dodatkowe znaki pomiędzy dopasowaną nazwą sekcji a nawiasem
zamykającym. (Opcja ta jest potrzebna dla SCO UNIX).
Poniższe opcje mają zastosowanie tylko wtedy, gdy jako wejście podano strony sformatowane. Nie mają
zastosowania lub nie zawsze są obsługiwane poprawnie dla stron w postaci źródłowej.
-b|--subsections
Oprócz tytułów rozdziałów próbuje rozpoznawać tytuły podrozdziałów. W niektórych odmianach
może to powodować kłopoty.
-K|--nobreak Określa, że strony podręcznika nie mają łamania stron, zatem nie szuka stopek i nagłówków.
(Starsze makra "nroff -man" zawsze wstawiały łamanie strony, ale ostatnio niektórzy
dostawcy zauważyli, że wydruki robione są przez troff(1), podczas gdy "nroff -man" służy
do formatowania stron do czytania na ekranie, więc usunęli łamanie stron). PolyglotMan
zwykle obsługuje tę sytuację poprawnie, nawet bez tego znacznika.
-k|--keep Pozostawia nagłówki i stopki w postaci klasycznego raportu na końcu strony.
-n|--name nazwa
Ustawia nazwę strony man (używane w formacie roff). Jeśli nazwę pliku podano w postaci
"nazwa.sekcja", to nazwa i sekcja są określane automatycznie. Jeśli strona jest
analizowana ze źródła [tn]roff i zawiera wiersz .TH, to są one wyłuskiwane z tego wiersza.
-p|--paragraph Przełącznik trybu akapitów. Zastosowany filtr określa, czy wiersze powinny być łamane, tak
jak zrobiłby to nroff, czy też płynąć razem tworząc akapity. Głównie do użytku
wewnętrznego.
-s|section # Ustawia numer wolumenu (części, sekcji) strony podręcznika (używane w formacie roff).
-t|--tabstops #
Niektóre zestawy makr używają, gdzie to możliwe, tabulatorów zamiast spacji w celu
zmniejszenia liczby używanych znaków. Ta opcja ustawia pozycje tabulacji co # kolumn.
Domyślnie co 8.
UWAGI DOTYCZĄCE TYPÓW FILTRÓW
ROFF
W niektórych odmianach Uniksa strony podręczników dostarczane są bez źródeł [tn]roff, czyniąc z Twojej
drukarki laserowej niewiele więcej niż laserowo napędzaną drukarkę rozetkową. Ten filtr próbuje odtworzyć
pierwotne dyrektywy [tn]roff, które następnie mogą być skompilowane przez [tn]roff.
TkMan
TkMan(1), hipertekstowa przeglądarka stron podręcznika, posługuje się programem PolyglotMan do
pokazywania stron podręcznika bez — zwykle zbędnych — nagłówków i stopek na każdej stronie. Zbiera
również nagłówki rozdziałów (i opcjonalnie podrozdziałów), by z rozwijalnego menu zapewnić bezpośredni
dostęp do odpowiednich części strony. TkMan oraz Tcl/Tk, narzędzie, w którym jest on napisany, dostępne
są przez anonimowe ftp z ftp://ftp.smli.com/pub/tcl/.
Tk
Opcja ta generuje tekst w postaci serii list Tcl składających się z par "tekst-znaczniki", gdzie nazwy
znaczników z grubsza odpowiadają tym używanym w HTML-u. Wynik taki może być wstawiony do tekstowego
widgetu Tk przez wykonanie eval <textwidget> insert end <text>. Format ten powinien być stosunkowo łatwy
do analizowania przez inne programy, które potrzebują zarówno tekstu, jak i znaczników. Zobacz też ASCII.
ASCII
Przy wydruku na drukarce wierszowej strony man usiłują uzyskać specjalne efekty tekstu przez nadpisywanie
znaków ponownie tymi samymi znakami (by otrzymać pogrubienie) czy znakami podkreślenia "_" (by otrzymać
pokreślenie znaku). Inne oprogramowanie przetwarzające teksty, jak edytory, wyszukiwarki czy programy
indeksujące musi temu przeciwdziałać. Filtr ASCII pozbywa się dodatków z opisanego sposobu formatowania.
Przepuszczenie przez potok wyjścia z nroff do col -b również je usuwa. Zobacz także filtr Tk.
Sections
Zrzuca tytuły rozdziałów i (opcjonalnie) podrozdziałów stron podręcznika. Może być przydatne dla innego
programu przetwarzającego strony man.
HTML
Przy prostym rozszerzeniu serwera HTTP dla Mosaic(1) czy innej przeglądarki WWW, PolyglotMan może w locie
tworzyć wysokiej jakości kod HTML. Kilka takich rozszerzeń wraz z odnośnikami do innych rozszerzeń
dołączonych jest w katalogu contrib w źródłach programu PolyglotMan.
XML
Ten filtr jest bliski obsługiwania Docbook DTD, ale mam nadzieję, że ktoś faktycznie zainteresowany tą
opcją wygładzi tworzone znaczniki. Spróbuj, a zobaczysz, jak blisko są one obecnie.
MIME
MIME (Multipurpose Internet Mail Extensions), jak zdefiniowano w RFC 1563, odpowiednie do użycia przez
programy pocztowe obsługujące MIME albo jako wzbogacone dokumenty Emacsa (>=19.26).
LaTeX i LaTeX2e
Czemu nie?
RTF
Używa wyniku na Mac-u, NeXT lub czymkolwiek. Może wziąć losowe strony man i lepiej połączyć je z systemem
dokumentacji NeXTa. Może NeXT ma swoje własne makra stron man, które to robią.
PostScript i FrameMaker
W celu uzyskania PostScriptu należy użyć groff lub psroff. By utworzyć MIF dla FrameMakera, trzeba
posłużyć się jego wbudowanym filtrem. W obu przypadkach potrzebne będą źródła [tn]roff, więc jeśli
dysponuje się wyłącznie sformatowaną wersją strony podręcznika, należy użyć najpierw filtru roff z
PolyglotMan.
PRZYKŁADY
Konwersja sformatowanej strony podręcznika man o nazwie ls.1 na powrót do postaci źródłowej [tn]roff:
rman -f roff /usr/local/man/cat1/ls.1 > /usr/local/man/man1/ls.1
W celu zaoszczędzenia miejsca długie strony man są często kompresowane (kompresja jest szczególnie
efektywna dla stron sformatowanych, które zawierają wiele spacji. Ponieważ jest to długa strona,
prawdopodobnie zawiera podrozdziały, które próbujemy wydzielić (niektóre zestawy makr nie wyróżniają
podrozdziałów w taki sposób, by PolyglotMan mógł je wykryć). Skonwertujmy to na format LaTeX:
pcat /usr/catman/a_man/cat1/automount.z | rman -b -n automount -s 1 -f latex > automount.man
Albo: man 1 automount | rman -b -n automount -s 1 -f latex > automount.man
Dla użytkowników HTML/Mosaic [czy Netscape] PolyglotMan może, bez zmiany kodu źródłowego, utworzyć
odnośniki HTML do innych stron podręcznika w formacie HTML albo utworzonych wcześniej, albo tworzonych w
locie. Załóżmy najpierw, że wstępnie stworzone wersje HTML strony podręcznika będą znajdować się w
/usr/share/man/html. Utwórzmy je jedna po drugiej w następujący sposób:
rman -f html -r 'http:/usr/share/man/html/%s.%s.html' /usr/share/man/cat1/ls.1 >
/usr/share/man/html/ls.1.html
Jeżeli rozszerzyłeś swego klienta HTML tak, by tworzył kod HTML w locie, to powinieneś posłużyć się czymś
takim:
rman -f html -r 'http:~/bin/man2html?%s:%s' /usr/share/man/cat1/ls.1
podczas generowania HTML-a.
BŁĘDY/NIEZGODNOŚCI
PolyglotMan nie we wszystkich przypadkach jest doskonały, ale zwykle działa dobrze i redukuje problem
konwertowania stron podręcznika ekranowego do niewielkich poprawek edycyjnych.
Tabele w sformatowanych stronach, szczególnie H-P, nie są obsługiwane najlepiej. Należy się upewnić, że
jako parametr przekazywany jest plik źródłowy strony, co umożliwi rozpoznanie tabel.
Przeglądarka stron man o nazwie woman(1) wykorzystuje swoją własną koncepcję formatowania stron
podręcznika systemowego. Rozwiązanie to może być mylące dla PolyglotMan. Można ominąć ten problem,
przesyłając sformatowany tekst strony podręcznika wprost do PolyglotMan.
Format wynikowy [tn]roff posługuje się "\fB" do włączania pogrubienia (bold). Jeżeli Twój zestaw makr
wymaga ".B", to będziesz musiał przetworzyć wynik z PolyglotMan.
ZOBACZ TAKŻE
tkman(1), xman(1), man(1), man(7) lub man(5) w zależności od odmiany Uniksa.
AUTOR
PolyglotMan
Thomas A. Phelps ( phelps@ACM.org )
rozwijane w
University of California, Berkeley
Computer Science Division
Ostatnia aktualizacja tej strony: $Date: 1998/07/13 09:47:28 $
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Wojtek Kotwica (PTM)
<wkotwica@post.pl> i Robert Luberda <robert@debian.org>.
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.2 oryginału.
PolyglotMan(1)