PolyglotMan(1)

NUME
PolyglotMan, rman - compilează invers paginile de manual din forma formatată într-un număr de formate sursă: ASCII, roff, TkMan, Tk, Sections, HTML, SGML, MIME, LaTeX, LaTeX2e, RTF, POD

REZUMAT
rman [ opțiuni ] [ fișier ]

DESCRIERE
Instrucțiuni actualizate pot fi găsite la http://polyglotman.sourceforge.net/rman.html

PolyglotMan preia paginile de manual de la majoritatea versiunilor populare de UNIX și le transformă în oricare dintre numeroasele formate de sursă de text. PolyglotMan a fost cunoscut anterior sub numele de RosettaMan. Numele binarului se numește în continuare rman, pentru scripturile care depind de acest nume; din punct de vedere mnemonic, gândiți-vă doar la „reverse man”. Anterior, PolyglotMan cerea ca paginile să fie formatate de nroff(1) înainte de procesarea sa. Cu versiunea 3.0, acesta preferă sursa [tn]roff și, de obicei, produce rezultate care sunt încă mai bune. Iar procesarea sursei este singura modalitate de a traduce tabelele. Totuși, traducerea în format sursă nu este la fel de matură ca cea formatată, așa că încercați traducerea formatată ca soluție de rezervă.

În analiza sursei [tn]roff, se poate implementa un subset arbitrar de mare de [tn]roff, ceea ce eu nu am făcut și nu voi face, astfel încât rezultatele pot fi diferite. Cu toate acestea, am implementat un subset semnificativ din cele utilizate în paginile de manual, inclusiv tbl (dar nu și eqn), testele if și definițiile generale ale macrocomenzilor, astfel încât, de obicei, rezultatele arată foarte bine. În caz contrar, formatați pagina cu nroff înainte de a o trimite la PolyglotMan. Totuși, dacă PolyglotMan nu recunoaște o macro cheie folosită de o clasă mare de pagini, trimiteți-mi prin e-mail sursa și o pagină formatată în format nroff cu uuencoded și voi vedea ce pot face. Atunci când rulați PolyglotMan cu sursa paginii de manual care include sau redirecționează către alte surse [tn]roff folosind macro-ul .so (source sau inclusion), ar trebui să vă aflați în directorul părinte al paginii, deoarece paginile sunt scrise cu această presupunere. De exemplu, dacă traduceți „/usr/share/man/man1/ls.1”, mai întâi faceți «cd» în „/usr/share/man”.

PolyglotMan acceptă pagini de manual din: SunOS, Sun Solaris, Hewlett-Packard HP-UX, AT&T System V, OSF/1 aka Digital UNIX, DEC Ultrix, SGI IRIX, Linux, FreeBSD, SCO. Procesarea surselor funcționează pentru: SunOS, Sun Solaris, Hewlett-Packard HP-UX, AT&T System V, OSF/1 aka Digital UNIX, DEC Ultrix. Poate produce numai ASCII imprimabil (caractere de control eliminate), numai antet de secțiune, Tk, TkMan, [tn]roff (sursa tradițională a paginii de manual), XML, HTML, MIME, LaTeX, LaTeX2e, RTF, Perl 5 POD. O arhitectură modulară permite adăugarea cu ușurință a unor formate de ieșire suplimentare.

Cea mai recentă versiune a programului PolyglotMan este disponibilă la adresa http://polyglotman.sourceforge.net/ .

OPȚIUNI
Următoarele opțiuni nu trebuie utilizate împreună cu altele și PolyglotMan iese fără a procesa nicio intrare.

-h|--help
    Afișează lista opțiunilor din linia de comandă și iese.

-v|--version
    Afișează numărul versiunii programului și iese.

Ar trebui să specificați mai întâi filtrul, deoarece acesta stabilește o serie de parametri, iar apoi să specificați alte opțiuni.

-f|--filter <ASCII|roff|TkMan|Tk|Sections|HTML|XML|MIME|LaTeX|LaTeX2e|RTF|POD>
    Stabilește filtrul de ieșire. Valoarea implicită este ASCII.

-S|--source
    PolyglotMan încearcă să determine automat dacă intrarea sa este sursă sau formatată; utilizați această opțiune pentru a declara intrarea sursă.

-F|--format|--formatted
    PolyglotMan încearcă să determine automat dacă intrarea sa este sursă sau formatată; utilizați această opțiune pentru a declara intrarea formatată.

-l|--title șir-printf
    În modul HTML, aceasta stabilește <TITLUL> al paginilor de manual, având aceiași parametri ca și -r.

-r|--reference|--manref șir-printf
    În modurile HTML și XML, aceasta stabilește formatul URL prin care se pot prelua alte pagini de manual. Șirul poate utiliza doi parametri furnizați: numele paginii de manual și secțiunea acesteia; (a se vedea secțiunea Exemple). Dacă șirul este nul (ca și cum ar fi definit dintr-un shell prin „-r ””), „-” sau „off”, atunci referințele la paginile de manual nu vor fi HREF-uri, ci doar definite cu caractere italice. Dacă printf-ul dvs. acceptă specificatorul de poziții XPG3, acest lucru poate fi destul de flexibil.

