7 votos

¿Cómo producir un pdf en formato A4 de una página de manual?

Sé que man -t ls | open -f -a /Applications/Preview.app producir un pdf de la página man del ls comando.

Pero el pdf producido está en tamaño US Letter (21,59 cm x 27,94 cm).

La página de manual de man dice que -t opción utilizar internamente /usr/bin/groff -Tps -mandoc -c .

Así, según el groff hombre, he probado esto para obtener el tamaño A4 (21 cm x 29,7 cm) en el pdf (el tamaño A4 es ampliamente utilizado en Europa):

man -t ls | /usr/bin/groff -Tps -mandoc -c -P-pa4 | open -f -a /Applications/Preview.app .

Obtengo el tamaño A4 como se desea, pero el formato es feo (sin negrita, cursiva, caracteres duplicados, subrayados)...

¿Cómo tener el buen formato (como en el primer comando) Y el tamaño correcto (como en el comando posterior)?

8voto

Ahora mismo está ejecutando groff dos veces, una como parte de man -t una vez en el archivo PostScript generado por man .

Prueba con

groff -Tps -mandoc -c -P-pa4 /usr/share/man/man1/ls.1 >out.ps
ps2pdf out.ps man-ls.pdf
open man-ls.pdf

o directamente

groff -Tps -mandoc -c -P-pa4 /usr/share/man/man1/ls.1 | 
    open -f -a /Applications/Preview.app

Para que funcione para todas las páginas man accesibles a man, un pequeño script ayudará.

#!/bin/sh
page=$(man -W $1)
if [ -r "$page" ]; then
    groff -Tps -mandoc -c -P-pa4 "$page" | open -f -a Preview.app
fi

Guárdalo como manA4 , corre chmod +x manA4 una vez, y luego utilizarlo como manA4 ls .


En caso de que esté trabajando con páginas man comprimidas (lo que hace MacOS no utilizar por defecto) hay que descomprimirlos sobre la marcha.

#!/bin/bash
page=$(man -W $1)
if [ -r "$page" ]; then
    if [[ "$page" =~ .*.gz$ ]]; then
        gzcat "$page" | groff -Tps -mandoc -c -P-pa4 | open -f -a Preview.app
    else
        groff -Tps -mandoc -c -P-pa4 "$page" | open -f -a Preview.app
    fi
fi

3voto

Michael Zhou Puntos 167

Edite /private/etc/man.conf comentando la línea

TROFF       /usr/bin/groff -Tps -mandoc -c

a continuación, añada esta línea

TROFF       /usr/bin/groff -Tps -mandoc -c -P-pa4

Ahora man -t escribirá archivos ps en tamaño de papel A4.

man -t ls | open .......

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X