|
Je suis en train d'écrire une classe qui étend la classe Je souhaite que la langue par défaut des documents soit le français, mais qu'il soit possible de passer une option à l'initialisation de la classe pour que la langue devienne l'anglais (par exemple). J'ai donc écrit le début de code suivant : \NeedsTeXFormat{LaTeX2e}[1996/12/01]
\newcommand{\classname}{xxx}
\ProvidesClass{\classname}[xxxxxx]
\providecommand{\baseclass}{article}
\RequirePackage{etoolbox}
\RequirePackage{xparse}
\newbool{english}
\DeclareOption{english}{\booltrue{english}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\baseclass}}
\ifbool{english}{% Required to change language for document elements
\immediate\typeout{English mode selected}
\PassOptionsToClass{english}{\baseclass}
}{
\immediate\typeout{No language given}
\PassOptionsToClass{french}{\baseclass}
}
\ProcessOptions*
\LoadClassWithOptions{\baseclass}
\RequirePackage{lmodern}
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{babel}
\endinput
Un exemple de document à compiler pourrait être : \documentclass{xxx} \usepackage{csquotes} \title{Ceci est un test} \author{A. Nonymous} \begin{document} \maketitle \section{Bonjour} Ceci est un test de section avec des guillemets pour voir si tout compile bien avec les langues \enquote{Test dans les guillemets} \end{document} Le problème est qu'actuellement, si je passe J'ai (à mon sens) besoin d'avoir le drapeau booléen Comment puis-je faire pour passer correctement ces options à ma sous-classe ? |