# Manually URL linebreak with Biblatex

First I should say that I don't have much experience with LaTeX.

I'm using BibLaTeX and Biber.

My Problem: I have a (justified) bibliography with long URL's containing long words. BibLaTeX makes a linebreak at a place with a slash. But I want to make that linebreak in the following word.

In the minimal example: I want to do the linebreak at: Markt-beobachtung.

The aim is that in the second line there aren't that big spaces between the letters, words, slashes. And that the second line doesn't start with //.

I'm trying to do this for 3 hours now, so I really appreciate your help.

Here is the .tex file.

\documentclass[oneside]{scrbook}
\usepackage[backend=biber,style=alphabetic]{biblatex}
\usepackage[ngerman]{babel}
\bibliography{test_bib.bib}

\begin{document}
\cite{bundesnetzagentur}
\printbibliography
\end{document}


And that's the test_bib.bib:

@ONLINE{bundesnetzagentur,
author = {Bundesnetzagentur},
title = {Teilnehmerentwicklung im Mobilfunk},
year = {2012},
url = {http://www.bundesnetzagentur.de/DE/Sachgebiete/Telekommunikation/Marktbeobachtung/Mobilfunkteilnehmer/Mobilfunkteilnehmer_node.html },
hyphenation=ngerman
}

-
Welcome to TeX.SX. A tip: If you indent lines by 4 spaces, then they're marked as a code sample. You can also highlight the code and click the "code" button ({}) or hit Ctrl+K. –  Claudio Fiandrino Mar 15 '13 at 18:06
Thanks for the info –  Vlad Mar 16 '13 at 7:58

The package biblatex loads the package url. The list of characters that allow line-breaks is given by \UrlBreaks and \UrlBigBreaks, which have the format \do\c for each character c. For more information read the documentation.

The default setting of \UrlBreaks is

\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\;\do\>\do\]%
\do\)\do\,\do\?\do\'\do+\do\=\do\#}%
\def\UrlBigBreaks{\do\:\do@url@hyp}%


To allow more break points you can add

\g@addto@macro{\UrlBreaks}{\UrlOrds}


for ordinary symbols and you can do

\g@addto@macro{\UrlBreaks}{%
\do\/\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}


for breakpoints after letters.

In the same way you can setup the command \UrlNoBreaks to define symbols/letters where no linebreaks are allowed. The default setting is:

\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}%


The commands using the special symbol @. So you need \makeatletter/\makeatother. Please refer the question What do \makeatletter and \makeatother do? for more information.

-
OK with that commands I can set the characters which allow a linebreak. But I want to set the linebreak manually. I tried your suggestion. But it makes a linebreak at a bad place. It's doing: Ma \linebreak rktbeobachtung –  Vlad Mar 16 '13 at 8:13