Chapter 28 Fontes
Les fontes permettent de changer l'apparence des lettres
de votre document. Bien que de nombreuses de fontes soient installées
sur votre système par la distribution de base de LATEX, il peut
être utiled'en ajouter.
28.1 Que signifient les sigles T1, mf, fd etc. ?
Contribution de P. Pichaureau (ppichaur@grannus.u-strasbg.fr) :
Voici une mise au point rapide, histoire que vous compreniez de quoi
ça parle.
En 1990, lors d'une réunion d'utilisateurs de TeX, à Cork, il a
été décidé de développer une table d'encodage particulière pour les
fontes de TeX. Cette table contient des signes diacritiques et
un certains nombre de symboles qui permettent de composer des textes
dans un bon nombre de langues européennes.
Ce codage s'appelle T1 (parfois Cork encoding), et l'ancien codage
de TeX s'appelle OT1 (Old T1). Les autres codages (U, etc.) concernent
des polices particulières et/ou des polices qui ne respectent ni
T1 ni OT1.
Les fontes « standard » de TeX qui respectent ce codage s'appellent
fontes EC (pour european coding, il me semble). Les fontes DC étaient
une pré-version des fontes EC. La phase de mise au point des fontes
EC ayant duré un certain nombre d'années, on s'y perd un peu.
Les fontes TC (text companion) contiennent un certain nombre de caractères
textuels utilisés en mode mathématique. À l'origine, Knuth prenait
ces caractères dans les polices textes normales, mais cela pose des
problèmes si vous essayez d'utiliser d'autres polices de texte. C'est
pour cela qu'on préfère maintenant les mettre à part.
Ça c'est pour les problèmes de codage.
Pour les pk, mf, etc. je refuse de rentrer dans les détails, mais
voici un rapide aperçu de la question :
-
fichiers mf -> sources metafont. À partir de là, metafont génère les
fichiers tfm et pk.
- fichiers tfm -> métriques des fontes. Contient la taille des caractères,
les corrections d'espacement éventuelles, etc. TeX a imperativement
besoin de ces fichiers pour compiler un document.
- fichiers pk -> polices au format bitmap. C'est ce qui est utilisé
pour la prévisualisation et l'impression (même en PostScript, et ne
me demandez pas pourquoi !).
- fichiers vf -> vf pour Virtual Font. Les fontes virtuelles ont été
mises au point par Knuth pour vous permettre d'utiliser des fontes
de provenance diverses. Les fichiers vf sont utiles lorsque vous essayez
d'utiliser des fontes PostScript.
- fichiers fd -> description des fontes. Ça, c'est en rapport avec NFSS.
Bon, là, je suis obligé de m'étendre.
NFSS, c'est la manière dont LATEX 2e sélectionne une fonte. LATEX
ne le faisait pas assez proprement, alors on a fait le ménage. Un
fichier .fd dit à LATEX 2e quels sont les fichiers .mf à utiliser
pour telle police, dans telle taille, dans telle famille, avec telle
variation. C'est avec ce fichier que vous dites à LATEX 2e de prendre
la version sans serif dans tel fichier, la taille 9pt dans tel autre,
et le gras dans ce troisième fichier.
En tout état de cause, tfm et fd sont indispensables à la bonne marche
de latex2e. Les mf sont indispensables à la creation des tfm et despk,
et les pk sont indispensables à la visualisation et à l'impression.
28.2 Quels sont les attributs d'une fonte ?
Une fonte possède :
-
une famille (family) qui par défaut vaut cmr Autre valeurs : cmtt,
cmss, cmdh, cmfib. La famille correspond à l'allure générale de la
fonte. cmtt pour les fontes « machines à écrire » cmss pour les sans
serifs, cmdh et cmfib pour respectivement les polices dunhill et fibonacci.
- un codage (encoding) qui par défaut vaut OT1 (cf. question ??)
Autres valeurs : T1, OML, OMS, ...
- une série (series) de valeur m par défaut Les autres valeurs sont
obtenues par une combinaison de deux attributs :
-
un poids (qui correspond à la graisse de la fonte) : ul (ultral),
el (extral), l (light), sl (semil), sb (semib), b (bold), eb (extrab),
ub (ultrab),
- une largeur : uc (ultrac), ec (extrac), c (condensed), sc (semic),
m (medium), sx (semix), x (expanded), ex (extrax), ux (ultrax).
- une forme (shape) dont la valeur par défaut est n Autres valeurs :
n, it, sl, sc, ui, ol. La forme correspond aux différents variations
de la fonte : n pour normal, it pour italique, sl pour penché (slanted),
sc pour les petites capitales (small capital).
- une taille (size) qui vaut par défaut 10pt. Lorsque deux valeurs sont
précisées, la première correspond effectivement à la taille de la
fonte et la seconde généralement supérieure correspond aa la taille
de l'interligne.
28.3 Comment utiliser une fonte ?
Pour déclarer une fonte par défaut dans un document, il existe les
commandes \familydefault, \encodingdefault,
\seriesdefault et \shapedefault.
-
Exemple :
-
-
\documentclass{report}
\usepackage{french}
\pagestyle{empty}
\renewcommand{\familydefault}{cmtt}
\begin{document}
\begin{verbatim}
\renewcommand{\familydefault}{cmtt}
\end{verbatim}
dans le préambule d'un document permet de sélectionner la fonte
computer moderne de type machine à écrire pour tout le corps du
document.
\end{document}
%%%% fin exemple %%%%
En LATEX 2e, un certain nombre de packages permettent de faire appel
à une fonte particulière.
-
Exemple :
-
-
\documentclass{report}
\usepackage{french}
\pagestyle{empty}
\usepackage{times}
\begin{document}
\begin{verbatim}
\usepackage{times}
\end{verbatim}
dans le préambule d'un document permet de sélectionner la fonte
times pour tout le corps du document.
\end{document}
%%%% fin exemple %%%%
A un niveau plus bas, dans la création d'un style par exemple, la
sélection d'une fonte peut se faire de la manière suivante :
-
\fontfamily{ccr}\fontencoding{T1}\fontseries{c}\fontshape{sl}%
\fontsize{9}{11pt}\selectfont
ou encore :
-
\fontsize{14}{16pt}\usefont{OT1}{cmdh}{bc}{it}
Pour définir une commande de changement de fonte, on peut utiliser
\DeclareFixedFont.
-
Exemple :
-
-
\DeclareFixedFont{\petitefonte}{\encodingdefault}%
\familydefault}{\seriesdefault}{\shapedefault}{6pt}
\newcommand{\petit}{\petitefonte}
%%%% fin exemple %%%%
28.4 Comment changer la forme d'une fonte ?
En LATEX 2e, pour un changement ponctuel de fonte, un certain nombre
de commandes sont disponibles par défaut :
-
\textrm pour romain
- \textsf pour sans sérif
- \texttt pour du type machine à écrire
- \textmd pour une série moyenne
- \textbf pour du gras
- \textup pour des lettres droites
- \textit pour de l'italique
- \textsl pour des lettres penchées
- \textsc pour des petites capitales
- \textnormal pour la fonte par défaut du document.
-
Exemple :
-
-
Un \textbf{bel} arbre.
Un \textbf{\textit{très bel}} arbre.
%%%% fin exemple %%%%
ce qui donne :
Un bel arbre.
Un très bel arbre.
Pour changer la fonte de tout un paragraphe, on utilisera plutôt les
commandes \rmfamily, \sffamily, \ttfamily,
\bfseries, \mdseries, \itshape,
\slshape, \upshape et \scshape.
-
Remarque :
- si on utilise ces commandes sur un seul mot ou sur un
groupe de mot dans un paragraphe, alors l'espace suivant une telle
déclaration ne sera pas géré (il vaut mieux dans ce cas utiliser les
commandes \textxx).
- Exemple :
-
ou
-
\begin{itshape}
blabla
\end{itshape}
%%%% fin exemple %%%%
ce qui donne :
BlaBla
ou
blabla
28.5 Comment changer la taille d'une fonte ?
Il existe les commandes \tiny, \scriptsize,
\footnotesize, \small, \normalsize,
\large, \Large, \LARGE,
\huge, \Huge, classées dans l'ordre
croissant de taille. Ces commandes sont prédéfinies en fonction de
la classe de votre document.
-
Remarque :
- changement de taille de la fonte entraîne automatiquement
un changement de l'interligne.
Plus globalement, vous pouvez utiliser la commande \fontsize
(cf. ??).
28.6 Comment modifier la fonte des numéros de paragraphe ?
Pour modifier la fonte des numéros de paragraphe, il faut redéfinir
seccntformat.
-
Exemple (LATEX 2e) :
-
-
\makeatletter
\renewcommand\@seccntformat[1]{\texttt{\@nameuse{the#1}\quad}}
\makeatother
%%%% fin exemple %%%%
28.7 Comment modifier la fonte du mode verbatim ?
Le package 'verbatim' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/tools/
permet de faire cela. Il est alors conseillé d'utiliser des fontes
aux normes T1.
L'environnement verbatimcmd du package 'moreverb', disponible sur
ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/,
permet de garder les caractères backslash (\) et les
accolades ({, et }) actifs. On peut donc entre autres opérer des
changements de fonte.
Pour changer la taille de la fonte du mode verbatim, il faut l'encapsuler
dans des commandes de modification de taille.
-
Exemple :
-
-
Texte avant.
\begin{small}
\begin{verbatim}
Texte...
\end{verbatim}
\end{small}
Texte après.
%%%% fin exemple %%%%
28.8 Comment réaliser des changements de fontes relatifs ?
Le package 'relsize' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/other/misc/
permet de faire ce genre de choses. Les commandes offertes sont du
type :
-
\relsize{n} permet d'augmenter (n positif) ou de
diminuer (n négatif) la taille de la fonte par rapport à la taille
courante.
-
Exemple :
-
-
Un \relsize{1}texte \relsize{2}de \relsize{3}toutes
\relsize{-1}les \relsize{-4}tailles.
%%%% fin exemple %%%%
-
\smaller == \relsize{-1}
- \larger == \relsize{1}
avec un argument, on trouve :
-
\textsmaller{text}, \textlarger{text}, \mathsmaller{A}, \mathlarger{B}
%%%% fin exemple %%%%
Le package 'scalefnt' de D. Carlisle disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/carlisle/
permet d'augmenter ou de diminuer suivant un facteur proportionnel,
la taille de la fonte courante.
-
Exemple :
-
-
\scalefont{2} double la taille de la fonte courante
\scalefont{.75} réduit de trois quarts la taille de la fonte
courante.
%%%% fin exemple %%%%
28.9 Comment mettre en évidence une portion de texte ?
Utiliser la commande \emph. Cette commande est définie
dans la classe de votre document, et sert spécifiquement à mettre
en évidence un mot, une expression ou toute une phrase. La plupart
du temps, elle se contente de mettre en italique votre texte.
28.10 Où trouver des fontes ?
Sur CTAN bien sûr, dans ftp://ftp.fdn.org/pub/CTAN/fonts/.
28.11 Comment suivre le chargement des fontes ?
Le package 'tracefnt' permet de suivre le chargement des fontes lors
de la compilation d'un document. Ce package définit plusieurs options
:
-
infoshow pour avoir des informations sur le chargement des polices,
- errorshow permet de n'afficher que les erreurs, etc.
28.12 Pourquoi MakeTeXPK est lancé alors que la fonte existe ?
P. Terray :
C'est un problème de mise à jour de la base lié à kpathsea. Normalement,
MakeTeXPK met à jour la base ``ls-R'' de la TDS, à chaque ajout
de police. Si cette base n'est pas autorisée pour tout le monde, ou
si la variable TEXMF est mal réglée, dvips ou xdvi ne peuvent pas
vérifier que cette police existe. Du coup, ils lancent MakeTeXPK
pour la fabriquer. Et MakeTeXPK sachant par ailleurs où mettre
la police, il vérifie qu'elle existe, et c'est pour ça qu'il donne
le message comme quoi elle existe déjà.
Les solutions (UNIX) :
-
vérifier que $TEXMF est bien réglée
- ls-R, fichier qui se trouve dans le répertoire texmf, doit être autorisé
en lecture écriture pour tout le monde
- reconstruire la base ls-R avec la commande texhash (tout court).
-
ATTENTION :
- il faut avoir les droits de gestionnaire LATEX (ou
root) pour exécuter texhash.
28.13 Comment utiliser \textsc dans un titre en conservant
le gras ?
-
Remarque :
- les sc grasses n'existent pas dans les fontes de Knuth.
En revanche, elles existent dans les fontes EC.
Depuis les dernières modifications dans les fontes EC, la simple utilisation
de ces fontes suffit à activer les petites capitales grasses.
28.14 Comment utiliser des fontes TrueType?
Une source d'information à ce sujet: http://www.radamir.com/tex/ttf-tex.htm