LaTeX est un système de mise en page complet, et à ce titre, offre la possibilité de changer de police de caractère. Néanmoins, les changements de polices, dans l'esprit de LaTeX, doivent êtrre incorporés dans des packages définissant un style de présentation. C'est un peu pour ça que le changement de police est un peu complexe. Il est néanmoins abordable, comme nous allons le voir.
Pour caractériser une police, LaTeX définit quatre atributs:
Normalement, LaTeX est intelligent, et est capable de changer un de ces attributs en conservant les autres constants. Il faut cependant faire attention: si une police donnée (combinaison de tous les attributs) n'est pas disponible, il risque de faire n'importe-quoi, en particulier revenir à la police par défaut. Notons cependant que ceci est signalé par un message assez claire lors de la compilation:
LaTeX Font Warning: Font shape `OT1/cmr/bx/sc' undefined (Font) using `OT1/cmr/bx/n' instead on input line 10.
Notons au passage que LaTeX utilise la notation codage/famille/collection/forme pour décrire une police dans ses messages.
Les commandes pour changer de police sont très simples:
\fontencoding{codage} |
change le codage |
\fontfamily{famille} |
change la famille |
\fontseries{collection} |
change la collection |
\fontshape{forme} |
change la forme |
\selectfont |
active la police définie |
\usefont{code}{fam.}{col.}{forme} |
change tout d'un coup et active |
Les quatre premières commandes, \fontencoding
,
\fontfamily
, \fontseries
et
\fontshape
, préparent un changement de police, qui est
entériné par \selectfont
. L'utilisation normale est de
mettre une ou plusieurs des premières, suivie(s) de
\selectfont
. La commande \usefont
est un
raccourci pour définir les quatre d'un coup et activer le changement.
La police est changé pour tout le reste du texte, jusqu'à la fin du
groupe courrant (rappelons qu'un groupe est délimité par un couple
d'accolades ou une structure
\begin
...\end
. En ce sens, ces fonctions
fonctionnent de la même manière que les commandes obsolètes
\it
, \bf
, etc...
Voici la table de toutes les polices présentes dans l'installation ici. Différentes distributions de LaTeX peuvent en avoir quelques-unes en plus ou en moins parmi les plus exotiques. Ce ne sont pas toutes des polices convenables pour écriré: certaines contiennent des symboles, ou d'autres un jeu restreint de caractères.
Toutes les colonnes (sauf la première) indiquent les noms techniques à
fournir aux différentes commandes LaTeX. Pour le codage, dans le cas
d'une police destinée à écrire du texte, il vaut mieux choisir le
codage T1
. Les collections et les formes les plus
courrantes ont des dénominations standards:
Par défaut, LaTeX utilise les familles Computer Modern,
celles dont le nom commence par cm
. Les différentes
versions qui en existent correspondent aux commandes LaTeX qui
changent radicalement l'apparance du texte: \textsf
et
\texttt
.
Voici un bout de code LaTeX qui vous permettra d'explorer toutes les polices:
\documentclass{article} % La commande montre prend comme arguments les paramètres d'une police, % et en affiche un exemple. \newcommand\montrer[4]{Police #1/#2/#3/#4: {\usefont{#1}{#2}{#3}{#4}ABCDEF abcdef 123456 ,;:!}\par} \begin{document} % Vous pouvez changer les valeurs, pour voir d'autres polices \montrer{T1}{cmr}{m}{n} \montrer{T1}{phv}{m}{sc} \montrer{T1}{ptm}{b}{it} \montrer{U}{pzd}{m}{n} \montrer{U}{yinit}{m}{n} \end{document}
Il ne faut pas oublier que la philosophie de LaTeX est de séparer la présentation et le sens. Changer de police peut certes apporter beaucoup, mais ça risque de poser également des problèmes, au moins dans le cas d'un document long. Pour l'utiliser efficacement et facilement, le mieux est de créer une commande ou un environnement.
\newcommand\nom[1]{{\fontfamily{phv}\selectfont #1}}
Ceci permet de définir la commande \nom
change
la police en Helvetica pour son argument. On peut bien sûr
remplacer \fontfamily{phv}
par autre chose. Notez les
doubles accolades: les premières délimitent la définition, tandis que
les secondes empêchent le changement de police de s'échapper.
\newenvironment{nom} {\fontfamily{phv}\selectfont}{}
Ceci définit l'environnement nom
(donc délimité
par \begin{nom}
et
\end{nom}
), à l'intérieur duquel le texte est en
Helvetica.
On peut (et même on devrait) incorporer les changements de police à
des commandes plus spécifiques, ayant trait au sens du texte, comme
une commande \titre
:
% Les titres sont en Times penché: \titre{The \TeX book} \newcommand\titre[1]{{\fontfamily{ptm}\fontshape{sl}\selectfont #1}}
Enfin, si le but est de changer la police pour tout le document, le mieux est de redéfinir les polices par défaut de LaTeX. Si on regarde dans les fichiers source de LaTeX, on trouve une série de lignes qui contiennent ceci:
\newcommand\rmdefault{cmr} % famille à utiliser pour du Roman \newcommand\sfdefault{cmss} % famille à utiliser pour du Sans Serif \newcommand\ttdefault{cmtt} % famille à utiliser pour du «machine à écrire» \newcommand\bfdefault{bx} % collection à utiliser pour du gras \newcommand\mddefault{m} % collection à utiliser pour du moyen \newcommand\itdefault{it} % forme à utiliser pour de l'italique \newcommand\sldefault{sl} % forme à utiliser pour du penché \newcommand\scdefault{sc} % forme à utiliser pour de petites majuscules \newcommand\updefault{n} % forme à utiliser pour du droit \newcommand\encodingdefault{OT1} % codage normal \newcommand\familydefault{\rmdefault} % famille normale: Roman \newcommand\seriesdefault{\mddefault} % collection normale: moyen \newcommand\shapedefault{\updefault} % forme normale: droit
Les commandes comme \textit
, \texttt
ou
\textbf
sont définies en termes de ces
commandes-ci. Ainsi, il est possible de les modifier proprement:
\renewcommand\sfdefault{phv}
définit que la police
Helvetica est à utiliser comme police pour le texte Sans Serif
(\textsf
). Bien sûr, toutes les variantes sont
possibles. Attention toutefois de bien faire attention que la police
choisie existe dans le codage par défaut et les différentes variantes.