Minion Pro sous XeLaTeX
Il y a déjà quelques temps, j’expliquais comment utiliser Minion Pro sous pdfTeX. Comme je le disais, il est en fait bien plus naturel de vouloir utiliser XeTeX, qui prend en charge nativement les fontes OpenType et toutes leurs spécificités. Voyons ici comment procéder.
Pour des documents « normaux » (lire : de classe autre que beamer
), c’est au
fond assez simple. La seule difficulté concerne les math : XeTeX ne prend pas
encore totalement en charge les polices OpenType mathématiques, et de toutes
façons il n’y a pas de tables mathématiques dans le Minion Pro d’Adobe. (Les
deux seules polices OpenType mathématiques à l’heure actuelle à ma connaissance
sont Asana math (libre) et Cambria math (inclus dans MS-Office 2007).)
C’est là qu’entre en jeu le travail effectué la dernière fois : on va pour les
math utiliser des polices PostScript Type 1 à l’ancienne. Pour éviter les
problèmes, il faut juste préciser au module MinionPro
(qui gère Minion Pro en
Type 1) de ne s’occuper que des math, et à fontspec
(l’interface utilisateur
LaTeX pour les fonctionnalités de fontes de XeTeX) de ne s’occuper que du
texte. Par exemple, voici ce que j’utilise pour mes documents en Minion Pro
contenant des math :
\usepackage[onlymath,mathlf,frenchmath]{MinionPro} \usepackage{mathrsfs} \usepackage[no-math]{fontspec} \defaultfontfeatures{Scale=MatchLowercase, Mapping=tex-text, Numbers=OldStyle} \setmainfont{Minion Pro} \setsansfont[BoldFont={% Myriad Pro Semibold}, BoldItalicFont={% Myriad Pro Semibold Italic}]{Myriad Pro} \setmonofont{Luxi Mono} |
La première ligne s’assure que la police mathématique est Minion Pro avec ses
compléments mathématiques ; les options permettent de ne rien changer à la
police de texte, d’utiliser des chiffres majuscules en math, et de composer les
math à la française (lettres grecques et majuscules romaines en police droite).
On charge ensuite une police anglaise supplémentaire. Il faut faire attention
par contre à ne pas chargé amssymb
: sinon, cela fait trop de fontes
mathématiques chargées simultanément, et TeX explose (nous y reviendrons).
Ensuite, on choisit tranquillement ses polices de texte avec fontspec
« comme
d’habitude ». Ici, j’utilise Myriad Pro comme police sans empattements, et je
prends la version semi-grasse pour le gras (j’aime particulièrement ce semi-gras
avec les classez Koma-Script qui utilisent du gras sans empattements pour les
titres), et enfin Luxi Mono comme fonte à chasse fixe.
Luxi Mono est une des fontes à chasse fixe les plus utilisables, surtout avec
d’autres polices que CM ou LM : les autres sont soit trop fines, soit chassent
beaucoup trop. La façon la plus simple de l’installer, sous TeX Live du moins,
est d’utiliser getnonfreefonts-sys --all
(avec les privilèges suffisants).
Pour qu’elle soit accessible à XeTeX (c’est-à-dire à fontconfig
, du moins sous
Linux), ainsi que les autres polices type 1 de TEXMFLOCAL
, on peut par exemple
faire un lien symbolique de ~/.fonts/tex/type1
vers TEXMFLOCAL/fonts/type1
,
puis lancer fc-cache
pour régénérer le cache de fontconfig
.
Pour des documents de classe beamer
, c’est un poil plus compliqué. En effet,
beamer
insiste pour charger amssymb
(pour disposer de la commande
blacktriangleright
). Or ceci cause une erreur causée par le nombre limité de
fontes mathématiques que TeX peut gérer simultanément (problème documenté dans
MinionPro.pdf
). Le seul contournement de j’ai trouvé pour le moment est de
rajouter dans le répertoire de travail où je prépare mes documents beamer
un
fichier nommé amssymb.sty
ayant le contenu suivant :
\ProvidesPackage{amssymb}[2008/10/10 Dummy package for bad hack] \endinput |
C’est moche, mais ça marche©®. Je vais sans doute prochainement signaler ceci
sur le BTS de beamer
et demander par exemple une option de classe empêchant le
chargement d’amssymb
.
Enfin, beamer
ayant l’habitude de faire des trucs à sa façon avec les fontes,
si l’on utilise un thème de fontes avec la police à empattements pour les math,
on a la mauvaise surprise (à mon goût) de se retrouver avec des chiffres
elzéviriens en mode math. Pour éviter cela, il convient d’appeler, en plus du
thème de fonte voulu (avant ou après, ça ne change rien d’après mes expériences)
le thème de fonte professionalfonts
. Par exemple :
\usefonttheme[onlymath]{serif} \usefonttheme{professionalfonts} |
Par contre, contrairement à ce qui indiqué page 16 de la documentation, utiliser
professionalfonts
en option de classe ne semble pas changer grand chose.