von MoeWe » Fr 12. Mai 2023, 13:52
Ich meinte Per-Name-Option statt "Per-Name-Funktion", sorry. Du würdest dann das "extended name format" nutzen und bei Bedarf (deSilva) eine Option mitgeben, wenn der Nachname in der Großschreibung angepasst werden soll. Wird die Option nicht gegeben, wird der Nachname wie bisher nicht angefasst. Das ist etwas sicherer, da wir dann die Nachnamen nicht unnötig der Großschreibfunktion aussetzen müssen.
\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=authortitle-dw,backend=biber,useprefix=true,series=beforeedition]{biblatex}
\makeatletter
\newcommand*{\ifcapitalfamily}{%
\ifcapital
{\iftoggle{nnblx@capfamily}}
{\@secondoftwo}}
\makeatother
\renewbibmacro*{name:family}[4]{%
\ifuseprefix
{\usebibmacro{name:delim}{#3#1}%
\usebibmacro{name:hook}{#3#1}%
\mkbibcompletenamefamily{%
\ifdefvoid{#3}
{\ifcapitalfamily
{\mkbibnamefamily{\MakeCapital{#1}}}
{\mkbibnamefamily{#1}}}
{\ifcapital
{\mkbibnameprefix{\MakeCapital{#3}}\isdot}
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}%
\mkbibnamefamily{#1}}%
\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibcompletenamefamily{%
\mkbibnamefamily{#1}\isdot}}}
\renewbibmacro*{name:family-given}[4]{%
\ifuseprefix
{\usebibmacro{name:delim}{#3#1}%
\usebibmacro{name:hook}{#3#1}%
\mkbibcompletenamefamilygiven{%
\ifdefvoid{#3}
{\ifcapitalfamily
{\mkbibnamefamily{\MakeCapital{#1}}}
{\mkbibnamefamily{#1}}}
{\ifcapital
{\mkbibnameprefix{\MakeCapital{#3}}\isdot}
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}%
\mkbibnamefamily{#1}}%
\isdot
\ifdefvoid{#4}
{}
{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
\ifdefvoid{#2}
{}
{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibcompletenamefamilygiven{%
\ifcapitalfamily
{\mkbibnamefamily{\MakeCapital{#1}}}
{\mkbibnamefamily{#1}}%
\isdot
\ifdefvoid{#4}
{}
{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
\ifboolexpe{%
test {\ifdefvoid{#2}}
and
test {\ifdefvoid{#3}}}
{}
{\revsdnamepunct}%
\ifdefvoid{#2}
{}
{\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
\ifdefvoid{#3}
{}
{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}}
\newtoggle{nnblx@capfamily}
\DeclareBiblatexOption{name}[boolean]{captalizefamilyname}{%
\settoggle{nnblx@capfamily}{#1}}
\begin{filecontents}{\jobname.bib}
@book{DeSilva.2014,
author = {family=deSilva, given=David A., captalizefamilyname=true},
date = {2014},
title = {Galatians. A Handbook on the Greek Text},
address = {Waco, TX},
publisher = {Baylor University Press},
series = {BHGNT}
}
@book{Jonge.2003,
author = {de Jonge, Marinus},
date = {2003},
title = {Pseudepigrapha of the Old Testament As Part of Christian Literature.},
address = {Boston, MA},
publisher = {Brill},
series = {SVTP},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\Citeauthor{DeSilva.2014} sagt Folgendes: \enquote{Zitat}.\Footcite{DeSilva.2014}
Es wäre schön, wenn der Name zu Beginn des Satzes und der Fußnote großgeschrieben würde.
In der Satzmitte ist dagegen natürlich vollkommen richtig, dass \citeauthor{DeSilva.2014} kleingeschrieben wird.
Wenn es sich um ein richtiges Präfix mit Leerzeichen handelt gibt es natürlich kein Problem.
\Citeauthor{Jonge.2003} ist ein Beispiel.\footcite{Jonge.2003}
\printbibliography
\end{document}
Wobei wir dann auch gleich dazu übergehen können, dass Du die Variante des Namens für den Satzanfang selbst angibst. Das ist sicherer, wenn der Name so komplex ist, dass das einfache
\MakeCapital nicht gut genug ist. Dafür brauchen wir aber eine eigene
.dbx-Datei, die hier von
filecontents erstellt wird.
\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\begin{filecontents*}{familycap.dbx}
\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,familycap}
\end{filecontents*}
\usepackage[
backend=biber,
datamodel=familycap,
style=authortitle-dw,
useprefix=true,
series=beforeedition,
]{biblatex}
\DeclareNameFormat{family-given}{%
\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:andothers}}
\DeclareNameFormat{family-given/given-family}{%
\ifnumequal{\value{listcount}}{1}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\ifboolexpe{%
test {\ifdefvoid\namepartgiven}
and
test {\ifdefvoid\namepartprefix}}
{}
{\usebibmacro{name:revsdelim}}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi
\usebibmacro{name:andothers}}
\renewbibmacro*{name:family}[5]{%
\ifuseprefix
{\usebibmacro{name:delim}{#4#1}%
\usebibmacro{name:hook}{#4#1}%
\mkbibcompletenamefamily{%
\ifdefvoid{#4}
{\ifcapital
{\mkbibnamefamily{#2}}
{\mkbibnamefamily{#1}}}
{\ifcapital
{\mkbibnameprefix{\MakeCapital{#4}}\isdot}
{\mkbibnameprefix{#4}\isdot}%
\ifprefchar{}{\bibnamedelimc}%
\mkbibnamefamily{#1}}%
\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibcompletenamefamily{%
\mkbibnamefamily{#1}\isdot}}}
\renewbibmacro*{name:family-given}[5]{%
\ifuseprefix
{\usebibmacro{name:delim}{#4#1}%
\usebibmacro{name:hook}{#4#1}%
\mkbibcompletenamefamilygiven{%
\ifdefvoid{#4}
{\ifcapital
{\mkbibnamefamily{#2}}
{\mkbibnamefamily{#1}}}
{\ifcapital
{\mkbibnameprefix{\MakeCapital{#4}}\isdot}
{\mkbibnameprefix{#4}\isdot}%
\ifprefchar{}{\bibnamedelimc}%
\mkbibnamefamily{#1}}%
\isdot
\ifdefvoid{#5}
{}
{\bibnamedelimd\mkbibnamesuffix{#5}\isdot}%
\ifdefvoid{#3}
{}
{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#3}\isdot}}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibcompletenamefamilygiven{%
\ifcapital
{\mkbibnamefamily{#2}}
{\mkbibnamefamily{#1}}%
\isdot
\ifdefvoid{#5}
{}
{\bibnamedelimd\mkbibnamesuffix{#5}\isdot}%
\ifboolexpe{%
test {\ifdefvoid{#3}}
and
test {\ifdefvoid{#4}}}
{}
{\revsdnamepunct}%
\ifdefvoid{#3}
{}
{\bibnamedelimd\mkbibnamegiven{#3}\isdot}%
\ifdefvoid{#4}
{}
{\bibnamedelimd\mkbibnameprefix{#4}\isdot}}}}
\begin{filecontents}[force]{\jobname.bib}
@book{DeSilva.2014,
author = {family=deSilva, familycap=DeSilva, given=David A.},
date = {2014},
title = {Galatians. A Handbook on the Greek Text},
address = {Waco, TX},
publisher = {Baylor University Press},
series = {BHGNT}
}
@book{Jonge.2003,
author = {de Jonge, Marinus},
date = {2003},
title = {Pseudepigrapha of the Old Testament As Part of Christian Literature.},
address = {Boston, MA},
publisher = {Brill},
series = {SVTP},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\Citeauthor{DeSilva.2014} sagt Folgendes: \enquote{Zitat}.\Footcite{DeSilva.2014}
Es wäre schön, wenn der Name zu Beginn des Satzes und der Fußnote großgeschrieben würde.
In der Satzmitte ist dagegen natürlich vollkommen richtig, dass \citeauthor{DeSilva.2014} kleingeschrieben wird.
Wenn es sich um ein richtiges Präfix mit Leerzeichen handelt gibt es natürlich kein Problem.
\Citeauthor{Jonge.2003} ist ein Beispiel.\footcite{Jonge.2003}
\printbibliography
\end{document}
Ich meinte Per-Name-Option statt "Per-Name-Funktion", sorry. Du würdest dann das "extended name format" nutzen und bei Bedarf (deSilva) eine Option mitgeben, wenn der Nachname in der Großschreibung angepasst werden soll. Wird die Option nicht gegeben, wird der Nachname wie bisher nicht angefasst. Das ist etwas sicherer, da wir dann die Nachnamen nicht unnötig der Großschreibfunktion aussetzen müssen.
[code]\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=authortitle-dw,backend=biber,useprefix=true,series=beforeedition]{biblatex}
\makeatletter
\newcommand*{\ifcapitalfamily}{%
\ifcapital
{\iftoggle{nnblx@capfamily}}
{\@secondoftwo}}
\makeatother
\renewbibmacro*{name:family}[4]{%
\ifuseprefix
{\usebibmacro{name:delim}{#3#1}%
\usebibmacro{name:hook}{#3#1}%
\mkbibcompletenamefamily{%
\ifdefvoid{#3}
{\ifcapitalfamily
{\mkbibnamefamily{\MakeCapital{#1}}}
{\mkbibnamefamily{#1}}}
{\ifcapital
{\mkbibnameprefix{\MakeCapital{#3}}\isdot}
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}%
\mkbibnamefamily{#1}}%
\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibcompletenamefamily{%
\mkbibnamefamily{#1}\isdot}}}
\renewbibmacro*{name:family-given}[4]{%
\ifuseprefix
{\usebibmacro{name:delim}{#3#1}%
\usebibmacro{name:hook}{#3#1}%
\mkbibcompletenamefamilygiven{%
\ifdefvoid{#3}
{\ifcapitalfamily
{\mkbibnamefamily{\MakeCapital{#1}}}
{\mkbibnamefamily{#1}}}
{\ifcapital
{\mkbibnameprefix{\MakeCapital{#3}}\isdot}
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}%
\mkbibnamefamily{#1}}%
\isdot
\ifdefvoid{#4}
{}
{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
\ifdefvoid{#2}
{}
{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibcompletenamefamilygiven{%
\ifcapitalfamily
{\mkbibnamefamily{\MakeCapital{#1}}}
{\mkbibnamefamily{#1}}%
\isdot
\ifdefvoid{#4}
{}
{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
\ifboolexpe{%
test {\ifdefvoid{#2}}
and
test {\ifdefvoid{#3}}}
{}
{\revsdnamepunct}%
\ifdefvoid{#2}
{}
{\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
\ifdefvoid{#3}
{}
{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}}
\newtoggle{nnblx@capfamily}
\DeclareBiblatexOption{name}[boolean]{captalizefamilyname}{%
\settoggle{nnblx@capfamily}{#1}}
\begin{filecontents}{\jobname.bib}
@book{DeSilva.2014,
author = {family=deSilva, given=David A., captalizefamilyname=true},
date = {2014},
title = {Galatians. A Handbook on the Greek Text},
address = {Waco, TX},
publisher = {Baylor University Press},
series = {BHGNT}
}
@book{Jonge.2003,
author = {de Jonge, Marinus},
date = {2003},
title = {Pseudepigrapha of the Old Testament As Part of Christian Literature.},
address = {Boston, MA},
publisher = {Brill},
series = {SVTP},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\Citeauthor{DeSilva.2014} sagt Folgendes: \enquote{Zitat}.\Footcite{DeSilva.2014}
Es wäre schön, wenn der Name zu Beginn des Satzes und der Fußnote großgeschrieben würde.
In der Satzmitte ist dagegen natürlich vollkommen richtig, dass \citeauthor{DeSilva.2014} kleingeschrieben wird.
Wenn es sich um ein richtiges Präfix mit Leerzeichen handelt gibt es natürlich kein Problem.
\Citeauthor{Jonge.2003} ist ein Beispiel.\footcite{Jonge.2003}
\printbibliography
\end{document}[/code]
Wobei wir dann auch gleich dazu übergehen können, dass Du die Variante des Namens für den Satzanfang selbst angibst. Das ist sicherer, wenn der Name so komplex ist, dass das einfache [tt]\MakeCapital[/tt] nicht gut genug ist. Dafür brauchen wir aber eine eigene [tt].dbx[/tt]-Datei, die hier von [tt]filecontents[/tt] erstellt wird.
[code]\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\begin{filecontents*}{familycap.dbx}
\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,familycap}
\end{filecontents*}
\usepackage[
backend=biber,
datamodel=familycap,
style=authortitle-dw,
useprefix=true,
series=beforeedition,
]{biblatex}
\DeclareNameFormat{family-given}{%
\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:andothers}}
\DeclareNameFormat{family-given/given-family}{%
\ifnumequal{\value{listcount}}{1}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\ifboolexpe{%
test {\ifdefvoid\namepartgiven}
and
test {\ifdefvoid\namepartprefix}}
{}
{\usebibmacro{name:revsdelim}}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartfamilycap}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi
\usebibmacro{name:andothers}}
\renewbibmacro*{name:family}[5]{%
\ifuseprefix
{\usebibmacro{name:delim}{#4#1}%
\usebibmacro{name:hook}{#4#1}%
\mkbibcompletenamefamily{%
\ifdefvoid{#4}
{\ifcapital
{\mkbibnamefamily{#2}}
{\mkbibnamefamily{#1}}}
{\ifcapital
{\mkbibnameprefix{\MakeCapital{#4}}\isdot}
{\mkbibnameprefix{#4}\isdot}%
\ifprefchar{}{\bibnamedelimc}%
\mkbibnamefamily{#1}}%
\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibcompletenamefamily{%
\mkbibnamefamily{#1}\isdot}}}
\renewbibmacro*{name:family-given}[5]{%
\ifuseprefix
{\usebibmacro{name:delim}{#4#1}%
\usebibmacro{name:hook}{#4#1}%
\mkbibcompletenamefamilygiven{%
\ifdefvoid{#4}
{\ifcapital
{\mkbibnamefamily{#2}}
{\mkbibnamefamily{#1}}}
{\ifcapital
{\mkbibnameprefix{\MakeCapital{#4}}\isdot}
{\mkbibnameprefix{#4}\isdot}%
\ifprefchar{}{\bibnamedelimc}%
\mkbibnamefamily{#1}}%
\isdot
\ifdefvoid{#5}
{}
{\bibnamedelimd\mkbibnamesuffix{#5}\isdot}%
\ifdefvoid{#3}
{}
{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#3}\isdot}}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibcompletenamefamilygiven{%
\ifcapital
{\mkbibnamefamily{#2}}
{\mkbibnamefamily{#1}}%
\isdot
\ifdefvoid{#5}
{}
{\bibnamedelimd\mkbibnamesuffix{#5}\isdot}%
\ifboolexpe{%
test {\ifdefvoid{#3}}
and
test {\ifdefvoid{#4}}}
{}
{\revsdnamepunct}%
\ifdefvoid{#3}
{}
{\bibnamedelimd\mkbibnamegiven{#3}\isdot}%
\ifdefvoid{#4}
{}
{\bibnamedelimd\mkbibnameprefix{#4}\isdot}}}}
\begin{filecontents}[force]{\jobname.bib}
@book{DeSilva.2014,
author = {family=deSilva, familycap=DeSilva, given=David A.},
date = {2014},
title = {Galatians. A Handbook on the Greek Text},
address = {Waco, TX},
publisher = {Baylor University Press},
series = {BHGNT}
}
@book{Jonge.2003,
author = {de Jonge, Marinus},
date = {2003},
title = {Pseudepigrapha of the Old Testament As Part of Christian Literature.},
address = {Boston, MA},
publisher = {Brill},
series = {SVTP},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\Citeauthor{DeSilva.2014} sagt Folgendes: \enquote{Zitat}.\Footcite{DeSilva.2014}
Es wäre schön, wenn der Name zu Beginn des Satzes und der Fußnote großgeschrieben würde.
In der Satzmitte ist dagegen natürlich vollkommen richtig, dass \citeauthor{DeSilva.2014} kleingeschrieben wird.
Wenn es sich um ein richtiges Präfix mit Leerzeichen handelt gibt es natürlich kein Problem.
\Citeauthor{Jonge.2003} ist ein Beispiel.\footcite{Jonge.2003}
\printbibliography
\end{document}[/code]