This isn't a real question, so I'm marking it community wiki.
When I was new to LaTeX, I thought that the \usepackage
command worked much like the #include
command of the C language: just put whatever you need in the preamble, in whatever order you like.
But then bugs began to bite me and I realised, with growing horror, that commutative packages seem to be the exception rather than the rule.
They appear so often that I think it would be useful to have a list here of problematic interactions between pairs of packages, and their correct order.
Also, a question for amusement:
I want to know if there exists three packages A
, B
and C
, such that A
has to be included before B
and B
needs to be included before C
, but C
needs to be included before A
.
\usepackage
does work like the#include
directive, and if you could overwrite existing definitions in C, you'd run into the same issues that LaTeX has.foo
and packagebar
both redefine two commands,\jedi
and\sith
, and you wantfoo
's\jedi
butbar
's\sith
, then no order of package loading will get you both...