# Hyperref + \url: long URL with dashes won't break

I've discovered a rather weird behaviour of PdfLaTeX. In this example

\documentclass{article}
\begin{document}
\url{http://www.emarketer.com/blog/index.php/quick-stat-smartphone-users-account-38-mobile-phone-users/}
\end{document}


PdfLaTeX won't break the URL and create a too long line. However, if I replace \url with \href like this:

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{http://www.emarketer.com/blog/index.php/quick-stat-smartphone-users-account-38-mobile-phone-users/}{http://www.emarketer.com/blog/index.php/quick-stat-smartphone-users-account-38-mobile-phone-users/}
\end{document}


I get the line broken, but the font of the link is not right any more of course (normal instead of texttt). Why doesn't URL break the line at dashes and what could I do to get a nicely typeset line-broken link?

-

Load the url package explicitly with the hyphens option:

\usepackage[hyphens]{url}
\usepackage{hyperref}


By default, the url package does not consider hyphens as legal break points.

-
Beautiful, thank you! – texnic Mar 28 '12 at 10:02
Incidentally, there's a good reason for the default: if a URI gets broken at a hyphen, the user may not know whether the hyphen is a part of the URI or an artifact of an intrusive H&J routine. Obviously that doesn't apply in the present case of a news story where the URI has lots of hyphens, but I would caution against using the [hyphens] option as a matter of course. – Peter Flynn Oct 5 '15 at 20:46

The above answer by mhp may not provide a solution when PDFLaTeX complains with "Option clash for package url."

The cause of this may be because of the package hyperref, which also loads the package. If hyperref is loaded before the url package it gives this error, because the url package is then loaded twice with different options: one without and one with hyphens option (this always causes a clash).

If you must load url after hyperref, you can first specify the hyphens option with the PassOptionsToPackage command:

\PassOptionsToPackage{hyphens}{url}

I noticed that the biblatex package apparently also clashes with url. Therefore, the same goes for biblatex as for hyperref: load url before it or use PassOptionsToPackage.
This did not work for me I received a different error though: Undefined control sequence. \loadpackage{hyperref} – Whitecat Mar 9 at 21:42