Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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
}
share|improve this question
    
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

1 Answer 1

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.

share|improve this answer
2  
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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.