« LaTeX/Créer une extension ou une classe » : différence entre les versions

Contenu supprimé Contenu ajouté
extension personnelle : ébauche
Ligne 12 :
* il doit commencer par la déclaration du format de LaTeX pour lequel il a été conçu :<br /><code>\NeedsTeXFormat{LaTeX2e}</code> pour LaTeX-2ε ;
* il faut indiquer que c'est une extension et indiquer le nom du fichier (sans le <code>.sty</code>) :<br /><code>\ProvidesPackage{''NomDuFichier''}</code> ;<br />il est recommandé d'indiquer des informations comme le numéro de version et la date afin de faciliter la mise à jour :<br /><code>\ProvidesPackage{''NomDuFichier''}[''informations sur la version'']</code>.
 
Si l'on veut appeler une extension au sein de cette extension, on n'utilise pas <code>\usepackage</code> mais <code>\RequirePackage</code>.
 
Voici un exemple d'extension élémentaire reprenant simplement le préambule général des fichiers <code>.tex</code> :
 
; Fichier <code>monextension.sty</code>
<source lang="latex">
\NeedsTeXFormat{LaTeX2e}
 
\ProvidesPackage{monextension}[Extension personnelle, 19 septembre 2007, V1.0]
 
% extensions
 
\RequirePackage[latin1]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{lmodern}
\RequirePackage{graphicx}
\RequirePackage[frenchb]{babel}
 
% commandes personnelles
 
\newcommand{\langue}{\emph} % mots en langues étrangères
\newcommand{\citital}{\emph} % citation en italique
\newcommand{\nomprog}{\texttt} % nom de programme en police teletype
</source>
 
Le fichier <code>.tex</code> sera alors typiquement
 
<source lang="latex">
\documentclass[a4paper, 11pt]{article}
 
\usepackage{monextension}
 
\begin{document}
...
</source>
 
== Classe personnelle ==
 
== Gestion des options ==
 
== Voir aussi ==