Groff ignora los saltos de línea de mi caparazón

Groff ignora los saltos de línea de mi caparazón

He estado usando groff para crear archivos ps para imprimir con el indicador -man. Si quiero convertir cualquier otra cosa, como un archivo de encabezado o simplemente la salida de ls -l u otro programa, los saltos de línea se ignoran, lo que produce un desastre. ¿Cómo puedo hacer que groff vea y respete los saltos de línea que se utilizan en el shell?

Esto produce un resultado pero las pestañas están en mal estado:

groff -mom hexd.c > out.ps

Pero esto interfiere tanto con las pestañas como con los saltos de línea:

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

Lo que realmente me gustaría es algo como esto:

man -t gdb | open -f -a preview

Lo que abre una versión post script perfecta de la página de manual en vista previa en Max OS. POR CIERTO. man -tes equivalente a:

groff  -Tps  -mandoc -c

Respuesta1

groffes un lenguaje de composición tipográfica y espera entradas en su idioma, no en texto sin formato. Quizás estés buscando algo como enscripto a2ps(ascii-a-postscript).

Respuesta2

Puede utilizar el .nfcomando troff de bajo nivel para "sin relleno".

P.ej

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

Los paquetes de macros también tienen sus propios comandos para listados de códigos, como .len-mk.

información relacionada