MAN(7) Manual do Programador do Linux MAN(7)

man - macros de formatação de páginas de manual

groff -Tascii -man arquivo ...
groff -Tps -man arquivo ...

man [seção] título

Esta página descreve o pacote de macros groff tmac.an (frequentemente chamado de pacote de macros man). Este pacote de macros deve ser usado por desenvolvedores ao escrever ou portar páginas man para o Linux. É razoavelmente compatível com outras versões do mesmo pacote de macros, de modo que portar as páginas man não deve ser muito difícil (exceções incluem o NET-2 BSD, que usa um pacote de macros totalmente diferente chamado mdoc; veja mdoc(7).

Observe que as páginas mdoc do NET-2 BSD podem ser usadas com o groff simplesmente especificando a opção -mdoc em vez da opção -man. É recomendável, no entanto, usar a opção -mandoc, que detectará automaticamente o pacote de macros a ser utilizado.

Para convenções que devem ser aplicadas apenas ao escrever páginas man para o pacote man-pages do Linux, veja man-pages(7).

O primeiro comando em uma página man (após linhas de comentários, ou seja, linhas que iniciam com \") deve ser
.TH título seção data origem manual

Para detalhes dos argumentos que devem ser fornecidos ao comando TH, veja man-pages(7).

Observe que as páginas formatadas em mdoc do BSD começam com o comando Dd, e não com TH.

Seções são iniciadas com .SH seguidas pelo nome de cabeçalho.

O único título obrigatório é NAME, que deve ser a primeira seção e ser seguido na próxima linha por uma descrição de uma linha do programa:

.SH NAME
item \- descrição

É extremamente importante que este formato seja seguido, que haja uma barra invertida antes do traço que segue o nome do item. Esta sintaxe é usada pelo programa mandb(8) para criar um banco de dados de descrições breves para os comandos whatis(1) e apropos(1). (Veja lexgrog(1) para mais detalhes sobre a sintaxe da seção NAME.)

Para uma lista de outras seções que podem aparecer em uma página de manual, veja man-pages(7).

Os comandos de seleção de tipografia são:
.B
Negrito
.BI
Negrito alternando com itálico (especialmente útil em especificações de funções)
.BR
Negrito alternando com Roman (especialmente útil para referência a outras páginas de manual)
.I
Itálico
.IB
Itálico alternando com negrito
.IR
Itálico alternando com Roman
.RB
Roman alternando com negrito
.RI
Roman alternando com itálico
.SB
Pequeno alternando com negrito
.SM
Pequeno (usado para acrônimos)

Tradicionalmente, cada comando pode ter até seis argumentos, mas a implementação do GNU remove esta limitação (você ainda pode querer se limitar a 6 argumentos visando a portabilidade). Os argumentos são separados por espaços. Aspas duplas podem ser usadas para especificar um argumento que contenha espaços. Para as macros que produzem tipografias alternativas, os argumentos serão impressos lado a lado sem espaços, de modo que o comando .BR possa ser usado para especificar uma palavra em negrito seguida por pontuação em Roman. Se não houver argumentos, o comando se aplica à linha seguinte do texto.

Seguem abaixo outras macros e strings relevantes. Salvo indicação em contrário, todas as macros introduzem uma quebra (terminam a linha atual do texto). Muitas destas macros definem ou usam a "indentação predominante". O valor "indentação predominante" é definido por qualquer macro que tenha o parâmetro i. As macros podem omitir i, caso em que o valor atual de indentação predominante será usado. Consequentemente, parágrafos indentados sucessivos podem usar a mesma indentação sem que este valor tenha que ser especificado a cada vez. Um parágrafo normal (sem indentação) redefine a indentação predominante para seu valor padrão (0,5 polegada). Por padrão, a indentação dada é medida em "ens". Use "ens" ou "ems" como unidade, porque elas são ajustadas automaticamente quando se muda o tamanho da fonte. As outras macros principais são:

.LP
Assim como .PP (começar novo parágrafo).
.P
Assim como .PP (começar novo parágrafo).
.PP
Começa novo parágrafo e redefine a indentação predominante.

.RS i
Inicia a indentação relativa à margem: move a margem esquerda i para a direita. (Se o i for omitido, é usado o valor da indentação predominante. Uma nova indentação predominante é definida em 0,5 polegada. Consequentemente, todos os parágrafos seguintes serão indentados até o .RE correspondente.
.RE
Termina a indentação de margem relativa e restaura os valores anteriores de indentação predominante.

.HP i
Inicia o parágrafo com uma indentação fixa (a primeira linha do parágrafo está na margem esquerda dos parágrafos normais, e o resto das linhas do parágrafo são indentadas).
.IP x i
Parágrafo indentado com uma tag opcional de fixação. Se a tag x for omitida, o parágrafo seguinte inteiro é indentado com i. Se a tag x for fornecida, ele é colocado na margem esquerda antes do parágrafo indentado seguinte, da mesma forma que .TP, exceto que a macro é incluída com o comando ao invés de na linha seguinte. Se a tag for muito longa, o texto que a segue será movido para a linha seguinte (o texto não será perdido ou distorção). Para listas de itens não numerados, usa esta macro com \(bu (de "bullet" -- bolinha) ou \(em (travessão) como marcador. Para listas numeradas, use o número ou letra seguido por um ponto como tag. Isto simplifica a tradução para outros formatos.
.TP i
Inicia um parágrafo com uma tag pendente. A tag é dada na linha seguinte, mas seus resultados são os mesmos do comando .IP.
.UR url
Insere um link de hipertexto para a URI (URL) url, com todo o texto até a macro .UE seguinte como o texto do link.
.UE [ final ]
Encerra o texto do link da macro .UR anterior, com o texto final opcional (se presente, geralmente um parêntese de fechamento e/ou pontuação de fim de frase) imediatamente após. Para dispositivos de saída diferentes de HTML (por exemplo, man -Tutf8), o texto do link é seguido pelo URL entre colchetes angulares (também conhecidos por sinais de maior e menor); se não houver texto de link, a URL é impressa como seu próprio texto de link, cercado por colchetes angulares. (Os colchetes angulares podem não estar disponíveis em todos os dispositivos de saída.) Para o dispositivo de saída HTML, o texto do link é um hiperlink para a URL; se não houver texto de link, a URL é impressa como seu próprio texto de link.

Estas macros têm suporte desde GNU Troff 1.20 (2009-01-05) e Heirloom Doctools Troff desde 160217 (2016-02-17).

.DT
Redefine tabulações com os valores padrão de tabulação (a cada 0,5 polegada) sem introduzir uma quebra.
.PD d
Define a distância vertical entre parágrafos para d (se omitido, d=0.4v) sem introduzir uma quebra.
.SS t
t de subtítulo (mesmo que .SH, mas usado para subseções dentro de uma seção).

O pacote man tem as seguintes strings predefinidas:
\*R
Marca registrada: ®
\*S
Muda para tamanho padrão da fonte
\*(Tm
Marca comercial: (Tm)
\*(lq
Aspas duplas curvas à esquerda: “
\*(rq
Aspas duplas curvas à direito: ”

Embora o man seja tecnicamente um pacote de macros troff, muitas ferramentas processam páginas man que não implementam todos os recursos do troff. Portanto, é melhor evitar os recursos mais exóticos para que seja possível permitir que tais ferramentas funcionem corretamente. Evite usar os vários preprocessadores troff. Se isto for inevitável, use o tbl(1), mas tente usar os comandos IP e TP ao invés de tabelas de duas colunas. Evite usar cálculos: a maioria dos programas não os entende. Use comandos simples que sejam fáceis de traduzir para outros formatos. As seguintes macros troff são consideradas seguras, embora muitas vezes sejam ignoradas pelos tradutores: \", ., ad, bp, br, ce, de, ds, el, ie, if, fi, ft, hy, ig, in, na, ne, nf, nh, ps, so, sp, ti, tr.

Você também pode usar as sequências de escape troff (que começam com \). Quando você precisar incluir um caractere de barra invertida como um texto normal, use \e. Outras sequências que você pode usar, onde x ou xx são caracteres e N é um dígito, incluem: \', \`, \-, \., \", \%, \*x, \*(xx, \(xx, \$N, \nx, \n(xx, \fx e \f(xx. Evite usar as sequências de escape para desenhar gráficos.

Não use o parâmetro opcional de bp (quebra de página). Use apenas valores positivos para sp (espaço vertical). Não defina uma macro (de) com o mesmo nome de uma macro neste pacote de macros ou no do mdoc com um significado diferente: é provável que estas redefinições sejam ignoradas. Toda indentação positiva (in) deve ter uma indentação negativa correspondente. (É melhor, no entanto, usar as macros RS e RE). O teste condicional (if,ie) deve ter apenas 't' ou 'n' como condição. Apenas as traduções do tipo (tr) que puderem ser ignoradas devem ser usadas. Mudanças de fonte (ft ou a sequência de escape \f) devem usar apenas os valores 1, 2, 3, 4, R, I, B, P ou CW (o comando ft também pode ser usado sem parâmetros).

Se você usar recursos que não sejam estes, confira cuidadosamente os resultados em vários programas. Tendo confirmado que o recurso adicional é seguro, informe ao mantenedor deste documento o comando seguro ou sequência segura que deveria ser adicionado(a) a esta lista.

/usr/share/groff/[*/]tmac/an.tmac
/usr/man/whatis

Procure incluir as URL (ou URIs) no próprio texto, porque algumas ferramentas como man2html(1) podem transformá-las automaticamente em links de hipertexto. Você também pode usar as macros UR e UE para identificar links para informações relacionadas. Se você incluir URLs, coloque o endereço inteiro (por exemplo, http://www.kernel.org) para garantir que as ferramentas encontrem automaticamente as URLs.

Ferramentas processando estes arquivos devem abrir o arquivo e examinar o primeiro caractere que não seja um espaço. Um ponto (.) ou aspa simples (') no começo da linha indica um arquivo tipo troff (como man ou mdoc). Um sinal de menor (<) indica um arquivo tipo SGML/XML (como HTML ou Docbook). Qualquer outra coisa indica texto simples em ASCII (por exemplo, a saída de "catman").

Muitas páginas man começam com '\" seguido de espaço e uma lista de caracteres que indicam como a página deve ser preprocessada. Para portabilidade com tradutores não troff, recomendamos que não use nada além do tbl(1) e o Linux detectará automaticamente. No entanto, você pode desejar incluir esta informação para que sua página man seja manuseada por outros sistemas (com menos recursos). Aqui estão as definições dos preprocessadores indicados por estes caracteres:

e
eqn(1)
g
grap(1)
p
pic(1)
r
refer(1)
t
tbl(1)
v
vgrind(1)

A maioria das macros descreve formatação (por exemplo, tipo da fonte e espaçamento) em vez de marcar o conteúdo semântico (por exemplo, este texto é uma referência a outra página), comparado com formatos como mdoc e DocBook (até o HTML tem mais marcas semânticas). Isto dificulta a diversificação do formato man para outros meios, a formatação consistente para um meio dado e a inserção automática de referências cruzadas. Ao se limitar ao subconjunto seguro acima, deve ser mais fácil automatizar a transição para outro formato de referência de página no futuro.

A macro TX da Sun não está implementada.

apropos(1), groff(1), lexgrog(1), man(1), man2html(1), whatis(1), groff_man(7), groff_www(7), man-pages(7), mdoc(7)

Esta página faz parte da versão 5.11 do projeto Linux man-pages. Uma descrição do projeto, informações sobre relatórios de bugs e a versão mais recente desta página podem ser encontradas em https://www.kernel.org/doc/man-pages/.

A tradução para português brasileiro desta página man foi criada por Paulo César Mendes <drpc@ism.com.br>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>.

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.

22 março 2021 Linux