Que sont les classes et extensions LaTeX ?#
LaTeX vise à être un traitement de texte le plus général possible. Toutefois, les concepteurs de LaTeX ont choisi de structurer les documents pour faciliter son utilisation, quitte à le limiter quelque peu au premier abord (et à éviter à l’utilisateur de recourir aux primitives de bas niveau de TeX).
1. Les classes#
LaTeX propose de concevoir des documents par le biais d’une abstraction du type du document : la classe. Celle-ci décrit un ensemble de règles de mises en forme (cela laisse cependant des possibilités pour des variations entre documents d’une même classe).
Par défaut, LaTeX propose quatre classes générales (book, report, article et letter) et quelques classes un plus spécialisées telles que slides et ltnews. Pour chaque classe, LaTeX fournit un fichier de classe que l’utilisateur va utiliser via la commande \documentclass
en haut du document. Ainsi, un document commençant par \documentclass{article}
composera un article.
Si le principe est bon, il a un défaut flagrant : les conceptions typographiques réelles fournies par les classes LaTeX ne sont pas forcément unanimement appréciées. La solution consiste alors à affiner la classe. Dans ce cas, un programmeur peut écrire un nouveau fichier de classe qui charge une classe existante, puis la modifie pour obtenir sa propre mise en page du document.
2. Les extensions#
Ceci dit, plutôt que de modifier directement un fichier de classe, l’utilisateur peut aussi adapter une classe en chargeant une ou plusieurs extensions (package, en anglais) :
certaines vont affiner le comportement d’une classe, comme l’extension babel qui modifie des réglages typographiques selon la langue souhaitée pour le document ;
d’autres fournissent de nouvelles fonctionnalités, comme l’extension graphicx permettant d’insérer des graphiques dans un document ou l’extension hyperref permet de créer des hyperliens dans un document.
La distribution LaTeX, elle-même, fournit assez peu d’extensions, mais il y en a beaucoup, développées par une grande variété d’auteurs, déposées sur le site du CTAN ou dans les distributions de TeX. D’un point de vue pratique, les fichiers de classe et d’extension ne sont différents que par l’extension de leur nom :
les fichiers de classe finissent par
.cls
. La classe standard LaTeX article est définie par un fichier appeléarticle.cls
;les fichiers d’extension finissent par
.sty
. L’extension hyperref est représentée sur le disque par un fichier appeléhyperref.sty
.
Important
Historiquement, dans LaTeX 2.09, la distinction entre classe et extension n’existait pas : tout était appelé un style (un style de document ou une option de style de document).