Profitez des offres Memoirevive.ch!
Xe­La­TeX et Lua­La­TeX, suite et fin : fontes ma­thé­ma­tiques Open­Type

Cher et es­timé lec­teur, je dois com­men­cer par vous aver­tir selon les usages en vi­gueur pour ce genre d'ar­ticles : ce qui suit se des­tine à ceux qui s'in­té­ressent au lan­gage de com­po­si­tion de texte LaTeX, et qui en ont une cer­taine connais­sance, même mi­ni­male. À toutes fins utiles, je rap­pelle que Fa­bien Conus et moi-même avons pro­duit sur ce site même une In­tro­duc­tion à LaTeX sous Mac OS X, qui pour­rait in­té­res­ser, au moins pour son pre­mier cha­pitre, ceux qui parmi vous se de­mandent ce que diable peut être ce LaTeX, si ce n'est pas le ca­ou­tchouc.

Il y a deux ans en­vi­ron j'avais fait une pré­sen­ta­tion des prin­ci­pales po­lices de ca­rac­tères uti­li­sables par LaTeX, et plus pré­ci­sé­ment par pd­fLa­TeX, la ver­sion de LaTeX la plus ré­pan­due au­jour­d'hui, qui tourne sur le « mo­teur » pdf­TeX. Mes deux der­niers ar­ticles, eux, pré­sen­taient les ver­sions de LaTeX tour­nant sur des « mo­teurs » plus ré­cents, XeTeX et Lua­TeX, tous deux basés sur l'en­co­dage de ca­rac­tères Uni­code et per­met­tant l'uti­li­sa­tion di­recte des po­lices mo­dernes (True­Type, Open­Type, AAT…), aussi bien celles fi­gu­rant dans la dis­tri­bu­tion TeX cou­rante que celles du sys­tème d'ex­ploi­ta­tion : Xe­La­TeX et Lua­La­TeX.

J'avais constaté à ce mo­ment-là que pour les uti­li­sa­teurs de fontes ma­thé­ma­tiques, ces deux ver­sions de LaTeX n'avaient en­core guère d'in­té­rêt, vu le peu de fontes ma­thé­ma­tiques Open­Type, le type de fontes texte le plus en vogue ac­tuel­le­ment. Fontes que d'ailleurs je n'avais pas eu l'oc­ca­sion de tes­ter. Mais main­te­nant c'est fait, et je dois dire qu'elles offrent des pers­pec­tives très en­cou­ra­geantes !

En effet, cer­taines fontes Open­Type com­plètes (texte + maths) existent déjà bien, et sont par­fai­te­ment uti­li­sables. J'en ai re­censé trois, dont deux gra­tuites : Asana Math (en­tiè­re­ment libre) et STIX (sous li­cence par­ti­cu­lière). La troi­sième, Cam­bria Math, est li­vrée avec la suite Of­fice et pro­priété de Micro$oft, et comme je re­fuse par prin­cipe d'avoir la suite Of­fice sur mes bé­canes, je n'ai pas pu la tes­ter. Il n'est pas exclu que d'autres fontes ma­thé­ma­tiques Open­Type existent et m'aient échappé, n'hé­si­tez pas à me le si­gna­ler le cas échéant !

Rap­pe­lons que la fonte de ca­rac­tères uti­li­sée par dé­faut par Xe­La­TeX et Lua­La­TeX (via le pa­ckage fonts­pec) est Latin Mo­dern. C'est certes une fonte Open­Type pour le texte cou­rant, mais pas (pas en­core) pour les ma­thé­ma­tiques, pour les­quelles elle se rabat sur la bonne vieille fonte Com­pu­ter Mo­dern (sa ver­sion Post­Script pré­ci­sé­ment), d'ex­cel­lente qua­lité mais d'en­co­dage désuet. Les concep­teurs de la fonte Latin Mo­dern pré­voient bien à terme de pas­ser éga­le­ment à l'Open­Type pour la par­tie ma­thé­ma­tique de leur fonte, mais ce n'est pas en­core d'ac­tua­lité.

