I have a large bibliography in which a few items are causing underfull hboxes due to a long URL. Answers to similar questions suggest a number of global options for fixing this; e.g.
Line breaking of URLs in bibliographies
However, I don't want a global solution (like applying \sloppy
or \raggedright
to the whole bibliography), because all the other bibliography items behave as I want them to.
In most cases, I have been able to resolve the issue by inserting a manual line break at the start of the url entry in the .bib file. However, in one case that isn't working. MWE:
\documentclass[natbib]{svmono}
\usepackage{url}
\begin{document}
\cite{koepke2009naturalness}
\bibliographystyle{harvard}
\bibliography{test}
\end{document}
test.bib
@article{koepke2009naturalness,
year={2009},
title={Naturalness in formal mathematics},
journal={\\\url{http://www.math.uni-bonn.de/people/koepke/Preprints/Naturalness_in_formal_mathematics.pdf}},
author={Koepke, Peter}
}
I've tried inserting \\
at various points inside the url; it breaks the line, but I still get an underfull hbox. How can I break the url in a way which doesn't cause an underfull hbox?
Edit: http://www.springer.com/computer/lncs?SGWID=0-164-6-793341-0 <– svmono
http://iccle.googlecode.com/svn-history/r2130/trunk/doc/harvard.bst <– harvard.bst
Best Answer
Update: This question's OP himself has found a good solution between an extra
\\
and a working hyperref.With the help of the
hyperref
package one can write (the example is changed to anunpublished
publication because there is, apparently, no journal):which gives
If only one
\href
is used, likethe link-active area spans the whole first line:
Original answer
An underfull hbox doesn't mean that there's necessarily something wrong. It is merely a warning.
Compare the bibliography entries of the following code.
The one with the extra
\\
doesn't give a warning (but breaks the hyperlink, by the way), the other one does give a warning, but looks the same.(The italic setting from the
journal
field did mess up the spacing either way.)Code
Output