Comment résoudre certaines incompatibilités de packages ?
Il arrive parfois lorsque plusieurs packages sont utilisés
simultanément que des macros différentes portent le même nom, ou
que certaines macros perturbent le fonctionnement d'autres
macros. Dans certains cas le problème peut se résoudre en
changeant l'ordre d'appel des packages.
Exemple (J.P. Drucbert) :
Le paquetage psboxit définit des commandes \psboxit qui
engendrent \special{ps: ...}. Le problème vient de ce
deux-points. Si vous chargez psboxit.sty AVANT babel (option
french), pas de problème, le deux-points est un caractère
ordinaire (other) lors de la déclaration de la macro \psboxit et
donc le \special écrira bien un ":".
Par contre si psboxit.sty est chargé APRES babel (option
french), le deux-points est alors un caractère actif au moment
de la déclaration de la macro \psboxit, et le \special n'écrira
pas un deux-points, mais un espace insécable (en fait une macro
interne de babel) et un :, d'où les erreurs. C'est un cas
classique de catcodes pas très bien gérés (en fait psboxit.sty
devrait sauver le catcode de : , donner la catégorie other au
caractère :, définir \psboxit, puis restaurer le catcode).
%%%% fin exemple %%%%