NOME
man − macro per formattare le pagine di manuale
SINTASSI
groff −Tascii −man file ...
groff −Tps −man file ...
man [sezione] titolo
DESCRIZIONE
Questa pagina illustra il pacchetto di macro groff an.tmac (spesso chiamato pacchetto macro man).
Questo pacchetto di macro dovrebbe essere usato dagli sviluppatori quando scrivono o fanno il port delle pagine di manuale per Linux. È abbastanza compatibile con altre versioni di questi pacchetti di macro, quindi fare il port delle pagine di manuale non dovrebbe essere un grosso problema (un’eccezione è NET-2 BSD, che usa un pacchetto di macro completamente differente chiamato mdoc; si veda mdoc(7)).
Si noti che le pagine di manuale NET-2 BSD, in formato mdoc, possono essere usate con groff semplicemente specificando l’opzione −mdoc invece dell’opzione −man.
Usare l’opzione −mandoc è, comunque, raccomandato, in quanto rileverà automaticamente quale pacchetto macro è in uso.
Per le convenzioni da usare nella scrittura di pagine di manuale per il pacchetto man-pages di Linux, si veda man-pages(7).
Riga del
titolo
Il primo comando in una pagina di manuale (dopo le righe di
commento, cioè le righe che iniziano con
.\") dovrebbe essere
.TH titolo sezione data sorgente manuale
Per i dettagli degli argomenti da fornire al comando TH si veda man-pages(7).
Si noti che le pagine formattate con l’mdoc di BSD iniziano col comando Dd invece che col comando TH.
Sezioni
Le sezioni iniziano con un .SH seguito
dall’intestazione.
L’unica intestazione obbligatoria è NOME, che dovrebbe essere la prima sezione e dovrebbe essere seguita, sulla riga successiva, da una descrizione del programma della lunghezza di una riga:
.SH NOME nome \- descrizione
È molto importante che venga seguito questo formato e che ci sia una barra inversa prima del trattino singolo che segue il nome. Questa sintassi viene usata dal programma makewhatis(8) per creare un database di brevi descrizioni per i comandi whatis(1) e apropos(1) (Si veda lexgrog(1) per ulteriori dettagli sulla sintassi della sezione NOME).
Per un elenco di altre sezioni che potrebbero apparire in una pagina di manuale si veda man-pages(7).
Tipi di
carattere
I comandi per selezionare il tipo di carattere sono:
.B |
Grassetto | ||
.BI |
Grassetto alternato a corsivo (molto utile per le specifiche delle funzioni) | ||
.BR |
Grassetto alternato a tondo (molto utile per fare riferimento ad altre pagine di manuale) | ||
.I |
Corsivo | ||
.IB |
Corsivo alternato a grassetto | ||
.IR |
Corsivo alternato a tondo | ||
.RB |
Tondo alternato a grassetto | ||
.RI |
Tondo alternato a corsivo | ||
.SB |
Maiuscoletto alternato a grassetto | ||
.SM |
Maiuscoletto (utile per gli acronimi) |
Tradizionalmente, ogni comando può avere fino a sei argomenti, ma l’implementazione GNU rimuove questa limitazione (ci si può comunque limitare a sei argomenti per compatibilità). Gli argomenti sono delimitati da spazi. Le virgolette doppie possono essere usate per specificare un argomento che contiene spazi. Tutti gli argomenti verranno stampati uno vicino all’altro senza spazi, così il comando .BR può essere usato per specificare una parola in grassetto seguita da un punto in tondo. Se non ci sono argomenti, il comando si applica alla successiva riga di testo.
Altre macro
e stringhe
Seguono altre macro importanti e stringhe predefinite. A
meno che sia specificato diversamente, ogni macro causa
un’interruzione (la fine dell’attuale riga di
testo). Molte di queste macro impostano o usano il
«rientro dominante»: il suo valore viene
impostato da ognuna delle seguenti macro grazie al parametro
i. Le macro possono omettere la i, nel qual
caso viene usato il rientro dominante attuale. Come
risultato, paragrafi rientrati che si susseguano possono
usare lo stesso rientro senza rispecificarne il valore. Un
paragrafo normale (cioè non rientrato) reimposta il
rientro dominante al suo valore predefinito (mezzo pollice).
A priori, il rientro si misura in quadratini; è
meglio utilizzare quadratini (en) e quadratoni (em) come
unità, perché si adattano automaticamente al
cambiamento di dimensione dei caratteri. Ulteriori
definizioni di macro sono:
Paragrafi normali
.LP |
Lo stesso di .PP (inzia un nuovo paragrafo). | ||
.P |
Lo stesso di .PP (inzia un nuovo paragrafo). | ||
.PP |
Incomincia un nuovo paragrafo e reimposta il rientro dominante. |
Rientro relativo del margine
.RS i |
Inizia un rientro relativo del margine; sposta di i il margine sinistro verso destra (se i è omessa, viene usato il valore del rientro principale). Un nuovo rientro principale viene impostato a mezzo pollice; di conseguenza, tutti i paragrafi seguenti vengono rientrati fino al corrispondente .RE. | ||
.RE |
Termina il rientro relativo del margine e ripristina il valore precedente del rientro dominante. |
Macro per paragrafi rientrati
.HP i |
Inizia il paragrafo con un rientro a bandiera (la prima riga del paragrafo inizia al margine sinistro dei paragrafi normali mentre il resto delle righe del paragrafo è indentato). | ||
.IP x i |
Paragrafo rientrato con un’etichetta opzionale a bandiera. Se l’etichetta x è omessa, l’intero paragrafo seguente è rientrato di i. Se l’etichetta x è presente, viene allineata al margine sinistro prima del paragrafo rientrato seguente (è la stessa cosa di .TP tranne per il fatto che l’etichetta è inclusa nel comando invece di trovarsi sulla riga successiva). Se l’etichetta è troppo lunga, il testo che la segue viene spostato alla riga seguente (e non verrà né perso né impiastricciato). Per gli elenchi puntati, si usi questa macro con \(bu (pallino) o \(em (trattino lungo) come etichetta; per gli elenchi numerati, si usi il numero o la lettera seguiti da un punto come etichetta: ciò semplifica la conversione verso altri formati. | ||
.TP i |
Incomincia il paragrafo con un’etichetta a bandiera: l’etichetta è sulla riga seguente, ma il risultato è lo stesso del comando .IP. |
Macro per
collegamenti ipertestuali
(Caratteristica suportata solo da groff). Per usare
le macro per collegamenti ipertestuali è necessario
caricare il pacchetto macro www.tmac. Usare il
.mso www.tmac richiesto per farlo.
.URL url link trailer
Inserisce un collegamento ipertestuale all’URI (URL) url, con link come testo del collegamento. Il trailer verrà stampato immediatamente dopo. Quando si genera l’HTML, questo dovrebbe essere tradotto nel comando HTML <A HREF="url">link</A>trailer.
Questo «macro», e altre ad essa relative, sono nuove e molti strumenti non sapranno cosa farsene, ma considerando che molti strumenti (troff incluso) ignorano tranquillamente le macro indefinite (o, al peggio, inseriscono il loro testo), si possono inserire senza problemi. | |
Può essere utile definire la propria macro URL nelle pagine di manuale per facilitare coloro che la vedono con un visualizzatore roff piuttosto che con groff. In questo modo URL, testo del collegamento, e testo collegato (se c’è) saranno ancora visibili. | |
Ecco un esempio: |
.de URL
\\$2 \(laURL: \\$1 \(ra\\$3
..
.if \n[.g] .mso www.tmac
.TH ...
(di seguito nella pagina)
Questo software viene dal
.URL "http://www.gnu.org/" "Progetto
GNU" " della"
.URL "http://www.fsf.org/" "Free Software
Foundation" .
Nell’esempio qui sopra, se è stato usato groff la definizione della macro URL del pacchetto macro www.tmac sostituirà quella definita localmente. |
È disponibile un certo numero di altri collegamenti macro. Si veda groff_www(7) per maggiori dettagli.
Macro varie
.DT |
Riporta le tabulazioni al valore di tabulazione predefinito (ogni mezzo pollice); non causa un’interruzione. | ||
.PD d |
Imposta la distanza verticale tra paragrafi a d (se omesso, d=0.4v); non causa un’interruzione. | ||
.SS t |
Sottotitolo t (come .SH, ma usato per una sottosezione in una sezione). |
Stringhe
predefinite
Il pacchetto man ha le seguenti stringhe
predefinite:
\*R |
Simbolo di registrazione: ® |
|||
\*S |
Torna alla dimensione predefinita del carattere |
|||
\*(Tm |
Simbolo del marchio registrato: ™ |
|||
\*(lq |
Doppie virgolette verso sinistra: “ |
|||
\*(rq |
Doppie virgolette verso destra: ” |
Sottoinsieme
sicuro
Sebbene tecnicamente man sia un pacchetto macro
troff, in realtà un grande numero di altri strumenti
che non implementano tutte le capacità di troff
processano file di pagine di manuale. Pertanto è bene
evitare alcune delle capacità più esotiche di
troff quando possibile, per permettere a questi strumenti di
funzionare correttamente. Evitare di usare i vari
preprocessori di troff (se si deve, proseguire e usare
tbl(1), ma provare ad usare i comandi IP e
TP invece delle tabelle a due colonne). Evitare di
usare computazioni; molti altri tool non possono
processarle. Si usino comandi semplici, che siano facili da
tradurre in altri formati. Le seguenti macro troff sono
ritenute sicure (anche se in molti casi verranno ignorate
dai traduttori): \", ., ad,
bp, br, ce, de, ds,
el, ie, if, fi, ft,
hy, ig, in, na, ne,
nf, nh, ps, so, sp,
ti, tr.
Si possono anche usare molte sequenze di escape di troff (queste sequenze iniziano con \). Quando si ha la necessità di includere il carattere backslash come testo normale usare \e. Altre sequenze che si possono usare, dove x o xx sono caratteri qualsiasi e N è un numero qualunque, includono: \’, \’, \-, \., \", \%, \*x, \*(xx, \(xx, \$N, \nx, \n(xx, \fx, e \f(xx. Evitare di usare sequenze di escape per disegni grafici.
Non usare il parametro opzionale per bp (interruzione pagina). Usare solo valori positivi per sp (spazio verticale). Non definire una macro (de) con lo stesso nome di una macro in questo o nel pacchetto macro mdoc con un diverso significato; è facile che queste ridefinizioni vengano ignorate. Ogni rientro positivo (in) deve essere accompagnato da un corrispondente rientro negativo (anche se si dovrebbero usare le macro RS e RE al loro posto). Il test condizionale (if,ie) deve avere solo 't' o 'n' come condizione. Solo le traduzioni (tr) che possono essere ignorate devono essere usate. I cambiamenti del tipo di carattere (ft e la sequenza di escape \f ) devono avere solo i valori 1, 2, 3, 4, R, I, B, P, o CW (il comando ft può anche non avere parametri).
Se si usano potenzialità oltre a queste, si verifichino attentamente i risultati con diversi strumenti. Una volta confermato che la capacità aggiuntiva è sicura mettete a conoscenza il curatore di questo documento del comando o sequenza sicura che deve essere aggiunta a questo elenco.
FILE
/usr/share/groff/[*/]tmac/an.tmac
/usr/man/whatis
NOTE
Certamente includere URL (o URI) completi nello stesso testo; alcuni tool come man2html(1) possono trasformarli automaticamente in collegamenti ipertestuali. Si può anche usare la nuova macro URL per identificare collegamenti a informazioni correlate. Se si includono URL usare l’URL completo (es., http://www.kernelnotes.org">http://www.kernelnotes.org) per assicurarsi che gli strumenti possano trovare automaticamente gli URL.
Gli strumenti che elaborano questi file devono aprire il file ed esaminare il primo carattere che non sia uno spazio. Un punto (.) o virgoletta singola (’) all’inizio di una riga indicano un file basato su troff (come man o mdoc). Una parentesi angolare sinistra (<) indica un file basato su SGML/XML (come HTML o Docbook). Qualsiasi altra cosa suggerisce semplice testo ASCII (per esempio un risultato "catman").
Molte pagine di manuale cominciano con ´\" seguito da uno spazio e un elenco di caratteri, che indicano come la pagina deve essere preprocessata. Per ragioni di portabilità verso traduttori non troff si raccomanda di evitare cose diverse da tbl(1), e Linux lo può rilevare automaticamente. Tuttavia si possono includere queste informazioni in modo che le proprie pagine di manuale possano essere gestite da altri (meno capaci) sistemi. Queste sono le definizioni dei preprocessori invocate da questi caratteri:
e |
||||
g |
grap(1) | |||
p |
pic(1) | |||
r |
refer(1) | |||
t |
tbl(1) | |||
v |
vgrind(1) |
BUG
La maggior parte delle macro descrivono la formattazione (per esempio, tipo di carattere e spaziatura) invece di marcare il contenuto semantico (per esempio, questo testo è un riferimento ad un’altra pagina), rispetto a formati come mdoc e DocBook (anche HTML ha più marcatori semantici). Questa situazione rende difficile variare il formato di man per media differenti, per rendere la formattazione coerente per un dato media, e inserire automaticamente riferimenti incrociati. Bloccandosi sul sottoinsieme sicure descritto prima, dovrebbe essere più facile automatizzare la transazione ad un diverso formato di riferimento delle pagine in futuro.
La macro di Sun TX non è implementata.
VEDERE ANCHE
apropos(1), groff(1), lexgrog(1), man(1), man2html(1), whatis(1), groff_man(7), groff_www(7), man-pages(7), mdoc(7), mdoc.samples(7)
COLOPHON
Questa pagina fa parte del rilascio 3.73 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l’ultima versione di questa pagina si trova su http://www.kernel.org/doc/man−pages/.
La versione
italiana fa parte del pacchetto man-pages-it v. 3.73,
a cura di: ILDP "Italian Linux Documentation
Project" http://www.pluto.it/ildp
Per la traduzione in italiano si può fare riferimento
a http://www.pluto.it/ildp/collaborare/
Segnalare eventuali errori di traduzione a
ildp [AT] pluto.it