Non puoi dare due volte \ProcessOptions.
`\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{colorbeamer}[2009/11/15 v0.1 Mirko's version of Beamer]
\RequirePackage{xifthen}\newboolean{colorbeamergreen}
\newboolean{colorbeamerblue}
\newboolean{colorbeamerred}
\newboolean{colorbeamerbib}\DeclareOption{green}{\setboolean{colorbeamergreen}{true}}
\DeclareOption{blue}{\setboolean{colorbeamerblue}{true}%
\setboolean{colorbeamergreen}{false}}
\DeclareOption{red}{\setboolean{colorbeamerred}{true}%
\setboolean{colorbeamergreen}{false}}
\DeclareOption{bibbook}{\setboolean{colorbeamerbib}{true}}
\DeclareOption{bibart}{\setboolean{colorbeamerbib}{false}}\PassOptionsToPackage{svgnames}{xcolor}
\PassOptionsToClass{hyperref={pdfpagelabels=false}}{beamer}\ExecuteOptions{green,bibart}
\ProcessOptions\relax\LoadClass{beamer}%[2005/06/12]
\RequirePackage{graphicx}
\hypersetup{colorlinks=false}
`
Non userei affatto la sintassi di xifthen per quel tipo di impostazioni (non userei \ifthenelse nemmeno sotto minaccia fisica, per la verità :)). Forse sarebbe più semplice dire
`\DeclareOption{red}{\def\mirko@color{red}\chardef\mirko@colnumber\z@}
\DeclareOption{green}{\def\mirko@color{green}\chardef\mirko@colnumber\@ne}
\DeclareOption{blue}{\def\mirko@color{blue}\chardef\mirko@colnumber\tw@}`
Per il codice successivo puoi usare \mirko@color quando hai bisogno del nome del colore; per codice diverso a seconda dei colori puoi usare \ifcase:
`\ifcase\mirko@colnumber
\or
\or
\fi`
Molto più facile da mantenere, secondo me, e anche da estendere.Ciao
Enrico
Ciao Enrico,
Grazie dei consigli, che han fatto funzionare il codice, almeno parzialmente.
Nel senso che usando dei flag, il codice va effettivamente all’interno dei casi previsti, ma i comandi non vengono eseguiti… Riporto quello che si trova subito dopo lo stralcio di codice dei messaggi precedenti`\usetheme{Warsaw}
\beamertemplatenumberedballsectiontoc
\ifcase\mirko@colnumber
{ %Rosso
\usecolortheme[rgb={.5,0,0}]{structure}
}\or
{ %Verde
\usecolortheme[rgb={0,.5,0}]{structure}
}\or
{ %Blu
\usecolortheme[rgb={0,0,.5}]{structure}
}\fi`Questo equivale a non dare nulla (che per la struttura del tema, è come dare il blu)… strano comportamento!
Per flag, ho tolto i commenti a Rosso, Verde, Blu e ho visto che effettivamente scopre solo l’errore nella posizione giusta e lo scrive nel pdf.
Il codice dentro i case, se portato fuori, funziona correttamente e fa il suo lavoro!
Come mai?
Grazie e buona serata,