beamer, biblatex und URLs (umbrechen)

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

beamer, biblatex und URLs (umbrechen)

Beitrag von iTob »

Hallo,

ich habe das Problem, dass meine Links nicht (bzw. nur an -) Umbrochen werden. Auch eine neue Definition von \UrlBreaks nutzt nix.

Ein Beispiel sagt mehr …:
\begin{filecontents*}{\jobname.bib}
% This file was created with JabRef 2.6.
% Encoding: ISO8859_1

@BOOKLET{typo-einstieg,
  title = {\LaTeX. Der typographische Einstieg},
  author = {Tobias Berndt},
  address = {M"unchen},
  year = {2008},
  owner = {Tobi},
  timestamp = {2011.01.30}
}

@BOOKLET{hobbits1,
  title = {\LaTeX{} -- eine Einf"uhrung und ein bisschen mehr \dots},
  author = {Manuela J"urgens},
  address = {Hagen},
  year = {2000},
  url = {ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a0260003.pdf},
  urldate = {2010-01-31},
  owner = {Tobi},
  timestamp = {2011.01.30}
}

@BOOKLET{begleiter,
  title = {Der \LaTeX-Begleiter},
  author = {Frank Mittelbach and Michel Goossens},
  address = {M"unchen u.\,a.},
  year = {2005}
}

@BOOKLET{pgfmanual,
  title = {\TikZ{} \& \PGF. Manual for Version 2.10},
  author = {Till Tantau},
  address = {L"ubeck},
  year = {2010},
  url = {http://www.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf},
  urldate = {2010-01-31}
}

@BOOKLET{beamer,
  title = {The \textsc{beamer} class. User Guide for version 3.10},
  author = {Till Tantau and Joseph Wright and Vedran Mileti\'c},
  year = {2010},
  url = {http://dante.ctan.org/get/macros/latex/contrib/beamer/doc/beameruserguide.pdf},
  urldate = {2010-01-31}
}

@ARTICLE{domwass1,
  author = {Dominik Wa"senhofen},
  title = {Bibliografien erstellen mit biblatex (Teil~1)},
  journal = {Die \TeX{}nische Kom"odie},
  year = {2008},
  volume = {2},
  pages = {53--75},
  url = {http://biblatex.dominik-wassenhoven.de/dtk.shtml},
  urldate = {2010-01-31},
  owner = {Tobi},
  timestamp = {2011.01.30}
}
\end{filecontents*}


\documentclass[%
	ngerman,
	handout,
	hyperref={breaklinks=true,pdftex},
]{beamer}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{babel}
\usepackage{ragged2e}
\usepackage{multicol}
\usepackage{tgheros}
\usepackage[scaled=1]{beramono}

\usepackage[%
	style=authortitle,
	dashed=false,
	urldate=long,
	datezeros=false,
	dateabbrev=false,
]{biblatex}

\usepackage[babel,german=quotes]{csquotes}

	\bibliography{\jobname}
	\renewcommand*{\nametitledelim}{\addcolon\space}% Trenner zwischen Autor und Titel bei Zitat
	\renewcommand*{\labelnamepunct}{\addcolon\space}% Trenner zwischen Autor und Titel in Bibliografie
	\renewcommand*{\multinamedelim}{\addcomma\space}% Trenner zwischen Namen
	\renewcommand*{\finalnamedelim}{\addcomma\space}% Trenner vor letztem Namen
	\DeclareNameFormat{sortname}{% Namensformat: Immer Vorname Nachname
		\iffirstinits
		{\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
		{\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}%
		\usebibmacro{name:andothers}
	}
	\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}% Format für URL-Datum
	\DeclareFieldFormat{url}{#1}% Format für URL
	\setlength{\bibitemsep}{0.5\baselineskip}
	\appto\bibfont{\footnotesize}
%	\DeclareFieldFormat{title}{\textbf{#1}}
%	\renewcommand*{\mkbibnamelast}[1]{\textbf{#1}}
%	\renewcommand*{\mkbibnamefirst}[1]{\textbf{#1}}

\urlstyle{same}
\usepackage{url}
% das folgende nutzt nix ... 
\let\oldurlbraks=\UrlBreaks
\renewcommand{\UrlBreaks}{\oldurlbraks\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\?\do\&}


\author[T. Weh]{\texorpdfstring{Tobias Weh\\\url{tweh@uos.de}}{Tobias Weh}}
\title[\LaTeX{} für Musiker]{\textit{\glqq Wordlos glücklich\grqq}}
\subtitle{\LaTeX{} für Musiker\\Eine Einführung}
\institute{Universität Osnabrück}
\date{\today}


\DeclareRobustCommand{\TikZ}{Ti\textit{k}Z}
\DeclareRobustCommand{\PGF}{PGF}
\DeclareRobustCommand{\PGFTikZ}{\PGF/\TikZ}
\DeclareRobustCommand{\PDF}{PDF}
\DeclareRobustCommand{\tmx}{TexMakerX}
\DeclareRobustCommand{\KOMAScript}{\textsf{KOMA-Skript}}



\begin{document}
\maketitle

\begin{frame}[allowframebreaks=0.85,t]{Literatur}
	\nocite{*}
	\printbibliography
\end{frame}

\end{document}
Woran könnte das liegen?

Ich hoffe ich hab nix vergessen (bin grad etwas in Eile …)


Vielen Dank schonmal,
liebe Grüße!
Tobi

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Hallo also erstmal musst du das url Paket auch verwenden:
   \DeclareFieldFormat{url}{\url{#1}}
Sonst wird das nüschts.
Dann kannst du in erster Näherung einfach den Umbruch bei - abschalten
         \renewcommand{\UrlNoBreaks}{\do\-\do\.\do\:}
Ist noch net so ganz die perfekte Lösung aber immerhin besser.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Nabend,


also das ändern des Feldformats macht natürlich Sinn. Hatte ich auch schon versucht zwischendurch aber es hat nicht so viel gebracht.

Ok, ich könnte das „-“ abschalten, aber warum trennt er nicht einfach an „/“? davon gibt es ja genug. Ich verstehe entwerde nicht, wie \UrlBreaks funktioniert oder es tut nicht, was es soll, nämlich Trennstellen definieren. Und da ich im Beispiel alle Zeichen als Trennstelle definiere, sollte er doch auch überall umbrechen können?
(Das es wenig sinnvoll ist, auch hinter Buchstaben umzubrechen sei jetzt mal dahingestellt, aber es sollte dennoch gehen.)

Grad versucht: Mit einer anderen Klasse geht es ohne irgenseine änderen ganz Problemlos …
\begin{filecontents*}{\jobname.bib}
% This file was created with JabRef 2.6.
% Encoding: ISO8859_1

@BOOKLET{typo-einstieg,
  title = {\LaTeX. Der typographische Einstieg},
  author = {Tobias Berndt},
  address = {M"unchen},
  year = {2008},
  owner = {Tobi},
  timestamp = {2011.01.30}
}

@BOOKLET{hobbits1,
  title = {\LaTeX{} -- eine Einf"uhrung und ein bisschen mehr \dots},
  author = {Manuela J"urgens},
  address = {Hagen},
  year = {2000},
  url = {ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a0260003.pdf},
  urldate = {2010-01-31},
  owner = {Tobi},
  timestamp = {2011.01.30}
}

@BOOKLET{begleiter,
  title = {Der \LaTeX-Begleiter},
  author = {Frank Mittelbach and Michel Goossens},
  address = {M"unchen u.\,a.},
  year = {2005}
}

@BOOKLET{pgfmanual,
  title = {\TikZ{} \& \PGF. Manual for Version 2.10},
  author = {Till Tantau},
  address = {L"ubeck},
  year = {2010},
  url = {http://www.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf},
  urldate = {2010-01-31}
}

@BOOKLET{beamer,
  title = {The \textsc{beamer} class. User Guide for version 3.10},
  author = {Till Tantau and Joseph Wright and Vedran Mileti\'c},
  year = {2010},
  url = {http://dante.ctan.org/get/macros/latex/contrib/beamer/doc/beameruserguide.pdf},
  urldate = {2010-01-31}
}

@ARTICLE{domwass1,
  author = {Dominik Wa"senhofen},
  title = {Bibliografien erstellen mit biblatex (Teil~1)},
  journal = {Die \TeX{}nische Kom"odie},
  year = {2008},
  volume = {2},
  pages = {53--75},
  url = {http://biblatex.dominik-wassenhoven.de/dtk.shtml},
  urldate = {2010-01-31},
  owner = {Tobi},
  timestamp = {2011.01.30}
}
\end{filecontents*}


\documentclass[%
	ngerman,
	twocolumn, % Damit die Zeilen nicht so lang werden und es vergleichbar bleibt mit beamer-Klasse
]{scrartcl}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{babel}
\usepackage{ragged2e}
\usepackage{multicol}
\usepackage{tgheros}
\usepackage[scaled=1]{beramono}

\usepackage[%
	style=authortitle,
	dashed=false,
	urldate=long,
	datezeros=false,
	dateabbrev=false,
]{biblatex}

\usepackage[babel,german=quotes]{csquotes}

	\bibliography{\jobname}
	\renewcommand*{\nametitledelim}{\addcolon\space}% Trenner zwischen Autor und Titel bei Zitat
	\renewcommand*{\labelnamepunct}{\addcolon\space}% Trenner zwischen Autor und Titel in Bibliografie
	\renewcommand*{\multinamedelim}{\addcomma\space}% Trenner zwischen Namen
	\renewcommand*{\finalnamedelim}{\addcomma\space}% Trenner vor letztem Namen
	\DeclareNameFormat{sortname}{% Namensformat: Immer Vorname Nachname
		\iffirstinits
		{\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
		{\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}%
		\usebibmacro{name:andothers}
	}
	\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}% Format für URL-Datum
%	\DeclareFieldFormat{url}{#1}% Format für URL
	\DeclareFieldFormat{url}{\url{#1}}
	\setlength{\bibitemsep}{0.5\baselineskip}
	\appto\bibfont{\footnotesize}
%	\DeclareFieldFormat{title}{\textbf{#1}}
%	\renewcommand*{\mkbibnamelast}[1]{\textbf{#1}}
%	\renewcommand*{\mkbibnamefirst}[1]{\textbf{#1}}

\usepackage{hyperref}
\urlstyle{same}

% hier alles nicht nötig
%\usepackage{url}
% das folgende nutzt nix ... 
%\let\oldurlbraks=\UrlBreaks
%\renewcommand{\UrlBigBreaks}{\oldurlbraks\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\?\do\&}
%\renewcommand{\UrlNoBreaks}{\do\-\do\.\do\:}

\DeclareRobustCommand{\TikZ}{Ti\textit{k}Z}
\DeclareRobustCommand{\PGF}{PGF}
\DeclareRobustCommand{\PGFTikZ}{\PGF/\TikZ}
\DeclareRobustCommand{\PDF}{PDF}
\DeclareRobustCommand{\tmx}{TexMakerX}
\DeclareRobustCommand{\KOMAScript}{\textsf{KOMA-Skript}}



\begin{document}
%\RaggedRight
\nocite{*}
\printbibliography

\end{document}
Das finde ich komisch. Ändert beamer etwas, wovon ich nichts weiß?

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Naja das hilft jetzt net viel aber beamer ist sagen wir mal eine Zicke... Da ist so manches anderst als bei anderen... grz
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Stimmt. Das hilft nicht wirklich.


Hättest du denn eine Idee, woran das liegen könnte? Sonst wende ich mich einfach mal an den Entwickler (ich hab ja auch noch die leise Hoffnung, dass domwass noch eine schlaue Lösung präsentiert …)

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Ich benutze in beamer-Präsentationen kein BibTeX oder biblatex, deshalb
kann ich dazu auch nichts sagen.

Gruß,
Dominik.-

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

schade ... wie hälst du es denn mit Literatur zu Präsentationen?
Und hättest du trotzdem eine Idee, woran es liegen könnte?

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

iTob hat geschrieben:schade ... wie hälst du es denn mit Literatur zu Präsentationen?
Gebe ich manuell ein, es sind bei mir nie mehr als 2-3 Titel. Da ich mal
Probleme mit BibTeX und beamer hatte, habe ich mich entschieden, dass der
Aufwand sich nicht lohnt, da näher einzusteigen.
Und hättest du trotzdem eine Idee, woran es liegen könnte?
Nein, tut mir leid.

Gruß,
Dominik.-

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Ok, manuell ist bei 32 Titel mit Anmerkungen zu viel Aufwand finde ich.
Außerdem habe ich inzwischen selbst die Lösung gefunden :D

Das Problem besteht darin, dass beamer den Blocksatz abschaltet (vermute ich anhand der Seiten, die ich in letzte Zeit zu „beamer und Silbentrennung“ gelesen habe). Das ist für normale Folien ja durchaus sinvoll, stört aber die Darstellung der Literaturliste, finde ich. Deshalb einfach mit \justifying vor dem Literaturframe zurück auf den Blocksatz schalten:
% Präambel und Co wie oben
\begin{document}
\maketitle
\justifying
\begin{frame}[allowframebreaks=0.85,t]{Literatur}
	\nocite{*}
	\printbibliography[prenote=anmerkung]
\end{frame}
\end{document}
Vielen Dank für euere Anregungen!
Tobi

PL

Beitrag von PL »

Schau dir in biblatex.def mal \biburlsetup an. Biblatex übersteuert die Trennstellen von url.sty lokal. Wenn du das ändern willst, musst du \biburlsetup ändern. Allerdings sind die Standardeinstellungen so angelegt, dass so viele Umbruchpunkte wie irgend möglich erlaubt werden, natürlich auch an "/".

Antworten