Au juste, quel in­té­rêt pra­tique pré­sente une fonte Open­Type pour les maths ? Pour ma part, je n'en vois en­core qu'un seul, mais il est consi­dé­rable : le nombre de com­mandes LaTeX à en­trer pour ob­te­nir les sym­boles est dras­ti­que­ment di­mi­nué. Si le sym­bole en ques­tion existe sur votre cla­vier ou (moins pra­tique) dans votre pa­lette de ca­rac­tères, il suf­fit de l'en­trer di­rec­te­ment, et hop, Lua­La­TeX ou Xe­La­TeX le re­con­naît ! C'est en effet l'avan­tage des fontes Open­Type, elles sont en­co­dées Uni­code, c'est-à-dire qu'elles peuvent conte­nir à peu près n'im­porte quel sym­bole…

Nous al­lons voir ce que cela donne sur deux exemples, exé­cu­tés ici avec Lua­La­TeX et une ver­sion de TeX Live 2010 ré­cem­ment mise à jour. Que ce soit avec Lua­La­TeX ou avec Xe­La­TeX, il faut char­ger un pa­quet par­ti­cu­lier pour uti­li­ser une fonte ma­thé­ma­tiques Open­type, quelle qu'elle soit : uni­code-math. Ce pa­quet en charge éga­le­ment un autre, fonts­pec, dont je rap­pelle qu'il est in­dis­pen­sable dès qu'il s'agit d'uti­li­ser les po­lices du sys­tème, ou, plus gé­né­ra­le­ment, les po­lices True­Type, Open­Type, AAT, etc, avec Xe­La­TeX ou Lua­La­TeX.

Pour uti­li­ser la fonte STIX, la­quelle est adap­tée à la fa­meuse fonte texte ro­mane Times, il faut char­ger les pa­quets XITS pour le texte et XITS Math pour les maths (on l'au­rait de­viné). En fait, XITS est une ver­sion de STIX ren­due com­pa­tible avec l'Open­Type Math Table. Ne connais­sant pas gran­d'chose aux tables Open­Type, ce que j'en re­tiens est que XITS rend STIX com­pa­tible avec le pa­quet uni­code-math :-). Ap­pa­rem­ment l'au­teur de XITS n'a pas pu em­ployer di­rec­te­ment le nom « STIX » pour d'obs­cures his­toires de li­cences. On lira at­ten­ti­ve­ment ceci pour plus de dé­tails…

% !TEX en­co­ding = UTF-8 Uni­code
% !TEX TS-pro­gram = Lua­La­TeX
\do­cu­ment­class[12pt]{ar­ticle}
\use­pa­ckage{uni­code-math}
\set­main­font{XITS}
\set­ma­th­font{XITS Math}
\begin{do­cu­ment}
Un cal­cul de série en­tière :
\[
      ∑_{n=0}^\frac{α^n}{n!} = e^α
\]
\end{do­cu­ment}

Noter le nombre de com­mandes LaTeX ré­duit au mi­ni­mum dans la par­tie maths. Plus de com­mandes \alpha, \sum, ou \infty, mais des sym­boles en­trés di­rec­te­ment, au cla­vier ou via la pa­lette, ce qui rend le co­dage plus simple et sur­tout amé­liore gran­de­ment sa li­si­bi­lité ! Bien en­tendu, on peut tou­jours uti­li­ser les com­mandes LaTeX en lieu et place des sym­boles, et c'est cer­tai­ne­ment plus ren­table à la longue que de cli­quer sans arrêt dans la pa­lette de ca­rac­tères, mais il est en­core plus pra­tique d'en­trer di­rec­te­ment les sym­boles au cla­vier lorsque c'est pos­sible !

Ré­sul­tat de ce code :

image

Times étant une des po­lices les plus po­pu­laires au monde, la fonte STIX est quasi cer­tai­ne­ment des­ti­née à être l'une des plus uti­li­sées par les re­vues scien­ti­fiques du monde en­tier…

À noter que la fonte XITS, si elle est im­mé­dia­te­ment uti­li­sable avec Lua­La­TeX, ne fonc­tionne avec Xe­La­TeX que lors­qu'elle est ins­tal­lée (par l'uti­li­sa­teur) dans l'ar­bo­res­cence des fontes du sys­tème d'ex­ploi­ta­tion. Bi­zar­re­ment, en effet, XeTeX ne par­vient pas à la re­trou­ver dans la dis­tri­bu­tion TeX Live 2010, alors qu'elle s'y trouve pour­tant. Bug de XeTeX, ou bug du pa­quet XITS, mys­tère.

