URL latex linebreak
LatexLine BreaksLatex Problem Overview
When a URL is over a line and goes onto a second line, the hyperlink only uses the first line. Is there a way to get around this and yet still have the URL on multiple lines?
Latex Solutions
Solution 1 - Latex
You should use the url
package:
\usepackage{url}
...
\url{http://long.url.com/... .../stuff}
and it will break it for you at an appropriate place.
Solution 2 - Latex
I suggest using package:
\usepackage{xurl}
This works fine for me on overleaf.
Example:
\url{https://www.tudelft.nl/ewi/over-de-faculteit/afdelingen/intelligent-systems/pattern-recognition-bioinformatics/pattern-recognition-laboratory/data-and-software/dd-tools/}
Solution 3 - Latex
At the preamble, just put \usepackage{breakurl}
somewhere after \usepackage{hyperref}
. The \burl
command is defined and, by default, the package also turns the \url
command into a synonym of \burl
.
Solution 4 - Latex
Do it the following way. You are good to go!
\begin{document}
\sloppy
Solution 5 - Latex
For me only this worked:
\PassOptionsToPackage{hyphens}{url}
\usepackage{hyperref}
and with this code to add line breaks after every normal alphabetic character and with *-~'":
\expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks% save the current one
\do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j%
\do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
\do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D%
\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N%
\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X%
\do\Y\do\Z\do\*\do\-\do\~\do\'\do\"\do\-}%
answer complited from this site: https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url/10401
Solution 6 - Latex
What packages (hyperref,url) and drivers (pdftex, dvips, etc.) are you using? Are you using the breaklinks option to hyperref?
According to the TeX FAQ you might want to try the breakurl
package, though it appears you may simply be out of luck in some cases.
Solution 7 - Latex
Using the xurl package, which loads in the url package for you, is what fixed my issue. It lets a url break anywhere from what I understand
Solution 8 - Latex
What worked best for me (with pdflatex) was
\usepackage[pdftex]{hyperref}
and then just \url{http://stackoverflow.com/}
to create URLs. It only broke URLs at .
and /
, which was okay for my document. Importantly, other approaches I tried created PDFs where only the first line of the URL was a clickable link, and the destination URL was truncated to this portion, which is pretty confusing and bad.
Solution 9 - Latex
Long URLs that contain underscores (_) in path segments will not be broken when using \PassOptionsToPackage{hyphens}{url}\usepackage{hyperref}
. However, I found that I could solve this problem by manually breaking lines in the displayed label using \\\\
, like this:
\href{http://www.researchgate.net/profile/Nick\_Brooks2/publication/220012411\_Cultural\_responses\_to\_aridity\_in\_the\_Middle\_Holocene\_and\_increased\_social\_complexity/links/0922b4f398ad68bc96000000.pdf}{http://www.researchgate.net/profile/Nick\_Brooks2/publication/220012411\_\\Cultural\_responses\_to\_aridity\_in\_the\_Middle\_Holocene\_and\_increased\_social\_\\complexity/links/0922b4f398ad68bc96000000.pdf}
This results in URLs that are a bit prettier (IMO) than the use of \usepackage{breakurl}
and \burl
, as suggested by Debajyoti Mondal, and allows you to display the full URL if you wish.
Solution 10 - Latex
There is a simple answer. Use \usepackage[hidelinks]{hyperref} before \begin{document}