Re: [.cls] Caricare diversa classe base a seconda delle opzioni

#67092
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Confesso che non le ho provate, ma ho solo letto il codice; da questa lettura solo la terza versine mi pare che possa funziinare, nel senso che le altre due secondo la mia lettura non funzionano.

    Mi spiego: finché dichiari una opzione con \DeclareOption il suo codice viene messo in una lista, ma non viene eseguito finché non viene eseguito il comando \ProcessOptions. Dunque nei primi due casi i vari \if che corrispondono ai discriminanti non sono impostati e di conseguenza le strutture condizionali funzionano solo con i valori di default di quelle variabili booleane, cioè false.

    Ci sarebbe anche la possibilità di usare \ExecuteOption; questo crea una lista di opzioni da usare, con la clausola che se qualche opzione non è definita, viene silenziosamente ignorata.

    Ci sarebbe anche da sfruttare il fatto che le opzioni non definite per una classe non producono errori, anche se funzionano daopzioni globali, ma viene solo emesso un messaggio “Option … not used”, che appare solo nel file .log.

    Però secondo me la terza variante funziona benissimo; io ho incontrato delle difficoltà a passare opzioni a memoir dalla classe che la chiama, ma forse c’è ancora qualcosa che mi sfugge in tutto questo meccanismo.

    Go to top