La fonte Asana Math, elle, est construite à par­tir de la fonte ma­thé­ma­tique PX­fonts conçue pour le LaTeX clas­sique, et elle est donc adap­tée comme PX­fonts à la fonte de texte Pa­la­tino. J'ai donc, pa­ral­lè­le­ment à cette fonte, chargé la po­lice TeX Gyre Pa­gella, qui est une ver­sion Open­Type de Pa­la­tino. J'ai éga­le­ment pré­senté ces fontes LaTeX dans l'ar­ticle cité plus haut.

% !TEX en­co­ding = UTF-8 Uni­code
% !TEX TS-pro­gram = Lua­La­TeX
\do­cu­ment­class[12pt]{ar­ticle}
\use­pa­ckage{uni­code-math}
\set­main­font{TeX Gyre Pa­gella}
\set­ma­th­font{Asana Math}
\begin{do­cu­ment}
Un cal­cul de série en­tière :
\[
      ∑_{n=0}^\frac{α^n}{n!} = e^α
\]
\end{do­cu­ment}

Ré­sul­tat :

image

Le pro­blème de cette fonte est qu'elle « re­prend » les dé­fauts de PX­fonts, en par­ti­cu­lier une écri­ture trop ser­rée. Voyez l'ex­po­nen­tielle ci-des­sus pour vous en convaincre. Au­tre­ment, pour un pa­pier ne de­vant pas être pu­blié, cela reste une fonte tout-à-fait conve­nable.

À par­tir de ces deux pro­grammes-ca­ne­vas, il vous sera loi­sible de pro­cé­der à vos propres es­sais, pour voir si ces fontes vous agréent. N'hé­si­tez pas à me faire part de vos re­marques et éven­tuels pro­blèmes : cela m'in­té­res­se­rait beau­coup d'avoir des re­tour d'ex­pé­rience sur ces po­lices, et éga­le­ment sur les Cam­bria Math que je n'ai pas pu tes­ter.

Voilà qui ter­mine cet ar­ticle sur les fontes ma­thé­ma­tiques ac­tuel­le­ment dis­po­nibles en Open­Type, ar­ticle qui com­plète mes pré­sen­ta­tions de Xe­La­TeX et Lua­La­TeX. J'es­père que je vais pou­voir tes­ter d'autres po­lices bien­tôt. Je peux en effet vous ré­vé­ler en ex­clu­si­vité mon­diale (jouez haut­bois, ré­son­nez mu­settes !) que j'ai en pro­jet de mettre à nou­veau à jour et re­fondre l'In­tro­duc­tion à LaTeX sous Mac OS X de Fa­bien Conus et moi-même, en vue d'y in­clure la plu­part des ar­ticles sur LaTeX que j'ai pré­sen­tés sur ce site. C'est un tra­vail de longue ha­leine, et je me donne deux à trois mois pour l'ef­fec­tuer. Bien en­tendu, Xe­La­TeX et Lua­La­TeX au­ront une place de choix dans cette nou­velle ver­sion !

13 com­men­taires
1)
jpg
, le 06.07.2011 à 00:33

Un tout grand merci pour cette série d’ar­ticles fort utiles aux uti­li­sa­teurs de LateX &Co. Nous at­ten­dons avec im­pa­tience (jouez au bois, rai­son­nez Mu­zette) la re­mise à jour de l’in­tro­duc­tion à Latex.

2)
JPO1
, le 06.07.2011 à 07:33

bon­jour je viens de lire ra­pi­de­ment votre ar­ticle.

Vous avez ré­solu un pro­blème que je ren­con­trais dans le es­sais de Lua­La­TeX : une er­reur lorsque j’uti­li­sais $:$ pour écrire les heures comme 09:00. Uni­code-math vient de me per­mettre cette écri­ture.

Merci ps : si j’ai le temps je com­men­te­rai l’écri­ture des ma­thé­ma­tiques

3)
flup
, le 06.07.2011 à 08:20

