
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 -t
es equivalente a:
groff -Tps -mandoc -c
Respuesta1
groff
es 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 enscript
o a2ps
(ascii-a-postscript).
Respuesta2
Puede utilizar el .nf
comando 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 .l
en-mk.