Ich verwende BibLaTeX mit dem Befehl \footcite
-, um Bibliographiedaten in Fußnoten einzufügen. Ich möchte vermeiden, das kurze Schlüsselwort „W:“ (Übersetzung von „In:“) am Ende der Zeile zu platzieren. Die Zeile \renewcommand{\intitlepunct}{\addcolon\nobreakspace}
hat nur Auswirkungen auf den Inhalt der Bibliographie, die mit dem Befehl platziert wird \printbibliography
(siehe:Zeilenumbruch-Verhinderung unmittelbar nach Bibstring in Bibliographie).
Laut BibLaTeX-Paketdokumentation (Seite 106) können die Zähler highnamepenalty
und lownamepenalty
so gesetzt werden, dass ein Zeilenumbruch zwischen dem Anfangsbuchstaben des Namens und dem Nachnamen (?) verhindert wird. Gibt es eine andere Möglichkeit, den Anfangsbuchstaben des Namens (zusammen mit dem Wort „i“ – Übersetzung von „und“) in derselben Zeile wie den Nachnamen zu positionieren? Ich habe versucht, \setcounter{highnamepenalty}{10000}
und zu setzen \setcounter{lownamepenalty}{0}
, aber ohne den erwarteten Effekt. Mein MWE:
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage{polski}
\usepackage[style=verbose]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{mylist.bib}
@inbook{gumplowicz2010,
author = {Gumplowicz, L.},
title = {O naturalnym prawie kształtowania się państw},
booktitle = {Dwa życia Ludwika Gumplowicza. Wybór tekstów},
editor = {Mozetič, G. and Surman, J.},
editortype = {redactor},
location = {Warszawa},
year = {2010},
}
\end{filecontents}
\addbibresource{mylist.bib}
\setlength{\textwidth}{115mm}
\renewcommand{\intitlepunct}{\addcolon\nobreakspace} % has no impact on output
\begin{document}
Some text\footcite{gumplowicz2010}.
\end{document}
Antwort1
Wenn Sie einen Zeilenumbruch zwischen den Initialen des Namens und dem Nachnamen unterdrücken möchten, müssen Sie lownamepenalty
. highnamepenalty
für verschiedene Teile desselben Namensteils festlegen, sodass zwei Vornamen getrennt werden. Sie benötigen also
\defcounter{lownamepenalty}{10000}
um einen Zeilenumbruch in 'J. Surman' zu unterdrücken. Aber Sie möchten auch das 'i' an 'J. Surman' binden, also brauchen Sie zusätzlich
\DeclareDelimFormat{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\nobreakspace}
Die ursprüngliche Definition lautet hier \space
stattdessen \nobreakspace
.
Für das 'W:' ist die Geschichte etwas interessanter. Tatsächlich
\renewcommand{\intitlepunct}{\addcolon\nobreakspace}
tut das Richtige, aber da \intitlepunct
es etwas anders gehandhabt wird als andere Satzzeichen, werden seine Auswirkungen negiert. Sie können dies beheben mit
\renewbibmacro*{in:}{%
\printtext{%
\bibstring{in}\printunit{\intitlepunct}}}
Übrigens, mit @incolletion
(was istwahrscheinlichder richtige Eintragstyp ist hier trotzdem angegeben) statt @inbook
macht die unterschiedliche Behandlung von nicht \intitlepunct
deutlich.
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage{polski}
\usepackage[style=verbose]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inbook{gumplowicz2010,
author = {Gumplowicz, L.},
title = {O naturalnym prawie kształtowania się państw},
booktitle = {Dwa życia Ludwika Gumplowicza. Wybór tekstów},
editor = {Mozetič, G. and Surman, J.},
editortype = {redactor},
location = {Warszawa},
year = {2010},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\setlength{\textwidth}{115mm}
\defcounter{lownamepenalty}{10000}
\renewcommand{\intitlepunct}{\addcolon\nobreakspace}
\renewbibmacro*{in:}{%
\printtext{%
\bibstring{in}\printunit{\intitlepunct}}}
\DeclareDelimFormat{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\nobreakspace}
\begin{document}
Some text\footcite{gumplowicz2010}.
\end{document}