Merci pour cet ar­ticle (et tous les autres sur le sujet). De mon côté, j’es­père avoir un peu de temps cet été pour pour­suivre l’écri­ture d’un pa­ckage per­met­tant l’uti­li­sa­tion des po­lices mu­si­cales à l’in­té­rieur du texte : les po­lices mu­si­cales sont ha­bi­tuel­le­ment de pe­tite taille. Il faut donc les agran­dir for­te­ment, ce qui du coup agran­dit l’in­ter­li­gnage. Il faut donc les in­té­grer au texte d’une autre façon, d’où la né­ces­sité d’un pa­ckage (sans comp­ter que cer­tains sym­boles mu­si­caux sont une com­bi­nai­son de plu­sieurs sym­boles de base).

4)
Guillôme
, le 06.07.2011 à 10:40

Si le sym­bole en ques­tion existe sur votre cla­vier ou (moins pra­tique) dans votre pa­lette de ca­rac­tères, il suf­fit de l’en­trer di­rec­te­ment, et hop, Lua­La­TeX ou Xe­La­TeX le re­con­naît !

Raah mais c’est ré­vo­lu­tion­naire!

Bien­tôt, avec LaTeX, on pourra écrire son texte di­rec­te­ment sans com­mandes spé­ci­fiques et l’as­pect à l’écran sera presque pa­reil qu’à l’im­pres­sion!

Quoi? Vous avez dit Word?

Mais non, je plai­sante Franck :p

Merci pour cet ar­ticle même si je ne me suis ja­mais aven­turé hors du couple LaTeX / pdf­TeX que je suis très loin de mai­tri­ser et qui suf­fit à mes be­soins.

5)
Franck Pas­tor
, le 06.07.2011 à 10:57

Bien­tôt, avec LaTeX, on pourra écrire son texte di­rec­te­ment sans com­mandes spé­ci­fiques et l’as­pect à l’écran sera presque pa­reil qu’à l’im­pres­sion!

Quoi? Vous avez dit Word?

Mais non, je plai­sante Franck :pMerci pour cet ar­ticle même si je ne me suis ja­mais aven­turé hors du couple LaTeX / pdf­TeX que je suis très loin de mai­tri­ser et qui suf­fit à mes be­soins.

Ben oui, c’est ré­vo­lu­tion­naire, Môs­sieur Mau­vaise langue :-b parce que main­te­nant on peut avoir le meilleur des deux mondes : la li­si­bi­lité du code source et le par­fait rendu du do­cu­ment pro­duit.

Ce n’est pas un re­proche que tu fai­sais à LaTeX, que les fi­chiers sources soient illi­sibles ? Hé bien main­te­nant c’est beau­coup moins le cas si tu uti­lises XITS ou Asana Math. Évi­dem­ment, il faut ac­cep­ter dans ce cas de perdre du temps à cher­cher le bon sym­bole dans la Pa­lette de ca­rac­tères. Mais à cha­cun de voir comme il veut. Même en ex­cluant la Pa­lette de ca­rac­tères, on a déjà un bon pa­quet de sym­boles ac­ces­sibles di­rec­te­ment par le cla­vier, il suf­fit d’ap­prendre où ils se trouvent, et une fois que c’est en­re­gis­tré c’est déjà un sacré temps de gagné.

Je réa­lise que je n’ai pas parlé d’un autre avan­tage pra­tique, c’est que les co­pier-col­ler d’une for­mule ma­thé­ma­tique d’un do­cu­ment Word-PDF-odt vers un do­cu­ment source LaTeX est consi­dé­ra­ble­ment sim­pli­fié !

Moi, dès que Latin Mo­dern (ma fonte pré­fé­rée) passe à l’Uni­code pour ses fontes ma­thé­ma­tiques, je vais cer­tai­ne­ment pas­ser à Xe­La­TeX ou Lua­La­TeX, plus pro­ba­ble­ment ce der­nier en rai­son de son sup­port de Mi­cro­type, son in­clu­sion de Lua et de Me­ta­Post.

À mon avis, si tu ne tiens pas par­ti­cu­liè­re­ment à Latin Mo­dern, tu peux en­vi­sa­ger de pas­ser à Xe­La­TeX-Lua­La­TeX et la fonte XITS pour tes nou­veaux do­cu­ments. Tes an­ciens fi­chiers, tu pour­ras tou­jours les com­po­ser tels quels ou presque, et tes nou­veaux se­ront plus li­sibles à la re­lec­ture.

