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}}
%…`
Il modo classico è
`\newif\ifmylett@internal
\DeclareOption{internal}{\mylett@internaltrue}
\DeclareOption{external}{\mylett@internalfalse}`
e poi usare
`\ifmylett@internal
…
\else
…
\fi`
È più o meno come avresti fatto con ifthen; trovo che la sintassi
`\ifthenelse{\boolean{xyz}}{
sia troppo pesante e difficile da mantenere.
È buona norma usare un prefisso comune a tutti i comandi interni definiti nella classe, in modo da minimizzare il rischio di ridefinizioni accidentali.
Ciao
Enrico