-V|--volumes <listă separată-prin-:>
    Stabilește lista de volume valide care trebuie verificate atunci când se caută referințe încrucișate la alte pagini de manual. Valoarea implicită este 1:2:3:4:5:6:7:8:9:o:l:n:p (numele volumelor pot avea mai multe caractere). Dacă un șir de caractere care nu conține spații în alb din pagină este urmat imediat de o paranteză rotundă stânga, apoi de unul dintre volumele valide și se termină cu alte caractere opționale și apoi cu o paranteză rotundă dreapta - atunci acel șir este raportat ca o referință la o altă pagină de manual. Dacă acest șir „-V” începe cu un semn egal, atunci nu sunt permise caractere opționale între potrivirea cu lista de volume valide și paranteza rotundă dreapta; (această opțiune este necesară pentru SCO UNIX).

Următoarele opțiuni se aplică numai atunci când se introduc pagini formatate. Ele nu se aplică sau sunt întotdeauna tratate corect cu sursa.

-b|--subsections
    Încearcă să recunoască titlurile subsecțiunilor în plus față de titlurile secțiunilor. Acest lucru poate cauza probleme pe unele versiuni UNIX.

-K|--nobreak
    Indică că paginile manuale nu au salturi de pagină, deci nu căutați subsoluri și anteturi în jurul lor; (macrocomenzile «nroff -man» mai vechi pun întotdeauna salturi de pagină, dar în ultima vreme unii furnizori și-au dat seama că imprimările se fac prin troff(1), în timp ce «nroff -man» este folosit pentru a formata paginile pentru citirea pe ecran, și astfel au eliminat salturile de pagină). De obicei, PolyglotMan face acest lucru corect chiar și fără acest indicator.

-k|--keep
    Păstrează anteturile și subsolurile, sub forma unui raport canonic la sfârșitul paginii. „changeleft” Mută barele de schimbare, cum ar fi cele care se găsesc în paginile de manual Tcl/Tk, în stânga. --> notaggressive Dezactivează analiza agresivă a paginilor de manual. „aggressive” (analiza agresivă a paginilor de manual), care este activată în mod implicit, analizează paginile eludează anteturile și subsolurile, identifică secțiunile și multe altele. -->

-n|--name nume
    Stabilește numele paginii de manual (utilizat în format roff). Dacă numele fișierului este dat sub forma „nume . secțiune ”, numele și secțiunea sunt determinate automat. Dacă pagina este analizată din sursa [tn]roff și are o linie .TH, aceste informații sunt extrase din acea linie.

-p|--paragraph
    Comută la modul paragraf. Filtrul determină dacă liniile trebuie să fie întrerupte, așa cum au fost întrerupte de nroff, sau dacă liniile trebuie să fie grupate în paragrafe. În principal pentru uz intern.

-s|section #
    Stabilește numărul de volum (aka secțiune) al paginii de manual (utilizat în formatul roff). „tables” Activează analiza agresivă a tabelelor. -->.

-t|--tabstops #
    Pentru acele seturi de macrocomenzi care utilizează tabulatoare în locul spațiilor, acolo unde este posibil, pentru a reduce numărul de caractere utilizate, stabiliți tabulatoare la fiecare # coloane. Valoarea implicită este de 8.

NOTE PRIVIND TIPURILE DE FILTRE

  ROFF
Unele versiuni de UNIX livrează pagina de manual fără sursa [tn]roff, ceea ce face ca imprimanta laser să fie puțin mai mult decât o rotiță alimentată cu laser. Acest filtru încearcă să intuiască directivele [tn]roff originale, care pot fi apoi recompilate de [tn]roff.

  TkMan
TkMan(1), un navigator de pagini de manual hipertext, utilizează PolyglotMan pentru a afișa paginile de manual fără antetele și subsolurile (de obicei) inutile de pe fiecare pagină. De asemenea, colectează titlurile secțiunilor și (opțional) ale subsecțiunilor pentru acces direct dintr-un meniu derulant. TkMan și Tcl/Tk, setul de instrumente în care este scris, sunt disponibile prin ftp anonim la adresa ftp://ftp.smli.com/pub/tcl/ .

  Tk
Această opțiune produce textul într-o serie de liste Tcl constând din perechi text-etichete, unde numele etichetelor corespund aproximativ cu HTML. Această ieșire poate fi inserată într-un widget (control) de text Tk prin efectuarea unui eval <textwidget> insert end <text> . Acest format ar trebui să fie relativ ușor de analizat de alte programe care doresc atât textul, cât și etichetele. A se vedea, de asemenea, ASCII.

  ASCII
