Définition d'une classe et taille de police

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Définition d'une classe et taille de police

Messagepar Le Mérovingien » Jeudi 30 Septembre 2010, 11:21

Bonjour,

J'ai créé, pour gagner du temps à chaque fois que je crée un nouveau document, une nouvelle classe basée sur la classe article. A l'intérieur de celle-ci, je passe les options a4paper et 12pt à la classe article. Mon problème est que je n'arrive pas à changer dynamiquement la taille de la font (par exemple revenir en 10pt), alors que le changement de format de page (a5paper par exemple) fonctionne. Voici le code que j'utilise :

Code: Tout sélectionner
% =========================================================================
% CLASSE LaTeX POUR LA RÉDACTION DE FICHE DE MATH
%



\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{coursmath}[2010/09/02 Classe pour cours de math]


%% Chargement de la classe article, avec transfert d'options
\PassOptionsToClass{12pt}{article}
\PassOptionsToClass{a4paper}{article}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions
\LoadClass{article}

% ==========================================================================
% PACKAGES STANDARD REQUIS

% FONTS ET CARACTÈRES
\RequirePackage[T1]{fontenc}
\RequirePackage[latin1]{inputenc}
\RequirePackage[francais]{babel}
\RequirePackage{lmodern}

% etc ...


Et pour créer un nouveau document :

Code: Tout sélectionner
\documentclass[10pt,a5paper]{coursmath}

