Seite 1 von 1

\def\UrlBreaks wird ignoriert

Verfasst: So 24. Feb 2013, 18:46
von Tom
Hallo Latexfreunde,

ich habe ein kleines Problem mit überlangen Urls im Literaturverzeichnis. Es findet standardmäßig nur ein Zeilenumbruch an Sonderzeichen wie "/", "%", "." etc. statt. Nun hab ich in einem Forum etwas gefunden womit man Urls auch an Buchstaben umbrechen lassen kann, nämlich den \def\UrlBreaks-Befehl. Seltsamerweise wird der bei mir aber ignoriert, er will einfach Immer nur an Sonderzeichen umbrechen.
Könnt ihr mir helfen?
Hier mein Minimalbeispiel:
\documentclass[12pt,a4paper]{article}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[backend=biber]{biblatex}

\usepackage{url} 
\def\UrlBreaks{\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\0
\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\-\do\_}
\urlstyle{same}
 
\usepackage[ 
		breaklinks=true,
    colorlinks,         
    linkcolor=black,  
    filecolor=black,    
    citecolor=black,   
		urlcolor=black		
]{hyperref}

\addbibresource{Literatur2.bib}

\begin{document}
\cite{Beispiel}
\printbibliography
\end{document}
Meine bib-Datei ist:
@misc{Beispiel,
 author = {Beispiel},
 title = {Beispiel},
 url = {http://www.hiiiiiiiiiiiiiiiiiiiiiiiiiiiilfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.de},
 urldate = {2013-02-02}
}

Vielen Dank schon mal im Voraus!

Lieber Gruß,

Tom

Verfasst: Sa 9. Mär 2013, 14:01
von Tom
So, nachdem mir keiner helfen konnte, habe ich viel nachgeforscht und tatsächlich des Rätsels Lösung gefunden.
\documentclass[12pt,a4paper]{article}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[backend=biber]{biblatex}
\setcounter{biburlnumpenalty}{100}
\setcounter{biburlucpenalty}{100}
\setcounter{biburllcpenalty}{100}

\usepackage[ 
		breaklinks=true,
    colorlinks,         
    linkcolor=black,  
    filecolor=black,    
    citecolor=black,   
		urlcolor=black		
]{hyperref}

\PassOptionsToPackage{hyphens}{url}

\addbibresource{Literatur2.bib}

\begin{document}
 

\cite{Beispiel}


\printbibliography 
\end{document}
Mit dem \setcounter-Befehl macht er auf der Suche nach dem optimalen Umbruch bei URLs mehrere Schleifen durch und erlaubt nach Zahlen, Klein- und Großbuchstaben einen Umbruch. Den ewig langen \UrlBreaks-Befehl kann man sich dabei sparen.
Ich hoffe ich konnte damit auch anderen helfen!

Viele Grüße,

Tom

Verfasst: Fr 21. Jun 2013, 15:02
von Besserwisser
\PassOptionsToPackage{…}{url} nach dem Laden von url durch biblatex oder hyperref ist sinnlos. Wenn man die Option an das Paket schicken möchte, dann bevor es geladen wurde. Man kann das Paket auch einfach vor dem Laden von biblatex und hyperref selbst mit anderen Optionen laden: Die Option hyphens braucht man aber eigentlich schon deshalb nicht selbst zu setzen, weil biblatex AFAIK bereits dafür sorgt, dass auch an Bindestrichen getrennt werden darf:
\begin{filecontents}{\jobname.bib}
@misc{Beispiel,
  author={Besipiel},
  title={Beispiel},
  url={http://www.das-ist-eine-url-die-wegen-der-vielen-trennsrichte-normalerweise-ewig-nicht-umbrochen-werden-kann.invalid},
  urldate={2013-06-21},
}
\end{filecontents}
\documentclass[12pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber]{biblatex}
 
\usepackage{hyperref}

\addbibresource{\jobname.bib}

\begin{document}
\nocite{Beispiel}
\printbibliography
\end{document}
funktioniert bei mir bereits bestens.