Reputation: 99428
Why is this item not shown properly in my bibliography?
@misc{ann, abstract = {ANN is an implbmentation of nearest neighbor search.}, author = {David M. Mount and Sunil Arya}, howpublished = {\url{http://www.cs.umd.edu/~mount/ANN/}}, keywords = {knn}, posted-at = {2010-04-08 00:05:04}, priority = {2}, title = {ANN.}, url = "http://www.cs.umd.edu/~mount/ANN/", year = {2008} } @misc{Nilsson96introductionto, author = {Nilsson, Nils J.}, citeulike-article-id = {6995464}, howpublished = {\url{http://robotics.stanford.edu/people/nilsson/mlbook.html}}, keywords = {*file-import-10-04-11}, posted-at = {2010-04-11 06:52:28}, priority = {2}, title = {Introduction to Machine Learning: An Early Draft of a Proposed Textbook.}, year = {1996} }
EDIT:
I am using
\usepackage{hyperref}
not
\usepackage{url}
. It produces error when using url package together with it. So can the two not work together?
I would like to use hyper links inside pdf file, so I want to use hyperref package instead of url package. I googled a bit, and try
\usepackage[hyperindex,breaklinks]{hyperref}
but there is still no line break just as before. How can I do it?
EDIT:
When using url and hyperref together, if it is just
\usepackage{hyperref}
\usepackage{url}
the compilation by latex is fine, but the link is still hyperlink and has still no linebreak. If I do not use hyperref package, the link has linebreak, but I lose hyper links. Since \url can be used in both hyperref and url packages, how can I specify which package's \url is being used?
If it is
\usepackage{hyperref}
\usepackage[hyphens]{url}
the compilation by latex command will report clash with url:
! LaTex Error: Option clash for package url.
So I wonder how I should do?
Upvotes: 23
Views: 70608
Reputation: 623
Even for website references, my Zotero didn't export a url = ...
line for .bib files, but just howpublished = {https://...}
. This caused some URLs in the bibliography (I had to use multibib, not bibtex) to cause overful hboxes, and the URLs shoot out of the document without a line break.
Apparently, behind the hood, there was no \url, but (I think?) a \href from the hyperref package, which has different behavior.
Out of the MANY options I tried, I ended up manually replacing the howpublished = {https://...}
with a howpublished = {\url{https://...}}
for the broken links. The URLs might look ugly then, this can be fixed with \urlstyle{rm}
after \usepackage[hyphens]{url}
.
Upvotes: 0
Reputation: 3221
If url
package doesn't help, try:
\usepackage{xurl}
\usepackage{hyperref}
Package xurl
is an expanded version of url
, which allows line breaking at every point in the url. Call xurl
before hyperref
.
Source: Does the hyperref breaklinks option have any effect?
Upvotes: 5
Reputation: 9816
You should use them in this order:
\usepackage[hyphens]{url}
\usepackage{hyperref}
You get this error when you use them the other way around.
! LaTex Error: Option clash for package url.
since the hyperref package loads the url package somewhere internally without that hypens option, and then you want to load it with the option, so it clashes.
Turning the order around does what you want and does not give this error (since the package is already loaded hyperref won't load it again with different options)
edit: this was with pdftex, I did not test with other tools.
edit2:
or as mentioned by PatrickT in a comment: \PassOptionsToPackage{hyphens}{url}
if you're using a class that already loads the package, e.g. beamer.
Upvotes: 22
Reputation: 198
At the preamble, just put \usepackage{breaker}
somewhere after \usepackage{hyper ref}
. The \burl
command is defined and, by default, the package also turns the \url
command into a synonym of \burl
.
Upvotes: -1
Reputation: 21
I add this package:
\usepackage[hyphens]{url}
and in the bibtex I used:
howpublished = {**\url{**http://www.......**}**}
and it works out.
Upvotes: 2
Reputation: 1
This simple solution worked for me:
\usepackage{hyperref} \usepackage{breakurl}
The URLs are now perfect.
Upvotes: 0
Reputation: 4495
Weird, I load the url
package (with no option) and hyphenation is done at the slashes /
if needed.
Anyway, simple workaround:
howpublished = {\url{http://www.cs.umd.edu/}\url{~mount/ANN/}},
Manual job, but it splits up the URL yes or yes.
Upvotes: 6
Reputation: 205
for me only this worked:
\usepackage[hyphens]{url}
\usepackage{hyperref}
...
\usepackage{biblatex}
\setcounter{biburlnumpenalty}{100}
\setcounter{biburlucpenalty}{100}
\setcounter{biburllcpenalty}{100}
Taken from: https://tex.stackexchange.com/questions/22854/url-line-breaks-with-biblatex
Upvotes: 5
Reputation: 141
I just ran across almost the same problem and found it solved by putting
\PassOptionsToPackage{hyphens}{url}
before the
\usepackage[...]{hyperref}
Upvotes: 14
Reputation: 4024
If you mean the too-wide spacing, that's because the URLs seems to not allow line-breaks. Why this happens is another question, and the answer depends on your preamble (the packages you use etc.). In principle, if properly used, the url package should allow line breaks.
EDIT This problem (and its solution) is described here (sending you to a Google cache since the site is offline at the moment). Bottom line: either use the breakurl package, or PDFLaTeX, or both.
Upvotes: 11
Reputation: 57890
Normally URLs are hyphenated, but in your bibliography they seem not to be. When the URLs don't fit on one line, they are moved to the next line, and the text before them is stretched to fill out the preceding lines. Since there is only one place to break the line, it's not very likely that the preceding text will fit nicely into a whole number of lines, and so you get all the extra space.
EDIT: When you changed your bib entry, you happened to change it in such a way that the text did fit nicely. This is just a coincidence, you didn't fix your problem.
I suspect that putting
\usepackage{url}
in your preamble will solve it.
Upvotes: 3