Groff ignora quebras de linha do meu shell

Groff ignora quebras de linha do meu shell

Tenho usado o groff para criar arquivos ps para impressão com o sinalizador -man. Se eu quiser converter qualquer outra coisa, como um arquivo de cabeçalho ou apenas a saída de ls -l ou outro programa, as quebras de linha serão ignoradas, produzindo uma bagunça. Como posso fazer com que o groff veja e respeite as quebras de linha em uso no shell?

Isso produz uma saída, mas as guias estão confusas:

groff -mom hexd.c > out.ps

Mas isso mexe com guias e quebras de linha:

cat hexd.c | groff -mom > out.ps

O que eu realmente gostaria é algo assim:

man -t gdb | open -f -a preview

O que abre uma versão perfeita de post script da página de manual na visualização no max os. POR FALAR NISSO. man -té equivalente a:

groff  -Tps  -mandoc -c

Responder1

groffé uma linguagem de composição tipográfica e espera entrada em seu idioma, não em texto simples. Você pode estar procurando por algo como enscriptou a2ps(ascii para postscript).

Responder2

Você pode usar o comando troff de baixo nível .nfpara "sem preenchimento".

Por exemplo

$ ls -l | sed '1i\
.nf\
.fam C' | groff > out.ps

Os pacotes de macro também possuem seus próprios comandos para listagens de código, como .lem-mk.

informação relacionada