Sé que man -t ls | open -f -a /Applications/Preview.app
produce un pdf de la página de manual del ls
comando.
Pero el pdf producido está en tamaño carta de EE. UU. (21,59 cm x 27,94 cm).
La página de manual de man
dice que la -t
opción se usa internamente /usr/bin/groff -Tps -mandoc -c
.
Entonces, según el groff
hombre, probé esto para obtener el tamaño A4 (21 cm x 29,7 cm) en el pdf (el tamaño A4 se usa ampliamente en Europa):
man -t ls | /usr/bin/groff -Tps -mandoc -c -P-pa4 | open -f -a /Applications/Preview.app
.
Obtengo el tamaño A4 deseado, 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 último comando)?
En este momento, está ejecutando groff dos veces, una como parte de man -t
, y otra sola en el archivo PostScript generado por man
.
Intentar
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 del manual accesibles para el hombre, 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árdelo como manA4
, ejecútelo chmod +x manA4
una vez y luego utilícelo como manA4 ls
.
En caso de que esté trabajando con páginas de manual comprimidas (que macOS no usa de forma predeterminada), debe descomprimirlas 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
Edite /private/etc/man.conf comentando la línea
TROFF /usr/bin/groff -Tps -mandoc -c
luego agrega esta linea
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 .......
fd0
sin ladera
fd0
man.conf
,/usr/local/share/man
está mapeado, lo que puede tener páginas man comprimidas.david anderson
ps2pdf
un comando? Hagoman ps2pdf
y también entrops2pdf
en un aviso y recibo mensajes de error.sin ladera