Académique Documents
Professionnel Documents
Culture Documents
GUTenberg
m DE LA CONSTRUCTION DE DIAGRAMMES
P Francis Borceux
Cahiers GUTenberg, n 5 (1990), p. 41-48.
<http://cahiers.gutenberg.eu.org/fitem?id=CG_1990___5_41_0>
De la construction de diagrammes
Francis BORCEUX
Département de mathématiques UCL, S chemin du Cyciotron, 1848 Louvain-la-Neuvt, Belgique
e-mail : FB0RCEUX8BUCLLN11. bitnet
R é s u m é L ' ensemble diagram d e macros réalise Les choses deviennent déjà moins évi-
l a m i s e e n p a g e a u t o m a t i q u e d e d i a g r a m m e s cons-
t i t u é s d e flèches d e t y p e s divers j o i g n a n t des "som-
dentes lorqu'il s'agit de dessiner des
m e t s " p r e n a n t la f o r m e d'expressions m a t h é m a t i q u e s . flèches obliques, comme dans le diagram-
Le p r o g r a m m e calcule a u t o m a t i q u e m e n t la l o n g u e u r
et l a p o s i t i o n d e c h a q u e é l é m e n t . L ' u t i l i s a t e u r p e u t
me 1, et elles se compliquent franche-
i m p o s e r p o u r c h a q u e d i a g r a m m e u n f a c t e u r d'échelle ment lorsque pour déterminer la longueur
k sa c o n v e n a n c e .
d'une flèche, il faut tout d'abord estimer
la taille qu'occuperont à l'impression les
1. Introduction sommets du diagramme qu'elle est censée
joindre:
Diverses disciplines des mathématiques
font un abondant usage de "diagrammes 0 / B 0
commutatifs" constitués d'expressions a ß
mathématiques reliées par des flèches;
c'est le cas notamment de l'algèbre ho- 0 'A © D—*B'—-r-C © D- 0
/ 9
mologique, de la théorie des catégories, Et l'histoire ne s'arrête pas là! D est
de la topologie algébrique, etc... fréquent que les sommets soient joints
Réaliser un diagramme simple tel que par des doubles, triples, . . . voire n-
uples flèches ou encore que les flèches
0 -i— b — c 0
en question soient affublées de marques
a ß conventionnelles indiquant qu'il s'agit
d'une inclusion (H—•-), d'un quotient
0 •B'-
•A'- - C - 0
r s- (—*-) ou d'un isomorphisme ( ~ » ). Par
ne pose en soi guère de problèmes. D suffit exemple
de s'armer d'un peu de patience et de
programmer tout cela dans le jargon de
l'environnement picture de JATjrX.
41
F. Borceux
42
De la construction de diagrammes
43
F. Borceux
Le lecteur observateur aura constaté En fait, il n'y a pas grand chose à dire
que notre rose des vents ferait dresser sur la définition des diverses commandes
les cheveux sur la tête au plus piètre qui viennent d'être décrites. Relevons
des géographes. En fait les directions quand même quelques points qui auront
tertiaires de notre rose des vents sont leur importance dans la suite:
celles de coéfficient angulaire ± 1 et ±2,
c'est-à-dire les diagonales de rectangles 1. Chacune des commandes ci-dessus
de côtés 2 et 1. Ce sont en effet ces réalise le dessin escompté dans un en-
directions, et non celles du type ^ + k \ vironnement picture autonome de di-
qui s'imposent lors d'un pavage du plan mensions formelles (0,0); le dessin est
au moyen de cellules carrées. Or ce sera centré par rapport à l'origine de la
précisément là l'un de nos principes de figure;
base pour la construction de diagrammes. 2. la longueur d'une flèche est laissée
Avant de commenter la manière dont sous forme d'un paramètre que le
les commandes ci-dessus ont été construi- programme calculera en temps utile
tes, précisons encore qu'il est possible de en fonction des autres éléments du
donner un nom à une flèche. Pour ce faire diagramme
il suffit de donner comme argument à la
commande le nom de la flèche en question Notons encore que les noms des flèches
en ayant pris soin sont automatiquement traités en mode
mathématique.
• de frapper en majuscule la première
lettre de la commande si l'on veut
imprimer le nom au-dessus de la
3. La conception d'un
flèche (à gauche dans le cas d'une diagramme
flèche verticale);
Un diagramme doit donc être pensé
• de frapper en majuscule la dernière comme une matrice dont les divers élé-
lettre de la commande si l'on veut ments sont soit un sommet, soit une
imprimer le nom en-dessous de la flèche,... soit le vide! En fait la construc-
flèche (à droite dans le cas d'une tion d'un diagramme ne se fait pas au
flèche verticale). moyen d'un environnement array, mais
bien au moyen d'un environnement pic-
Des règles analogues existent pour les ture, plus adapté aux calculs un peu fins
doubles ou triples flèches, avec cette fois de mise en page. C'est particulièrement
deux ou trois arguments. Par exemple vrai lors d'agrandissements ou de réduc-
\Nwepi{f> trace un epimorphisme dans tions automatiques des diagrammes. D y
la direction Nord-Ouest; cette flèche a cependant un prix à payer: les symboles
porte le nom / , imprimé au-dessus de & et \ \ de tabulation doivent être rem-
la flèche. De même \semonO{g} trace un placés par des commandes . . . d'où la né-
monomorphisme dans la direction Sud- cessité d'inclure entre accolades les argu-
Est; cette flèche porte le nom g im- ments de celles-ci!
primé en dessous de la flèche. Enfin Un diagramme est dès lors construit à
\ E a d j a r { f K g } trace deux flèches ad- partir d'un réseau carré formel de points,
jointes horizontales nommées / et g. deux lignes du réseau étant séparées
44
De la construction de diagrammes
par une distance laissée au choix de particulier il n'est pas nécessaire que
l'utilisateur (la valeur par défaut est 40 toutes les lignes aient le même nombre
points). Chaque élément du diagramme d'éléments: quand une ligne ne contient
est alors "attaché" en un point du plus que des éléments vides, on peut
réseau et centré par rapport à celui-ci. directement passer à la ligne suivante. Le
L'exemple suivant montre le diagramme 1 compteur des colonnes retient le nombre
et le réseau de points correspondant. maximum d'éléments qu'il a rencontrés
dans une même ligne. Le diagramme
précédent peut donc se frapper
• N»" « • \DIAG
{X} \nn
0 \ n { \ S e d o t a r { z » \ n { \ E s e a r { y » \nn
0 \ n { \ s s e a R { x } } \n{P>
\n{\Eepi{k» \ n {B> \nn
{}\n{} \n{\Smono-[h}}
\n{> \ n -C\smonO{g}}\nn
La frappe de ce diagramme en taille
0\n{> \n{A>
par défaut se fait (par exemple) selon le
\n-C\eepI-Cf» \ n {C>
schéma suivant
\diag
\DIAG
L'instruction \DIAG, entre bien d'au-
{..} \nn
tres choses, ouvre un environnement cen-
{..}\n{..}\n{..> \nn
ter puis un environnement picture de
{..}\n{..}\n{..}\n{..}\n{..}\nn
dimensions formelles (0,0). C'est dans
{..}\n{..}\n{..}\n{..}\n{..}\nn
cet environnement picture que le dia-
{..}\n{..}\n{..}\n{..}\n{..}
gramme est construit, le coin supérieur
\diag
gauche du diagramme coincidant avec
où les accolades successives contiennent l'origine du dessin. L'instruction \ d i a g ,
les divers éléments du diagramme. La entre autres choses, clôture l'environne-
commande \ n ("next") joue donc le ment picture, introduit un espacement
rôle du symbole & dans l'environnement horizontal et un espacement vertical cal-
array tandis que la commande \nn joue culés en fonction des nombres de colonnes
le rôle du double backslash. Les deux et de lignes, puis ferme l'environnement
commandes \DIAG et \ d i a g indiquent center. C'est donc l'instruction \ d i a g
le début et la fin de la définition du qui positionne le diagramme sur la page;
diagramme. Pour varier la taille d'un elle peut être remplacée par l'instruction
diagramme, il suffit de remplacer la \ d i a g v { t > { l > { b } qui ajoute des espace-
première instruction par \DIAGV{n} et la ments respectifs de t points en haut du
taille globale sera multipliée par n%. diagramme, / points à gauche et b points
On notera que les nombres de lignes et à droite.
de colonnes du diagramme ne sont pas La procédure précédednte de mise en
précisés. En fait les instructions \ n et \nn page d'un diagramme implique notam-
implémentent deux compteurs comptant ment que pour insérer plusieurs petits
le nombre de lignes et de colonnes. En diagrammes côte-à-côte sur une même
45
F. Borceux
46
De la construction de diagrammes
47
F. Boreetix
longueur imposée à ces flèches était donc \mono pour h—-, \Mono{f > pour t 1 » .
de 50 + 2 • 40 = 130 points. On obtient une flèche dirigée vers la
Signalons encore l'existence de flèches gauche en faisant précéder le radical
"courbes" introduites par une instruction du préfixe bk: Ybkbiar pour Ces
du genre commandes peuvent indifféremment se
\necurve{80> donner en mode texte ou en mode
mathématique.
ou encore D'autres options sont décrites dans le
mode d'emploi des diagram macros (cf.
\Wscurve{fHl60>
[2])-
dans le cas d'une courbe nommée / . La
première flèche ci dessus prend la forme
6. Mise en garde
suivante, où le point indique le "centre
formel" de la flèche. Les diagram macros nécessitent la mise
en mémoire de 28.295 mots et 736
( \ commandes. Combinant cela avec lATgX
et le style article, on atteint 53.971 mots
De telles flèches sont généralement tra- et 2816 commandes. Ceci peut amener à
cées horizontalement ou verticalement le des dépassement de capacité sur certains
long d'un diagramme. Le radical curve ordinateurs personnels. Pour se tirer
est précédé de deux lettres: d'affaire, il faut donc réduire le fichier
• la première indique la position de la diagram; par exemple supprimer toutes
flèche par rapport au diagramme; les commandes contenant un radical peu
utile à l'utilisateur: tri, quadri, quinti,
• la seconde indique la direction géné- mono, epi, bimo, ...
rale de la flèche.
La longueur de la flèche doit être don- Références bibliographiques
née comme dernier argument: ce sera (gé-
[1] Francis Borceux, Latex, la perfection dans
néralement) un multiple de 40. De telles
le traitement de texte, ARTEL, Bruxelles,
flèches sont normalement introduites via (1989)
une instruction \ c r o s s , sans qu'aucune
[2] Francis Borceux, User's guide for the Dia-
ligne ou colonne supplémentaire ne soit gram Macros, Département de mathémati-
ajoutée au diagramme. Le programme ques, Louvain-la-Neuve.
ne tient pas compte de leur présence
[3] Donald Knuth, The TjfiXbook, Addison-
dans le positionnement du diagramme sur Wesley.
la page; l'usage de l'instruction \diagv
[4] Leslie Lamport, lATjrX: user's guide and
peut donc s'avérer nécessaire pour corri-
reference manual, Addison-Wesley.
ger l'espacement autour du diagramme.
Enfin tous les types de flèches utilisés
dans les diagrammes peuvent également
être insérés dans une ligne de texte,
dans les deux directions horizontales. La
commande pour une flèche vers la droite
est simplement le radical correspondant:
48