The hyperref
documentation says: "Make sure it comes last of your loaded packages". The reason is that it redefines many LaTeX commands. It's a rule of thumb that helps to avoid errors.
However, there are exceptions, for instance the amsrefs
user's guide notes that amsrefs
has to be loaded after hyperref
.
To avoid problems when adding hypertext functionality: do you know further such exceptions?
\ExecuteAfterPackage
sequences. Although I have to check with all the packages meantioned here!pkgloader
package: i’ve only speed-read the docs, but it looks a good step towards automation for the job. (i assume it’s a never-ending process, keeping it up-to-date, but it's looking good.)