I remember reading in some reference guide that the order of loading packages with
\usepackage in principle doesn't matter. Real life, however, has taught me that in many cases latex packages do not have 'orthogonal' behaviour, so to speak: They might interfere with one another if loaded in the wrong order. A few examples:
biblatextells us to load it before
geometrytells us to load it after
hyperrefin some special circumstances
hyperrefwants to be loaded as the very last package
- for the
ragged2epackage the LaTeX Companion advises: "The package should therefore be loaded after the body font and size have been established – for example, after font packages have been loaded."
- Which packages should be loaded after hyperref instead of before?
- Should the fontenc package be loaded before or after font packages?
And so on. Now: Are there general best practices regarding package loading order in latex? How can I know about dependencies? Are there even recommended ways of structuring the preamble (first layout, then fonts, then babel, then ...) to make sure there is no unwanted interference between packages and/or package configuration?
(I know it is a very general, but I hope still practical and useful question. Thanks!)