Discussione http://www.guit.sssup.it/phpBB2/viewtopic.php?t=5417 al quinto e sesto post.
Si risolve facilemnte con un \newif
Molte grazie per la dritta. Alla luce del tuo consiglio, la mia classe assume quindi la seguente forma:
`\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{lezione}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\newif\iflezione@esercitazione
\DeclareOption{esercitazione}{\lezione@esercitazionetrue}
\ProcessOptions\relax
\LoadClass{article}
\iflezione@esercitazione
\newcommand{\@tipologia}{Esercitazione}
\else
\newcommand{\@tipologia}{Lezione}
\fi
\renewcommand{\@maketitle}{%
\newpage
\null
\vskip 2em%
\begin{center}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1em%
{\large Tipologia: \@tipologia}%
\end{center}%
\par
\vskip 1.5em}
\endinput`
L’unico dubbio che mi rimane è quello di avere inserito le istruzioni al posto giusto. Comunque, a meno che qualcuno non abbia commenti da fare, considero questa versione la definitiva.
Per quanto riguarda la seconda domanda, mi rispondo da solo (adesso che la classe funziona): nonostante l’istruzione
`\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}`
sembra che non vi siano ambiguità: l’opzione «esercitazione» viene gestita dalla classe e tutto il resto da article.cls.
Grazie e a presto!