Re: suftesi, medframed e opzione “style”

#83472
Up
0
Down
::

ivan” post=83263Purtroppo ho riscontrato un’altra incompatibilità, dovuta al fatto che
altri pacchetti definiscono le stesse opzioni di suftesi, magari con valori diversi,
usando xkeyval. Anche il pacchetto bookmark, per esempio, definisce l’opzione style=,
pertanto se si usa
`\documentclass[style=FSPLa]{suftesi}`
si ha un errore analogo, visto che bookmark non riconosce quel valore dell’opzione style.
Mi sorge quindi una questione.
Per quale motivo le opzioni di classe dovrebbero essere ereditate dai pacchetti?
Questo mi pare comporti soltanto dei problemi. Ma forse c’è un’utilità che non vedo.
C’è un modo per evitare tutto questo?

Chiaramente la possibilità che altri pacchetti definiscano le stesse opzioni di suftesi non è
altissima, ma rimane non trascurabile. Forse il nome “style” è infelice, perché troppo comune.

A questo punto, però, serve una soluzione generale.
Per evitare che ci siano incompatibilità con altri pacchetti,
tutte le opzioni definite dalla classe attraverso xkeyval
vanno eliminate da \XKV@classoptionslist.
L’ultima soluzione di Enrico è cristallina: una riga magica per opzione, e il gioco è fatto.
Mi viene il sospetto che sia però troppo semplice.
C’è qualche rischio che non riesco a vedere?
In caso contrario, mi appresto ad aggiungere le poche righe necessarie per
correggere questo bug nella prossima versione.

Non so se esista qualche trucco oberdiekiano per risolvere il problema in modo generale, provo a darci un’occhiata. La decisione di rendere globali, cioè passate a ogni pacchetto, le opzioni date alla classe è stata presa molto tempo fa, quando è stato scritto il nucleo di LaTeX2e e non ci si può fare più di tanto.

Purtroppo, come dici, [tt]style[/tt] è forse un po’ generico e magari [tt]sufstyle[/tt] sarebbe stato meglio.

In realtà il pacchetto xkeyval offre un modo per evitare il problema: pagina 19. Ma richiede che gli autori di pacchetti e pacchetti siano disciplinati e usino [tt][pkg]][/tt] [tt][cls][/tt] rispettivamente.

Ciao
Enrico

Go to top