Line breaks of long URLs in biblatex bibliography?
Hacking \UrlBreaks
is not needed for \url
inside the bibliography of biblatex
. Package biblatex
uses \biburlsetup
and has already added lots of characters. The breaking at some character classes is controlled by counters. From the documentation of biblatex
, "4.10.3 User-definable Lengths and Counters":
biburlnumpenalty
: If this counter is set to a value greater than zero,biblatex
will permit linebreaks after numbers in all strings formatted with the\url
command from theurl
package. This will affect URLs and DOIs in the bibliography. The breakpoints will be penalized by the value of this counter. If URLs and/or DOIs in the bibliography run into the margin, try setting this counter to a value greater than zero but less than 10000 (you normally want to use a high value like 9000). Setting the counter to zero disables this feature. This is the default setting.
biburlucpenalty
: Similar tobiburlnumpenalty
, except that it will add a breakpoint after all uppercase letters.
biburllcpenalty
: Similar tobiburlnumpenalty
, except that it will add a breakpoint after all lowercase letters.
An example:
\RequirePackage{filecontents}
\begin{filecontents}{bachelorarbeit_lit.bib}
@ONLINE{java96,
author = {{Joe Black}},
title = {Foobar 1.0},
year = {1996},
month = {1},
url = {http://www.aaa.bb.cccc.dh/uploads/dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd.pdf},
urldate = {2011-03-02},
sortname = {Sun},
keywords = {www}
}
\end{filecontents}
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend=biber]{biblatex}
\usepackage{url}
%%% --- The following two lines are what needs to be added --- %%%
\setcounter{biburllcpenalty}{7000}
\setcounter{biburlucpenalty}{8000}
\bibliography{bachelorarbeit_lit}
\begin{document}
Test \cite{java96}
\printbibliography
\end{document}
There is another way (SHORTER) of doing that: just put the entry below before the \begin{document}
:
\usepackage{url}
\def\UrlBreaks{\do\/\do-}
This allows to have your customized (or required!) bibliography style (e.g. \bibliographystyle{IEEEtran}
) unchanged.