Is there a way of creating a dependency tree for packages \RequirePackageing each other for those packages used in my document, ideally with the respective required options and version numbers? Are there any tools or packages for this purpose? This is very important for debugging package options conflicts (see "Package options and \RequirePackage: order of commands and option conflicts?"; see also "What are best practices for package authors to deal with package conflicts?").
For example, I don't need to load graphicx explicitly because dtklogos (which I'm using) already requires/loads it. In fact graphicx also requires/loads graphics and also keyval, which is incidentally also required/loaded by microtype. Etc. I would like to give an example involving package option conflicts, but as the relevant dependencies are cumbersome to figure out and debug, no example is on my mind right now (I've bumped into several, but since they didn't compile, I abandoned them and have forgotten about them); this is one thing this question can actually help to address.
\RequirePackagefor it to log/write/track them somewhere else. If not, something should probably be patched; I genuinely hope that I won't need to wait for LaTeX3 :-) – Lover of Structure Feb 24 at 15:11dvipsnamesand anothersvgnamesforxcolorpackage, what should you do? What should be tracked? If a package requires another which requires yet enother how much deep should you go? The issue is not that straightforward to keep track of the packages AND their respective options. – percusse Feb 24 at 15:22graphicx, then load it, regardless, if it is already loaded or another package loads it. Thus packagedtklogomight loadgraphicxin it current version, but this is very likely an implementation detail for the package. In a later versiondtklogosmight implement it differently withoutgraphicxand your package is then broken. – Heiko Oberdiek Feb 24 at 16:04