tu as déjà songé à écrire des tutoriels pour maîtriser roff ?
J'y songe oui, mais c'est à la fin de ma todo list. J'ai d'abord des macros et des scripts à publier. Et suite à notre précédente discussion, je me suis décidé à utiliser troff lui-même pour ça, ce qui demande un peu de boulot. Enfin, pour le tutoriel, il m'a fallu trouver et adapter un colorateur syntaxique… Tout ça est long.
comment se passe la cohabitation de heirloom troff avec groff ?
J'ai installé heirloom troff dans /opt, il s'occupe des pages de manuel heirloom, et laisse groff s'occuper des pages de manuel du système. Comme je me sers surtout de heirloom troff pour mes textes, je me suis fait un petit script, h, que j'appelle avant chaque commande heirloom, et qui modifie le path pour l'occasion.
sans surprise il plante sur pas mal de pages de manuel (les mdocs en particulier).
Je n'ai pas essayé, mais voici quelques pistes:
- activer les macros de plus de deux lettres avec l'option -x3 (troff -x3),
- activer la compatibilité avec groff en appelant la macro g (troff -mg),
- utiliser la macro fournie avec groff plutôt que l'historique macro doc (les bsd eux-mêmes utilisent maintenant la macro de groff, qui est du reste sous licence bsd).
- dans le tuyau appelant troff , utiliser les pré-processeurs heirloom, et compléter la commande avec ul et col.
Mais parfois, groff reste meilleur que heirloom troff, en particulier lorsque pic est utilisé.
comment ça se passe niveau police ?
Les polices sont une bonne raison de préférer heirloom troff à groff, car il comprend tous (?) les formats, y compris l'opentype, sans modification. Il faut les mettre dans $TROFFONTS (2 F et un S), et suivre le manuel pour apprendre à les monter:
.\" fp numéro raccourci nom type
.fp12Kmafonte_regularotf\fKtexte écrit avec mafonte\fP
Ça ne dégrade pas trop la sortie "écran" de devoir passer par ps2pdf ?
Je n'ai pas remarqué, mais je n'ai pas forcément l'œil.
J'imagine qu'on ne peut pas avoir d'hyperliens dans les documents avec ce système…
Si, métadonnées, liens internes et liens externes avec heirloom troff (potentiellement aussi avec groff, mais je ne sais pas bien comment):
.\" troff f.tr | dpost | ps2pdf - f.pdf.\" métadonnées:\X'PDFMark: Author Sygne'
\X'PDFMark: Title Tutoriel troff'
\X'PDFMark: Subject Métadonnées et liens'
\X'PDFMark: Keywords troff lien pdf heirloom'
.\" table des matières pdf.\" (à placer au bon endroit dans le document):\X'PDFMark: Bookmark 0 Grand titre'
\X'PDFMark: Bookmark 1 sous titre'
\X'PDFMark: Bookmark 0 Autre grand titre'
\X'PDFMark: Bookmark 1 Autre sous titre'
.\" les couleurs:\X'SetLinkColor: .2 .1 .9 rgb'
\X'SetLinkBorder: .2 .1 .9 rgb'
\X'SetULinkColor: .7 .1 .1 rgb'
\X'SetULinkBorder: .7 .1 .1 rgb'
.\" Ancres et liens\A'ancre1'Ancre 1.
.bp\T'ancre1'Lien vers l'ancre1\T,
\T'ancre2'lien vers l'ancre2\T,
\W'http://example.com'example.com\W.
.bp\A'ancre2'Ancre 2.
C'est un peu fastidieux à écrire, il faut se faire des macros raccourcis.
awk n'est pas vraiment adapté pour faire des commandes […] évaluer et insérer la regex en dur dans le code awk via le shell peut-être bien plus efficace.
En fait, idx est un script shell composé de fonctions en awk. Quand je serai prêt pour la publication, j'en parlerai ici pour avoir des retours sur le code lui-même.
Je suis heureux de voir que troff peut faire des émules!
[^] # Re: Bon, faut arrêter maintenant...
Posté par Sygne (site web personnel) . En réponse au journal Exemple d'interface en ligne de commande. Évalué à 5.
J'y songe oui, mais c'est à la fin de ma todo list. J'ai d'abord des macros et des scripts à publier. Et suite à notre précédente discussion, je me suis décidé à utiliser troff lui-même pour ça, ce qui demande un peu de boulot. Enfin, pour le tutoriel, il m'a fallu trouver et adapter un colorateur syntaxique… Tout ça est long.
J'ai installé heirloom troff dans /opt, il s'occupe des pages de manuel heirloom, et laisse groff s'occuper des pages de manuel du système. Comme je me sers surtout de heirloom troff pour mes textes, je me suis fait un petit script,
h, que j'appelle avant chaque commande heirloom, et qui modifie le path pour l'occasion.Je n'ai pas essayé, mais voici quelques pistes:
- activer les macros de plus de deux lettres avec l'option -x3 (
troff -x3),- activer la compatibilité avec groff en appelant la macro g (
troff -mg),- utiliser la macro fournie avec groff plutôt que l'historique macro doc (les bsd eux-mêmes utilisent maintenant la macro de groff, qui est du reste sous licence bsd).
- dans le tuyau appelant troff , utiliser les pré-processeurs heirloom, et compléter la commande avec ul et col.
Mais parfois, groff reste meilleur que heirloom troff, en particulier lorsque pic est utilisé.
Les polices sont une bonne raison de préférer heirloom troff à groff, car il comprend tous (?) les formats, y compris l'opentype, sans modification. Il faut les mettre dans
$TROFFONTS(2 F et un S), et suivre le manuel pour apprendre à les monter:Je n'ai pas remarqué, mais je n'ai pas forcément l'œil.
Si, métadonnées, liens internes et liens externes avec heirloom troff (potentiellement aussi avec groff, mais je ne sais pas bien comment):
C'est un peu fastidieux à écrire, il faut se faire des macros raccourcis.
En fait,
idxest un script shell composé de fonctions en awk. Quand je serai prêt pour la publication, j'en parlerai ici pour avoir des retours sur le code lui-même.Je suis heureux de voir que troff peut faire des émules!