per quanto riguarda \@classoptionslist è da ieri che ci provo ma non ci cavo un ragno dal buco. ho dato un occhiata in giro e al sorgente di latex ma non ci capisco un piffero e non ho idea di come fare a estrarre le opzioni.
Per estrarre la testa di una lista di oggetti separati da una virgola potresti “giocherellare” con \def e gli argomenti delimitati nel seguente modo:`\def\controllo#1,#2\fine{%
\def\temp@a{#2}%
\ifx\temp@a\@empty
\let\next\relax
\else
\def\next{\controllo#2\fine}%
\fi
opzione: #1\newline
\next}`
Per usarlo tieni a mente che ci devi aggiungere una virgola, altrimenti l’ultimo argomento non e’ delimitato correttamente:`\def\pippo{ciao,a,tutti}
\expandafter\controllo\pippo,\fine`Nel tuo caso, invece di scivere opzione XYZ potresti testare #1 (dopo averlo infilato in una macro di appoggio come \temp@b) con \ifx.
secondo te mi sto imbarcando in qualcosa di incasinatissimo? dove potrei documentarmi?
Sul TeXbook, ovviamente 😉