von Gast » Di 19. Jun 2018, 09:55
Unter der Annahme, dass an allen anderen Stellen (\parencite, Literaturverzeichnis, ...) trotzedem nur ein Komma stehen soll, gibt es das "und" für \textcite mit
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareDelimFormat[textcite]{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}
statt nur \DeclareDelimAlias{finalnamedelim}{multinamedelim} wie bisher.
Das mit dem Umbrechen ist schwieriger.
\DeclareDelimFormat{nameyeardelim}{\addnbspace}
\DeclareDelimFormat[textcite]{nameyeardelim}{\addnbspace}
würde das Umbrechen zwischen Namen und Jahr unterbinden, nicht jedoch innerhalb von "Geistefeldt und Glatz" (sowohl an den Leerzeichen als auch in den Namen könnte ein Umbruch stattfinden), wenn man das ganz unterbinden möchte, dann muss man wesentlich tiefer gehen. Aber das kann ich auch absolut nicht empfehlen, denn "(Geistefeldt und Glatz 2010)" ist viel zu lang, als dass es als eine Einheit behandelt werden dürfte. Das macht den Satz kaputt. Außerdem bevorzugt TeX übervolle Zeilen zu untervollen, standardmäßig geht das Zitat also nicht in die nächste Zeile, es geht über den Rand. Mit etwas Gebastel kann man TeX überreden, stattdessen in die nächste Zeile zu gehen, aber das reißt riesige Lücken in den Satz, den man dann schon gar nicht mehr als Blocksatz erkennt. Unten gibt es einen neuen Befehl \nbparencite den Du nutzen kannst, um Deine Betreuerin davon zu überzeugen, dass das Schwachsinn ist.
Für den Umbruch müssen wir zuallererst eingestehen, dass die URL für den vorgegebenen Platz viel zu lang ist, also zwangsläufig umgebrochen werden muss, und dazu auch noch wenige gute Umbrechpunkte hat. Normalerweise möchte TeX die URL nur an Zeichen wie /, . umbrechen und nicht mitten in einem Wort. Das lässt sich hier nicht vermeiden, also kannst Du mit
\setcounter{biburlnumpenalty}{9000}% Zahlen
\setcounter{biburllcpenalty}{9000}% Kleinbuchstaben
\setcounter{biburlucpenalty}{9000}% Großbuchstaben
Umbrüche auch nach Zahlen, Klein- und Großbuchstaben erlauben. Das sieht zwar blöd aus, ist aber besser als eine URL, die gar nicht bricht.
Bartman erwähnte die Sache mit \RaggedRight schon, das ist keine Umgebung. Die Umgebung wäre FlushLeft.
Ich habe die .bib-Datei auch etwas umgebaut. Insbesondere brauchst Dun bei BAST2017 kein shorthand, wenn Du den shorteditor richtig befüllst. Ich bin ferner der Meinung, dass das BASt bei da ruhig author statt editor sein darf, aber das musst Du entscheiden.
%\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{Geistefeldt2010,
author = {Justin Geistefeldt and Matthias Glatz},
title = {Temporäre Seitenstreifenfreigabe},
subtitle = {Das Beispiel Hessen in Deutschland},
journaltitle = {Strasse und Verkehr},
year = {2010},
number = {12},
location = {Zürich},
}
@Online{BAST2017,
editor = {{Bundesanstalt für Straßenwesen (BASt)}},
shorteditor = {BASt},
title = {Anlagen zur Verkehrsbeeinflussung auf Bundesfernstraßen},
year = {2017},
url = {https://www.bast.de/BASt_2017/DE/Verkehrstechnik/Fachthemen/v5-verkehrsbeeinflussungsanlagen.html},
urldate = {2018-06-13},
}
\end{filecontents*}
\documentclass[fleqn, a4paper, 11pt, oneside, openright]{report}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[onehalfspacing]{setspace}
\usepackage{parskip}
\usepackage[final]{microtype}
\usepackage{wasysym}
\usepackage{enumitem}
\usepackage{emptypage}
\usepackage{ragged2e} %Ermöglicht Flattersatz im LV
\usepackage[a4paper , lmargin = {2.5cm} , rmargin = {2.5cm} , tmargin = {2.5cm} , bmargin = {2cm} ]{geometry}
\usepackage{csquotes}
\usepackage[style=ext-authoryear, articlein=false, introcite=label, isbn=false, giveninits=true, uniquename=init, maxcitenames=2, maxbibnames=10, dashed=false]{biblatex}
\usepackage[pdftex, colorlinks, linkcolor=black, frenchlinks]{hyperref}
\DefineBibliographyStrings{german}{
andothers = {et\,al\adddot},
issue = {Heft},
}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\finentrypunct}{}
\DeclareNameAlias{sortname}{family-given}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareDelimFormat[textcite]{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand*{\revsdnamepunct}{}
\DeclareLabeldate{% kein o.D. wenn keine Jahreszahl
\field{date}
\field{year}
\field{eventdate}
\field{origdate}
\field{urldate}
}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat{shorthand}{\textsc{#1}} %Shorthands in Kapitälchen
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addcomma\space}%
\iffieldundef{series}
{}
{\setunit*{\addcomma\space}%
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{volume+number+eid}%
\setunit{\volnumdatedelim}%
\usebibmacro{issue+date}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit
\usebibmacro{publisher+location+date}%
\newunit}
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{jourvol}~#1}
\renewcommand*{\volnumdelim}{\addcomma\space}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{issue}~#1}
\DeclareFieldFormat[book,periodical]{number}{\bibstring{issue}~#1}
\DeclareFieldFormat{url}{\addspace\url{#1}}
\DeclareSortingTemplate{nyt}{%Sortierung alphabetisch anhand Shorthands
\sort{
\field{presort}
}
\sort[final]{
\field{sortkey}
\field{shorthand}
}
\sort{
\field{sortname}
\field{author}
\field{editor}
\field{translator}
\field{sorttitle}
\field{title}
}
\sort{
\field{sortyear}
\field{year}
}
\sort{
\field{sorttitle}
\field{title}
}
\sort{
\field{volume}
\literal{0}
}
}
% Umbrüche
\setcounter{biburlnumpenalty}{9000}% Zahlen
\setcounter{biburllcpenalty}{9000}% Kleinbuchstaben
\setcounter{biburlucpenalty}{9000}% Großbuchstaben
\AtBeginBibliography{\RaggedRight}
\addbibresource{\jobname.bib}
%% Don't try this at home
\newrobustcmd*{\nbparencitewrapper}[1]{%
\hfil\allowbreak\hfilneg\mbox{\mkouterparencitedelims{#1}}}
\DeclareCiteCommand{\nbparencite}[\nbparencitewrapper]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}
%%
\begin{document}
Nach \textcite{Geistefeldt2010} wird hier zitiert. Lorem ipsum dolor sit amet \nbparencite{Geistefeldt2010} sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam \nbparencite{Geistefeldt2010} erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Das Problem bei Internetquellen. \cite{BAST2017}
\printbibliography[heading=bibintoc, title=Literaturverzeichnis]
\end{document}
Unter der Annahme, dass an allen anderen Stellen ([tt]\parencite[/tt], Literaturverzeichnis, ...) trotzedem nur ein Komma stehen soll, gibt es das "und" für [tt]\textcite[/tt] mit
[code]\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareDelimFormat[textcite]{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}[/code]
statt nur [tt]\DeclareDelimAlias{finalnamedelim}{multinamedelim}[/tt] wie bisher.
Das mit dem Umbrechen ist schwieriger.
[code]\DeclareDelimFormat{nameyeardelim}{\addnbspace}
\DeclareDelimFormat[textcite]{nameyeardelim}{\addnbspace}[/code]
würde das Umbrechen zwischen Namen und Jahr unterbinden, nicht jedoch innerhalb von "Geistefeldt und Glatz" (sowohl an den Leerzeichen als auch in den Namen könnte ein Umbruch stattfinden), wenn man das ganz unterbinden möchte, dann muss man wesentlich tiefer gehen. Aber das kann ich auch absolut nicht empfehlen, denn "(Geistefeldt und Glatz 2010)" ist viel zu lang, als dass es als eine Einheit behandelt werden dürfte. Das macht den Satz kaputt. Außerdem bevorzugt TeX übervolle Zeilen zu untervollen, standardmäßig geht das Zitat also nicht in die nächste Zeile, es geht über den Rand. Mit etwas Gebastel kann man TeX überreden, stattdessen in die nächste Zeile zu gehen, aber das reißt riesige Lücken in den Satz, den man dann schon gar nicht mehr als Blocksatz erkennt. Unten gibt es einen neuen Befehl [tt]\nbparencite[/tt] den Du nutzen kannst, um Deine Betreuerin davon zu überzeugen, dass das Schwachsinn ist.
Für den Umbruch müssen wir zuallererst eingestehen, dass die URL für den vorgegebenen Platz viel zu lang ist, also zwangsläufig umgebrochen werden muss, und dazu auch noch wenige gute Umbrechpunkte hat. Normalerweise möchte TeX die URL nur an Zeichen wie [tt]/[/tt], [tt].[/tt] umbrechen und nicht mitten in einem Wort. Das lässt sich hier nicht vermeiden, also kannst Du mit
[code]\setcounter{biburlnumpenalty}{9000}% Zahlen
\setcounter{biburllcpenalty}{9000}% Kleinbuchstaben
\setcounter{biburlucpenalty}{9000}% Großbuchstaben[/code]
Umbrüche auch nach Zahlen, Klein- und Großbuchstaben erlauben. Das sieht zwar blöd aus, ist aber besser als eine URL, die gar nicht bricht.
Bartman erwähnte die Sache mit [tt]\RaggedRight[/tt] schon, das ist keine Umgebung. Die Umgebung wäre [tt]FlushLeft[/tt].
Ich habe die [tt].bib[/tt]-Datei auch etwas umgebaut. Insbesondere brauchst Dun bei [tt]BAST2017[/tt] kein [tt]shorthand[/tt], wenn Du den [tt]shorteditor[/tt] richtig befüllst. Ich bin ferner der Meinung, dass das BASt bei da ruhig [tt]author[/tt] statt [tt]editor[/tt] sein darf, aber das musst Du entscheiden.
[code]%\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{Geistefeldt2010,
author = {Justin Geistefeldt and Matthias Glatz},
title = {Temporäre Seitenstreifenfreigabe},
subtitle = {Das Beispiel Hessen in Deutschland},
journaltitle = {Strasse und Verkehr},
year = {2010},
number = {12},
location = {Zürich},
}
@Online{BAST2017,
editor = {{Bundesanstalt für Straßenwesen (BASt)}},
shorteditor = {BASt},
title = {Anlagen zur Verkehrsbeeinflussung auf Bundesfernstraßen},
year = {2017},
url = {https://www.bast.de/BASt_2017/DE/Verkehrstechnik/Fachthemen/v5-verkehrsbeeinflussungsanlagen.html},
urldate = {2018-06-13},
}
\end{filecontents*}
\documentclass[fleqn, a4paper, 11pt, oneside, openright]{report}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[onehalfspacing]{setspace}
\usepackage{parskip}
\usepackage[final]{microtype}
\usepackage{wasysym}
\usepackage{enumitem}
\usepackage{emptypage}
\usepackage{ragged2e} %Ermöglicht Flattersatz im LV
\usepackage[a4paper , lmargin = {2.5cm} , rmargin = {2.5cm} , tmargin = {2.5cm} , bmargin = {2cm} ]{geometry}
\usepackage{csquotes}
\usepackage[style=ext-authoryear, articlein=false, introcite=label, isbn=false, giveninits=true, uniquename=init, maxcitenames=2, maxbibnames=10, dashed=false]{biblatex}
\usepackage[pdftex, colorlinks, linkcolor=black, frenchlinks]{hyperref}
\DefineBibliographyStrings{german}{
andothers = {et\,al\adddot},
issue = {Heft},
}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\finentrypunct}{}
\DeclareNameAlias{sortname}{family-given}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}
\DeclareDelimFormat[textcite]{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand*{\revsdnamepunct}{}
\DeclareLabeldate{% kein o.D. wenn keine Jahreszahl
\field{date}
\field{year}
\field{eventdate}
\field{origdate}
\field{urldate}
}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat{shorthand}{\textsc{#1}} %Shorthands in Kapitälchen
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addcomma\space}%
\iffieldundef{series}
{}
{\setunit*{\addcomma\space}%
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{volume+number+eid}%
\setunit{\volnumdatedelim}%
\usebibmacro{issue+date}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit
\usebibmacro{publisher+location+date}%
\newunit}
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{jourvol}~#1}
\renewcommand*{\volnumdelim}{\addcomma\space}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{issue}~#1}
\DeclareFieldFormat[book,periodical]{number}{\bibstring{issue}~#1}
\DeclareFieldFormat{url}{\addspace\url{#1}}
\DeclareSortingTemplate{nyt}{%Sortierung alphabetisch anhand Shorthands
\sort{
\field{presort}
}
\sort[final]{
\field{sortkey}
\field{shorthand}
}
\sort{
\field{sortname}
\field{author}
\field{editor}
\field{translator}
\field{sorttitle}
\field{title}
}
\sort{
\field{sortyear}
\field{year}
}
\sort{
\field{sorttitle}
\field{title}
}
\sort{
\field{volume}
\literal{0}
}
}
% Umbrüche
\setcounter{biburlnumpenalty}{9000}% Zahlen
\setcounter{biburllcpenalty}{9000}% Kleinbuchstaben
\setcounter{biburlucpenalty}{9000}% Großbuchstaben
\AtBeginBibliography{\RaggedRight}
\addbibresource{\jobname.bib}
%% Don't try this at home
\newrobustcmd*{\nbparencitewrapper}[1]{%
\hfil\allowbreak\hfilneg\mbox{\mkouterparencitedelims{#1}}}
\DeclareCiteCommand{\nbparencite}[\nbparencitewrapper]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}
%%
\begin{document}
Nach \textcite{Geistefeldt2010} wird hier zitiert. Lorem ipsum dolor sit amet \nbparencite{Geistefeldt2010} sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam \nbparencite{Geistefeldt2010} erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Das Problem bei Internetquellen. \cite{BAST2017}
\printbibliography[heading=bibintoc, title=Literaturverzeichnis]
\end{document}[/code]