Ciao Enrico, ho un dubbio: che cosa succede se il pacchetto originale contiene impostazioni incompatibili con quelle “personalizzate”? Per esempio, supponiamo che il pacchetto originale usi i pacchetti ccaption e subfigure, e io voglia invece usare il pacchetto caption, con opzioni diverse, e subfig. Viene “data la precedenza” alle opzioni personalizzate?
No, così non si può. La scelta di quali altri pacchetti caricare è stata fatta dall’autore del pacchetto che, evidentemente, ne usa le funzionalità.
Ammettiamo di voler modificare il pacchetto “pack” che carica “ccaption”, ma noi vogliamo “caption”; creiamo allora “modpack.sty”
`\ProvidesPackage{modpack}
\global\expandafter\let\csname ver@ccaption.sty\expandafter\endcsname
\csname ver@\@currname.\@currext\endcsname
\RequirePackage{pack}
\RequirePackage{caption}
\endinput`
Il
La formula magica che comincia con \global impedisce che venga caricato ccaption; infatti, quando si carica il pacchetto “xxx”, LaTeX definisce il comando \ver@xxx.sty; se questo è già definito, altre richieste di \usepackage{xxx} o \RequirePackage{xxx} verranno (quasi) ignorate. Il quasi è per motivi che sarebbe lungo discutere.
A questo punto, tanto vale riscrivere il pacchetto “pack”, probabilmente.
Uno dei difetti di classicthesis è che ne carica troppi, senza usarli veramente. Così impedisce le scelte all’utente.
Ciao
Enrico