[quote]
L’errore è caricare microtype prima di aver definito \normalsize. Il caricamento dei pacchetti va, di norma, dopo \ProcessOptions. Prima vanno solo quelli “generici” come ifpdf o ifthen (ma ti serve davvero?).Non vanno mai caricati con una classe né babel né inputenc.
Ok. Deriverò la classe da article percorrendo una via più alla mia portata.
Ma c’è un modo per caricare babel ed inputec senza che lo faccia esplicitamente l’utente scrivendo i vari \usepackage nel proprio sorgente?
Vorrei il massimo della sempificazione.
Se vuoi che la classe usi solo il modulo dell’italiano di babel, allora puoi anche dire
`\RequirePackage[italian]{babel}`
ma così impedisci di usare qualsiasi altra lingua. Quanto a inputenc, se lo metti nella classe forzi gli utenti a usare la codifica che decidi tu. Sicuro di volerlo?
Ciao
Enrico[/quote]
Gentilissimo Prof,
La classe dovrebbe essere usata sempre con l’italiano e in sistemi windows, perchè dovrebbe essere comune solo al gruppo di lavoro.
Comunque non avevo pensato a questo tipo di conseguenze.
Grazie mille, ora proseguirò tenendo conto di questo problema, completando il codice che deve gestire due opzioni.
Al posto di ifthen, ho creato un comando che andrà testato successivamente a mo di flag multiplo.
`\DeclareOption{internal}{\def\@lettertype{internal}}
\DeclareOption{external}{\def\@lettertype{external}}`
Non sono pratico di test \if, quindi vorrei un suggerimento su come testare il valore di \@lettertype per far eseguire il codice opportuno.
Comunque la classe è diventata questa:`% section: identification
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{myletter}[2009/01/15 v0.1 Standardletter]
%
% section: option declaration
%
\DeclareOption{internal}{\def\@lettertype{internal}}
\DeclareOption{external}{\def\@lettertype{external}}
%
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
%
% section: process option
%
\ExecuteOptions{external}
%
\ProcessOptions\relax
%
\LoadClass[a4paper]{article}
%
% section: loading package
%
\RequirePackage[italian]{babel}
\RequirePackage[T1]{fontenc}
\RequirePackage[latin1]{inputenc}
%
\RequirePackage{tikz}
\RequirePackage{eurosym}
\RequirePackage{lmodern}
\RequirePackage{indentfirst}
\RequirePackage{microtype}
\RequirePackage{geometry}
\geometry{%
hmargin=15mm,
vmargin=15mm
}
%
%
%
% section: code
\frenchspacing
%…`
A risentirci!