Une introduction à l’utilisation de groff avec les macros -ms

Une introduction à l’utilisation de groff avec les macros -ms

1. Introduction
2. 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. Une version PDF est disponible ici.

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 roos

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 leclerc %P188

-

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 brossard

-

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 \sxxxx 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

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

Image grohtml-84551.png

2.6.2.2. Ponctuations

Image grohtml-84552.png

2.6.2.3. Symboles Mathématiques
2.6.2.3.1. Fractions

Image grohtml-84553.png

2.6.2.3.2. Inégalités, approximations

Image grohtml-84554.png

Apparemment, pas de signe moins-plus. AltGr+f donne le plus-moins.

2.6.2.3.3. Ensembles

Image grohtml-84555.png

2.6.2.3.4. Logique

Image grohtml-84556.png

2.6.2.3.5. Flèches

Image grohtml-84557.png

2.6.2.3.6. Algèbre Linéaire

Image grohtml-84558.png

2.6.2.3.7. Géométrie et calcul vectoriel

Image grohtml-84559.png

2.6.2.3.8. Analyse et fonctions spéciales

Image grohtml-845510.png

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.

Image grohtml-845511.png

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

Image grohtml-845512.png

2.6.2.6. Cartes à jouer

Image grohtml-845513.png

2.6.2.7. Autres symboles

Image grohtml-845514.png

2.6.2.8. Accolades

Image grohtml-845515.png

Image grohtml-845516.png

2.6.2.9. Accents

On peut obtenir des caractères accentués (avec un clavier non Azerty) en saisissant

Image grohtml-845517.png

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.

Image grohtml-845518.png

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, brossard %P 31 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 brossard %P 325

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⎧ ⎨
Vinaigre

....

.....1 cuiller ⎩
Sel

....

.....

.....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

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 leclerc %P366 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 leclerc %P 203 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.

Image grohtml-845519.png

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

Image benzene.eps.png

Fig. 1 : Exemple avec la molécule de benzène

Les commandes .KS/.KEKeep 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

Posts les plus consultés de ce blog

Le Basic sous Linux

Graphiques Tektronix4014 en BASIC

Installation du Common Desktop Environment sur Linux