\title{Introduction à la géométrie dans l'espace}

\begin{document}

\maketitle

tralala

\end{document}


Le problème est le suivant : le format de la page générée est bien a5paper, mais la taille de font reste 12pt, au lieu des 10pt souhaités.

Est ce que quelqu'un a une idée :) ?

Merci d'avance
Le Mérovingien
Utilisateur
 
Messages: 4
Inscription: Jeudi 30 Septembre 2010, 11:07
Statut actuel: Post-bac | Ecole d'ingénieur

Publicité

Re: Définition d'une classe et taille de police

Messagepar pg » Jeudi 30 Septembre 2010, 12:00

Il faut utiliser \LoadClassWithOptions :

Code: Tout sélectionner
\RequirePackage{filecontents}
\begin{filecontents*}{coursmath.cls}
% =========================================================================
% CLASSE LaTeX POUR LA RÉDACTION DE FICHE DE MATH
%



\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{coursmath}[2010/09/02 Classe pour cours de math]


%% Chargement de la classe article, avec transfert d'options
\PassOptionsToClass{12pt}{article}
\PassOptionsToClass{a4paper}{article}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
\LoadClassWithOptions{article}

% ==========================================================================
% PACKAGES STANDARD REQUIS

% FONTS ET CARACTÈRES
\RequirePackage[T1]{fontenc}
\RequirePackage[latin1]{inputenc}
\RequirePackage[francais]{babel}
\RequirePackage{lmodern}

% etc ...
\endinput
\end{filecontents*}
\documentclass[10pt,a5paper]{coursmath}

\title{Introduction à la géométrie dans l'espace}

\begin{document}

\maketitle

tralala

\end{document}
pg
Modérateur
 
Messages: 2599
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Définition d'une classe et taille de police

Messagepar Le Mérovingien » Jeudi 30 Septembre 2010, 14:33

Merci pour la réponse, maintenant les options passées dans \documentclass[]{} sont prises en compte quand je les mets, mais les options par défaut que je définis dans coursmath.cls ne le sont plus :(

Lorsque j'utilise
Code: Tout sélectionner
\documentclass{coursmath}

%etc...

La taille de font est celle par défaut (10 ou 11pt je crois), et la page de taille US Letter (et non A4). Je remets le fichier que j'ai modifié au cas où je me sois trompé.

Code: Tout sélectionner
% =========================================================================
% CLASSE LaTeX POUR LA RÉDACTION DE FICHE DE MATH
%


\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{coursmath}[2010/09/02 Classe pour cours de math]


%% Chargement de la classe article, avec transfert d'options
\PassOptionsToClass{12pt}{article}
\PassOptionsToClass{a4paper}{article}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
\LoadClassWithOptions{article}

% ==========================================================================
% PACKAGES STANDARD REQUIS

% FONTS ET CARACTÈRES
\RequirePackage[T1]{fontenc}
\RequirePackage[latin1]{inputenc}
\RequirePackage[francais]{babel}
\RequirePackage{lmodern}

% ...


Est ce qu'il y a une autre astuce ? Merci
Le Mérovingien
Utilisateur
 
Messages: 4
Inscription: Jeudi 30 Septembre 2010, 11:07
Statut actuel: Post-bac | Ecole d'ingénieur

Re: Définition d'une classe et taille de police

Messagepar Le Mérovingien » Vendredi 01 Octobre 2010, 10:15

J'ai fait quelques tests et trouvé quelque chose d'étrange.

J'utilise ce code pour gérer les options :
Code: Tout sélectionner
\PassOptionsToClass{11pt,a4paper}{article}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
\LoadClass{article}


Avec ce code, si j'utilise
Code: Tout sélectionner
\documentclass[12pt]{coursmath}

La police est en taille 12pt, mais si j'utilise
Code: Tout sélectionner
\documentclass[10pt]{coursmath}

La police reste en taille 11pt.

Si je fais le même test avec une police de 10pt par défaut, la police passe à 11pt et 12 pt quand je passe l'option 11pt et 12pt à \documentclass.
Si je place la taille par défaut à 12pt, la taille de la police reste à 12pt même si j'utilise 10pt ou 11pt dans \documentclass. Etonnant non :shock: ?

J'en déduis que la taille est modifiée seulement si elle est plus grande que la taille par défaut. Je précise que j'ai fait des tests avec d'autres options (sur la taille de la page notamment), et que tout fonctionne bien pour celles là. J'étudie actuellement le fichier article.cls, mais je ne comprends pas ce qui provoque ce comportement, un coup de main est le bienvenue :). Merci d'avance.
Le Mérovingien
Utilisateur
 
Messages: 4
Inscription: Jeudi 30 Septembre 2010, 11:07
Statut actuel: Post-bac | Ecole d'ingénieur

Re: Définition d'une classe et taille de police

Messagepar pg » Vendredi 01 Octobre 2010, 10:27

Le problème ne peut effectivement être résolu avec \LoadClass ou \LoadClassWithOptions. Il faut ruser un peu :

Code: Tout sélectionner
\RequirePackage{filecontents}
\begin{filecontents*}{coursmath.cls}
% =========================================================================
% CLASSE LaTeX POUR LA RÉDACTION DE FICHE DE MATH
%



\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{coursmath}[2010/09/02 Classe pour cours de math]


%% Chargement de la classe article, avec transfert d'options
\newcommand\coursmath@fontsize{Default size}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\DeclareOption{10pt}{\renewcommand\coursmath@fontsize{10pt}}
\DeclareOption{11pt}{\renewcommand\coursmath@fontsize{11pt}}
\DeclareOption{12pt}{\renewcommand\coursmath@fontsize{12pt}}
\ExecuteOptions{12pt}
\ProcessOptions\relax
\LoadClass[a4paper,\coursmath@fontsize]{article}

% ==========================================================================
% PACKAGES STANDARD REQUIS

% FONTS ET CARACTÈRES
\RequirePackage[T1]{fontenc}
\RequirePackage[latin1]{inputenc}
\RequirePackage[francais]{babel}
\RequirePackage{lmodern}

% etc ...
\endinput
\end{filecontents*}
\documentclass[10pt,a5paper]{coursmath}

\title{Introduction à la géométrie dans l'espace}

\begin{document}

\maketitle

tralala

\end{document}

Source : Default options in class wrapper
pg
Modérateur
 
Messages: 2599
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Définition d'une classe et taille de police

Messagepar Le Mérovingien » Vendredi 01 Octobre 2010, 12:03

Merci beaucoup pg, c'est parfait maintenant.

Il fallait quand même aller la chercher cette ruse là, c'est pourtant fréquent de redéfinir une classe à partir de article en changeant la taille (enfin je pense...).
Par contre j'ai pas vraiment compris pourquoi l'option par défaut (12pt) est aussi passée à article en plus de l'option spécifiée dans \documentclass (10pt) (cf le lien du post précédent). D'autant plus que le même cas de figure se présente pour la taille de la page (a4paper suivi de a5paper) et que là ça marche :shock: . Mais bon, j'ai ce que je veux, laissons à Latex ces mystères, sinon c'est pas drôle.

A bientôt ;)
Le Mérovingien
Utilisateur
 
Messages: 4
Inscription: Jeudi 30 Septembre 2010, 11:07
Statut actuel: Post-bac | Ecole d'ingénieur


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot], Proximic [Spider], XANA et 56 invités