6)
Renan Fuh­ri­mann
, le 06.07.2011 à 13:54

Merci pour cet ar­ticle en­core une fois très in­té­res­sant.

Pe­tite ques­tion hors sujet : la dis­tri­bu­tion Mac­Tex 2010 est com­pa­tible avec Lion ? Où est-ce que je vais être bon pour faire une clean ins­tall en at­ten­dant la dis­tri­bu­tion 2011 ?

7)
Franck Pas­tor
, le 06.07.2011 à 14:09

Que Mac­TeX 2010 soit com­pa­tible Lion, je n’en sais rien a priori, mais ça m’éton­ne­rait qu’elle ne le soit pas. Mais Mac­TeX 2011 le sera de toutes fa­çons, et sa sor­tie comme celle de TeX Live 2011 sont im­mi­nentes. Comme il est dit sur cette page: 5jul11: de­li­ver final images for the TeX Col­lec­tion DVD. Il sem­ble­rait que je connaisse le sujet de mon pro­chain ar­ticle :-)

9)
Guillôme
, le 06.07.2011 à 14:56

sa sor­tie comme celle de TeX Live 2011 sont im­mi­nentes

Bigre, et moi qui n’est tou­jours pas fait la mise à jour 2010… C’est grave doc­teur?

D’ailleurs, pe­tite ques­tion bête, com­ment fait-on pour en­le­ver les an­ciennes ver­sions sans tout cas­ser pour évi­ter d’avoir dans les pré­fé­rences LaTeX, la liste Mac­TeX 1977, Mac­TeX 2009, Mac­TeX 2024…?

10)
Franck Pas­tor
, le 06.07.2011 à 15:34

D’ailleurs, pe­tite ques­tion bête, com­ment fait-on pour en­le­ver les an­ciennes ver­sions sans tout cas­ser pour évi­ter d’avoir dans les pré­fé­rences LaTeX, la liste Mac­TeX 1977, Mac­TeX 2009, Mac­TeX 2024…?

On me la pose dé­ci­dé­ment sou­vent, cette ques­tion :-) Si je place une liste de FAQ quelque part dans la fu­ture ver­sion de l’In­tro­duc­tion à LaTeX, elle y sera sû­re­ment !

Pour ef­fa­cer les an­ciennes dis­tri­bu­tions TeX Live elles-mêmes, ça se fait par le Ter­mi­nal. Par exemple, pour TeX Live 2009 :

sudo rm -r /usr/local/texlive/2009

Les autres ap­pli­ca­tions sont au­to­ma­ti­que­ment mises à jour (et donc leur an­cienne ver­sion écra­sée) lors de l’ins­tal­la­tion du nou­veau Mac­TeX.

11)
Guillôme
, le 06.07.2011 à 16:37

ça se fait par le Ter­mi­nal.

Pour­quoi le ter­mi­nal? On ne peut pas faire Aller à dans le fin­der avec le che­min usr/ puis sup­pri­mer le dos­sier 2009 dans /local/tex­live/ ? (Os X de­man­dant le pass­word admin)

Ou mieux, en y al­lant di­rec­te­ment si on a ac­tivé à vi­sible dans le Fin­der les fi­chiers/ré­per­toires ca­chés avec Tin­ker­Tools par exemple ;)

12)
Franck Pas­tor
, le 06.07.2011 à 19:27

Pour­quoi le ter­mi­nal? On ne peut pas faire Aller à dans le fin­der avec le che­min usr/ puis sup­pri­mer le dos­sier 2009 dans /local/tex­live/ ? (Os X de­man­dant le pass­word admin)

Ou mieux, en y al­lant di­rec­te­ment si on a ac­tivé à vi­sible dans le Fin­der les fi­chiers/ré­per­toires ca­chés avec Tin­ker­Tools par exemple ;)

Si, bien sûr, mais (sauf si on a vrai­ment la pho­bie du Ter­mi­nal) ça ne sim­pli­fie pas par­ti­cu­liè­re­ment la tâche, et… c’est plus long à ex­pli­quer ;-)