Reference: LaTeX, hyperref, and “Command \url already defined.”
2011 June 29
Another random computer fix. I was trying to compile a document with
pdflatex
, and was getting:
LaTeX Error: Command \url already defined.
My document used the hyperref
package, and disabling this did make the
problem go away. But I could compile the document on another machine without
problems.
It turned out that the culprit was the latex2html
package. The hyperref
package requires a package called url.sty
, which normally has some special
hooks that are invoked when hyperref
(and perhaps pdflatex
) are active.
However, latex2html
comes with an old version of url.sty
that doesn’t have
these hooks, and on my machine LaTeX prefers the version that comes with
latexhtml
(in the tex/latex/html/
subdirectory of the texmf
tree) to the
usual version (in tex/latex/ltxmisc/
).
Uninstalling latex2html
solved the problem. Of course, now I don’t have
latex2html
, but I don’t need it at the moment.