Une introduction à l’utilisation de groff avec les macros -ms
1. Introduction2. Les principales commandes de groff -ms
2.1. Préparation du titre et du résumé
2.2. Créer des sections et des sous-sections
2.2.1. Sections et sous sections numérotées
2.2.2. Sections sans numérotation
2.2.3. Paragraphes
2.2.4. Table des matières
2.3. Graisser, souligner, encadrer, mettre du texte enitalique
2.3.1. Caractères gras
2.3.2. Italique
2.3.3. Espacement fixe
2.3.4. Encadrement
2.3.5. Soulignement
2.4. Changer la taille du texte
2.5. Exposants et Indices
2.6. Details typographiques
2.6.1. Polices de caracteres
2.6.2. Caractères spéciaux
2.6.2.1. Ligatures
2.6.2.2. Ponctuations
2.6.2.3. Symboles Mathématiques
2.6.2.3.1. Fractions
2.6.2.3.2. Inégalités, approximations
2.6.2.3.3. Ensembles
2.6.2.3.4. Logique
2.6.2.3.5. Flèches
2.6.2.3.6. Algèbre Linéaire
2.6.2.3.7. Géométrie et calcul vectoriel
2.6.2.3.8. Analyse et fonctions spéciales
2.6.2.3.9. Caractères grecs
2.6.2.4. Symboles physiques
2.6.2.5. Symboles monétaires et commerciaux
2.6.2.6. Cartes à jouer
2.6.2.7. Autres symboles
2.6.2.8. Accolades
2.6.2.9. Accents
2.6.3. Superposer des caractères
2.6.4. Espacements
2.6.5. Points de conduite
2.6.6. Grandes parentheses, accolades, crochets
2.6.7. Présentation de la page: marges, en-tête et pied
2.6.7.1.
2.6.7.2. En têtes et pied de page
2.6.8. Terminer la page en cours et commencer une nouvellepage
2.7. Citations et listes
2.7.1. Les citations
2.7.2. Les listes
2.7.2.1. Listes non-indexées
2.7.2.2. Listes indexées
2.7.2.3. Les listes emboites
2.7.2.4. Les listes de définitions
2.8. Notes de bas de page
2.9. Definitions de chaines
3. Les préprocesseurs
3.1. Bibliographie avec refer
3.2. Figures
3.2.1. Fichiers PostScript ou PDF
3.2.2. Dessiner avec le préprocesseur pic
3.3. Commandes troff
3.3.1. Numéroter les lignes
Edmond Orignac
Quelque part en France
ABSTRACT
Dans ce court article, nous présentons l’utilisation basique de troff avec les macros -ms. Nous exposons les étapes nécessaires pour l’écriture d’un article. Le html a été géneré automatiquement à partir d'un fichier troff. [Correction du 8 Décembre 2024: Les images des tables générées par groff ont été insérées à la position correcte.]
1. Introduction
Avec un formateur de document
comme troff ou TEΧ,
la préparation d’un document se fait en deux
temps. Tout d’abord, on saisit avec un éditeur
de texte comme vi texte.ms ou emacs
texte.ms le texte source qui sera traité par
troff. Ce texte source mélange le texte du
manuscrit proprement dit avec des commandes de mise en page
qui seront utilisées par troff pour produire
le document imprimable. On génère ensuite ce
document par la commande groff -ms -Tps texte.ms >
texte.ps (groff est
la version GNU du formateur troff). Le fichier
texte.ps est un fichier PostScript, prêt
à être imprimé avec la commande lp
texte.ps . On peut previsualiser et relire avant
l’impression en se servant de groff -ms -TX100
texte.ms ou en utilisant gv texte.ps.
Dans groff, les commandes de mise en page sont soit un point suivi de deux lettres (par exemple .TL ) éventuellement suivies d’arguments, soit de la forme \ suivi de caractères (par exemple \fC). Les commandes commençant par un point doivent impérativement être placée au tout début de la ligne, et ne doivent pas être précédées ni d’espace ni de tabulation. Celles commençant avec un antislash peuvent apparaître n’importe où dans le texte. Il existe un ouvrage en français par Jean-Louis Roos Le traitement de texte avec UNIX : troff et nroff (Armand Colin, 1992) pour plus de détail.
Dans ce guide, nous décrivons l’usage de groff avec les macros -ms dougherty %P 104 hibbert et -mm dougherty %P 128 les macros -ms, mais dans groff elles ont un bug dans le traitement des références bibliographiques. Les macros -me n’ont pas ce bug, mais elles ont des difficultés avec les accents. Les macros -ms sont le meilleur compromis lorsqu’on écrit en français et qu’on veut inclure une bibliographie préparée avec refer. Comparé avec LaTeX, groff a trois inconvénients. D’abord, groff est très lié au système d’exploitation UNIX ® donc Linux, MacOSX, Free/Net/OpenBSD et OpenIndiana alors que LaTeX est aussi disponible sur Windows. Ensuite, LaTeX dispose de nombreux paquets sur ctan.org pour toutes sortes de mathématiques avancées comme les diagrammes de Dynkin ou les tableaux d’Young qui n’ont pas d’équivalents pour groff. Enfin, LaTeX peut ajuster les paragraphes entiers ce qui donne un meilleur aspect au texte qu’avec groff qui ajuste seulement ligne par ligne. Cependant, LaTeX est extrêmement verbeux. Quand groff écrit .TS/.TE pour faire un tableau, .EQ/.EN pour faire une équation, LaTeX écrit \begin{table}/\end{table} et \begin{equation}/\end{equation}. De plus, LaTeX est plus sensible aux erreurs de saisie. Une accolade manquante dans une instruction \frac ou une parenthèse manquante après \right peut suffire à empêcher la compilation d’un document, alors que groff poursuit la compilation malgré les erreurs. Enfin, il est généralement difficile de modifier le style d’un document LaTeX. C’est un avantage pour les éditeurs de revues scientifiques qui sont sûrs que, si les auteurs utilisent leur fichier de style LaTeX, l’apparence des manuscrits sera conforme à celle de la revue et l’estimation de nombre de pages sera correcte. C’est un inconvénient quand il faut modifier une classe LaTeX dont les défauts (marges, taille du texte, titres, etc...) sont inadéquats.
2. Les principales commandes de groff -ms
2.1. Préparation du titre et du résumé
Pour préparer le titre et le résumé, il suffit d’entrer dans le fichier texte.ms
.TL
Titre du manuscrit
.AU
Nom du premier auteur
.AI
Adresse du premier auteur
.AU
Nom du deuxième auteur
.AI
Adresse du deuxième auteur
.AB
Texte du résumé
.AE
.LP
Le titre du manuscrit peut
occuper plusieurs lignes après .TL. On peut
ajouter autant d’auteurs qu’on le souhaite avec
les commandes .AU et .AI. On peut
remarquer que
.AU est une abréviation de
"Author" , .AI une
abréviation de "Author’s
Institution", .AB une abréviation
d’"Abstract Begin" et .AE
une abréviation d’"Abstract
End". Généralement, les macros
-ms sont des abréviations de deux lettres
majuscules d’expressions anglaises. Les commandes
troff pures sont de deux lettres minuscules.
On obtient une page de titre en plaçant .RP au début du fichier, avant .TL . La macro .TL peut être utilisée partout dans le texte pour créer des titres de chapitres.
2.2. Créer des sections et des sous-sections
2.2.1. Sections et sous sections numérotées
On crée une section numérotée avec la commande
.NH 1
Titre de la section
.PP
Texte de la section
Le numéro de section est généré automatiquement. On commence le texte avec .PP pour que le premier paragraphe de la section soit mis en retrait (indenté). Pour obtenir une sous-section numérotée, on utilise
.NH 2
Titre de la sous-section
.PP
Texte de la sous-section
Il y a jusqu’à 7 niveaux de sous-section accessibles par .NH n. On remet la numérotation à zéro avec la commande .NH 0. C’est utile par exemple si on commence un nouveau chapitre.
2.2.2. Sections sans numérotation
Si on ne souhaite pas numéroter les titres des sections, on utilise
.SH
Titre de la section
.PP
Texte de la section
2.2.3. Paragraphes
On utilise .PP a chaque fois qu’on souhaite commencer un nouveau paragraphe indent´e. En général, cette indentation sert à indiquer que le paragraphe introduit un nouveau développement. Pour commencer un paragraphe sans l’indenter, on utilise .LP. On passe a la ligne en laissant une ligne vide ou en entrant .br.
2.2.4. Table des matières
Pour préparer une table des matières, on copie les titres des sections entre .XS et .XE. Par exemple,
.NH 2
Graisser, souligner, encadrer, mettre du texte en italique
.XS
Graisser, souligner, encadrer, mettre du texte en italique
.XE
.PP
La macro .TC fera apparaître la table des matières à la fin du document, avec les pages numérotées en chiffres romains minuscules à partir de (i). Cela permet de réarranger ensuite les pages pour faire apparaître la table des matières au début. Si on préfère une table des matières à la fin du texte, numérotée en chiffres arabes consécutifs à la dernière page du texte, on se sert de .PX au lieu de .TC.
2.3. Graisser, souligner, encadrer, mettre du texte enitalique
2.3.1. Caractères gras
Pour créer un paragraphe en caractères gras , on utilise
.B
Texte du paragraphe en caractère gras
.R
Après .R (romain) le texte sera de nouveau
d’épaisseur normale.
Pour mettre quelques mots en caractère gras dans une ligne, on entre
Mots du texte
normal \fB mots à mettre en gras \fR reste du texte
normal.
Au lieu de \fR (qui revient aux caractères romains) on peut utiliser \fP qui revient au style précédent.
Les caractères gras peuvent être utilisés pour
- |
Les noms d’orateurs dans un compte rendu politique ou autre |
2.3.2. Italique
Pour créer un paragraphe en caractères italiques , on utilise
.I
Texte du paragraphe en caractères italiques
.R
Après .R le texte sera de nouveau en romain.
Pour mettre quelques mots en caractères italiques, on entre
Mots du texte
normal \fB mots à mettre en italique \fR reste du
texte
normal.
Comme vu plus haut, au lieu de \fR ou peut se servir de \fP qui revient au style précédent. Cela peut servir par exemple si on met quelques mots en caractères gras au milieu d’un texte en italique ou vice-versa.
Les italiques s’emploient
- |
Pour les titres d’ouvrages : Les Trois Mousquetaires d’Alexandre Dumas. | |
- |
Pour les noms d’oeuvres d’art La Vénus de Milo, La Joconde. | |
- |
Pour les noms d’auteurs s’ils sont employés pour indiquer les oeuvres : Un Baudelaire | |
- |
Pour les titres de journaux, magazines, revues savantes : Le Figaro, Le Monde, L’Humanité, Ouest-France, Le Point, L’Express, Annalen der Physik, Nature, Science... | |
- |
Pour les titres de chapitres, de section, d’articles d’un ouvrage | |
- |
Pour les noms de navires : le paquebot France ou de vaisseaux spatiaux : la navette spatiale Challenger | |
- |
Les expressions et les citations latines : a priori, loc. cit., ibid. | |
- |
Les noms latins des micro-organismes Staphylococcus Aureus , Candida Albicans, Plasmodium Falciparium. | |
- |
Les noms de notes de musique do,ré,mi,fa,sol,la,si | |
- |
Les mots d’origine étrangère qui ne sont pas devenus des mots français : log cabin (cabane de rondins) mais week-end. |
2.3.3. Espacement fixe
Pour créer un paragraphe en espacement fixe , on utilise
.CW
Texte du paragraphe en espacement fixe
.R
Après .R le texte sera de nouveau en espacement
proportionnel.
Pour écrire quelques mots en espacement fixe, entrer:
Mots du texte
normal \fC mots avec espacement fixe \fR reste du texte
normal.
Le texte en espacement fixe peut servir pour représenter du code informatique, comme avec ce programme en Fortran,
.CW
.DS
PROGRAM HELLO_WORLD
WRITE (5,10)
10 FORMAT 11HHELLO WORLD
STOP
END
.DE
.R
ce qui produit le listing
PROGRAM
HELLO_WORLD
WRITE (5,10)
10 FORMAT 11HHELLO WORLD
STOP
END
Plus généralement, une police en espacement fixe peut servir pour indiquer une adresse email, une URL ou pour citer le nom d’un programme informatique.
2.3.4. Encadrement
Pour encadrer un mot, on écrit:
Mots du texte
normal
.BX Mot
Reste du texte
Il est important de placer seulement le mot qui doit être encadré juste après .BX sur la même ligne et de revenir à la ligne juste après. En effet, si on revient à la ligne juste après .BX , troff produira une boîte vide. Si on oublie de revenir à la ligne, le texte suivant le premier mot sera ignoré.
Pour encadrer un paragraphe entier, on entre
Mots du texte
normal
.B1
Texte du paragraphe à encadrer
.B2
Reste du texte
2.3.5. Soulignement
Pour souligner un mot, on écrit:
Mots du texte
normal
.UL Mot
Reste du texte
Les mêmes règles qu’avec .BX s’appliquent.
2.4. Changer la taille du texte
Pour accroître la taille du texte, on utilise .LG qui l’augmente de 2 points. 1
Le point d’imprimerie vaut 1/72ème de pouce, et un pouce 2,54cm. Un point fait donc 0,35mm.
Par exemple,
.LG
Un paragraphe écrit plus gros
.NL
donne
Un paragraphe écrit plus gros.
Pour diminuer la taille du texte, on utilise .SM qui l’abaisse de 2 points. Par exemple,
.SM
Un paragraphe écrit plus petit.
.NL
donne Un paragraphe écrit plus petit. La commande .NL retablit la taille normale du texte.
Plus généralement, on change la taille de la police courante avec \s-N (pour rduire de N points) ou \s+N pour augmenter de N points. \s0 revient a la taille par defaut. Cela permet de simuler des petites capitales en entrant P\s-2ETITES\s0 C\s-2APITALES\s0. Le resultat est P ETITES C APITALES . Les petites capitales sont utilisées pour indiquer les siècles par exemple XVIII ème siècle ou les numéros de chapitre, par exemple chapitre IX . Elles peuvent aussi servir pour indiquer un numéro de page lorsque cette page est numérotée en chiffres romains. Par exemple Préface de la seconde édition p. VII . On peut changer la taille du texte en valeur absolue avec \sxx où xx est la taille de police en points. Par exemple, \s14 fera passer la taille du texte en 14 points.
Pour changer la taille du texte dans l’ensemble du document, on utilise la commande au début du fichier
.nr PS n
.nr VS m
où n est la
taille de la police en points , et m est
l’interligne. On choisit en général une
interligne proportionnelle à la taille de la police.
La commande .nr place dans les registres
PS qui contient la taille de la police et
VS
qui contient la taille de l’interligne les nouvelles
valeurs, n et m respectivement. Les
valeurs permises pour n sont toutes les valeurs
entières de 6 à 12 points, toutes les valeurs
entiéres paires de 12 à 24 points, puis 24, 28
et 36 points. Si on donne une valeur non autorisée,
troff arrondit à la valeur permise
immédiatement supérieure. La taille par
défaut est de 10 points.
Pour changer la taille du texte dans une partie du document, on utilise
.ps n
.nr PS n
.vs m
.nr VS m
Les commandes .ps et .vs changent la taille du texte et l’interligne pour le paragraphe en cours. Les registres PS et VS affecteront les paragraphes suivants. On peut laisser un certain nombre n de lignes blanches en entrant \.sp n. On peut aussi choisir la hauteur du blanc vertical en utilisant \fC .sp hc\fR où \fC h\fR est la hauteur en centimètres.
2.5. Exposants et Indices
On peut écrire des exposants ou des indices en utilisant
\u exposant \d
\d indice \u
La taille de police n’est pas modifiee. Quelques exemples
* |
NO\d3\uNH\d4\u donne NO3NH4. |
||
* |
Fe\u2+\d donne Fe2+ |
||
* |
\u235\dU donne 235U |
On peut aussi se servir de \*{texte\*} pour faire un exposant. Exemple: Fe 2+ ou 235 U. L’avantage est que la taille de police en exposant est reduite dans les bonnes proportions. Quelques abréviations courantes se font avec les exposants: M\*{me\*} M me (madame),M\*{mes\*} M mes (mesdames), M\*{lle\*} M lle (mademoiselle), M\*{e\*} M e (maître), M\*{gr\*} M gr (monseigneur), D\*{r\*} D r (docteur), et C\*{ie\*} C ie (et compagnie). On abrège aussi premier en I\*{er\*} (dans Napoléon I er ) ou en 1\*{er\*}, deuxième en 2\*{eme\*} (2 eme ) etc...
Pour produire des indices de taille convenablement r´eduite on peut utiliser \d\s-2text\s0\u. Exemples avec des formules chimiques
* |
CH\d\s-23\s0\uCH\d\s-22\s0\uOH donne CH 3 CH 2 OH | |
* |
C\d\s-26\s0\uH\d\s-22\s0\u(NO\d\s-22\s0\u)\d\s-23\s0\u-OH C 6 H 2 (NO 2 ) 3 OH |
2.6. Details typographiques
2.6.1. Polices de caracteres
On change la police par la
commande
.ft [Symbole de police]
ou avec \f([Symbole de police] dans le texte. .ft P retablit la police precedente. Times est la police par defaut. Selon les installations, les polices disponibles peuvent etre Helvetica (HR), Courier (CR), Bookman (BMR), NewCentury Schoolbook (NR) et Palatino (PR). Les polices installees se trouvent dans les repertoires:
/usr/share/groff/1.22.4/font/devps/
/usr/share/groff/1.22.4/font/devpdf/
Les fichiers sont au format ASCII. La première colonne contient le symbole troff du caractère (par exemple ae pour la ligature \[ae]) et la dernière le nom PostScript correspondant.
La commande afmtodit(1) permet d’installer les nouvelles polices PostScript à partir d’un fichier .afm .
2.6.2. Caractères spéciaux
Un certain nombre de caractères sont directement accessibles avec AltGr ou avec AltGr+Maj avec le clavier français Azerty.
abcdefghijklmnopqrstuvwxyz,;:!$*ù
â © ±æðî
¹¬ô¶
çøþû®«»ýå¿
÷¡ê³² AltGr
ä © ¢ª ï ºNö ü
<> º ÷ ë¥ AltGr+Maj
Par exemple ® s’obtient avec AltGr+v. Si on ne dispose pas d’un clavier Azerty, ou si le caractère ne peut pas être produit avec le clavier, on doit utiliser une commande troff pour le faire apparaître dans le document généré. Ces commandes sont décrits dans la page de manuel groff_char(7). Par exemple, le o supérieur pour primo, secundo, tertio... s’obtient en tapant \[Om] ainsi, 7\[Om] dans le fichier source donne donne 7º dans le fichier PostScript ou PDF. Il existe des formes abrégées, par exemple la croix ( † ) s’obtient avec \(dg.
2.6.2.1. Ligatures
2.6.2.2. Ponctuations
2.6.2.3. Symboles Mathématiques
2.6.2.3.1. Fractions
2.6.2.3.2. Inégalités, approximations
Apparemment, pas de signe moins-plus. AltGr+f donne le plus-moins.
2.6.2.3.3. Ensembles
2.6.2.3.4. Logique
2.6.2.3.5. Flèches
2.6.2.3.6. Algèbre Linéaire
2.6.2.3.7. Géométrie et calcul vectoriel
2.6.2.3.8. Analyse et fonctions spéciales
2.6.2.3.9. Caractères grecs
Ces caractères ne permettent pas d’écrire en grec, du fait de l’absence d’accents et d’esprits. Ils servent pour écrire des formules d’algèbre.
2.6.2.4. Symboles physiques
La constante de Planck ℏ s’obtient avec \[-h] ou \[hbar]. Les crochets de Dirac, gauche ⟨ et droit ⟩ , utilisés avec la notation bra-ket, sont obtenus respectivement avec \[la] et \[ra]. Le symbole croix (conjugaison hermitique) est \[dg]. On surligne (pour indiquer la prise de moyenne) avec \[rn]. Le symbole µ pour micro s’obtient avec \[mc], et Å (angstrom) avec \[oA].
2.6.2.5. Symboles monétaires et commerciaux
2.6.2.6. Cartes à jouer
2.6.2.7. Autres symboles
2.6.2.8. Accolades
2.6.2.9. Accents
On peut obtenir des caractères accentués (avec un clavier non Azerty) en saisissant
On obtient la cédille avec \*,. Une méthode plus générale (indépendante des macros -ms) utilise \[’ ] pour l’accent aigu (\[’e] pour é), \[‘ ] pour l’accent grave,\[: ] pour le tréma, \[^ ] pour l’accent circonflexe, \[~ ] pour le tilde.
Des accents et caractères spéciaux utilisés dans les langues d’Europe de l’Est ou d’Europe du Nord sont également disponibles.
2.6.3. Superposer des caractères
On utilise
\o´|S´
pour produire S. Cela permet d’obtenir un texte barre avec \o’/a’\o’/b’\o’/c’ (abc) ou avec \o’\(ena’\o’\(enb’\o’–c’ (abc) et doublement barre avec \o’=a’\o’=b’\o’=c’ (abc). Cela peut aussi servir à représenter une case cochée avec \o’\(sq\[OK]’ ( ✓) ou avec \o’\(sqx’ ( x ). On peut aussi placer des accents sur des lettres comme par exemple avec \o’\[ao]e’ qui donne e, \o’\[ho]e’ qui donne e, \o’\[a-]e’ qui donne e et \o’\[a.]e’ qui donne e.
Si la police de caractères ne contient pas de symboles adaptés, on peut essayer de faire des symboles pour les ensembles de nombres avec \o’\(orK’. Par exemple, l’ensemble des reels R, des decimaux, D, des rationnels Q des complexes C ou quaternions H. En combinant \o et \s, on obtient les symboles pour le verset avec \o’\s-2V\s0/’ ( V / ) ou pour le le répons \o’\s-2R\s0/’ ( R /) qui est aussi utilisé en numismatique pour indiquer le revers d’une pièce.
Pour obtenir un texte barré, on peut aussi se servir de \z\(ena \z\(enb \z\(enc pour produire abc, de \z=a \z=b \z=c pour produire abc. La différence est qu’avec \o les caractères sont centrés, avec \z justifiés à gauche.
2.6.4. Espacements
- |
\[espace] produit un blanc insecable de largeur 1 caractere de la police (1em). | |
- |
\0 produit un espacement de la largeur d’un chiffre. Exemple: 12 345 6789 |
123456789
- |
\| produit un espacement de 1/6 em: AB |
||
- |
\^ produit un espacement de 1/12 em AB |
Un em est la taille de la police en points, le point étant 1/72 pouce soit environ 0,35mm.
En typographie, on distingue les espaces fines mesurant 1 point, les espaces moyennes de 1,5 a 2,5 points, et les espaces fortes de 3 a 6 points. Si nous utilisons une police de 12 points, \^ produit une espace fine (1 point), et \| une espace moyenne (2 points). Une espace forte serait \^\|. Le cadratin a pour largeur 1 caractere de la police (1em). Il est produit par \[espace] qui est aussi l’espace insecable. Le demi-cadratin est la largeur d’un chiffre (1en), il est donc produit par \0.
Quelques applications
1 |
Dans les nombres, les tranches de trois chiffres des nombres sont séparées par une espace moyenne (2 points) de préférence aux points et aux virgules. On ecrit 123\|456\|789,0 pour obtenir 123456789,0. Cependant, dans les dates (1958), les numéros de pages (p. 1432), les codes postaux (75011 Paris), s’écrivent sans séparer les chiffres. | |
2 |
Les nombres fractionnaires, précédés ou suivis d’un nombre entier auquel ils appartiennent, prennent l’espace fine entre ce nombre et eux, qu’ils soient de la casse ou employés en supérieures. On ecrit 2\^¼ pour obtenir 2¼. | |
3 |
Dans l’expression des degrés de longitude et de latitude ainsi que des grades astronomiques, pour séparer les degrés des minutes et celles-ci des secondes, on utilise l’espace moyenne. La virgule est exclusivement réservée, aux fractions qui pourraient suivre les secondes. On ecrit 26°\|15\[fm]\|49\[sd],6 pour obtenir 26°15′49″,6. | |
4 |
Les chiffres exprimant les degrés de température, les degrés de densité sont accompagnés d’un o supérieur (°) ; ils sont séparés par une espace fine de la lettre abréviative qui les détermine. Par exemple, on ecrit 21°\^C pour obtenir 26°C. | |
5 |
Si l’indication de durée de temps comporte des fractions, les heures, les minutes, les secondes sont abrégées; les lettres abréviatives sont collées aux chiffres, et chaque groupe de chiffres est séparé par une espace de 1 point. On ecrit 1h\^25m\^32,1s pour obtenir 1h25m32,1s. | |
7 |
L’astérisque * est précédée d’une espace fine dans un appel de note*. | |
6 |
La croix † est précédée et suivie d’une espace forte, c’est à dire qu’elle s’espace comme un mot. Elle sert à indiquer la date de décès d’une personne, par exemple Henri Poincaré ( † 1912), ou dans les dictionnaires les mots qui ne sont plus utilisés. En appel de note, elle est traité comme l’astérisque. | |
8 |
Le paragraphe § est précédé et suivi d’une espace forte lorsqu’il indique un renvoi (voir § 1.a ou voir §§ 1-6). En appel de note, il est traité comme l’astérisque. | |
9 |
Le pied de mouche ¶ est précédé et suivi d’une espace forte. En appel de note, il est traité comme l’astérisque. | |
10 |
Le signe & ne peut jamais être accompagné du point abréviatif ; il est précédé et suivi de l’espace forte de la ligne où il se trouve. | |
11 |
Le point virgule (;), le point d’exclamation (!), le point d’interrogation (?) se séparent du mot, de la lettre ou du signe qu’ils suivent, par une espace de 1 point et demi, ou 2 points au plus, suivant l’espacement de la ligne. On tapera respectivement \|; \|! \|? pour produire l’espacement nécessaire. | |
12 |
Le deux-points ( : ) prend avant et après lui l’espace forte de la ligne où il se rencontre. On tapera \ : (blanc insécable avant pour éviter de trouver les deux points au début de la ligne suivante après justification du texte, blanc normal après). | |
13 |
Le tiret ( — ) s’espace comme le deux-points. On tapera \ \(em |
.
14 |
Dans un texte ordinaire, les parenthèses () et les crochets [], sont collés intérieurement aux mots qu’ils renferment; l’espace régulière sépare la première paren- thèse et, le crochet initial du mot qui précède, la deuxième parenthèse et le crochet final du mot qui suit. Toutefois, quand la lettre italique qui suit immédiatement la parenthèse ouverte est une lettre à queue j, g, f, ou que la parenthèse finale est précédée des lettres l, f, i, h, k, on peut utiliser une espace fine pour l’écarter de la parenthèse (\^\fIj ou )\^\fIl. Employés à l’intérieur d’un mot, dans la restitution d’inscriptions de. manuscrits antiques, le crochet et la parenthèse ne prennent l’espace ni avant ni après; ils sont collés aux mots ou aux lettres qui suivent et qui précèdent. | |
15 |
Les points de suspension, précédant ou suivant un texte dans lequel ils indiquent une lacune, prennent avant et après eux l’espace forte de la ligne où ils sont employés. Dans ce cas, la ponctuation qui suit les points de suspension — virgule, point virgule, point d’exclamation, point d’inter- rogation — se colle à ces points sans espace; le deux-points garde son espacement habituel ; le point se confond (et par conséquent est supprimé) avec les points de suspension. La virgule et le deux points qui précèdent les points de suspension sont séparés de ceux-ci par une espace forte; le point final et le point abréviatif se confondent (c’est-à-dire disparaissent) avec les points de suspension, qui se collent au point et virgule, au point d’exclamation et au point d’interrogation placés avant eux. | |
16 |
Lorsque le texte indique une hésitation, une surprise, un doute, dans le langage d’un interlocuteur, une phrase incomplète dans la narra- tion, les points de suspension se collent au mot, à la lettre ou au signe qui précèdent |
Pour indiquer une coupure du
texte, on ecrit une ligne de points separes d’un
cadratin. On peut produire cette ligne de points avec
.CW
\ .\ .\ .\ .\ .\ .\ .\ .\ .\ .\ . \ .\ .\ .\ .\ .\ .\ .\ .\
.\ .\ . \ .\ .\ .\ .\ .\ .\ .\ .\ .\ .\ . \ .\ .\ .\ .\ .\
.\ .\ .\ .\ .
.R
Attention à commencer
avec un espace. Partie avant la coupure
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . .
. . . Partie apres la coupure
2.6.5. Points de conduite
On peut faire des points de
conduite en changeant le caractere utilise pour les
tabulations avec la commande .tc . Par exemple avec
.tc .
millimetre[tab]mm
.br
centimetre[tab]cm
.br
decimetre[tab]dm
.br
metre[tab]m
.br
.tc
Ou [tab] repr´esente une tabulation \t. on obtient
millimetre.....mm
centimetre.....cm
decimetre.dm
metre..........m
Une autre methode consiste a utiliser .lc.
.lc .
millimetre^Amm
.br
centimetre^Acm
.br
decimetre^Adm
.br
metre^A^Am
.br Ou ^A represente Control+A. il peut etre saisi dans
Emacs en tapant Control+Q Control+A, dans vi en tapant
Control+V Control+A. Le résultat est
millimetre.....mm
centimetre.....cm
decimetre.dm
metre..........m
Pour tracer une ligne, on peut
utiliser
\l’nc’ où n est la longueur en
centimètres. Par exemple, \l’2c’ trace
une ligne horizontale de 2 centimètres. On peut faire
une ligne horizontale de pointillés avec
\l’nc.’ Pour faire des lignes verticales, on se
sert de \L suivie des mêmes arguments.
2.6.6. Grandes parentheses, accolades, crochets
On peut obtenir une grande accolade avec \(lt,\lb,\lk) .
⎧ Ces lignes sont
regroupees
⎨ dans une accolade
⎩ qui se finit ici.
Il est plus correct de grouper les accolades verticalement
avec \b’\(lt\(lk\(lb’ devant le texte
pour ne pas laisser de blancs comme dans l’exemple
ci-dessus.
Exemple:
Huile
d’Olive^A1 cuiller
.br
\b’\(lt\(lk\(lb’ Vinaigre^A^A1 cuiller
.br
Sel^A^A^A1 pincee
produit
Huile d’Olive
....1 cuiller⎧ ⎨ |
||||||
.... |
.....1 cuiller ⎩ |
|||||
.... |
..... |
.....1 pincee |
On produit une accolade a droite avec \(rt\(rk\(rb. Les crochets s’obtiennent avec \(lc\bv\lf (a gauche) et \(rc\bv\rf. Les parentheses se font avec \(lt\(bv\(lb ou \(rt\(bv\(rb. Si l’accolade est haute de plus de trois lignes on la prolonge avec ...
2.6.7. Présentation de la page: marges, en-tête et pied
2.6.7.1.
On définit la marge intérieure par la commande
.nr PO 2c
où 2c indique que nous voulons une marge (« Page Offset ») de 2cm, et la longueur de la ligne par
.nr LL 16c
où 16c indique une longueur de 16cm. Avec du papier A4, cela laisse une marge extérieure de 3cm. Ces proportions suivent la règle typographique consistant à répartir le blanc avec 2/5 pour les petits fonds (marge intérieure et blanc de tête) et 3/5 pour les grands fonds (marge extérieure et blanc de pied). On définit le blanc de tête avec
.nr HM 3c
et le blanc de pied avec
.nr FM 1.5c
La commande .nr est une commande troff générale qui sert à modifier la valeur numérique d’un registre.
2.6.7.2. En têtes et pied de page
On définit les en-têtes avec
.ds LH
en-tête de gauche
.ds CH en-tête du centre
.ds RH en-tête de droite
et le pied de page avec
.ds LF pied de
page de gauche
.ds CF pied de page du centre
.ds RF pied de page de droite
placés au début du document. Par exemple, .ds CF % placera le numéro de page (indiqué par %) centré au bas de la page et .ds CH \(DY mettra la date du jour centrée en haut de la page.
Il est possible de redéfinir les en têtes en cours de document, par exemple avec
.ds RF titre du chapitre en cours
le changement se fera à la page suivante. Pour le pied de page, la redéfinition se fait sur la page en cours.
La commande .ds est une commande générale qui définit une chaîne de caractère (define string). Nous la reverrons plus bas.
2.6.8. Terminer la page en cours et commencer une nouvellepage
On utilise .bp
2.7. Citations et listes
2.7.1. Les citations
Pour citer un texte, on utilise
les commandes .QS ( Quote Start ) et
.QE
( Quote End). Par exemple, les commandes
.QS
.I
"Silence, unbeliever!! Our weapons are fear, surprise,
ruthless efficiency,
an almost fanatical devotion to the pope, and nice red
uniforms" -
.R
--- Michael Palin as Cardinal Ximinez in the famous Monty
Python sketch.
.QE
Donnent le texte:
"Silence,
unbeliever!! Our weapons are fear, surprise, ruthless
efficiency,
an almost fanatical devotion to the pope, and nice red
uniforms" -
--- Michael Palin as Cardinal Ximinez in the famous Monty
Python
sketch.
On peut aussi utiliser un environnement "display", commencant avec .DS et finissant avec .DE. Dans cet environnement, les retours a la ligne sont preserves, ce qui est commode par exemple pour citer de la poesie. Exemple:
.DS C
O rage, o desespoir, o vieillesse ennemie
N’ais-je donc tant vecu que pour cette infamie ?
Et ne suis je blanchi dans des travaux guerriers
que pour voir en un jour fletrir tant de lauriers ?
[...]
Comte, soit de mon prince a present gouverneur
ce haut rang n’admet point un homme sans honneur
[...]
.DE
O rage, o
désespoir, o vieillesse ennemie
N’ai-je donc tant vécu que pour cette infamie ?
Et ne suis je blanchi dans des travaux guerriers
que pour voir en un jour flétrir tant de lauriers ?
[...]
Comte, soit de mon prince a présent gouverneur
ce haut rang n’admet point un homme sans honneur
[...]
Le C sert a centrer le display. On peut aussi indenter avec .DS I ce qui permet de faire des epigraphes ou des en-tetes de lettre. Par exemple, le code suivant
.DS I 3.6i
\(em Et Qu’est ce qu’on dit ?
\(em Ouais !!! Merci, Professeur Choron !!!
-- Les fiches bricolage du Pr. Choron
.DE
produit l’epigraphe
— Et
Qu’est ce qu’on dit ?
— Ouais !!! Merci, Professeur Choron !!!
-- Les fiches bricolage du Pr. Choron
2.7.2. Les listes
Les listes utilisent la commande .IP . On peut créer trois sortes de listes:
1 |
Les listes non indexées |
||
2 |
Les listes indexées |
||
3 |
Les listes de définitions |
Nous allons passer en revue les différents types de liste dans le reste de cette section.
2.7.2.1. Listes non-indexées
On produit ces listes au moyen de la commande .IP suivie d’un symbole. Par exemple, si on entre:
.IP -
des figues
.IP -
des bananes
.IP -
des noix
On obtiendra la liste:
- |
des figues |
||
- |
des bananes |
||
- |
des noix |
L’indentation par défaut (5 cadratins) est excessive. On peut la reduire en donnant un argument .IP - N (où N est le nombre de cadratins) avec N<5. Par exemple,
.IP - 2
Bleu
.IP -
Vert
.IP -
Rouge
Donne une liste
- |
Bleu |
||
- |
Vert |
||
- |
Rouge |
2.7.2.2. Listes indexées
On produit ces listes au moyen de la commande .IP suivie d’un nombre. En reprenant notre exemple précédent, nous pouvons entrer:
.IP 1 2
des figues
.IP 2
des bananes
.IP 3
des noix
Et nous aurons la liste:
1 |
des figues |
||
2 |
des bananes |
||
3 |
des noix |
On peut aussi indexer une liste au moyen de lettres. Dans ce cas, nous entrons
.IP a 2
des figues
.IP b
des bananes
.IP c
des noix
Et nous aurons la liste:
a |
des figues |
||
b |
des bananes |
||
c |
des noix |
On peut utiliser plusieurs caractères pour indexer
.IP
"1\[Om])" 4
primo
.IP "2\[Om])"
secundo
.IP "3\[Om])"
tertio
1º) |
primo |
||
2º) |
secundo |
||
3º) |
tertio |
2.7.2.3. Les listes emboites
Pour emboiter les listes, on utilise .RS et .RE. Par exemple,
.IP 1
Nouvelle Aquitaine
.RS
.IP a
Charente
.IP b
Charente Maritime
.IP c
Gironde
.IP d
Landes
.IP e
Gers
.IP f
Pyrenees Atlantiques
.RE
.IP 2
Auvergne Rhone Alpes
.RS
.IP a
Ain
.IP b
Isere
.IP c
Rhone
.IP d
Haute-Loire
.IP e
Cantal
.RE
Donnera
1 |
Nouvelle Aquitaine |
a |
Charente |
||
b |
Charente Maritime |
||
c |
Gironde |
||
d |
Landes |
||
e |
Gers |
||
f |
Pyrenees Atlantiques |
||
2 |
Auvergne Rhone Alpes
a |
Ain |
|||
b |
Isere |
|||
c |
Rhone |
|||
d |
Haute-Loire |
|||
e |
Cantal |
2.7.2.4. Les listes de définitions
Si nous entrons le texte:
.IP
"Louis-Napoléon Bonaparte:"
Dernier Président de la 2ème
République.
.IP "Albert Lebrun:"
Dernier Président de la 3ème
République.
.IP "René Coty:"
Dernier Président de la 4ème
République.
Nous obtiendrons la liste de définitions:
Louis-Napoléon Bonaparte: |
Dernier Président de la 2ème République.
Albert Lebrun: |
Dernier Président de la 3ème République.
René Coty: |
Dernier Président de la 4ème République.
2.8. Notes de bas de page
Pour créer les notes de bas de page*
Comme celle là
, on utilise \^* .FS * ( "Footnote Start" ) et .FE . ( "Footnote End" ). Lorsqu’il y a plusieurs notes sur la même page, l’usage est d’utiliser les signes d’appel de notes *,†,§,¶ (dans cet ordre) pour les distinguer. Un autre procédé consiste à utiliser un nombre croissant d’astérisques ou des lettres minuscules en exposant.
On peut aussi utiliser des notes 2
numerotees. Mais cette méthode produit une certaine confusion entre citation et appel de note s’il y a aussi une bibliographie avec des références numérotées. Une solution (à la bibtex) peut consister à placer les notes dans la bibliographie.
avec \** suivie de .FS et .FE .
2.9. Definitions de chaines
On dfinit des chaines avec .ds xx texte .
.ds FA °\^F
.ds BA °\^B
On rappelle le texte de la chaine avec \*[xx]. Si on tape 99.9\*[FA] on obtient 99.9°F et avec 99.9\*[BA] on obtient 99.9°B .
La longueur du nom de chaine n’est pas limitee. On peut definir
.ds benzene C\d\s-26\s0\uH\d\s-26\s0\u
et utiliser \*[benzene] pour produire C 6 H 6 .
Par défaut, \*Q et \*U donnent des “guillemets anglais”. On peut redéfinir ces guillemets avec
.ds Q \[Fo]
.ds U \[Fc]
pour avoir des «guillemets français» .
3. Les préprocesseurs
3.1. Bibliographie avec refer
On utilise le programme refer pour creer une bibliographie tuthill1993 Les documents à citer sont dans un fichier bibliographique 3
Le format EndNote est tres proche de celui utilise par refer. Entre autres, les fichiers EndNote produits par Google Scholar, Google Books, HAL, osti.gov sont utilisables directement par refer. Les fichiers Refer/BibIx produits par Zotero sont des fichiers EndNote utilisables avec refer.
dont le format est le suivant
%T Le
traitement de texte avec UNIX : troff et nroff
%A Roos, Jean-Louis
%I A. Colin
%C Paris
%S Informatique
%D 1992
%K ttunix
pour un livre, ou %T
indique le titre, %A un auteur, %D la date
de publication, %I l’editeur, %C son
adresse, %S (optionnel) la collection à laquelle le
livre appartient et %K (optionnel) est un mot-cle
qui servira a citer le livre. Ce mot-clé n’est
pas strictement indispensable, refer peut retrouver
une référence à partir du nom
d’un des auteurs ou d’un mot du titre. Mais
lorsque le fichier bibliographique est assez gros, il peut
contenir plusieurs livres avec le même nom
d’auteur et l’appel de notes peut devenir
ambigu. La commande lookbib(1) permet de
déterminer quel mot du titre ou nom d’auteur ou
autre mot-clé est suffisant pour identifier une
référence
unique. Dans le cas d’un ouvrage écrit par un
collectif, le format est
%T UNIX®
System V Documentor’s Workbench™ Reference
Manual
%Q AT&T
%I Prentice Hall
%C Englewood Cliffs, New Jersey
%D 1989
%K dwbref89
ou %Q est le nom du collectif d’auteurs, ici l’entreprise AT&T. S’il y a aussi un editeur scientifique (ou un directeur de collection), on utilise %E pour l’indiquer. Dans le cas où il y a seulement un éditeur scientifique on écrit %A [Nom de l’éditeur] (ed.) . Avec plusieurs éditeurs scientifiques, on les indique comme auteurs avec %A, et on écrit pour le dernier %A [Nom] (eds.). Par exemple, on écrit
%S Phase
transitions and critical phenomena
%A C. Domb
%A M. Green (eds.)
%I Academic Press
%V 6
pour citer un volume dans une série avec deux éditeurs scientifiques, et
%T Partial
differential equations of mathematical physics
%A Arthur Gordon Webster
%E Samuel Plimpton
pour une ouvrage écrit par A. G. Webster et revu par S. Plimpton pour sa réédition.
Dans le cas d’un chapitre
de livre, on utilise %T pour le titre du chapitre
et %B pour le titre du livre comme dans cet exemple
où F. W. J. Olver est l’auteur du chapitre et
Abramowitz et Stegun
les éditeurs scientifiques du livre:
%T Bessel
functions of Integer order
%B Handbook of Mathematical functions
%E M. Abramowitz
%E I. Stegun
%A F. W. J. Olver
%P 355
%I Dover
%C Mineola, NY
%D 1972
Pour citer un article ou %V indique le volume, %N le numero, %P la pagination, %J le nom de la revue
%T UNIX
Time-Sharing System: Statistical Text Processing
%V 57
%N 6
%P 2137-2154
%J Bell System Technical Journal
%A McMahon, L. E.
%A Cherry, L. L.
%A Morris, R.
%D 1978
%K mcmahon1978
Pour citer un rapport technique
%T An
Introduction to the ’-ME’ Macros used with NROFF
on the VAX 11/780.
%C Bethesda. Maryland 20084
%I DAVID W TAYLOR NAVAL SHIP RESEARCH AND DEVELOPMENT CENTER
BETHESDA MD COMPUTATION MATHEMATICS/LOGISTICS DEPT
%R CMLD-82-07
%G ADA113541
%O https://apps.dtic.mil/sti/citations/ADA113541
%A Hibbert, Dabney J.
%D 1982-03-01
%K TROFFME
Le %R sert à indiquer le numéro du rapport, %G un numéro de document produit par une agence du gouvernement des Etats-Unis, %O sert à indiquer une autre information, ici l’adresse web où on trouve le rapport.
Pour citer une thèse, on écrit
%T Contribution
à l’étude de la diffusion
magnétique des neutrons
%A de Gennes, Pierre-Gilles
%I Paris,Faculté des sciences
%R Thèse de doctorat. Spécialité:
Sciences physiques. Numéro d’enregistrement
4063
%D 1957
%K degennes1957
On cite en entrant
.[
mot-cle
.]
Par exemple
.[ dwbref89
.]
.[ mcmahon1978
.] On cite une page particulière d’un livre
avec
.[
dwbref89
%P 150
.]
La commande a utiliser est refer -e -p <fichier biblio> article.ms |groff -ms -mfr -U -Tpdf > article.pdf ou <fichier biblio> doit etre remplace par le nom du fichier contenant la bibliographie. On peut changer le style de citation avec l’option -l . Au lieu de citations numérotées, on utilise [AuteurAnnée] (par exemple [Oreilly1987]). On peut aussi utiliser des symboles définis par l’entrée %L dans le fichier bibliographique. Par exemple, pour citer Dupont, Durand, Martin Journal de Cybernétique (1979) on peut définir %J Journal de Cybernétique %D 1979 %A Dupont, D. %A Durand, T. %A Martin, G. %L DDM1979 et la citation apparaîtra comme DDM1979 dans le texte.
En comparant les deux formats, on voit que les champs %Q, %H, %L, et %G ont une signification différente dans Endnote et refer. Selon les besoins, on peut soit éliminer ces champs, soit remplacer %Q par %T, %H par %A, %L par %K ou %O, %G par %O. Le champ %! peut être éliminé ou remplacé par %T, %? éliminé ou remplacé par %A. Les champs %Z,%U,%6,%7,%@ peuvent être éliminés ou intégrés dans %O ou %R.
3.2. Figures
3.2.1. Fichiers PostScript ou PDF
On insere des figures avec .PSPIC (pour une sortie PostScript). La commande .PDFPIC (équivalent pour le PDF) ne fonctionne pas avec les fichiers PDF produits par Gnuplot (erreurs) mais elle fonctionne avec ceux produits par XFig. On ne peut pas non plus inclure directement des images au format .jpg ou .png avec .PDFPIC.
Par exemple
.KS
.PDFPIC benzene.pdf 9cm
.LP
Fig. 1 : Exemple avec la molécule de benzène
.KE
produit une figure centrée de 9cm de largeur
Fig. 1 : Exemple avec la molécule de benzène
Les commandes .KS/.KE («Keep Start/Keep End») servent à garder ensemble la figure et sa légende.
3.2.2. Dessiner avec le préprocesseur pic
3.3. Commandes troff
Ces commandes ne sont pas des macros -ms.
3.3.1. Numéroter les lignes
On se sert de la commande .nm pour commencer la numérotation. Cela peut servir par exemple pour composer des épreuves ou un 1 texte à commenter. Les lignes suivantes seront numérotées par troff
Commentaires
Enregistrer un commentaire
Les commentaires seront rejetés.