PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : URL im Literaturverzeichnis korrekt umbrechen - Biblatex



MRae
12-04-2011, 00:59
Hallo,

habe vor der Abgabe meiner BA noch ein kleines Problemchen. Und zwar ist es so, dass eine URL im Quellenverzeichnis nicht ordentlich umgebrochen werden kann und somit in den Rand hineinragt. Ich habe da vor einiger Zeit schon einige Sachen wie
\usepackage[hyphenbreaks, preserveurlmacro]{breakurl} ausprobiert. Aber das blieb alles ohne Erfolg.

Hier ein Minimalbeispiel:


\documentclass[
a4paper,
fontsize=11,
BCOR=10mm,
DIV=11,
]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage[
style=numeric,
maxnames=1,
bibencoding=latin1,
backend=bibtex8,
defernumbers=true,
hyperref=true,
alldates=long
]{biblatex}
\usepackage[hyphenbreaks, preserveurlmacro]{breakurl}
\usepackage[breaklinks=true
]{hyperref}

\begin{filecontents}{bachelorarbeit_lit.bib}
@ONLINE{java96,
author = {{Sun Microsystems}},
title = {JavaSoft ships Java 1.0},
year = {1996},
month = {1},
url = {http://findarticles.com/p/articles/mi_m0EIN/is_1996_Jan_23/ai_17853565/?tag=content;col1},
urldate = {2011-03-02},
sortname = {Sun},
keywords = {www}
}

@ONLINE{java02,
author = {{Computer Weekly}},
title = {Write once, run anywhere?},
year = {2002},
month = {5},
url = {http://www.computerweekly.com/Articles/2002/05/02/186793/Write-once-runany\hyphenwhere1.htm},
urldate = {2011-03-02},
sortname = {Computer},
keywords = {www}
}
\end{filecontents}

\bibliography{bachelorarbeit_lit}

\begin{document}
\chapter{Test}
Test \cite{java02}
Test \cite{java96}
\printbibliography
\end{document}


Im Original sieht es sogar noch schlimmer aus. Deshalb habe ich hier an den Link noch eine "1" drangehangen.

Hat jemand eine Lösung?

Vielen Dank im Voraus

Martin

Schweinebacke
12-04-2011, 10:26
Laut breakurl-Anleitung muss breakurl nach hyperref geladen werden. Außerdem ändert breakurl die Anweisung \url nicht, wenn man die Option preserveurlmacro angibt. Auch das steht in der breakurl-Anleitung ebenso wie der Hinweis, dass im Literaturverzeichnis normalerweise eben genau dieses \url verwendet wird. Außerdem bringt es AFAIK nicht, hyperref die Option breaklinks selbst mit zu geben. Die wird intern von den Treibern gesetzt, die das können. Bei Verwendung von pdflatex funktioniert folgendes dann auch ohne Probleme:
\documentclass[
a4paper,
fontsize=11,
BCOR=10mm,
DIV=11
]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage[
style=numeric,
maxnames=1,
bibencoding=latin1,
backend=bibtex8,
defernumbers=true,
hyperref=true,
alldates=long
]{biblatex}
\usepackage{hyperref}
\usepackage[hyphenbreaks]{breakurl}

\begin{filecontents}{bachelorarbeit_lit.bib}
@ONLINE{java96,
author = {{Sun Microsystems}},
title = {JavaSoft ships Java 1.0},
year = {1996},
month = {1},
url = {http://findarticles.com/p/articles/mi_m0EIN/is_1996_Jan_23/ai_17853565/?tag=content;col1},
urldate = {2011-03-02},
sortname = {Sun},
keywords = {www}
}

@ONLINE{java02,
author = {{Computer Weekly}},
title = {Write once, run anywhere?},
year = {2002},
month = {5},
url = {http://www.computerweekly.com/Articles/2002/05/02/186793/Write-once-runany\hyphenwhere1.htm},
urldate = {2011-03-02},
sortname = {Computer},
keywords = {www}
}
\end{filecontents}

\bibliography{bachelorarbeit_lit}

\begin{document}
\chapter{Test}
Test \cite{java02}
Test \cite{java96}

%\raggedright
\printbibliography
\end{document}
BTW: Ich selbst bevorzuge LLiteraturverzeichnisse, die nicht im Blocksatz gesetzt sind.

MRae
12-04-2011, 17:04
Hallo,

danke für die Antwort. Das mit dem Paket "breakurl" war mir eigentlich auch bewusst. Allerdings funktioniert der Umbruch auch bei richtiger Anwendung nicht. http://mrae.bplaced.net/1.jpg

Eventuell noch eine Idee?

Martin

Schweinebacke
12-04-2011, 19:34
URLs im Blocksatz ist eben ein Problem. Blocksatz ist nur möglich, wenn ausreichend Wortabstände vorhanden sind. Ich wiederhole deshalb, dass ich auf den Blocksatz im Literaturverzeichnis verzichten würde. Wie das geht, habe ich bereits mit einem Kommentar in meinem Beispiel angedeutet.

MRae
12-04-2011, 21:27
Okay, habe eine passable Lösung gefunden.

Einfach \sloppy oder \emergencystretch 1.5em vor \printbibliography setzen. Erzeugt halt größere Wortabstände aber passt.

voss
12-04-2011, 22:07
Okay, habe eine passable Lösung gefunden.

Einfach \sloppy oder \emergencystretch 1.5em vor \printbibliography setzen. Erzeugt halt größere Wortabstände aber passt.

es nervt ürbigens, wenn man _gleichzeitig_ in verschiedenen Foren mit derselben Frage aktiv ist.

Herbert

lockstep
12-04-2011, 23:36
es nervt ürbigens, wenn man _gleichzeitig_ in verschiedenen Foren mit derselben Frage aktiv ist.

Kann nur zustimmen.

lockstep