groff est fourni avec au moins 3 préprocesseurs,
tbl, eqn et pic (certains
systèmes les nomment gtbl, geqn et
gpic). Ils sont destinés à traduire leurs macros
et leurs données en code source troff standard.
tbl est un préprocesseur de tableaux,
eqn en est un d'équation et de mathématiques et
pic gère les images. Consultez leurs pages de
manuel pour découvrir les fonctionalités qu'ils proposent.
Mais autant être clair : n'écrivez pas de pages de manuel qui utilisent des préprocesseurs.
eqn produira généralement un résultat catastrophique
sur des périphériques du genre télétype, qui malheureusement
représentent 99% des visualtions de pages de manuel. Par exemple
XAllocColor.3x contient des formules avec des
exposants. A cause de la nature de ces terminaux, l'exposant
sera sur la même ligne que la base. «N puissance
deux» s'affichera "N2".
Il vaut mieux éviter tbl aussi, car je n'ai jamais vu aucun
xman qui fonctionne avec lui.
xman 3.1.6 utilise la ligne de commande suivante pour
formater les pages de manuel, par exemple signal(7) :
gtbl /usr/man/man7/signal.7 | geqn | gtbl | groff -Tascii -man \
/tmp/xmana01760 2> /dev/null
qui coince sur toutes les sources utilisant gtbl, car
sa sortie est redirigée encore une fois vers gtbl. Le
résultat donne une page de manuel sans votre tableau. Je ne
sais pas si c'est un bogue ou une particularité de
gtbl qui s'étrangle sur sa propre sortie ou si
xman devrait être un peu plus gentil et ne pas
utiliser gtbl deux fois... De toute façon, si vous
voulez un tableau, formatez-le vous-même et mettez-le entre
les lignes .nf et .fi ce qui permettra de ne
pas le formater. Vous ne pourrez pas avoir de gras ou
d'italique par cette méthode mais elle permettra d'avoir votre
tableau dans tous les cas.
Je n'ai jamais vu une page de manuel nécessitant le
préprocesseur pic mais je n'aimerais pas ça. Comme
vous pouvez le voir plus haut, xman ne l'utilise pas
et groff ferait sûrement la danse de Saint-Guy en
voyant les données en entrée.