Suivant: , Monter: Class and package construction   [Table des matières][Index]


3.3.1 Structure d’une extension (classe ou paquetage)

Un fichier de classe pour paquetage comprend typiquement quatre parties.

  1. Dans la partie d’identification le fichier dit s’il s’agit d’un paquetage ou d’une classe LaTeX et s’auto-décrit, en utilisant les commandes \NeedsTeXFormat et \ProvidesClass ou \ProvidesPackage.
  2. La partie des déclarations préliminaires déclare des commandes et peut aussi charger d’autres fichiers. D’ordinaire ces commandes sont celles nécessaires au code utilisé dans la partie suivante. Par exemple, une classe notecms pourrait être appelée avec une option pour lire un fichier où est défini une liste de personnes désignées comme destinataires de la note, comme \documentclass[destinataires-math]{notecms}, et donc on a besoin de définir une commande \newcommand{\defdestinataires}[1]{\def\@liste@destinataires{#1}} à utiliser dans ce fichier.
  3. Dans la partie de gestion des options la classes ou le paquetage déclare et traite ses options. Les options de classes permette à l’utilisateur de commencer leur document comme dans \documentclass[liste d'options]{nom de la classe}, pour modifier le comportement de la classe. Un exemple est lorsque on déclare \documentclass[11pt]{article} pour régler la taille par défaut de la police du document.
  4. Finalement, dans la partie des déclarations supplémentaires la classe ou le paquetage effectue la plus grosse partie de son travail : déclarant de nouvelles variables, commandes ou polices, et chargeant d’autres fichiers.

Voici le commencement d’un fichier de classe, ce qui doit être sauvegardé comme souche.cls à un emplacement où LaTeX peut le trouver, par exemple dans le même répertoire que le fichier .tex.

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{souche}[2017/07/06 souche à partir de laquelle contruire des classes]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
\LoadClass{article}

Elle s’auto-identifie, traite les options de classe par défaut en les passant toutes à la classe article, et puis charge la classe article de sorte à fournir la base du code de cette classe.

Pour plus d’information, voir le guide officiel pour les auteurs de classes et de paquetage, le « Class Guide », http://www.latex-project.org/help/documentation/clsguide.pdf (la plupart des descriptions faites ici s’inspirent de ce document), ou l’article suivant https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf illustrant la construction d’une nouvelle classe.


Suivant: , Monter: Class and package construction   [Table des matières][Index]