Atunci când sunt imprimate pe o imprimantă de linie, paginile de manual încearcă să producă efecte speciale de text prin suprapunerea caracterelor cu ele însele (pentru a produce caractere îngroșate) și sublinieri (subliniere). Alte programe de prelucrare a textului, cum ar fi editorii de text, căutătorii și indexatorii, trebuie să contracareze acest lucru. Filtrul ASCII elimină această formatare. Trecerea ieșirii nroff prin col -b elimină, de asemenea, această formatare, dar lasă în urmă anteturi și subsoluri de pagină inestetice. A se vedea, de asemenea, Tk.

  Sections
Extrage titlurile secțiunilor și (opțional) ale subsecțiunilor. Acest lucru ar putea fi util pentru un alt program care procesează pagini de manual.

  HTML
Cu o simplă extensie la un server HTTP pentru Mosaic(1) sau un alt browser World Wide Web, PolyglotMan poate produce HTML de înaltă calitate din mers. Câteva astfel de extensii și indicatoare către alte câteva sunt incluse în directorul contrib al PolyglotMan .

  XML
Acest lucru se apropie de Docbook DTD, dar sper că cineva cu un interes real în acest sens va lustrui etichetele generate. Încercați să vedeți cât de apropiate sunt acum etichetele.

  MIME
MIME (Multipurpose Internet Mail Extensions), așa cum este definit de RFC 1563, bun pentru a fi folosit de către utilizatorii de e-mail care cunosc MIME sau ca documente îmbogățite cu Emacs (>=19.29).

  LaTeX și LaTeX2e
De ce nu?

  RTF
Utilizați ieșirea pe Mac sau NeXT sau orice altceva. Poate că ar trebui să luați pagini de manual aleatorii și să le integrați mai bine în sistemul de documentație NeXT. Poate că NeXT are propriile macros de pagini de manual care să facă acest lucru.

  PostScript și FrameMaker
Pentru a produce PostScript, utilizați groff sau psroff . Pentru a produce FrameMaker MIF, utilizați filtrul încorporat în FrameMaker. În ambele cazuri, aveți nevoie de sursa [tn]roff , așa că, dacă aveți doar o versiune formatată a paginii de manual, utilizați mai întâi filtrul roff al PolyglotMan .

EXEMPLE
Pentru a converti pagina de manual formatată numită ls.1 înapoi în forma sursă [tn]roff:

rman -f roff /usr/local/man/cat1/ls.1 > /usr/local/man/man1/ls.1

Paginile de manual lungi sunt adesea comprimate pentru a economisi spațiu (comprimarea este deosebit de eficientă în cazul paginilor de manual formatate, deoarece multe dintre caractere sunt spații). Deoarece este o pagină de manual lungă, probabil că are subsecțiuni, pe care încercăm să le separăm (unele seturi de macro nu disting subsecțiunile suficient de bine pentru ca PolyglotMan să le detecteze). Să convertim acest lucru în format LaTeX:

pcat /usr/catman/a_man/cat1/automount.z | rman -b -n automount -s 1 -f latex > automount.man

Alternativ, man 1 automount | rman -b -n automount -s 1 -f latex > automount.man

Pentru utilizatorii de HTML/Mosaic, PolyglotMan poate, fără modificarea codului sursă, să producă legături HTML care să indice către alte pagini de manual HTML, fie pre-generate, fie generate din mers. Să presupunem mai întâi versiuni HTML pre-generate ale paginilor de manual stocate în /usr/share/man/html . Generați-le pe acestea una câte una cu următoarea formulare:
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

Dacă v-ați extins clientul HTML pentru a genera HTML din mers, ar trebui să folosiți ceva precum:
rman -f html -r 'http:~/bin/man2html?%s:%s' /usr/share/man/cat1/ls.1
atunci când se generează HTML.

ERORI/INCOMPATIBILITĂȚI
PolyglotMan nu este perfect în toate cazurile, dar de obicei face o treabă bună și, în orice caz, reduce problema convertirii paginilor de manual la editarea ușoară.

Tabelele din paginile formatate, în special cele din H-P, nu sunt tratate foarte bine. Asigurați-vă că treceți sursa pentru ca pagina să recunoască tabelele.

Paginatorul de manual woman(1) aplică propria sa idee de formatare pentru paginile de manual, ceea ce poate crea confuzie în PolyglotMan . Ocoliți woman prin trecerea textului format al paginii de manual direct în PolyglotMan .

Formatul de ieșire [tn]roff utilizează fB pentru a activa boldface. Dacă setul dvs. de macrocomenzi necesită .B, va trebui să postprocesați ieșirea PolyglotMan .

CONSULTAȚI ȘI
tkman(1) , xman(1) , man(1) , man(7) or man(5) depending on your flavor of UNIX

AUTOR
PolyglotMan
de Thomas A. Phelps ( phelps@ACM.org )
dezvoltat la
University of California, Berkeley
Computer Science Division

Ultima actualizare a paginii de manual la data de $Date: 13.07.1998 09:47:28 $

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.