Re: keyval e \DeclareOption

#27437
Up
0
Down
::


Grazie Enrico!!

Per quanto riguarda il 10pt potrei usare l’escamotage del \newcommand detto sopra, ma in ogni caso per ora ho deciso di obbligare all’uso dell’ 11pt, in fondo se deve essere uno stile comune… sono sicuro che qualcuno avrebbe consegnato la tesi compilandola con il 10pt o 12pt…

Solo un appunto sulla spiegazione del 10pt.
Se non ho capito male, usando \LoadClass l’ordine delle opzioni è quindi:

1. Opzioni di default della classe richiamata con \LoadClass
2. Opzioni richiamate con \ExecuteOptions
3. Opzioni del comando \LoadClass
4. Opzioni del comando \documentclass

E se una opzione viene richiamata più di una volta, le volte successive vengono ignorate.

Credo però che le ultime due siano invertite. Infatti il seguente codice non produce un documento oneside nonostante tale opzione sia richiamata da \documentclass[oneside]{sapthesis}.

`
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{sapthesis}[2009/01/01 Sapienza University of Rome Ph.D. thesis class]

% dichiaro e processo le opzioni
\DeclareOption{draft}{\PassOptionsToClass{draft}{book}}
\DeclareOption{oneside}{\PassOptionsToClass{oneside}{book}}
\DeclareOption{twoside}{}
\DeclareOption{10pt}{\ClassError{sapthesis}{Option '10pt' not valid.}{Option '10pt' not valid. '11pt' is the default and the only accepted font size.}}
\DeclareOption{11pt}{}
\DeclareOption{12pt}{\ClassError{sapthesis}{Option '12pt' not valid.}{Option '12pt' not valid. '11pt' is the default and the only accepted font size.}}
%\DeclareOption*{\PassOptionsToPackage{layaureo}{\CurrentOption}}
\ProcessOptions\relax
\LoadClass[a4paper,11pt,twoside]{book}
`

Passando a layaureo, potrei anche rinunciare all’allargamento della colonna del testo e al rapporto aureo tra i margini, quello che invece ritengo necessario è avere un margine per la rilegatura regolabile.
Usando layaureo o altre classi, ho il problema di come passargli l’opzione.
Però potrei usare keyval per tutto e poi usare geometry…
Oppure potrei definire molte opzioni tipo 4mm, 5mm, 6mm, 7mm, 8mm, ecc… e passa la paura.
Speriamo che in LaTeX3 introducano una interfaccia completa per le opzioni!

Ciao ciao.
Fra

Go to top