10 votes

Comment produire un pdf au format A4 d'une page de manuel ?

Je sais que man -t ls | open -f -a /Applications/Preview.app produire un pdf de la page de manuel de la ls commandement.

Mais le pdf produit est au format US Letter (21,59 cm x 27,94 cm).

La page de manuel de man dit que -t option utilisée en interne /usr/bin/groff -Tps -mandoc -c .

Ainsi, selon le groff J'ai essayé cela pour obtenir le format A4 (21 cm x 29,7 cm) dans le pdf (le format A4 est largement utilisé en Europe) :

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

J'obtiens le format A4 comme souhaité, mais le formatage est moche (pas de gras, d'italique, de caractères doublés, soulignés)...

Comment avoir le bon formatage (comme dans la première commande) ET la bonne taille (comme dans la dernière commande) ?

8voto

nohillside Points 82672

En ce moment, vous exécutez groff deux fois, une fois dans le cadre de man -t une fois seul sur le fichier PostScript généré par man .

Essayez

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

ou directement

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

Pour que cela fonctionne pour toutes les pages de man accessibles à man, un petit script sera utile.

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

Enregistrez-le sous manA4 , courir chmod +x manA4 une fois, et ensuite l'utiliser comme manA4 ls .


Dans le cas où vous travaillez avec des pages de manuel compressées (ce que MacOS fait pas par défaut), vous devez les décompresser à la volée.

#!/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 Points 167

Editez /private/etc/man.conf en commentant la ligne

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

puis ajoutez cette ligne

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

Maintenant man -t écrira les fichiers ps au format A4.

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X