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