Tentative d'approximation d'un livre d'Henri CARTAN
La but de cette page est simple : peut-on avec les moyens actuels et
sur la base de TeX produire un livre à la mise en page aussi
réussie (et la typographie aussi soignée et
désuète) que Théorie élémentaire
des fonctions analytiques d'une ou plusieurs variables complexes
publié par Hermann en 1964 ? Ce petit jeu est évidemment
l'occasion de voir et de comparer les moyens disponibles pour modifier
la typographie dans latex(2e) dans le cas d'un livre comportant pas
mal de maths. En effet, si désormais, comme les pages
d'échantillons de polices attachées à celle-ci le
prouvent, on peut utiliser des tonnes de polices de texte sans aucune
difficulté, il n'en est pas de même pour les
mathématiques. À ma connaissance, 4 jeux de polices
mathématiques sont disponibles sans avoir à fournir un
effort démesuré pour les utiliser (je mets dans le cas
de l'effort démesuré la Mathematical Pi d'Adobe --
celle-ci omise, il n'en reste de toute façon plus beaucoup) :
- les polices « natives » de TeX (cmmi/cmsy/cmex) ;
- les polices de la familles « euler » ;
- les polices de la famille MathTime vendues par Y&Y ;
- enfin les polices de la famille Lucida également vendues par Y&Y.
Le problème que l'on rencontre très vite est que les
polices listées ci-dessus se marient assez mal avec la plupart
des polices de texte. La première considération est
celle de la « couleur » de la page : une police plus ou moins grasse
et/ou condensée détermine l'intensité de gris
d'une page de texte (d'autres paramètres comme l'interligne et
les marges sont aussi à prendre en compte -- ne jamais perdre
de vue que la mise en page par défaut de LaTeX suppose que la
famille utilisée est cmr, ils peuvent nécessiter des
ajustements si l'on compose dans une autre famille). De fortes
variations de couleur sont souvent inévitables en
mathématiques, à cause par exemple de l'espace
laissé autour de figures ou de formules importantes. Cependant,
les formules non hors-texte devraient l'affecter au minimum. Par
exemple, la famille Times étant très « noire » la police
MathTimes conçue pour la compléter sera d'un effet
désastreux avec une police moins grasse comme Plantin
ou Garamond souvent utilisées dans les
livres. Réciproquement, la police cmmi10 de TeX jure avec
Times.
Lucida a un peu le même problème, en y
ajoutant des proportions et un dessin plus original, donc encore plus
difficile à marier. Enfin Euler a un style très
particulier qui la rend très sympathique mais difficile
à utiliser dans un travail sérieux (au sens
étriqué où l'université entend ce terme).
L'usage très fréquent en
mathématiques de variables comme p, n, g et leur aspect
souvent idiosyncrasique a pour conséquence que les styles de
polices se marient guère mieux. On peut cependant tomber plus
ou moins par hasard sur des appariements heureux comme Charter et
Euler dont je donne un exemple plus bas.
Cela étant dit, que peut-on faire concernant le livre de
Cartan ? Ce dernier a en effet le malheur d'être
composé en Baskerville,
avec le choix original de nos jours
d'utiliser des chiffres « old style » pour le texte comme pour les
mathématiques. Une chance nous est tout de
même laissée par le mécanisme des fontes
virtuelles et l'aide d'Alan Jeffrey dont le
package fontinst permet de mélanger les polices à
l'envi. De plus, le poids et les dimensions de Baskerville
n'étant pas trop éloignées de celles des polices
cm, nous allons pouvoir tenter plusieurs niveaux d'« hybridation ».
Si je pars de la première page du livre original d'Henri Cartan, je peux voir ce que
me proposent les défauts de LaTeX sur le même
texte
(dont voici l'en-tête, notez que j'ai
aussi tenté d'approximer la dernière page, qui
comporte un peu plus de maths).
Comme le texte est en français, il serait probablement plus
raisonnable d'utiliser la version T1 des polices cm, et l'extension french.
L'espacement est en
effet meilleur. LaTeX ne s'en sort pas mal, mais nous sommes loin de
la maquette originale ! Essayons donc de changer ladite maquette
à l'aide d'un petit bout de style.
Avouons que ça ne change
pas grand chose. Il est trivial de composer
l'en-tête en Bodoni gras, et le texte en Baskerville, les
maths étant toujours en cm (notez que j'utilise en fait New
Baskerville car je ne dispose pas de version de Baskerville avec
chiffres old style). Le résultat est acceptable, mais
l'incompatibilité des deux p italiques est
flagrante. Nous allons surmonter ce petit problème en
créant à l'aide de
fontinst une nouvelle police d'italiques mathématiques dont les
lettres et les chiffres seront ceux de notre Baskerville italique
oldstyle. Concommitemment, nous fabriquons la famille de texte
Baskerville oldstyle et le fichier de support largement
inspiré de macros dûes à S. Rahtz. Notons
qu'il n'y a pas de moyen simple de dire à TeX d'utiliser les
lettres d'une police comme « maths italiques », les TFM de telles
polices ont en effet un format différent et plus contraignant,
les caractères mathématiques pouvant être
utilisés en indice ou en exposant...
Je m'arrêterai à cette approximation dont on verra
qu'elle n'est pas parfaite. (Le source est ici.)
L'original utilise en effet des capitales droites pour les symboles, et une police différente de Baskerville italique pour les exposants et les indices -- le corps
n'est pas non plus parfaitement respecté. Cela dit, on voit
justement qu'un corps plus important, des symboles plus au large
peuvent entrer dans le même espace, ce dont on peut déduire que TeX gère au mieux (contrairement à
une critique fréqemment entendue) ces espaces, pourvu qu'on ne
le rende pas exagérément laxiste en modifiant ses
paramètres. À la fin d'une dure journée de travail, je conclue que (La)TeX est capable de bien plus belles choses
que ce que l'on m'en montre habituellement et, rassuré sur mon
programme d'édition préféré, je vais
jusque à avouer que ma version de cette page d'Henri
Cartan me plaît plus que l'originale que je renonce
à approcher plus fidèlement par peur d'altérer mon
travail.
Je finis en donnant quatre versions exotiques du même texte :
- la première repose sur
une combinaison de Minion pour le texte et les lettres et chiffres en
maths, et de cm pour les autres symboles ;
- la seconde repose sur
une combinaison d'Utopia pour le texte et les lettres et chiffres en
maths, et de Lucida pour les autres symboles ;
- la troisième présente un
exemple « tout Lucida » (en fait ici un clone de la première
version toujours diffusée par Adobe) ;
- la dernière illustre
un usage possible des polices de la famille Euler pour les maths, en
les combinant avec Charter. Ce dernier exemple ne demandant aucun
travail puisque le fichier de support euler.sty a été
réalisé pour nous par Frank Jensen et Frank Mittelbach.
Thierry Bouche
bouche@fourier.ujf-grenoble.fr